Backtest ساده RSI

ساخت وبلاگ

شاخص استحکام نسبی (RSI) یک شاخص حرکت است که میزان افزایش سود و زیان اخیر را در یک دوره زمانی مشخص برای اندازه گیری سرعت و تغییر حرکات قیمت یک امنیت مقایسه می کند. این ماده در درجه اول در تلاش برای شناسایی شرایط بیش از حد یا بیش از حد در تجارت دارایی استفاده می شود.

از آنجا که RSI ارزیابی نسبی از قدرت عملکرد قیمت اخیر دارایی را ارائه می دهد ، می توان از آن برای مقایسه مستقیم دارایی های مختلف استفاده کرد. مقدار RSI از 0 تا 100 متغیر است. به طور سنتی ، مقدار RSI 70 یا بالاتر نشان می دهد که یک سهام در حال رسیدن به یک وضعیت بیش از حد است و ممکن است از نظر قیمت یک روند وارونگی یا عقب نشینی را مشاهده کند. در مقابل ، مقدار RSI 30 یا کمتر نشان می دهد که یک سهام در حال رسیدن به شرایط فراوان است و ممکن است یک روند برگشت یا بازپرداخت را به سمت قیمت سهم بالاتر مشاهده کند.

مدت زمان پیش فرض برای مقایسه دوره ها و دوره های پایین 14 روز است. با این حال ، استراتژی های مختلف معاملات بسته به اینکه آیا این استراتژی به دنبال سود کوتاه مدت (معامله گران روز) یا سود بلند مدت (سرمایه گذاران رشد) است ، دوره زمانی را تنظیم می کند.

RSI معمولاً در رابطه با خطوط روند برای شناسایی پشتیبانی یا مقاومت مقادیر RSI استفاده می شود.

RSI می تواند در صورت وجود حرکات ناگهانی قیمت بزرگ ، سیگنال های خرید کاذب یا فروش را ایجاد کند. یک روش مورد استفاده برای جلوگیری از سیگنال های RSI کاذب ، استفاده از آستانه های شدیدتر برای نشان دادن شرایط بیش از حد و بیش از حد است. بنابراین دیدن آستانه های RSI در 80 برای شرایط بیش از حد و 20 مورد برای شرایط فراوان غیر معمول نیست.

این پروژه یک تست ساده برای سهام Oversold با آستانه 30 و مدت زمان مقایسه 14 روز خواهد بود. بازده 3 ماهه سهام به همراه بازده بهینه محاسبه می شود که بالاترین بازده ممکن را در مدت 3 ماه مشخص می کند.

داده های منبع ، محیط پشتی است که در پروژه قبلی ایجاد شده است و محیط Backtest را ایجاد می کند. به یاد بیاورید که محیط حاوی داده های قیمت گذاری تاریخی از 2007-2016 است. ما همچنین یک جدول نماد داریم که شامل تمام سهام است که با موفقیت در محیط بارگیری شده اند.

مانند گذشته ، ما از بسته QuantMod برای بازیابی داده ها از محیط Backtest و انجام نسل RSI استفاده خواهیم کرد.

كتابخانه ها لازم است

فهرست کار

محیط را آماده کنید

ما به دو پرونده که قبلاً ایجاد شده اند برای انجام Backtest RSI نیاز داریم. برای دسترسی به محیطی که ایجاد کردیم ، به سادگی باید پرونده محیط را بارگیری کنیم. جدول نمادها به شکل یک . rds است.

بارگیری محیط پشتی

جدول نمادهای پشتی را بخوانید

ما می توانیم اطمینان حاصل کنیم که داده ها به درستی بارگیری شده و حاوی مقادیر مورد انتظار است. این بار می توانیم به دنبال نمادهایی باشیم که با "TS" شروع می شوند.

محیط پشتی را تأیید کنید

داده ها را در محیط پشتی تأیید کنید

 

