پایتون چندین روش ساده برای جمع آوری یک نمونه کارها بهینه شده سرمایه گذاری ارائه می دهد. در اینجا یک راهنمای برای شروع کار با آنها وجود دارد.



در سرمایه گذاری ، بهینه سازی نمونه کارها وظیفه انتخاب دارایی ها است به گونه ای که بازده سرمایه گذاری در حالی که ریسک به حداقل می رسد به حداکثر برسد. به عنوان مثال ، یک سرمایه گذار ممکن است علاقه مند به انتخاب پنج سهام از لیست 20 باشد تا اطمینان حاصل کند که آنها بیشترین درآمد را ممکن می کنند. روشهای بهینه سازی نمونه کارها ، که در مورد سهام خصوصی اعمال می شود ، همچنین می تواند به مدیریت و تنوع سرمایه گذاری در شرکت های خصوصی کمک کند. اخیراً ، با افزایش Cryptocurrency ، تکنیک های بهینه سازی نمونه کارها برای سرمایه گذاری در بیت کوین و اتریوم از جمله دیگر اعمال شده است.
در هر یک از این موارد ، وظیفه بهینه سازی دارایی ها شامل تعادل معاملات بین ریسک و بازده است ، در حالی که بازده سهام سود حاصل از یک دوره زمانی است و ریسک انحراف استاندارد در ارزش دارایی است. بسیاری از روشهای موجود در بهینه سازی نمونه کارها اساساً پسوند روشهای متنوع سازی برای دارایی در سرمایه گذاری هستند. ایده در اینجا این است که داشتن نمونه کارها از انواع مختلف دارایی نسبت به داشتن موارد مشابه خطرناک تر است.
یافتن روشهای مناسب برای بهینه سازی نمونه کارها بخش مهمی از کار انجام شده توسط بانکهای سرمایه گذاری و شرکتهای مدیریت دارایی است. یکی از روشهای اولیه بهینه سازی واریانس میانگین نامیده می شود ، که توسط هری مارکوویتز تهیه شده است و در نتیجه ، روش مارکوویتز یا روش HM نیز نامیده می شود. این روش با فرض سرمایه گذاران ریسک پذیر است. به طور خاص ، مجموعه ای از دارایی ها را انتخاب می کند که حداقل همبستگی دارند (یعنی متفاوت از یکدیگر) و بالاترین بازده را ایجاد می کند. این رویکرد به این معنی است که با توجه به مجموعه ای از پرتفوی ها با همان بازده ، شما نمونه کارها را با دارایی هایی که کمترین رابطه آماری با یکدیگر دارند ، انتخاب خواهید کرد.
به عنوان مثال ، به جای انتخاب نمونه کارها از سهام شرکت های فناوری ، باید یک نمونه کارها را با سهام در صنایع متفاوت انتخاب کنید. در عمل ، میانگین الگوریتم بهینه سازی واریانس ممکن است به جای یک صنعت واحد مانند فناوری ، یک نمونه کارها حاوی دارایی در فناوری ، خرده فروشی ، مراقبت های بهداشتی و املاک و مستغلات را انتخاب کند. اگرچه این یک رویکرد اساسی در تئوری مدرن نمونه کارها است ، اما محدودیت های بسیاری از جمله فرض اینکه بازده های تاریخی کاملاً منعکس کننده بازده آینده است ، دارد.
روشهای اضافی مانند برابری ریسک سلسله مراتبی (HRP) و میانگین ارزش شرطی در معرض خطر (MCVAR) برخی از محدودیت های روش بهینه سازی میانگین واریانس را نشان می دهد. به طور خاص ، HRP نیازی به معکوس کردن یک ماتریس کواریانس ندارد ، که این یک اندازه گیری از نحوه حرکت بازده سهام در همان جهت است. میانگین روش بهینه سازی واریانس نیاز به یافتن معکوس ماتریس کواریانس دارد ، با این حال ، که همیشه از نظر محاسباتی امکان پذیر نیست.
علاوه بر این ، روش MCVAR این فرض را ایجاد نمی کند که میانگین بهینه سازی واریانس ایجاد می کند ، که هنگام توزیع بازده اتفاق می افتد. از آنجا که مک وا بازده توزیع شده را به طور عادی فرض نمی کند ، نسبت به مقادیر شدید مانند میانگین بهینه سازی واریانس حساس نیست. این بدان معناست که اگر یک سهام افزایش غیر عادی قیمت داشته باشد ، مکوار قوی تر از میانگین بهینه سازی واریانس خواهد بود و برای تخصیص دارایی بهتر خواهد بود. در مقابل ، میانگین بهینه سازی واریانس ممکن است به طور ساده و بی تکلف نشان دهد که ما به طور نامتناسب بیشتر منابع خود را در دارایی سرمایه گذاری می کنیم که افزایش غیر عادی قیمت دارد.
بسته Python Pyportfolioopt طیف گسترده ای از ویژگی ها را ارائه می دهد که اجرای همه این روش ها را ساده می کند. در اینجا ، ما به چگونگی استفاده از این روش ها برای ساخت نمونه کارها از سهام در صنایع خواهیم پرداخت.
روشهای بهینه سازی نمونه کارها در پایتون
- میانگین بهینه سازی واریانس
- برابری ریسک سلسله مراتبی (HRP)
- میانگین ارزش مشروط در معرض خطر (MCVAR)
دسترسی به داده های قیمت سهام
ما داده های قیمت سهام را با استفاده از کتابخانه Pandas-Datareader می کشیم. به راحتی می توانید کتابخانه را با استفاده از PIP در یک خط فرمان ترمینال نصب کنید:
در مرحله بعد ، اجازه دهید داده های خواندن را در یک اسکریپت پایتون جدید وارد کنیم:
ما باید سهام را از چند صنعت مختلف بکشیم ، بنابراین داده های قیمت را در مراقبت های بهداشتی ، فناوری ، خرده فروشی و دارایی جمع آوری خواهیم کرد. ما برای هر صنعت سه سهام خواهیم گرفت. بیایید با کشیدن چند سهام در مراقبت های بهداشتی شروع کنیم. ما دو سال داده قیمت سهام را برای Modea ، Pfizer و Johnson & Johnson می کشیم.
اول ، بیایید پاندا را وارد کنیم و محدودیت های صفحه را در ردیف ها و ستون ها آرام کنیم:
در مرحله بعد ، بیایید ماژول DateTime را وارد کنیم و تاریخ شروع و پایان را تعریف کنیم:
اکنون ما همه چیز را برای کشیدن قیمت سهام داریم. بیایید داده های Modea (mRNA) را بدست آوریم:

