یک راهنمای عمیق در مورد چگونگی توسعه یک استراتژی تجاری پیشرفته که ترکیبی از گروههای بولینگر و RSI در پایتون است.
به شماره دوم جمعه های Quant خوش آمدید - یک سری هفتگی که در آن ما استراتژی های تجارت الگوریتمی را در پایتون تجزیه و تحلیل و پیاده سازی می کنیم. اولین شماره را می توان در اینجا یافت.
یک تجارت LGORIMHIC ، همچنین به عنوان تجارت خودکار جعبه سیاه یا سیاه شناخته می شود ، به استفاده از برنامه های رایانه ای برای اجرای معاملات بر اساس مجموعه ای از پیش تعیین شده از قوانین اشاره دارد. این نوع تجارت در سالهای اخیر به دلیل توانایی آن در تجزیه و تحلیل مقادیر گسترده داده ها و انجام معاملات با سرعت سریعتر و با دقت بیشتر نسبت به معامله گران انسانی ، به طور فزاینده ای محبوب شده است. به این دلیل
در این مقاله دوم از سری "Quant Fridays" ، ما یک نگاه عمیق به ایجاد یک استراتژی پیشرفته تجارت باند بولینگر و نحوه اجرای آن با استفاده از پایتون خواهیم پرداخت. استراتژی تجارت باند بولینگر یک روش محبوب برای تجارت الگوریتمی است که مبتنی بر این ایده است که قیمت اوراق بهادار تمایل به ماندن در محدوده خاصی دارد. با ترکیب باند های بولینگر با شاخص قدرت نسبی (RSI) ، ما به طور بالقوه می توانیم صحت سیگنال های تجاری خود را بهبود بخشیم و شانس موفقیت خود را افزایش دهیم.
در این مقاله ، ما به جزئیات تجارت باند بولینگر و نحوه استفاده از آن با استفاده از تکنیک های پیشرفته می پردازیم. ما سپس یک مدل باند پیشرفته بولینگر را از ابتدا در پایتون ایجاد خواهیم کرد که ضمن ارائه برخی نکات برای اجرای مؤثر ، نشانگر RSI را شامل می شود.
گروههای بولینگر چیست؟
باند بولینگر ابزاری برای تجزیه و تحلیل فنی است که از یک میانگین حرکت ساده و دو باند فوقانی و پایین تشکیل شده است. این گروهها به طور معمول دو انحراف استاندارد را در بالا و پایین تر از میانگین متحرک تنظیم می کنند که این یک اندازه گیری از نوسانات است. فاصله بین باند ها بر اساس سطح نوسانات بازار گسترش می یابد و قراردادها.
استراتژی تجارت باند بولینگر براساس این فرض است که قیمت ها تمایل دارند در گروههای فوقانی و پایین بمانند. هنگامی که قیمت ها از باند خارج می شوند ، می تواند یک تغییر روند بالقوه را نشان دهد. این استراتژی شامل شناسایی این تغییرات روند بالقوه و اجرای معاملات بر این اساس است.
روش های مختلفی وجود دارد که معامله گران می توانند از گروههای بولینجر برای تصمیم گیری های تجاری آگاهانه استفاده کنند. یک رویکرد متداول این است که به دنبال فشار باشید ، که هنگام انقباض باندها اتفاق می افتد و قیمت در یک محدوده باریک حرکت می کند. این می تواند نشانه ای از یک دوره نوسانات پایین باشد و ممکن است با یک معکوس شکست یا روند دنبال شود.
معامله گران همچنین می توانند از گروههای بولینگر برای تأیید جهت و قدرت روند استفاده کنند. به عنوان مثال ، اگر قیمت به سمت بالا و از گروه فوقانی شکسته شود ، ممکن است نشانه بالا رفتن قوی باشد. به همین ترتیب ، اگر قیمت به سمت پایین روند و شکستن از باند پایین باشد ، ممکن است نشانه روند نزولی قوی باشد.
توجه به این نکته حائز اهمیت است که باندهای بولینگر یک شاخص عقب مانده هستند ، به این معنی که آنها براساس داده های قیمت گذشته هستند و ممکن است همیشه حرکات قیمت آینده را به طور دقیق پیش بینی نکنند. آنها همچنین می توانند در معرض سیگنال های کاذب ، به ویژه در بازارهای محدوده یا در دوره های نوسانات کم قرار بگیرند.
RSI چیست؟
RSI یک نشانگر شرکتی است که توسط معامله گران برای شناسایی شرایط بیش از حد و بیش از حد در یک امنیت استفاده می شود. با استفاده از فرمول زیر محاسبه می شود:
RSI = 100 - (100 / (1 + RS))
جایی که RS متوسط افزایش دوره های بالا در امنیت است ، که بر اساس میانگین از دست دادن دوره های کاهش یافته تقسیم می شود. RSI به طور معمول در طی یک دوره زمانی ، مانند 14 روز یا 25 روز محاسبه می شود و در مقیاس 0 تا 100 ترسیم می شود.
هنگامی که RSI بالاتر از 70 است ، بیش از حد به نظر می رسد ، و هنگامی که زیر 30 سال است ، بیش از حد در نظر گرفته می شود. این سطوح را می توان بر اساس شرایط امنیتی خاص و بازار تنظیم کرد. به عنوان مثال ، اگر یک امنیت به دلیل داشتن نوسانات قیمت زیاد شناخته شده باشد ، ممکن است سطح بیش از حد و سطح بیش از حد در سطح بالاتر یا پایین تر تنظیم شود تا این افزایش نوسانات را به خود اختصاص دهد.
معامله گران اغلب برای تأیید سیگنال های معاملاتی ، از RSI در رابطه با سایر ابزارهای تحلیل فنی مانند خطوط روند و میانگین های متحرک استفاده می کنند. به عنوان مثال ، اگر RSI بیش از حد بوده و قیمت آن رو به پایین است ، ممکن است زمان خوبی برای فروش امنیت باشد. به همین ترتیب ، اگر RSI بیش از حد باشد و قیمت آن به سمت بالا باشد ، ممکن است زمان خوبی برای خرید امنیت باشد.
توجه به این نکته حائز اهمیت است که RSI یک شاخص عقب مانده است ، به این معنی که مبتنی بر داده های قیمت گذشته است و ممکن است همیشه حرکات قیمت آینده را به طور دقیق پیش بینی نکند. همچنین در معرض سیگنال های کاذب ، به ویژه در بازارهای محدوده یا در دوره های نوسانات کم است.
رویکرد
Bollinger Band و RSI یک استراتژی محبوب برای تجارت الگوریتمی است زیرا به معامله گران این امکان را می دهد تا به طور بالقوه دقت سیگنال های تجاری خود را بهبود بخشند و شانس موفقیت خود را افزایش دهند.
باندهای بولینگر اندازه گیری نوسانات را ارائه می دهند و می توانند با نشان دادن اینکه قیمت ها از گروههای فوقانی و پایین خارج می شوند ، به معامله گران تغییرات احتمالی روند را شناسایی کنند. از طرف دیگر RSI با اندازه گیری میزان تغییرات قیمت اخیر ، به معامله گران کمک می کند تا شرایط بیش از حد و بیش از حد را شناسایی کنند.
با ترکیب این دو شاخص ، معامله گران می توانند به طور بالقوه سیگنال های کاذب را فیلتر کرده و سیگنال های معاملاتی را تأیید کنند. به عنوان مثال ، اگر RSI بیش از حد مورد استفاده قرار گیرد و قیمت آن از باند بالایی بولینگر خارج شود ، ممکن است یک سیگنال فروش قوی تر از آن باشد که از هر یک از نشانگرها به تنهایی استفاده شود. به همین ترتیب ، اگر RSI از بین برود و قیمت آن از باند پایین بولینگر خارج شود ، ممکن است یک سیگنال خرید قوی تر باشد.
کاربرد پایتون گروه بولینگر - استراتژی RSI
اکنون که ما یک درک اساسی از گروههای بولینگر و RSI داریم ، اجازه دهید نگاهی دقیق تر به کدی که استراتژی پیشرفته تجارت باند بولینگر را پیاده سازی می کند ، بیندازیم.
به منظور ایجاد یک مدل تجارت الگوریتمی در زندگی واقعی که این استراتژی را پیاده سازی می کند ، ابتدا باید برای اوراق بهادار که می خواهیم تجارت کنیم ، به داده های تاریخی و/یا زنده دسترسی پیدا کنیم. اگرچه چندین منبع داده وجود دارد که می توانیم از آنها استفاده کنیم ، من همیشه یاهو مالی را به دلیل غنای و سهولت دسترسی به داده های مالی موجود توصیه می کنم. بعد از اینکه داده ها را با موفقیت بارگیری کردیم ، آن را در یک DataFrame Pandas ذخیره خواهیم کرد.
وارد کردن numpy به عنوان npواردات پاندا به عنوان PDوارد کردن matplotlib. pyplot به عنوان pltاز Scipy. Stats Norm واردات# بارگیری داده هاداده = pd. read_csv ('data. csv')در مرحله بعد ، باند های بولینگر را برای داده ها محاسبه خواهیم کرد. مرحله اول محاسبه میانگین و انحراف استاندارد با استفاده از اندازه پنجره 20 است. اندازه پنجره می تواند بر اساس شرایط امنیتی و بازار خاص تنظیم شود.
# باندهای بولینگر را محاسبه کنیدWindow_size = 20ma = data ['close']. نورد (پنجره = windows_size) . mean ()std = data ['close']. نورد (پنجره = windows_size) . std ()Upper_band = ma + (2 * std)Lower_band = ma - (2 * std)
با انجام این کار ، با افزودن و تفریق دو انحراف استاندارد از میانگین متحرک ، نوارهای فوقانی و پایین را محاسبه خواهیم کرد. باند فوقانی حد بالایی از محدوده قیمت مورد انتظار را نشان می دهد و باند پایین نشان دهنده حد پایین است.
# RSI را محاسبه کنیدDelta = Data ['Close']. Diff ()دلتا = دلتا [1:]بالا ، پایین = delta. copy () ، delta. copy ()بالا بالا<0] = 0down[down>0] = 0Roll_Up = up. rolling (پنجره = 14) . Mean ()Roll_Down = down. abs (). نورد (پنجره = 14) . mean ()RS = ROLL_UP / ROLL_DOWNRSI = 100. 0 - (100. 0 / (1. 0 + RS))
همانطور که در بالا مشاهده شد ، ما RSI را برای داده ها محاسبه می کنیم. اولین قدم محاسبه تفاوت بین قیمت های بسته شدن فعلی و قبلی است که دوره های بالا و پایین را به ما می دهد. سپس ما تمام مقادیر منفی را برای دوره های UP و تمام مقادیر مثبت برای دوره های پایین به صفر تنظیم می کنیم.
در مرحله بعد ، میانگین نورد دوره های بالا و پایین را با استفاده از اندازه پنجره 14 محاسبه می کنیم. این اندازه پنجره را می توان در صورت لزوم تنظیم کرد.
سرانجام ، ما با تقسیم میانگین نورد دوره های UP با میانگین نورد دوره های پایین ، مقدار RS را محاسبه می کنیم. سپس از مقدار RS برای محاسبه RSI با استفاده از فرمول ارائه شده در ابتدا استفاده می کنیم.
مرحله بعدی شناسایی سیگنال های معاملاتی است.
# سیگنال های معاملاتی را شناسایی کنیدسیگنال = pd. dataframe (index = data. index)سیگنال ها ['سیگنال'] = 0. 0# سیگنال بخریدsignals.loc[(data['close']>باند بالا) و (RSI<30), 'signal'] = 1.0# فروش سیگنالسیگنال ها. loc [(داده ها ["نزدیک"]70) ، 'سیگنال'] = -1. 0
در این قطعه کد ، ما در حال شناسایی سیگنال های خرید و فروش برای استراتژی پیشرفته تجارت باند بولینگر هستیم. ما با ایجاد یک DataFrame جدید با همان شاخص داده و ستون برای سیگنال ها شروع می کنیم.
در مرحله بعد ، ما قوانین مربوط به خرید و فروش سیگنال ها را تنظیم کردیم. هنگامی که قیمت از باند بولینگر فوقانی خارج می شود و RSI بیش از حد (زیر 30) است ، سیگنال خرید ایجاد می شود. سیگنال فروش هنگامی که قیمت از باند پایین بولینگر خارج می شود و RSI بیش از حد (بالاتر از 70) ایجاد می شود ، ایجاد می شود.
با مشخص کردن اینکه آیا امنیت خریداری شده یا فروخته می شود ، ما با موفقیت الگوریتم را برای شناسایی اقدامات بهینه (بر اساس استراتژی ما) برای انجام هنگام تجارت یک امنیت خاص ایجاد کرده ایم. مرحله بعدی محاسبه بازده و ترسیم نتایج ما است.
# بازده را محاسبه کنیدسیگنال ها ['بازگشت'] = داده ['بستن']. pct_change ()سیگنال ها ['استراتژی'] = سیگنال ها ['سیگنال']. تغییر (1) * سیگنال ها ['بازگشت]]# نتایج طرحشکل ، ax = plt. subplots (figsize = (10،5))ax. plot (داده ['Close'] ، label = 'price')ax. plot (بالا_بند ، برچسب = 'باند فوقانی')ax. plot (پایین_بند ، برچسب = "باند پایین")ax. plot (سیگنال ها ['سیگنال'] ، برچسب = 'سیگنال')ax. set_xlabel ("تاریخ")ax. set_ylabel ("قیمت")ax. legend ()plt. show ()در این قطعه کد ، ما بازده استراتژی را محاسبه می کنیم و نتایج را ترسیم می کنیم. ابتدا با در نظر گرفتن درصد تغییر قیمت بسته شدن ، بازده امنیت را محاسبه می کنیم. سپس بازده استراتژی را با ضرب سیگنال روز قبل با بازده روز جاری محاسبه می کنیم. سرانجام ، ما نتایج را با استفاده از matplotlib ترسیم می کنیم. این طرح شامل قیمت ، گروههای بولینگر فوقانی و تحتانی و سیگنال های معاملاتی است.
برای شناسایی عملکرد استراتژی ما ، بازده استراتژی را خلاصه می کنیم و نتیجه را چاپ می کنیم.
# نتایج چاپبازگشت = سیگنال ها ['استراتژی']. جمع ()چاپ (بازده های ftotal: ')
نکاتی برای اجرای استراتژی باند پیشرفته بولینگر
اگر شما علاقه مند به اجرای یک استراتژی پیشرفته Bollinger Band هستید ، چند نکته مهم وجود دارد که باید در نظر داشته باشید:
- قبل از اجرای آن در بازارهای زنده ، استراتژی را روی داده های تاریخی آزمایش کنید. این به شما امکان می دهد تا ببینید که چگونه استراتژی در گذشته انجام می شد و هرگونه مسائل احتمالی یا فرصت های بهینه سازی را شناسایی می کند.
- از این استراتژی در ترکیب با سایر ابزارهای تحلیل فنی و اساسی استفاده کنید. گروههای بولینگر و RSI فقط دو شاخص هستند و ممکن است همیشه سیگنال های دقیقی را به تنهایی ارائه ندهند. با ترکیب آنها با ابزارهای دیگر ، مانند خطوط روند و میانگین حرکت ، می توانید به طور بالقوه دقت سیگنال های تجاری خود را بهبود بخشید.
- پارامترهای استراتژی را در صورت لزوم تنظیم کنید. اندازه پنجره برای گروههای بولینگر و RSI و همچنین سطح بیش از حد و سطح بیش از حد ممکن است براساس شرایط امنیتی و بازار خاص تنظیم شود.
- استراتژی را مرتباً نظارت کنید و در صورت لزوم تنظیمات را انجام دهید. بازارها و اوراق بهادار می توانند با گذشت زمان تغییر کنند و مهم است که به طور منظم عملکرد استراتژی را کنترل کرده و در صورت لزوم تنظیمات انجام شود.
- از تکنیک های مدیریت ریسک برای محافظت در برابر ضررهای احتمالی استفاده کنید. تجارت خطرات ذاتی را به همراه دارد و استفاده از تکنیک های مدیریت ریسک مانند سفارشات متوقف کردن و اندازه گیری موقعیت برای محافظت در برابر ضررهای احتمالی مهم است.
با پیروی از این نکات ، شما به طور بالقوه می توانید شانس موفقیت خود را هنگام اجرای استراتژی پیشرفته تجارت باند بولینگر بهبود بخشید. مانند هر استراتژی معاملاتی ، آزمایش دقیق و بهینه سازی استراتژی برای امنیت و شرایط خاص بازار مهم است.
نتیجه
در پایان، استراتژی معاملاتی پیشرفته باند بولینگر یک روش قدرتمند برای معاملات الگوریتمی است که باندهای بولینگر و RSI را برای بهبود بالقوه دقت سیگنال های معاملاتی و افزایش سود ترکیب می کند. با شناسایی تغییرات احتمالی روند و شرایط خرید و فروش بیش از حد، معامله گران می توانند تصمیمات آگاهانه گرفته و بالقوه بازده را به حداکثر برسانند.
با این حال، توجه به این نکته مهم است که این فقط یک نقطه شروع است و احتمالاً استراتژی باید برای اوراق بهادار و شرایط بازار خاص سفارشی و بهینه شود. همچنین استفاده از استراتژی در ترکیب با سایر ابزارهای تحلیل تکنیکی و بنیادی و اجرای تکنیک های مدیریت ریسک برای محافظت در برابر ضررهای احتمالی بسیار مهم است.
با آزمایش و بهینه سازی دقیق استراتژی معاملاتی باند بولینگر و استفاده از آن در ترکیب با سایر ابزارهای تجزیه و تحلیل، معامله گران به طور بالقوه می توانند شانس موفقیت خود را در بازارها افزایش دهند. مانند هر استراتژی معاملاتی، نظارت منظم بر عملکرد استراتژی و انجام تنظیمات در صورت لزوم ضروری است.
در اینجا مشترک DDIntel شوید.
فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید
برچسب :
نویسنده : احمد قانع پور
بازدید : 75
تاريخ : شنبه
11 شهريور
1402 ساعت: :