tsla. open tsla. High tsla. low tsla. close tsla. volume tsla. Adusted
19. 00 25. 00 17. 54 23. 89 18766300 23. 89
25. 79 30. 42 23. 30 23. 83 17187100 23. 83
25. 00 25. 92 20. 27 21. 96 8218800 21. 96
23. 00 23. 10 18. 71 19. 20 5139800 19. 20
20. 00 20. 00 15. 83 16. 11 6866900 16. 11
16. 40 16. 63 14. 98 15. 80 6921700 15. 80
16. 14 17. 52 15. 57 17. 46 7711400 17. 46
17. 58 17. 90 16. 55 17. 40 4050600 17. 40
17. 95 18. 07 17:00 17. 05 2202500 17. 05
17. 39 18. 64 16. 90 18. 14 2680100 18. 14

نمادهای پشتی را تأیید کنید

 

سمبل بخش صنعت نام تبادل
AAAP مراقبت های بهداشتی داروهای بزرگ برنامه های پیشرفته شتاب دهنده S. A. نیل
عالیه حمل و نقل خدمات حمل و نقل هوایی/تحویل گروه هواپیمایی آمریکایی ، شرکت نیل
قید دارایی، مالیه، سرمایه گذاری بیمه عمر شرکت آتلانتیک آمریکایی نیل
عذاب فن آوری نیمه هادی Applied Optoelectronics ، Inc. نیل
یک کالاهای سرمایه ماشین آلات صنعتی/قطعات AAON ، Inc. نیل
AAPC خدمات مصرف کننده خدمات-miscسرگرمی و تفریح شرکت Atlantic Alliance Corp. نیل
AAPL فن آوری تولید کامپیوتر شرکت اپل. نیل
AAWW حمل و نقل خدمات حمل و نقل Atlas Air Air در سراسر جهان نیل
چرت زدن غیر قابل پیشروی مصرف کننده کشاورزی/دانه/فرز Aoxin Tianli Group ، Inc. نیل
بی پروا کالاهای سرمایه ماشین آلات صنعتی/قطعات Abaxis ، Inc. نیل

فرآیند RSI

از آنجا که این یک پروژه Backtest است ، ما می خواهیم معیارهای داده هایی را که می خواهیم بازیابی کنیم تعریف کنیم. هنگام استفاده از QuantMod در یک حالت تعاملی عادی ، نماد و داده های تاریخی که باید ارزیابی شوند با عملکرد GetSymbol () بازیابی می شوند. نماد نمودار می شود و تابع ADDRSI () برای اضافه کردن نشانگر RSI به نمودار فراخوانی می شود. در این سناریو ، ما می خواهیم RSI محاسبه شود و سپس برای استفاده بیشتر ذخیره شود.

برای انجام این کار از تماس عملکرد RSI () برای انجام محاسبات مورد نیاز استفاده خواهیم کرد. پارامترهای پیش فرض طول مقایسه 14 روز و نوع میانگین متحرک نمایی (EMA) است. ما از پیش فرض برای آزمون استفاده خواهیم کرد.

مورد بعدی برای تعریف ، مقدار RSI است که ما به آن علاقه مند هستیم. از آنجا که مقدار RSI 30 به عنوان سیگنال برای شرایط فراوان در نظر گرفته می شود ، ما به دنبال مقادیر RSI خواهیم بود که برابر یا کمتر از 30 باشد. سپس بازده ها را در سطوح مختلف RSI مقایسه می کند تا ببیند آیا تفاوت در نسبت پستی به بازده منفی و میانگین بازده تحقق یافته وجود دارد.

اولین قدم در پردازش بازیابی داده های نماد مورد نظر از محیط Backtest است. این با استفاده از موارد زیر انجام می شود:

مرحله دوم تقریب یا جایگزین کردن هر مقدار NA در سری زمانی است. این مورد نیاز است که یک سری زمانی مجموعه ای از مقادیر از دست رفته را برای یک تاریخ معین داشته باشد. اگر داده ها تنظیم نشده باشند ، تماس RSI با شکست روبرو می شود و ما آن سهام را به عنوان یک شیء آزمایش بالقوه از دست می دهیم.

در مرحله بعد ، ما از دستور RSI استفاده می کنیم و مشخص می کنیم که کدام قسمت را برای انجام آزمایش انجام دهید. قسمت پیشنهادی برای استفاده ، قیمت بسته شدن تنظیم شده است.