بیایید این منطق را در عملکردی بپیچانیم که می توانیم به راحتی از آن استفاده کنیم زیرا چندین سهام را می کشیم:

اکنون ، بیایید برای Pfizer (PFE) و جانسون و جانسون (JNJ) بکشیم:

بیایید عملکرد دیگری را تعریف کنیم که لیستی از سهام را می گیرد و یک قاب داده واحد از قیمت سهام برای هر سهام تولید می کند:

حال ، اجازه دهید سهام را برای صنایع باقیمانده بکشیم:
بهداشت و درمان: Modea (mRNA) ، Pfizer (PFE) ، جانسون و جانسون (JNJ)
فناوری: Google (Googl) ، Facebook (FB) ، Apple (AAPL)
خرده فروشی: Costco (هزینه) ، والمارت (WMT) ، شرکت Kroger (KR)
امور مالی: JPMorgan Chase & Co (JPM) ، Bank of America (BAC) ، HSBC Holding (HSBC)

اکنون ما یک DataFrame از بازده برای سهام خود داریم. بیایید این DataFrame را به یک CSV بنویسیم تا بتوانیم به راحتی در داده ها بخوانیم بدون اینکه بارها و بارها مجبور به کشیدن آن با استفاده از Datareader Pandas شود.
اکنون ، بیایید در CSV خود بخوانیم:
میانگین بهینه سازی واریانس
اکنون ما آماده اجرای روش میانگین بهینه سازی واریانس برای ساخت نمونه کارها هستیم. بیایید با نصب کتابخانه pyportfolioopt شروع کنیم:
اکنون ، بیایید ماتریس کواریانس را محاسبه کنیم و به ترتیب بازده محاسبه شده را در متغیرهای S و MU ذخیره کنیم:
در مرحله بعد ، بیایید ماژول کارآمد را وارد کنیم و وزنه ها را محاسبه کنیم. در اینجا ، ما از آماری Max Sharpe استفاده خواهیم کرد. نسبت شارپ نسبت بین بازده و خطر است. هرچه ریسک پایین تر و بازده بالاتر باشد ، نسبت شارپ نیز بیشتر می شود. این الگوریتم به دنبال حداکثر نسبت شارپ است که با بالاترین بازده و کمترین خطر به نمونه کارها ترجمه می شود. در نهایت ، هرچه نسبت شارپ بالاتر باشد ، عملکرد نمونه کارها بهتر می شود.

ما همچنین می توانیم عملکرد نمونه کارها را نمایش دهیم:

سرانجام ، اجازه دهید وزنه ها را به مقادیر تخصیص واقعی تبدیل کنیم (یعنی تعداد هر سهام برای خرید). برای تخصیص ما ، می توانیم مبلغ سرمایه گذاری 100000 دلار را در نظر بگیریم:

