تغییرات جهت دار (DC) یک تکنیک اخیر است که داده های زمان فیزیکی (به عنوان مثال قیمت های بسته شدن روزانه ، داده های ساعتی) را به رویدادها خلاصه می کند و به معامله گران چشم انداز منحصر به فردی از بازار برای ایجاد استراتژی های معاملاتی جدید ارائه می دهد. در این مقاله استفاده از یک الگوریتم ژنتیکی (GA) برای بهینه سازی توصیه های چندین استراتژی معاملاتی مبتنی بر DC ارائه شده است. هر استراتژی معاملاتی از یک چارچوب جدید استفاده می کند که ترکیبی از تکنیک های طبقه بندی و رگرسیون است تا پیش بینی شود چه زمانی یک روند معکوس خواهد شد. ما عملکرد الگوریتم DC-Strategy GA چند پیشنهادی را در برابر نه معیار ارزیابی می کنیم: پنج استراتژی معاملاتی مبتنی بر DC ، سه شاخص تجزیه و تحلیل فنی و همچنین خرید و نگهدارنده ، که یک معیار مالی محبوب است. ما آزمایشات را با استفاده از 200 مجموعه داده زمان فیزیکی ماهانه از 20 بازار ارزی انجام می دهیم - این مجموعه داده ها از عکس های فواصل 10 دقیقه ایجاد شده است. نتایج تجربی نشان می دهد که الگوریتم پیشنهادی ما قادر است از نظر بازده و ریسک از نظر آماری از همه معیارهای DC و غیر DC بهتر عمل کند و DC های چند آستانه را به عنوان یک تکنیک تجارت الگوریتمی مؤثر ایجاد کند.
روی نسخه خطی کار می کنید؟
معرفی
پیش بینی نرخ ارز خارجی (Forex) گام مهمی در درک رابطه بین ارزهای جهانی برای ارزیابی مزایا و خطرات مرتبط با تجارت فرامرزی است. پیش بینی نرخ فارکس تا اوایل دهه 1970 نسبتاً ساده بود (چانگ و هوانگ 2014). بیشتر بر اساس تراز پرداخت کشورها و میزان واردات و صادرات کالاها و خدمات آنها تعیین می شد. در سال 1973، نرخ ارز شناور توسط ارزهای اصلی جهان پذیرفته شد و در زمان های اخیر، معاملات فارکس عمدتاً به صورت الکترونیکی انجام می شود (Cheung and Chi 2001). این تغییرات در سیاست ارزی و محل معاملات بازار را به روی مشارکت کنندگان بیشتری باز کرد که منجر به افزایش فعالیت های بازار شد. تعداد بیشتر شرکت کنندگان همراه با عوامل عرضه و تقاضای محلی و بین المللی، مانند اقتصادی، سیاسی و روانی، پیش بینی فارکس را به یک کار چالش برانگیز تبدیل می کند (Spero and Hart 2009; Nassirtoussi et al 2011; Frieden 2014; Bilgin et al 2020; Pascual-ایزاما و همکاران 2014؛ پتروپولوس و همکاران 2017). این چالش ها عبارتند از: (1) نوسانات کوتاه مدت قیمت.(ii) حجم معاملات بالای بیش از 6. 6 تریلیون دلار در روز تا سال 2019 (Wooldridge 2019) در بازاری که 24 ساعت در روز از یکشنبه 20:15 GMT تا جمعه 22:00 GMT در سراسر جهان باز است (Sobol and Szmelter 2020؛iii) حاشیه سود کم در مقایسه با معاملات با درآمد ثابت (پتروپولوس و همکاران 2017)؛و (IV) سیگنال های پر سر و صدا و آشفته، جداسازی ویژگی های غیر جالب از روندها را دشوار می کند (ابو مصطفی و عطیه 1996؛ کامروززمان و همکاران 2003).
اکثر رویکردها برای پیش بینی نرخ فارکس از داده های بازار تاریخی ضبط شده با استفاده از مقیاس زمانی فیزیکی استفاده می کنند (Brabazon و همکاران 2020). اشکال در استفاده از مقیاس زمانی فیزیکی این است که باعث می شود جریان زمان فیزیکی ناپیوسته باشد و شرکت کنندگان در بازار را به دلیل جهل فعالیت های بازار بین نقاط زمانی گسسته ، در معرض خطر قرار دهد. یک روش جایگزین استفاده از مقیاس زمانی ذاتی است که داده ها را با ضبط فعالیت های مهم در بازار خلاصه می کند. در این کار ، ما از تغییرات جهت دار (DC) استفاده می کنیم - فرم مقیاس زمانی ذاتی برای خلاصه حرکت قابل توجه بازار. DCS یک روش جایگزین برای نمونه گیری از داده ها ارائه می دهد. به جای گرفتن عکسهای فوری از داده های تاریخی در فواصل ثابت ، عکسهای فوری هنگامی گرفته می شوند که تغییر قیمت توسط آستانه از پیش تعیین شده ( theta ) وجود داشته باشد. ارزش آستانه پیشاپیش توسط یک معامله گر با توجه به اعتقاد آنها به تغییر قابل توجه قیمت ، چه به سمت بالا یا پایین ، تصمیم گرفته می شود. خلاصه قیمت بدین ترتیب به روندهای متناوب به سمت بالا و رو به پایین تقسیم می شود. هر یک از این روند شامل یک رویداد DC است که معمولاً با یک رویداد Overshoot (OS) دنبال می شود. استفاده از مقادیر مختلف آستانه امکان تشخیص وقایع مختلف و به عنوان یک نتیجه ، ایجاد خلاصه روند مختلف را فراهم می کند. بنابراین ، چارچوب DC بر اندازه تغییر قیمت متمرکز است زیرا زمان متفاوت است ، در حالی که در زمان فیزیکی ، فاصله زمانی ثابت است (به عنوان مثال قیمت های بسته شدن روزانه). این مفهوم چشم اندازهای جدیدی را برای تجزیه و تحلیل حرکات قیمت در اختیار بازرگانان قرار می دهد و به آنها اجازه می دهد تا روی حرکات کلیدی قیمت تمرکز کنند و جزئیات قیمت های دیگر را که می تواند بی ربط تلقی شود ، محو کند. علاوه بر این ، DCS به محققان این امکان را داده است تا منظم های جدیدی را در بازارها کشف کنند ، که می توان با خلاصه های مبتنی بر فاصله نادیده گرفت (Glattfelder و همکاران 2011). بنابراین ، این عادی های جدید فرصت هایی را برای معامله گران ایجاد می کند و یک منطقه جدید را برای تحقیق باز می کند.
در نتیجه ، تعداد فزاینده ای از آثار از مفهوم DC برای اهداف تجاری استفاده شده است (به عنوان مثال ، با صدای بلند 2020 ، 2021). علاوه بر این ، Gypteau و همکاران (2015) استراتژی برنامه نویسی ژنتیکی (GP) مبتنی بر چند آستانه DC (MTDC) را پیشنهاد کردند ، جایی که گره های ترمینال درختان GP از اقدامات معاملاتی (خرید/فروش/نگهدارنده) تشکیل شده توسط هر DC تشکیل شده اند. آستانه ، و گره های داخلی اپراتورهای منطقی برای ترکیب توصیه های فوق بودند. باخچ و همكاران (2016) الگوریتم طبقه بندی را پیشنهاد كردند كه از اطلاعات سری رویداد نمونه برداری شده با استفاده از آستانه كوچكتر برای پیش بینی وقایع DC در خلاصه DC نمونه برداری شده با آستانه بزرگتر استفاده كرد. Ye et al (2017) یک معادله ریاضی را برای پیش بینی بزرگی وقایع سیستم عامل ارائه داد. نتیجه آنها نشان می دهد که تجارت بر اساس روند DC Trend (DCT) تکنیک های پیش بینی معکوس بازده مثبت سودآور را در ریسک نسبتاً کم به دست می آورد. Alkhamees و Fasli (2017a) با خلاصه کردن حرکات قیمت بر اساس آستانه ثابت ثابت در یک دوره زمانی فیزیکی طولانی ، مشکلی را برجسته کردند. آنها استدلال كردند كه اگر آستانه 0. 01 ٪ در جمع بندی رویدادها استفاده شود و با گذشت زمان سطح رویدادهای قابل توجه به 0. 009 ٪ كاهش یابد ، انواع جدید وقایع ضبط نمی شوند. بر اساس این یافته ، آنها توصیه کردند که با نمونه خلاصه رویداد که در چارچوب زمانی فیزیکی کوتاه تر گرفته شده و اندازه آستانه را در فواصل زمانی مجدداً ارزیابی کنید تا مهمترین رویداد را شناسایی کنند. آنها پیشنهاد کردند که روزانه سری رویداد را با اندازه آستانه تنظیم پویا با توجه به حرکت قیمت فعلی و قبل تولید کنند. نتایج مقایسه نشان داد که تجارت در سری رویداد ایجاد شده در دوره زمانی کوتاه تر با آستانه پویا سودآورتر از معاملات در سری رویداد تولید شده با استفاده از آستانه ثابت در دوره های طولانی تر بود. نتیجه گیری مشابهی توسط Alkhamees و Fasli (2017b) حاصل شد که با بررسی همان ایده تولید سری رویداد با استفاده از آستانه های تنظیم شده پویا در جریان داده ، مورد بررسی قرار گرفت. سلمان و همکاران (2022) چندین استراتژی جدید تجارت مبتنی بر DC را پیشنهاد کردند و توصیه های خود را با استفاده از یک الگوریتم ژنتیکی (GA) بهینه کردند. سرانجام ، لانگ و همكاران (2022) اولین كسانی بودند كه شاخص های مختلف DC را تحت الگوریتم GP ترکیب كردند.
یک شاخه خاص از تحقیقات تجارت DC، شناسایی نقطه معکوس یک روند بوده است. کامپوریدیس و اوترو (2017) و کامپوریدیس و همکاران (2017) سعی کردند این کار را با تخمین طول DCT انجام دهند. برای رسیدن به این هدف، آنها میانگین طول DCT ها را برای هر مجموعه داده در مجموعه آموزشی محاسبه کردند و سپس از این مقدار برای پیش بینی زمان پایان یک روند در مجموعه آزمایشی استفاده کردند. Adegboye و همکاران (2017) کامپوریدیس و اوترو (2017) را با استفاده از یک الگوریتم رگرسیون نمادین GP (SRGP) برای تکامل معادلاتی که میانگین نسبت طول رویداد DC-OS را محاسبه می کند، گسترش دادند که بنابراین برای پیش بینی مدت یک روند استفاده شد. آنها روابط خطی و غیرخطی بین رویدادهای DC و OS را شناسایی کردند که آنها را در یک استراتژی معاملاتی جاسازی کردند و بازده بالاتری را به همراه داشتند. Adegboye و Kampouridis (2021) کار فوق را با مشاهده اینکه روندها در مجموعه داده های DC به طور پیوسته دارای رویدادهای DC و OS نیستند، بیشتر گسترش دادند. آنها مشاهده کردند که ممکن است حداقل 14. 77٪ از رویدادهای DC دارای یک رویداد OS مربوطه باشند. اگرچه تعداد رویدادهای سیستم عامل در خلاصه DC به آستانه بستگی دارد، حداکثر تعداد جفت رویداد DC-OS مشاهده شده 52. 46٪ بود. برای پرداختن به این موضوع، آنها یک الگوریتم پیش بینی معکوس DCT را پیشنهاد کردند که طبقه بندی را با رگرسیون نمادین ترکیب می کرد. یک طبقه بندی مناسب بین DCTهای متشکل از رویدادهای OS و DC و سایرین که فقط رویداد DC دارند تمایز قائل می شود. سپس از یک SRGP مناسب برای تخمین طول رویداد سیستم عامل DCTهای طبقه بندی شده برای داشتن یک رویداد OS در مجموعه آموزشی خود استفاده کردند. نتایج آنها نشان داد که رویکرد آنها به طور قابل توجهی پیش بینی معکوس DCT را بهبود می بخشد. این مدل در یک استراتژی مبتنی بر آستانه جاسازی شد و بر روی 1000 مجموعه داده DC ایجاد شده از یک سری زمانی فیزیکی 10 دقیقه ای از 20 بازار عمده فارکس آزمایش شد. استراتژی معاملاتی از دیگر استراتژی های DC و مبتنی بر تحلیل تکنیکال از جمله خرید و نگه داشتن (BandH) بهتر عمل کرد. نتایج مشابهی در Adegboye و همکاران (2021) به دست آمد که تکنیک طبقه بندی فوق را برای تعدادی از الگوریتم های DC مختلف اعمال کردند.
در حالی که طبقه بندی فوق و GPS رگرسیون الگوریتم های جدید و مؤثر بودند ، آنها فقط از یک آستانه DC واحد استفاده می کردند ، یعنی ، هر استراتژی معاملاتی بر اساس یک خلاصه DC بود. بنابراین ، این استراتژی توسط اطلاعات ارائه شده توسط آستانه خاص DC محدود می شود - این یک محدودیت اساسی است. علاوه بر این ، دانستن اینکه کدام آستانه DC خلاصه DC آموزنده تر را برمی گرداند ، آسان نیست. برای غلبه بر اشکال فوق ، در این مقاله با استفاده از یک الگوریتم معاملاتی MTDC پیشنهاد می کنیم. در نتیجه ، بسیاری از آستانه ها به طور همزمان مورد استفاده قرار می گیرند ، و بنابراین در هر مقطع زمانی ، توصیه های متعدد خرید و فروش وجود خواهد داشت. برای غلبه بر توصیه های متناقض ، ما از GA برای بهینه سازی وزن هر آستانه DC استفاده خواهیم کرد. دلیل منطقی برای ترکیب پیش بینی ها از این واقعیت ناشی می شود که انواع مختلفی از رویدادها باعث نوسانات قیمت و آستانه می شوند و می توانند فقط یک نوع از چنین رویدادهایی را خلاصه کنند. استفاده از آستانه های متعدد ، ما را قادر می سازد تا وقایع همزمان را خلاصه کنیم ، بنابراین ، تعداد کل رویدادهای DC را در طول دوره پروفایل افزایش می دهد ، در نتیجه فرصت های بیشتری برای تجارت سودآوری فراهم می کند.
ما آزمایشاتی را در 200 مجموعه داده از 20 جفت ارز مختلف فارکس انجام خواهیم داد. استراتژی MTDC پیشنهادی در برابر 9 معیار مقایسه خواهد شد: پنج استراتژی تک آستانه DC (STDC). سه شاخص تجزیه و تحلیل فنی تحت زمان فیزیکی. و یک استراتژی باند. بقیه این مقاله به شرح زیر سازماندهی شده است. بخش 2 نمای کلی از مفهوم DC و فرقه را ارائه می دهد. 3 استراتژی معاملاتی چند آستانه مبتنی بر GA ما را ارائه می دهد. بخش 4 مجموعه آزمایشی و فرقه را ارائه می دهد. 5 نتایج را ارائه و بحث می کند. در آخر ، فرقه6 این مقاله را نتیجه می گیرد و در مورد کارهای آینده بحث می کند.
پس زمینه DC
یک رویداد DC با تغییر قیمت تعریف شده توسط یک مقدار آستانه مشخص شده توسط کاربر مشخص می شود. رویدادهای دی سی به رویدادهای رو به رشد و رکود تقسیم می شوند. پس از تأیید یک رویداد DC ، سری قیمت ها معمولاً بسته به آنچه DCT فعلی است) به سمت همان جهت حرکت می کنند (به سمت بالا یا پایین ، و آنها یک رویداد سیستم عامل را تشکیل می دهند. یک رویداد OS پس از تأیید یک رویداد DC در جهت مخالف ، به پایان می رسد. DCT ، به سمت بالا یا رو به پایین ، از ترکیبی از DC و رویدادهای سیستم عامل تشکیل شده است. آستانه های مختلف سری رویدادهای مختلف را ایجاد می کنند. آستانه های کوچکتر تعداد بیشتری از رویدادهای DC را نسبت به آستانه های بزرگتر ایجاد می کنند که باعث ایجاد حوادث کمتری می شوند.
اجازه دهید اکنون به شکل 1 نگاه کنیم، جایی که نشان می دهیم چگونه می توانیم یک سری قیمت فیزیکی زمان را در رویدادهای DC و OS خلاصه کنیم. در این مثال، ما حرکات قیمت را با دو آستانه متفاوت خلاصه می کنیم، یعنی ( heta =0. 01\%) (خطوط قرمز) و ( heta =0. 018\%) (خطوط به رنگ آبی). تغییرات قیمت زیر ( heta ) یک رویداد مهم در نظر گرفته نمی شود. تغییرات قیمت بالاتر از (تتا) رویدادهای مهمی در نظر گرفته می شود و بازار را به دو روند صعودی و نزولی تقسیم می کند. خطوط یکپارچه نشان دهنده رویدادهای DC و خطوط چین نشان دهنده رویدادهای سیستم عامل هستند. به عنوان مثال، در زیر ( heta =0. 01\%) بین نقاط A و B یک رویداد DC نزولی و به دنبال آن یک رویداد OS رو به پایین از نقطه B به C داریم. هنگامی که یک روند معکوس رخ می دهد، یک رویداد DC صعودی از نقطه C به D شروع می شود. در نهایت، بین نقطه D و E این یک رویداد سیستم عامل رو به بالا است. نقطه قیمتی که در آن یک DCT شروع یا به پایان می رسد، DC extreme point (DCE) نامیده می شود. در زیر ( heta =0. 01\%) ، نقاط A، C و E نقاط DCE هستند.

تغییرات جهت جفت ارز GBP/JPY FX. خطوط قرمز نشان دهنده رویدادهای ایجاد شده توسط یک آستانه ( heta = 0. 01\%) و رویدادهای خطوط آبی ایجاد شده توسط یک آستانه ( heta = 0. 018\%.) رویدادهای DC با خطوط ثابت و سیستم عامل نشان داده می شوند. رویدادها با خطوط چین خوردهتحت ( heta = 0. 01\%) داده ها را به صورت زیر خلاصه می کنیم: Downtu DC event: Point (A mapsto B) ; رویداد رو به پایین سیستم عامل: نقطه (B mapsto C) ; رویداد DC Uptu: Point (C mapsto D) ; رویداد رو به بالا سیستم عامل: نقطه (D mapsto E) ; رویداد DC نزولی: نقطه (E mapsto F) . در زیر ( heta = 0 . 018\%) داده ها را به صورت زیر خلاصه می کنیم: رویداد DC Downtu: Point (A mapsto B^<prime >)؛رویداد رو به پایین سیستم عامل: نقطه (B^<prime >mapsto C); رویداد DC Uptu: Point (C mapsto E) ; رویداد رو به بالا سیستم عامل: نقطه (E mapsto E^<prime >) . نقاط انتهایی DC (DCE): نقاط A، C، E، و (E^<prime >) . نقاط تایید DC (DCC): نقاط B، (B^<prime >) ، D ، E و F
در زیر ( heta =0. 018\%) (خطوط به رنگ آبی)، مجموعه متفاوتی از رویدادها را بدست می آوریم: از A تا B (') : یک رویداد نزولی; از B (') به C: یک سیستم عامل رو به پایین. از C تا E: یک رویداد DC صعودی. در نهایت، از نقطه E تا E (') ما یک روند رو به رشد سیستم عامل داریم.
توجه داشته باشید که ما فقط می توانیم یک رویداد DC را به طور جدی تأیید کنیم ، یعنی پس از تغییر قیمت ( theta ). به عنوان مثال ، تحت ( theta = 0. 01 ٪ ) ما نمی دانیم که ما در یک روند رو به بالا قرار داریم تا زمانی که به نقطه D. رسیده ایم. این نکته به عنوان یک نقطه تأیید DC (DCC) نامیده می شود. قبل از نقطه D ، می توان در نظر گرفت که بازار از زمان A. به روند نزولی رسیده است. برای پیش بینی دقیق چه زمانی یک روند وارونگی اتفاق می افتد. الگوریتم 1 شبه کد را برای تبدیل سری زمانی فیزیکی به سری مبتنی بر رویداد (DC) ارائه می دهد.

روش شناسی
روش پیشنهادی ما ، که ما از آن به عنوان DC چند آستانه (MTDC) یاد می کنیم ، الگوریتم جدیدی برای تجارت تحت الگوی DC است. این الگوریتم جدید بر محدودیت های Adegboye و Kampouridis (2021) و Adegboye و همکاران (2021) غلبه خواهد کرد ، که در استفاده از یک آستانه واحد برای تولید خلاصه های DC محدود شده اند. MTDC امکان استفاده از آستانه های DC و خلاصه DC را فراهم می کند. این امکان مشاهده چندگانه از داده ها را فراهم می کند. بنابراین استفاده از مقادیر مختلف آستانه را در تلاش برای استفاده از ویژگی های مختلف انواع رویداد کوچکتر و بزرگتر که باعث حرکت قیمت می شوند ، ترکیب می کند. علاوه بر این ، از آنجا که آستانه های مختلفی وجود دارد ، در هر مقطع زمانی می توان توصیه های متعدد (خرید/فروش/نگه داشتن) را ارائه داد. برای حل و فصل توصیه های متناقض ، ما از GA استفاده می کنیم تا تصمیم بگیریم چقدر وزن را به هر آستانه DC اختصاص دهیم.
الگوریتم معاملاتی ما را می توان به دو بخش اصلی تقسیم کرد: یک الگوریتم STDC و MTDC ، که اساساً توصیه ها را از الگوریتم های STDC چندگانه بهینه می کند. STDC برای اولین بار در Adegboye و Kampouridis (2021) ارائه شد و اجزای اصلی آن در فرقه خلاصه می شود. 3. 1پس از آن ، در فرقه. 3. 2 ، ما در مورد سهم اصلی این مقاله ، یعنی الگوریتم MTDC بحث می کنیم.
استراتژی DC مبتنی بر آستانه Singe
هدف از استراتژی DC مبتنی بر آستانه واحد (STDC) پیش بینی اینکه روند فعلی معکوس خواهد شد (نقطه معکوس روند) و متعاقباً از این اطلاعات در طول تجارت استفاده می کند. نقطه معکوس روند را می توان از طریق الگوریتم های رگرسیون پیش بینی کرد ، جایی که رابطه بین DC و طول سیستم عامل تخمین زده می شود. با این حال ، کار اولیه در Adegboye و همکاران (2017) نشان داد که به سادگی رگرسیون روابط فوق یک اشکال اساسی دارد: عملکرد نتیجه F که این رابطه را توصیف می کند ، در نظر نمی گیرد که بسیاری از رویدادهای DC توسط یک رویداد سیستم عامل دنبال نمی شوند ، همانطور که آنهااغلب می توان با یک رویداد DC دیگر از جهت مخالف دنبال کرد. بنابراین هر الگوریتم رگرسیون با استفاده از داده های نادرست یک رابطه طول D C-OS را یاد می گیرد. برای غلبه بر این مسئله ، ابتدا از یک مرحله طبقه بندی استفاده می کنیم که پیش بینی می کند که آیا یک رویداد DC توسط یک رویداد سیستم عامل دنبال می شود. معرفی این مرحله طبقه بندی به ما این امکان را می دهد تا فقط روی داده هایی که حاوی رویدادهای متوالی DC و OS هستند ، رگرسیون انجام دهیم ، بنابراین مدل های رگرسیون دقیق تری ایجاد می کنیم ، که خود ما را قادر می سازد تا پایان یک روند را پیش بینی کنیم. این اطلاعات سپس توسط یک استراتژی معاملاتی استفاده می شود.
بنابراین ، STDC سه مرحله اصلی دارد: یک مرحله طبقه بندی. یک مرحله رگرسیون ؛و یک مرحله معاملاتینمودار نمودار فرآیند در شکل 2 نشان داده شده است. در مرحله بعدی ما به طور خلاصه هر مرحله را ارائه می دهیم. برای توضیحات بیشتر ، خواننده به Adegboye و Kampouridis (2021) گفته می شود.

پیش بینی وارونگی روند در DC. انتظار می رود یک روند DC طبقه بندی شده برای آهنگسازی تنها DC در DCC معکوس شود ، در حالی که روند DC طبقه بندی شده برای آهنگسازی حوادث DC و OS در DCE تخمین زده می شود ، که مجموع طول رویداد DC در DCC و رویداد OS است. طول پیش بینی شده توسط SRGP. پس از تعیین نقطه برگشت روند ، ما آن را در یک استراتژی معاملاتی قرار دادیم و تجارت را انجام دادیم
مرحله طبقه بندی
از آنجا که الگوریتم های طبقه بندی بیشماری وجود دارد که می تواند برای کار طبقه بندی استفاده شود ، STDC از Auto-Weka (Thoton و همکاران 2013) ، یک چارچوب خودکار یادگیری ماشین (AUTOM) استفاده می کند. پاورقی 1 با استفاده از Auto-Weka اجازه می دهد تا یک الگوریتم طبقه بندی متناسب و HyperParameters متناسب برای هر مجموعه داده. این مدل یک DCT را به عنوان تشکیل شده از رویدادهای DC و OS ( ( alpha dc )) یا فقط رویداد DC ( ( beta dc )) طبقه بندی می کند. اگر یک روند به عنوان ( Beta dc ) طبقه بندی شود ، آنگاه اقدام به تجارت در نقطه DCC انجام می شود (بیشتر در مورد این در بخش 3. 1. 3). برعکس ، اگر یک روند به عنوان ( alpha dc ) طبقه بندی شود ، انتظار می رود که روند در پایان یک مجموع طول رویداد DC ، معروف در نقطه DCC و طول رویداد OS ، با یک مدل رگرسیون تخمین زده شود.، که در بخش بعدی ارائه شده است (بخش 3. 1. 2).
سرانجام ، ویژگی های مورد استفاده برای طبقه بندی ، ویژگی های مربوط به DC هستند ، یعنی:
قیمت رویداد DC ، که تفاوت قیمت بین نقطه صعود/رکود و نقطه DCC است.
زمان رویداد DC ، که تفاوت زمانی بین نقطه صعود/رکود و نقطه DCC است.
سرعت ، که سرعت تغییر قیمت از شروع یک روند به نقطه DCC است.
قیمت قبلی رویداد DC ، که قیمت آن در نقطه تأیید قبلی است.
سیستم عامل قبلی ، که یک متغیر بولی است که نشان می دهد آیا DCT بلافاصله قبلی یک رویداد سیستم عامل دارد یا خیر.
Flash Event ، که یک متغیر بولی است که نشان می دهد زمان شروع و پایان رویداد DC برابر است.
مرحله رگرسیون
پس از اتمام مرحله طبقه بندی ، STDC قصد دارد رابطه بین طول DC و OS را برای هر مجموعه داده بیاموزد. این در واقع یک مرحله رگرسیون نمادین است ، که هدف آن یافتن شکل راه حل/معادله و همچنین مقدار پارامترهای آن است. راه حل هدف را می توان با معادله عمومی 1 بیان کرد ، که اساساً به ما می گوید که طول یک رویداد سیستم عامل تابعی از طول رویداد DC است.
جایی که (os_ ) طول یک رویداد سیستم عامل است ، (dc_ ) طول یک رویداد DC است.
برای پیدا کردن شکل معادله ، الگوریتم 2 ، پاورقی الگوریتم SRGP مبتنی بر درخت 2 (SRGP) که توسط Adegboye و همکاران (2017) ارائه شده است. SRGP قادر به تکامل معادلات خطی و غیر خطی است که به بهترین وجه رابطه بین طول رویدادهای DC و OS را در یک خلاصه رویداد DC بیان می کند.

برای تکامل معادله ، SRGP برای استفاده از توابع 2-arity و توابع 1-arity به عنوان مجموعه عملکرد تنظیم شده است. گره های ترمینال از ویژگی هایی تشکیل شده اند که طول رویداد DC و ثابت تصادفی زودگذر (ERC) را نشان می دهد. پاورقی 3 SRGP با استفاده از روش نیمه و نیم شیب دار آغاز می شود. در طول تکامل ، صالح ترین 10 ٪ از جمعیت درخت به نسل بعدی کپی می شوند و بقیه با اپراتورهای متقاطع و جهش زیر درختی تکامل می یابند. تناسب درختان در جمعیت با استفاده از Eq اندازه گیری می شود. 2. خطای رگرسیون ( varepsilon ) را بین طول واقعی سیستم عامل ( ()) و SRGP تخمین زده می کند. پس از تکامل ، درخت با کمترین خطای رگرسیون در نسل نهایی به عنوان مدل رگرسیون انتخاب می شود.
جایی که n اندازه نمونه است ، ( varepsilon ) خطای میانگین مربع ریشه است.
یک قدم همزمان با ایجاد مدل رگرسیون ، انتخاب آستانه های مناسب است. استخر 100 آستانه با شماره های واقعی از 0. 005 با اندازه پله 0. 0025 ایجاد می شود. مدل SRGP که در بالا توضیح داده شد برای هر آستانه در استخر ایجاد شده است. خطاهای رگرسیون بهترین SRGP های 100 آستانه اندازه گیری می شوند. SRGP با کمترین خطا در آستانه مرتبط برای پشتی انتخاب شده است. پاورقی 4
برای بازگشت به پشت ، Adegboye و همکاران (2021) بهترین پنج آستانه و SRGP های خود را انتخاب کردند و به طور مستقل با آنها معامله کردند. ویژگی یک استراتژی تجاری مبتنی بر آستانه واحد ، فراموشی آن به تغییرات جزئی در حرکت قیمت است که پایین تر از آستانه مشخص شده است حتی اگر این تغییر نیز مرتبط باشد. به عنوان مثال ، اگر یک معامله گر تغییر قیمت 0. 1 را معنی دار کند ، تغییرات قیمت 0. 0999 نادیده گرفته می شود. این محدودیت ذاتی استراتژی مبتنی بر آستانه واحد را می توان با ترکیب اطلاعات از آستانه های متعدد (Feald et al 2021) مورد توجه قرار داد. در فرقه3. 2 ، ما یک استراتژی معاملاتی چند آستانه ارائه می دهیم که اطلاعات را از آستانه های متعدد با استفاده از GA ترکیب و بهینه می کند (هلند 1992) ، یک روش شناخته شده برای حل مشکلات بهینه سازی.
مرحله معاملاتی
همانطور که قبلاً توضیح داده شد ، مرحله طبقه بندی پیش بینی می کند که آیا یک روند از رویدادهای DC و OS ( ( alpha ) DC) تشکیل شده است یا فقط یک رویداد DC ( ( بتا ) DC). در مورد سابق ، پیش بینی می شود که نقطه برگشت روند پایان رویداد سیستم عامل همانطور که توسط الگوریتم SRGP پیش بینی شده است ، در حالی که در مورد سابق این نقطه DCC است.
برای تصمیم گیری در مورد چگونگی تجارت ، ما بین افتتاح (فروش ارز پایه و خرید ارز نقل شده) و بستن یک موقعیت (خرید ارز پایه و فروش ارز نقل شده) را متمایز می کنیم. برای باز کردن موقعیت ، دو مورد وجود دارد: (i) موقعیتی در حال حاضر باز وجود ندارد ، و (ب) پس از حسابداری برای هزینه های معامله ، بازده از باز شدن موقعیت مثبت خواهد بود. اگر الزامات فوق نگه داشته شود ، ما موقعیتی را در نقطه شدید DCT به سمت بالا باز می کنیم. به همین ترتیب ، برای بستن یک موقعیت ، دو الزام وجود دارد: (i) یک موقعیت باز موجود وجود دارد ، و (ب) بازده از بستن موقعیت پس از حسابداری برای هزینه های معامله مثبت خواهد بود. اگر این شرایط نگه داشته شود ، ما موقعیت را در نقطه شدید یک DCT رو به پایین می بندیم.
نکته شدید در هر دو مورد فوق می تواند بسته به پیش بینی مدل طبقه بندی ، در یک ( alpha ) dc یا ( beta ) dc باشد. هنگامی که الزامات فوق برآورده نشود ، هیچ تجارت صورت نمی گیرد. تمام معاملات با استفاده از کل سرمایه انجام می شود. هزینه معامله در هر معامله 0. 025 ٪ است.
استراتژی های DC چند آستانه با استفاده از یک الگوریتم ژنتیکی
بررسی اجمالی
این استراتژی با ترکیب روند بازار و پیش بینی های آستانه های متعدد بر روی استراتژی تک آستانه بنا شده است. همانطور که در فرقه بحث شد. 2 ، یک رویداد DC با تغییر قیمت با یک آستانه معین مشخص می شود. هر آستانه DC داده ها را به روشی منحصر به فرد خلاصه می کند: آستانه های کوچکتر امکان تشخیص حوادث بیشتر را فراهم می کنند و در نتیجه می توان سریعاً اقدامات انجام داد. آستانه های بزرگتر حوادث کمتری را تشخیص می دهند ، اما در صورت مشاهده تغییرات قیمت بزرگتر ، امکان انجام اقدامات را فراهم می کنند. این استراتژی معاملاتی پیشنهادی استفاده از مقادیر مختلف آستانه را در تلاش برای استفاده از ویژگی های مختلف آستانه های کوچکتر و بزرگتر ترکیب می کند.
بنابراین ، در یک مقطع زمانی ، استراتژی تجارت تحت یک آستانه می تواند یک اقدام خرید را توصیه کند ، در حالی که یک آستانه متفاوت که یک اقدام فروش را توصیه می کند. علاوه بر این ، حتی اگر همه استراتژی ها همان اقدام معاملاتی را توصیه کنند ، ممکن است اجماعی در مورد نقطه معکوس روند وجود نداشته باشد ، زیرا هر خلاصه DC از الگوریتم SRGP خاص خود استفاده می کند و بنابراین دارای نقاط معکوس پیش بینی شده متفاوتی است.
برای مقابله با مسائل فوق، برای هر آستانه DC یک وزن تعیین می کنیم. بنابراین، اگر آستانه های (N_ heta ) وجود داشته باشد، خلاصه های (N_ heta ) DCها و در نتیجه توصیه های (N_ heta ) وجود خواهد داشت. هر آستانه دو توصیه زیر را ارائه می دهد: (1) چه اقدامی باید انجام شود و (2) نقطه معکوس روند کجاست، یعنی چه زمانی اقدام توصیه شده انجام شود.
چه اقدامی انجام شود. اکثریت رای بر اساس وزن آستانه انجام می شود: وزن اقدامات مشابه (به عنوان مثال، خرید، خرید، . ) جمع بندی می شود و اقدام با بیشترین وزن دنبال می شود. به عنوان مثال، اگر (N_ heta =5) و مجموع اوزان برای اقدامات خرید 0. 65 باشد، در حالی که مجموع اوزان برای اقدام فروش 0. 35 باشد، اقدامی که باید انجام شود خرید خواهد بود. در اینجا شایان ذکر است که عامل تعیین کننده مجموع وزن ها است، نه تعداد آستانه هایی که یک عمل را توصیه می کنند.
به طور کلی، سه اقدام ممکن برای هر آستانه وجود دارد: خرید، فروش و نگهداری. اگر اقدامی که باید انجام شود خرید باشد، در ازای ارز مظنه، تمام ارز پایه موجود را خریداری می کنیم. اگر اقدامی که باید انجام شود فروش باشد، ما تمام ارز پایه موجود را در ازای ارز مظنه شده می فروشیم. بنابراین شرایطی وجود ندارد که هم ارز مبنا و هم ارز مظنه را در پرتفوی خود داشته باشیم. با توجه به یک اقدام توقف، این می تواند در سه موقعیت خاص اتفاق بیفتد: (1) زمانی که اقدام "فروش" است و ارز پایه کافی برای فروش در دسترس نیست، (2) زمانی که اقدام "خرید" است و وجود نداردارز پایه کافی برای خرید وجود دارد و (3) زمانی که بازده پس از کسر هزینه های تراکنش منفی است.
چه زمانی باید اقدام کرد. از آنجایی که هر خلاصه DC (هر یک از یک آستانه DC متفاوت به دست می آید) می تواند نقطه معکوس روند متفاوتی را پیش بینی کند، در مورد اینکه چه نقطه ای باید اقدام خرید/فروش/نگهداری انجام شود اتفاق نظر وجود ندارد. برای کاهش این موضوع، ما بر اساس میانگین وزنی نقاط معکوس پیش بینی شده عمل توصیه شده عمل می کنیم. برای درک بهتر این موضوع، اجازه دهید به مثال قبلی (N_ heta =5) برگردیم، که در آن مجموع اوزان برای خرید بیشتر از مجموع اوزان برای فروش بود، و در نتیجه اقدامی که باید انجام شود. خرید است. اجازه دهید فرض کنیم که تنها دو آستانه عمل خرید را توصیه می کنند، به ترتیب با وزن های (w_1 = 0. 3) و (w_2 = 0. 35). اجازه دهید همچنین فرض کنیم که آستانه اول پیش بینی می کند که روند در نقطه (t=10) معکوس خواهد شد، و آستانه دوم نقطه (t=20) را پیش بینی می کند. بنابراین، اقدام خرید مطابق معادله انجام خواهد شد. 3:
جایی که (w_i ) هر مقدار وزن است و (t_i ) هر یک از نقطه معکوس روند پیش بینی شده است. وصل کردن در مقادیر فوق به ( frac<(0.3 imes 10 ) + (0.35 imes 20)> <(0.3 + 0.35)> تقریباً 15 ). بنابراین اقدام تجارت خرید در نقطه (t = 15 ) انجام می شود. با پیروی از روش فوق ، وزن آستانه را هم از نظر اقدام باید انجام دهیم و چه زمانی باید عمل کنیم.
موارد فوق معرفی مختصری از استراتژی های چند آستانه است. جدا از آنچه در بالا مورد بحث قرار گرفت ، همه چیز مشابه استراتژی تک آستانه است. بنابراین ، چارچوب MTDC از چهار مرحله تشکیل شده است: (1) مرحله طبقه بندی.(2) مرحله رگرسیون نمادین ؛(3) استراتژی بهینه شده توسط GA ؛و (4) مرحله معاملاتی. مراحل (1) ، (2) و (4) همان رویکردی را که در STDC در بخش شرح داده شده است ، دنبال می کنند. 3. 1مرحله تمایز در MTDC مرحله (3) است ، همان چیزی است که ما در بالا مورد بحث قرار گرفتیم و برای مقابله با نقاط معکوس چند روند که توسط هر فرآیند آستانه فردی بازگردانده می شود ، ضروری است. بنابراین ، پس از پیش بینی نقطه معکوس روند در هر آستانه ، وزنه هایی را برای نشان دادن هر آستانه اختصاص می دهیم. شکل 3 نمای کلی سطح بالا از استراتژی MTDC را ارائه می دهد.
تنها بخشی که هنوز در مورد آن بحث نکرده ایم این است که چگونه وزن ها تصمیم گرفته می شوند. این یک گام مهم است ، زیرا ما نمی دانیم چقدر وزن را باید به هر آستانه بدهیم. به سادگی اختصاص دادن وزن برابر 1 به همه آستانه ها ممکن است یک رویکرد ساده لوح باشد. برخی از آستانه ها ممکن است از سایرین مفیدتر باشند ، از این رو باید وزن بیشتری به آنها بدهیم. بنابراین ما از GA برای تکامل مقادیر واقعی برای وزن هر آستانه DC استفاده می کنیم. ما GA بعدی را ارائه می دهیم.

چارچوب استراتژی چند آستانه پیشنهادی ما. این سیستم از یک سیستم رای اکثریت برای جمع آوری توصیه های مشابه اقدامات تجاری از آستانه استفاده می کند و این عمل را با بالاترین مبلغ دنبال می کند. این عمل پس از محاسبه میانگین وزنی از نقطه معکوس روند پیش بینی شده انجام می شود که عملکرد برنده را توصیه می کند
الگوریتم ژنتیک
گاز الگوریتم های تکاملی شناخته شده ای برای یافتن راه حل هایی برای مشکلات بهینه سازی سخت است (گلدبرگ 1989 ؛ Michalewicz 2002 ؛ میچل 1996). گاز از جمعیتی از افراد (راه حل های نامزد) استفاده می کند و آنها را در معرض یک فرایند تکاملی قرار می دهد: افراد با توجه به اینکه چقدر مشکل را حل می کنند ارزیابی می شوند و برای تولید افراد با استفاده از اپراتورهای ژنتیکی ترکیب می شوند. در این فرایند ، افراد بر اساس کیفیت خود انتخاب می شوند ، جایی که افراد با کیفیت بالاتر شانس بیشتری برای انتخاب و مواد ژنتیکی خود برای کمک به ایجاد جمعیت بعدی دارند.
نمایندگی. هر کروموزوم GA از ژنهای (n_ theta ) تشکیل شده است ، که در آن (n_ theta ) تعداد آستانه های مورد استفاده در استراتژی چند آستانه است. در هنگام اولیه سازی جمعیت ، به هر ژن مقدار وزن اختصاص داده می شود. وزن اندازه گیری اهمیت توصیه آستانه در تصمیمات تجاری است. وزنه ها مقادیر واقعی هستند که حداکثر مقدار وزن 1 و حداقل مقدار آن 0 است. ما ژن اول را در اولین کروموزوم با حداکثر مقدار وزن آغاز می کنیم و بقیه ژن ها را با حداقل مقدار وزن آغاز می کنیم. ما ژن دوم را در کروموزوم دوم با حداکثر مقدار وزن آغاز می کنیم و بقیه ژن ها را با حداقل مقدار وزن آغاز می کنیم. ما ژن سوم را در کروموزوم سوم با حداکثر مقدار وزن آغاز می کنیم و بقیه ژن ها را با حداقل مقدار وزن آغاز می کنیم. ما این اولیه سازی وزن ها را برای کروموزوم های اول (n_ theta ) در جمعیت GA خود تکرار می کنیم. ایده این است که اطمینان حاصل شود که در بدترین حالت ، نتیجه معاملات استراتژی ما به اندازه نتیجه بهترین آستانه مجرد است. ژنهای بقیه کروموزوم در جمعیت GA ما به طور تصادفی مقادیر واقعی بین حداقل و حداکثر وزن شامل می شوند. شبه کد ارائه شده در الگوریتم 3 این روش را خلاصه می کند و شکل 4 مرحله اولیه سازی را نشان می دهد. سپس GA وزن واقعی برای هر آستانه در تعدادی از نسل ها تکامل می یابد. در پایان فرآیند تکامل مدل بهینه سازی ما ایجاد می شود.

تصویر اولیه سازی جمعیت GA برای آستانه های (n_ theta = 5 )

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

یک عمل متقاطع یکنواخت یکنواخت توسط GA ما. هر یک از کودکان به طور تصادفی برای اپراتورهای ژنتیکی
آموزش کار در فارکس...
ما را در سایت آموزش کار در فارکس دنبال می کنید
برچسب :
نویسنده : Mihayloo
بازدید : <-PostHit->
تاريخ : يکشنبه
14 اسفند
1401 ساعت: 11:28