ما نیاز به بررسی خطا برای تماس RSI برای موقعیت هایی که در آن داده های کافی برای انجام محاسبه وجود ندارد. بنابراین ما برای تأیید تماس و آزمایش اینکه آیا این تماس خطایی را به ارث می برد ، از عملکرد استفاده خواهیم کرد.

اگر تماس موفقیت آمیز باشد ، نتایج در یک قاب داده قرار می گیرند و سپس پردازش می شوند. پردازش شامل موارد زیر است:

  • قسمت تاریخ را از نام های ردیف ایجاد کنید
  • دور RSI تا 2 رقم
  • ردیف های ناقص (NA)
  • فیلتر RSI کمتر از یا برابر با 30
  • نماد را به قاب داده اضافه کنید
  • ستون های سال و ماه را از تاریخ تولید کنید
  • داده های گروهی براساس سال و ماه
  • فقط اولین وقوع آستانه RSI را برای هر ماه حفظ کنید
  • تغییر نام EMA به RSI
  • ستونهای تاریخ ، RSI و نماد قاب داده را نگه دارید

داده ها به منظور آزمایش RSI به عنوان محرک شروع شرط خرید برای یک ماه معین ، گروه بندی و فیلتر می شوند. قاب داده ایجاد شده سپس به یک قاب داده اصلی پیوسته است که شامل همه وقایع آستانه RSI برای اولین بار در یک ماه معین برای همه سهام خواهد بود.

آرایه نماد ایجاد کنید

حلقه جمع آوری RSI

 

سمبل تاریخ RSI
AAAP 2016-11-25 27. 89
AAAP 2016-12-01 17. 06
عالیه 2007-03-05 29. 84
عالیه 2007-04-02 29. 43
عالیه 2007-05-01 23. 05
عالیه 2007-06-07 24. 99
عالیه 2007-08-15 27. 58
عالیه 2007-11-08 28. 94
عالیه 2007-12-12 28. 15
عالیه 2008-01-02 26. 80

فرآیند برای بازگشت

هدف از بک آست این است که مشخص شود آیا یک محرک RSI که نشان دهنده سیگنال خرید است، پیش بینی کننده بالقوه ای برای بازده مثبت بر اساس انتظار بازگشت در قیمت سهام پس از شرایط فروش بیش از حد است. برای این مثال، ما به بازگشت 3 ماهه از تاریخ تریگر نگاه خواهیم کرد.

با استفاده مجدد از محیط بک تست، قیمت های بسته شدن تعدیل شده را که از تاریخ آغازگر شروع می شود و 3 ماه پس از آن به پایان می رسد، بازیابی می کنیم. اگر تاریخ راه اندازی به گونه ای باشد که داده های پایان محاسبه شده بیشتر از 2016/12/30، آخرین روز معاملاتی سال 2016 و آخرین تاریخ در محیط بک آست ما باشد، بازده ثبت شده NA خواهد بود.

در طول پنجره آزمایشی 3 ماهه، می توان انتظار داشت که قیمت سهام دارای نوسان باشد و قیمت های ابتدایی و پایانی پنجره ممکن است منعکس کننده قیمت های پایین و بالای سهام مشاهده شده نباشد. برای تعیین پتانسیل بازدهی، بالاترین قیمت سهام را نیز در طول پنجره ثبت خواهیم کرد. این امکان وجود دارد که بازده 3 ماهه ممکن است مقدار منفی را نشان دهد اما فرصتی برای بازده مثبت در پنجره وجود دارد.

rsi_frame با موارد زیر به روز می شود:

  • قیمت بسته شدن در تاریخ راه اندازی RSI
  • قیمت بسته شدن در پایان پنجره 3 ماهه
  • بازگشت 3 ماهه
  • قیمت بسته شدن بالای دوره 3 ماهه
  • بازگشت بر اساس دوره بالا
  • حداقل حجم روزانه
  • میانگین حجم برای دوره آزمایش

فیلدها را به rsi_frame اضافه کنید

 

سمبل تاریخ RSI Trigger_Cl Period_Cl بازگشت_3 میلیون تن دوره_سلام بازگشت_سلام حجم_حداقل حجم_میانگین
AAAP 2016-11-25 27. 89 0 0 0 0 0 0 0
AAAP 2016-12-01 17. 06 0 0 0 0 0 0 0
عالیه 2007-03-05 29. 84 0 0 0 0 0 0 0
عالیه 2007-04-02 29. 43 0 0 0 0 0 0 0
عالیه 2007-05-01 23. 05 0 0 0 0 0 0 0

