محاسبه عملکرد استراتژی با Backtester - یک چارچوب پایتون برای پشتی.
مقدمه
استراتژی خرید و نگه داشتن زمانی است که شما به سادگی با اولین نقطه داده دریافتی دارایی خریداری می کنید و می بینید که مقدار نمونه کارها با آخرین نقطه داده در دسترس است.
استراتژی خرید و نگهدارنده گاهی اوقات به عنوان یک پایه برای آزمایش عملکرد سایر استراتژی ها نیز استفاده می شود. اگر یک منطق با دقت ساخته شده نتواند یک رویکرد خرید و نگه داشتن ساده را شکست دهد ، احتمالاً استراتژی ارزش یک سکه ندارد.
در حالی که اندازه گیری عملکرد استراتژی خرید و نگهدارنده با دست کار سختی نیست ، داشتن یک چارچوب پشتی مفید است - می توانید بیشتر در زمینه بهبود استراتژی کار کنید و معمولاً با توانایی ترسیم همراه است.
مقاله های دیگر من در مورد این موضوع را ببینید:
تجزیه و تحلیل بازار سهام در پایتون
لیستی از مقالاتی که من در مورد تجزیه و تحلیل بازار سهام در پایتون نوشتم.
در اینجا چند پیوند وجود دارد که ممکن است مورد علاقه شما باشد:
- برچسب زدن و مهندسی داده برای هوش مصنوعی و تجزیه و تحلیل- علوم داده برای رهبران تجارت [دوره]- مقدمه یادگیری ماشین با Pytorch [Course]- تبدیل به یک مدیر محصول رشد [دوره]- یادگیری عمیق (محاسبات تطبیقی و سری ML) [کتاب الکترونیکی]- تست های مهارت رایگان برای دانشمندان داده و مهندسان یادگیری ماشین
برخی از پیوندهای فوق پیوندهای وابسته هستند و اگر برای خرید از آنها عبور کنید ، من یک کمیسیون کسب می کنم. به خاطر داشته باشید که من دوره ها را به دلیل کیفیت آنها پیوند می دهم و نه به دلیل کمیسیون که از خریدهای شما دریافت می کنم.
با Backtrader ملاقات کنید
Backtrader یک چارچوب پایتون منبع باز برای پشتی و تجارت است. این امکان را به شما می دهد تا به جای اینکه بخواهید در ساخت زیرساخت ها صرف کنید ، روی نوشتن استراتژی های تجاری قابل استفاده مجدد ، شاخص ها و آنالیزورها تمرکز کنید.
قبل از نصب آن ، باعث ایجاد وابستگی به TA-Lib شوید:
# MAC OS Xتولید Ta-Lib# به https://github.com/mrjbq7/ta-lib برای سایر سیستم عامل ها مراجعه کنید
نصب Backtrader به آسانی با هر بسته پایتون است:
PIP نصب Backtrader [نقشه برداری]
استراتژی خرید و نگه داشتن
ما می خواهیم محاسبه کنیم که اگر 10. 000 دلار در مایکروسافت در اول ژانویه 2010 سرمایه گذاری کنیم و تا الان نگه داریم ، چقدر می توانیم بدست آوریم.
استراتژی
ما فقط برای اجرای استراتژی خرید و نگه داشتن استراتژی با Backtrader فقط به چند خط کد نیاز داریم.
توضیح کد زیر:
- روش شروع مقدار اولیه پول نقد را تعیین می کند.
- روش NextStart دقیقاً یک بار با اولین نقطه داده نامیده می شود. این مناسب برای اجرای استراتژی خرید و نگه داشتن است.
- تمام پول نقد موجود برای خرید مقدار ثابت سهام استفاده می شود. این به سمت int کوتاه می شود زیرا همه کارگزاران از سهام کسری پشتیبانی نمی کنند.
- بازده در روش توقف ، با استفاده از مقدار فعلی نمونه کارها و مبلغ اولیه پول نقد محاسبه می شود.
واردات Backtrader را به عنوان BT وارد کنیدکلاس buyandhold_buy (bt. strategy): DEF شروع (خود):# پول نقد شروع را تنظیم کنیدself. val_start = self. broker. get_cash () def nextstart (خود):# سهام با تمام پول نقد موجود را بخریداندازه = int (self. val_start / self. data)self. buy (اندازه = اندازه) Def Stop (خود):# بازده واقعی را محاسبه کنیدself. roi = (self. broker. get_value () / self. val_start) - 1. 0چاپ ("ROI: ٪ . 2f ، پول نقد: ٪ . 2f" (100. 0 * self. roi ، self. broker. get_value ()))پشتی
همانطور که در بالا گفته شد ، ما می خواهیم با نگه داشتن سهام مایکروسافت برای چقدر دست به دست هم دهیم~10 سال.
ما تیکت ، پارامترهای تاریخ را تعریف می کنیم و فید داده ها را آغاز می کنیم:
از DateTime واردات DateTimeداده ها = bt. feeds. yahoofinancedata (dataname = "msft" ، fromDate = dateTime (2010 ، 1 ، 1) ، todate = dateTime (2020 ، 10 ، 23))
سپس موتور Cerebro را آغاز می کنیم:
cerebro = bt. cerebro ()
فید داده را به موتور اضافه کنید:
cerebro. adddata (داده ها)
استراتژی را به موتور اضافه کنید:
cerebro. addstrategy (buyandhold_buy ، "hodl")
cerebro. broker. setCash (100000. 0)
پشتی را اجرا کنید:
cerebro. run ()# خروجیROI: 788. 00 ، پول نقد: 88800. 40
ما 788 ٪ بازده دیوانه وار می کنیم. اگر فقط می توانستیم به موقع برگردیم
تجسم
همه ما این جمله را شنیدیم "یک تصویر هزار کلمه ارزش دارد". اینجاست که Backtrader می درخشد.
Backtrader می تواند یک استراتژی را با نقاط ورود و خروج تجسم کند. در مثال ما ، ما فقط یک نقطه ورود داریم ، بنابراین تجسم استراتژی تجارت به اندازه چشمگیر نخواهد بود. اما ما باید زمان قابل توجهی را صرف کنیم تا تجسم کنیم که با Backtrader از جعبه خارج می شویم
بیایید آن را امتحان کنیم (دستور زیر در JupyterLab کار می کند):
cerebro. plot (iplot = false)
برای کسب اطلاعات بیشتر در مورد استراتژی خرید و نگه داشتن ، به اسناد Backstraders مراجعه کنید.
قبل از اینکه بری
طبق معمول ، می توانید این نوت بوک Jupyter را بارگیری کنید تا نمونه هایی از دستگاه خود را امتحان کنید.
مرا در توییتر دنبال کنید ، جایی که من مرتباً در مورد علم داده و یادگیری ماشین توییت می کنم.
تجارت گزینه های دودویی در ایران...
ما را در سایت تجارت گزینه های دودویی در ایران دنبال می کنید
برچسب :
نویسنده : زینالعابدین مراغهای
بازدید : <-PostHit->
تاريخ : يکشنبه
4 تير
1402 ساعت: 17:31