الگوریتم ما می گوید ما باید در 112 سهم mRNA ، 10 سهم از Googl ، 113 سهم AAPL و 114 سهم KR سرمایه گذاری کنیم.
ما می بینیم که نمونه کارها ما با بازده سالانه مورد انتظار 225 درصد عمل می کند. این عملکرد به دلیل رشد سریع Modea در طول همه گیر است. علاوه بر این ، مقدار نسبت شارپ 5. 02 نشان می دهد که الگوریتم بهینه سازی نمونه کارها با داده های فعلی ما عملکرد خوبی دارد. البته این بازده تورم است و به احتمال زیاد در آینده حفظ نخواهد شد.
میانگین بهینه سازی واریانس خیلی خوب عمل نمی کند زیرا فرضیات ساده ای را ساده می کند ، مانند توزیع بازده به طور عادی و نیاز به یک ماتریس کواریانس قابل برگشت. خوشبختانه ، روشهایی مانند HRP و MCVAR این محدودیت ها را بیان می کنند.
برابری ریسک سلسله مراتبی (HRP)
روش HRP با یافتن زیر مجموعه های دارایی های مشابه بر اساس بازده و ساخت سلسله مراتب از این خوشه ها برای تولید وزن برای هر دارایی کار می کند.
بیایید با وارد کردن روش HRPOPT از PYPFOPT شروع کنیم:
سپس ما باید بازده ها را محاسبه کنیم:
سپس الگوریتم بهینه سازی را اجرا کنید تا وزنه ها را بدست آورید:
اکنون می توانیم عملکرد نمونه کارها و وزن ها را چاپ کنیم:


ما می بینیم که بازده سالانه مورد انتظار 24. 5 درصد ، که به طور قابل توجهی کمتر از 225 درصد تورم است که با میانگین بهینه سازی واریانس به دست آوردیم. ما همچنین نسبت شارپ کاهش یافته 1. 12 را مشاهده می کنیم. این نتیجه بسیار معقول تر است و به احتمال زیاد در آینده حفظ می شود زیرا HRP به اندازه متوسط بهینه سازی واریانس حساس نیست.
در آخر ، بیایید تخصیص گسسته را با استفاده از وزنهای خود محاسبه کنیم:

ما می بینیم که الگوریتم ما نشان می دهد که ما به شدت در Kroger (KR) ، HSBC ، Johnson & Johnson (JNJ) و Pfizer (PFE) سرمایه گذاری می کنیم و نه ، همانطور که مدل قبلی انجام داد ، خیلی به Modea (mRNA). علاوه بر این ، در حالی که عملکرد کاهش یافته است ، ما می توانیم اطمینان بیشتری داشته باشیم که وقتی داده های خود را تازه می کنیم ، این مدل به همان اندازه عملکرد خود را انجام می دهد. این امر به این دلیل است که HRP نسبت به افزایش غیر عادی قیمت سهام Modea قوی تر است.
میانگین ارزش مشروط در معرض خطر (MCVAR)
MCVAR یکی دیگر از گزینه های محبوب برای بهینه سازی میانگین واریانس است. این کار با اندازه گیری بدترین حالت برای هر دارایی در نمونه کارها ، که با از دست دادن بیشترین پول در اینجا نشان داده می شود ، کار می کند. بدترین حالت برای هر دارایی برای محاسبه وزنهایی که برای تخصیص برای هر دارایی استفاده می شود ، استفاده می شود.
بیایید روش eefficocietcvar را وارد کنیم:
وزن ها را محاسبه کرده و عملکرد را بدست آورید:


بعد ، تخصیص گسسته را دریافت کنید:

ما می بینیم که این الگوریتم نشان می دهد که ما به شدت در JP Morgan Chase (JPM) سرمایه گذاری می کنیم و همچنین یک سهم واحد از هر یک از Modea (mRNA) و جانسون و جانسون (JNJ) خریداری می کنیم. همچنین می بینیم که بازده مورد انتظار 15. 5 درصد است. همانطور که در HRP ، این نتیجه بسیار منطقی تر از بازده 225 درصد تورم است که توسط میانگین بهینه سازی واریانس داده می شود زیرا به رفتار غیر عادی قیمت سهام مدرن حساس نیست.
کد این پست در GitHub موجود است.
نمونه کارها خود را بهینه کنید
اگرچه ما فقط مراقبت های بهداشتی ، فناوری ، خرده فروشی و امور مالی را در نظر گرفتیم ، اما روش هایی که در مورد آنها بحث کردیم به راحتی می تواند برای در نظر گرفتن صنایع اضافی اصلاح شود. به عنوان مثال ، شاید شما بیشتر علاقه مند به ساختن نمونه کارها از شرکت ها در صنعت انرژی ، املاک و مستغلات و مواد باشید. نمونه ای از این نوع نمونه کارها را می توان از سهام مانند ExxonMobil (XOM) ، DuPont (DD) و برج آمریکایی (AMT) تشکیل داد. من شما را تشویق می کنم که در ساخت نمونه کارها خود با بخش های مختلف بازی کنید.
آنچه ما در مورد آن بحث کردیم ، پایه و اساس کاملی برای علاقه مندان به روشهای بهینه سازی نمونه کارها در پایتون فراهم می کند. داشتن آگاهی از روش ها و ابزارهای موجود برای بهینه سازی نمونه کارها می تواند به دانشمندان و داده ها اجازه دهد آزمایش های سریعتر را برای بهینه سازی نمونه کارها سرمایه گذاری انجام دهند.
مقالات آموزش فارکس...
ما را در سایت مقالات آموزش فارکس دنبال می کنید
برچسب :
نویسنده : بهزاد فراهانی
بازدید : <-PostHit->
تاريخ : سه
شنبه
30 خرداد
1402 ساعت: 15:04