ایجاد بازده نیاز به یک حلقه پردازش برای بازیابی نماد و تاریخ تریگر RSI دارد. تاریخ پایان هدف برای پنجره 3 ماهه ایجاد می شود. هر ماه به طور متوسط شامل 4. 33 هفته است. بنابراین یک پنجره آزمایشی 3 ماهه شامل 13 هفته خواهد بود.

اگر تاریخ پایان محاسبه شده خارج از محدوده محیط بک تست باشد، به سادگی مقدار NA را در فیلدهای مورد نظر قرار می دهیم. اگر محدوده تاریخ در محدوده محیط بک تست باشد، می توانیم رکورد را پردازش کرده و آمار را بازیابی/محاسبه کنیم. ما از فیلد بسته تنظیم شده برای تمام نقاط داده استفاده خواهیم کرد.

ایجاد بازده

 

سمبل تاریخ RSI Trigger_Cl Period_Cl بازگشت_3 میلیون تن دوره_سلام بازگشت_سلام حجم_حداقل حجم_میانگین
AAAP 2016-11-25 27. 89 NA NA NA NA NA NA NA
AAAP 2016-12-01 17. 06 NA NA NA NA NA NA NA
عالیه 2007-03-05 29. 84 50. 09 33. 95 -0. 322 50. 23 0. 003 1036200 2680567
عالیه 2007-04-02 29. 43 45. 05 30. 70 -0. 319 47. 87 0. 063 1036200 3054338
عالیه 2007-05-01 23. 05 37. 06 31. 01 -0. 163 37. 06 0. 000 1036200 3085808
عالیه 2007-06-07 24. 99 30. 20 31. 14 0. 031 36. 00 0. 192 796400 2685427
عالیه 2007-08-15 27. 58 25. 59 23. 48 -0. 082 32. 56 0. 272 796400 2521314
عالیه 2007-11-08 28. 94 22. 04 15. 40 -0. 301 23. 48 0. 065 885000 3909548
عالیه 2007-12-12 28. 15 15. 31 9. 02 -0. 411 15. 98 0. 044 885000 3542613
عالیه 2008-01-02 26. 80 13. 32 9. 17 -0. 312 15. 40 0. 156 1235700 3650943

پس از بازیابی داده ها و اطلاعات مورد نظر ذخیره شده در قاب داده می توانیم فیلتر کنیم تا سوابق را که معیارهای پذیرش ما را برآورده نمی کنند ، حذف کنیم. ما معیارهای رد را به شرح زیر تعریف خواهیم کرد:

  • سوابق را با مقادیر NA حذف کنید
  • سوابق را با بسته شدن تعدیل شده کمتر از 5. 00 دلار حذف کنید
  • سوابق را با قیمت بسته بندی تعدیل شده بیشتر از یا برابر با 1000 دلار حذف کنید
  • سوابق را با میانگین حجم روزانه کمتر از 100000 حذف کنید
  • سوابق را با حجم روزانه کمتر از یا برابر با 50،000 در تاریخ ماشه حذف کنید

هدف از معیارهای پذیرش ، از بین بردن سهام معامله شده نامنظم است که در غیر این صورت ممکن است نتایج را کاهش دهد.

قاب RSI را تمیز کنید

 

سمبل تاریخ RSI Trigger_Cl Period_Cl بازگشت_3 میلیون تن دوره_سلام بازگشت_سلام حجم_حداقل حجم_میانگین
عالیه 2007-03-05 29. 84 50. 09 33. 95 -0. 322 50. 23 0. 003 1036200 2680567
عالیه 2007-04-02 29. 43 45. 05 30. 70 -0. 319 47. 87 0. 063 1036200 3054338
عالیه 2007-05-01 23. 05 37. 06 31. 01 -0. 163 37. 06 0. 000 1036200 3085808
عالیه 2007-06-07 24. 99 30. 20 31. 14 0. 031 36. 00 0. 192 796400 2685427
عالیه 2007-08-15 27. 58 25. 59 23. 48 -0. 082 32. 56 0. 272 796400 2521314
عالیه 2007-11-08 28. 94 22. 04 15. 40 -0. 301 23. 48 0. 065 885000 3909548
عالیه 2007-12-12 28. 15 15. 31 9. 02 -0. 411 15. 98 0. 044 885000 3542613
عالیه 2008-01-02 26. 80 13. 32 9. 17 -0. 312 15. 40 0. 156 1235700 3650943
عالیه 2008-03-10 29. 20 10. 29 3. 92 -0. 619 10. 29 0. 000 1386600 4533277
عالیه 2008-04-22 29. 09 6. 84 4. 27 -0. 376 9. 35 0. 367 2646700 8324533

نتایج مرور

اولین چیزی که ما بررسی خواهیم کرد ، کل 3 ماهه بر اساس قیمت های تعدیل شده تعدیل شده از ابتدا و پایان پنجره تست است.

آمار خلاصه 3 ماهه

ما 54. 9 ٪ از سهام را می بینیم که پنجره آزمایش 3 ماهه با بازده مثبت به پایان رسید. میانگین بازده ، هنگام فاکتورسازی همه سهام ، 2. 3 ٪ است. وقتی فقط به سهام با بازده مثبت نگاه می کنید ، میانگین 17. 4 ٪ است.

بر اساس این آمار ، به نظر می رسد استفاده از RSI به عنوان محرک بازده مثبت به خودی خود وجود ندارد. با این حال ، نرخ بازده سهام که دارای بازده مثبت در ارتباط با آنها هستند ، امکان استفاده از RSI را به روش دیگری یا همراه با ماشه دوم باز می کند.

اکنون می توانیم با نگاهی به قیمت بالای سهام که در دوره آزمایش مشاهده می شود به جای استفاده از قیمت بسته شدن پنجره آزمایش ، پتانسیل بازده بالاتر را مشاهده کنیم.

آمار دوره 3 ماهه

نتایج نشان می دهد که فرصتی بزرگتر برای بازده مثبت در پنجره تست وجود دارد تا آنچه با نگاهی به قیمت بسته شدن پنجره آزمایش نشان داده شده است. 92. 9 ٪ از سهام فرصتی برای بازده مثبت در دوره آزمایش داشتند. میانگین بازده 17. 6 ٪ است که کمی بهتر از بازده سهام با بازده مثبت با استفاده از قیمت بسته شدن پنجره تست است.

این آمار نشان می دهد که پس از شرط فراوان برای بخش بزرگی از سهام ، در قیمت سهام بازپرداخت وجود دارد. با این حال ، بازپرداخت ممکن است کوتاه باشد. این بدان معنی است که داشتن یک استراتژی خروج مناسب ، شرایط فروش ، برای به حداکثر رساندن بازده سرمایه گذاری بسیار مهم است.

البته استفاده از بازده متوسط به طور بالقوه انتظار کاذب از بازده را ایجاد می کند زیرا مسافت های بزرگ می توانند نتیجه آماری را کاهش دهند. بنابراین می توانیم به بازده مثبت که توسط درصد وقوع رخ داده است نگاه کنیم. این به شناسایی یک آستانه بالقوه برای بازده در پنجره 3 ماهه کمک می کند که می تواند به عنوان نقطه خروج برای سهام مورد استفاده قرار گیرد. یعنی اگر ما از یک استراتژی که به دنبال بازده 5 ٪ یا بازپرداخت از نقطه ورود سهام ، که توسط RSI ایجاد شده است ، استفاده کنیم ، درصد سرمایه گذاری هایی که بازده مطلوب را به همراه خواهد داشت ، چه خواهد بود؟

برای بازده مثبت مقادیر ایجاد کنید

نزدیک به 80 ٪ از مشاهدات موجود در پنجره آزمایش ما بازده 5 ٪ یا بیشتر را ایجاد می کند. و نزدیک به 60 ٪ بازده 10 ٪ یا بیشتر تولید شده است.

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

  • RSI کمتر از یا برابر با 10
  • RSI کمتر از یا برابر با 20 و بیشتر از 10
  • RSI بالاتر از 20

بازده بالقوه توسط RSI

اکثر محرک های RSI در محدوده 20-30 قرار دارند و منجر به درصد بازده بالقوه 17. 6 ٪ می شوند ، به همراه 92. 9 ٪ سهام دارای فرصت های سود مثبت در پنجره آزمایش 3 ماهه هستند. سطح RSI بین 20 تا 30 با 92. 2 ٪ با بازده بالقوه 19. 7 ٪ میزان موفقیت دارد. سطح RSI 10 و پایین بالاترین میزان موفقیت را با 97. 4 ٪ و بازده بالقوه 20. 2 ٪ دارد.

تجارت این است که فقط 38 سهام وجود داشته است که در طول پنجره 10 ساله ، با RSI 10 یا پایین تر از آن ، صلاحیت ماشه را برآورده می کردند.

بیایید همانطور که قبلاً انجام دادیم ، بازده مثبت را با سطح RSI که درصدی از وقوع رخ داده است ، بررسی کنیم.

برای بازده مثبت توسط RSI سطح 10 تولید کنید

تقریباً 75 ٪ از مشاهدات موجود در پنجره آزمایش ما بازده 5 ٪ یا بیشتر را ایجاد می کند. و حدود 55 ٪ بازده 10 ٪ یا بیشتر را ایجاد کرده است.

برای بازده مثبت توسط RSI سطح 20 تولید کنید

بیش از 80 ٪ از مشاهدات موجود در پنجره آزمایش ما بازده 5 ٪ یا بیشتر را ایجاد می کند. و بیش از 60 ٪ بازده 10 ٪ یا بیشتر را ایجاد کرده است.

برای بازده مثبت توسط RSI سطح 30 تولید کنید

تقریبا 80 ٪ از مشاهدات موجود در پنجره آزمایش ما بازده 5 ٪ یا بیشتر را ایجاد می کند. و تقریبا 60 ٪ بازده 10 ٪ یا بیشتر را ایجاد کرده است.

نتیجه

بسیاری از استراتژی های پشتی RSI بر قیمت بسته شدن سهام در انتهای پنجره آزمایش متمرکز است. به نظر می رسد که این هدف از تلاش برای گرفتن سود در طی یک دوره بازپرداخت را شکست می دهد. در سایر پروژه های پشتی ، دریافتم که بالاترین قیمت سهام در دوره آزمایش از یک الگوی قابل پیش بینی پیروی نمی کند و می تواند در هر زمان در پنجره رخ دهد. بنابراین استراتژی ترجیحی که من به کار می برم تعیین قیمت خروج بر اساس بازده مورد نظر در مدت 3 ماه است.

به عنوان مثال ، اگر یک شاخص گسترده تر بازده متوسط سالانه 12 ٪ را ارائه دهد ، منطقی است که یک استراتژی داشته باشد که منجر به بازده سالانه بالاتری در ضمن پوشش هزینه های سرمایه گذاری و خطرات شود.

بیشتر اوقات ، RSI یک آمار یا سیگنال است که در یک استراتژی کلی سرمایه گذاری استفاده می شود. به همان اندازه مهم است که سیگنال برای خروج نیز داشته باشید. به خاطر داشته باشید که سرمایه گذاری در پروژه Backtesting منجر به خسارات در طول دوره 7. 1 ٪ از زمان شد.

مثل همیشه ، هدف این است که به حداکثر رساندن بازده و به حداقل رساندن ضررها بپردازیم.

با استفاده از داده های این پروژه و فریم داده نهایی RSI ایجاد شده ، می توان اطلاعات اضافی را مورد بررسی قرار داد. یعنی آنچه شرکت ها ، بخش ها یا صنایع دارای بالاترین میزان موفقیت بازده یا بالاترین بازده بالقوه هستند.

در پروژه های بعدی ، من برخی از استراتژی ها و سیگنال های مشترک دیگر را پوشش می دهم و نتایج آنها را مقایسه می کنم.

فارکس پرشین...
ما را در سایت فارکس پرشین دنبال می کنید

برچسب : نویسنده : الیزابت امینی بازدید : <-PostHit-> تاريخ : شنبه 30 ارديبهشت 1402 ساعت: 14:53