در این آموزش ما یک استراتژی معاملاتی جفت فرکانس بالا و پویا را بر اساس استراتژی داوری آماری بی طرف بازار با استفاده از یک همبستگی دو مرحله ای و رویکرد همبستگی اجرا می کنیم. این استراتژی مبتنی بر کار جورج جی میائو است. ما این استراتژی معاملاتی را به سهام بخش بانکی ایالات متحده اعمال کردیم ، این استراتژی را با داده های سهام 10 دقیقه ای از سال 2012 تا 2013 پشت سر گذاشتیم. استراتژی معاملاتی ما بازده سالانه مرکب را تا 29. 4 ٪ و نسبت شارپ 0. 968 به دست می آورد.
این استراتژی به ویژه هنگامی که بازار عملکرد ضعیفی دارد سودآور است. سود ناشی از سوءاستفاده است و احتمالاً با پایین آمدن بازار یا افزایش نوسانات ، سوءاستفاده ها اتفاق می افتد.
برای کشف بیشتر این استراتژی ، ما این استراتژی را انعطاف پذیر می کنیم. ما می توانیم با تغییر یک پارامتر ، وضوح داده را به 5 دقیقه ، 10 دقیقه یا حتی 30 دقیقه تغییر دهیم. همچنین انتخاب آستانه ورود بهینه ، بسته شدن و متوقف کردن آستانه از دست دادن ضروری است. همه می توانند نسخه خود را از این استراتژی داشته باشند.
معرفی
معاملات فرکانس بالا (HFT) نوعی تجارت کمی است که با دوره نگهدارنده کوتاه و استفاده از روش رایانه ای پیشرفته برای تجارت سریع اوراق بهادار مشخص می شود. این هدف برای به دست آوردن سود اندک در هر تجارت کوتاه مدت است (Cartea & Penalva ، 2012). داوری آماری وضعیتی است که بر اساس ارزش های مورد انتظار این دارایی ها ، یک یا چند دارایی نادرست از یک یا چند دارایی وجود دارد. هنگامی که وضعیت سود از ناکارآمدی های بین اوراق بهادار صورت می گیرد ، معامله گران می توانند وضعیت داوری آماری را از طریق مدلهای ریاضی شناسایی کنند. داوری آماری به شدت به توانایی قیمت بازار برای بازگشت به میانگین تاریخی یا پیش بینی شده بستگی دارد. قانون یک قیمت (LOP) پایه و اساس این فرض را تعیین می کند. لوپ اظهار داشت که دو سهام با همان بازپرداخت در هر حالت از طبیعت باید دارای ارزش فعلی یکسان باشند (گیتو ، گوتزمن ، و روونهاورست ، 2006) بنابراین ، دو قیمت سهام بین دارایی های جایگزین نزدیک باید یک قیمت تعادل پایدار و طولانی مدت داشته باشنددر طول زمان.
شرح داده ها
برای داشتن جفت های بیشتر با همبستگی بالا ، سهام را در یک صنعت خاص انتخاب می کنیم. از نظر اقتصادی ، ما بخش های سنتی را ترجیح می دهیم زیرا شرکت های این بخش به احتمال زیاد جایگزین های نزدیک هستند. اگر سهام را انتخاب کنیم ، تعداد جفت ها را می توان محاسبه کرد. در استراتژی نشان داده شده از 80 سهام استفاده کردیم ، بنابراین در کل 3160 جفت داریم. ما از داده های دقیقه استفاده کردیم و آنها را در وضوح بالاتر تثبیت می کنیم ، بنابراین 1 دقیقه کمترین وضوح برای این استراتژی است.
رویکرد همبستگی
همبستگی رابطه بین دو سهام را که روند قیمت دارند ، اندازه گیری می کند. آنها تمایل دارند که با هم حرکت کنند ، و به این ترتیب با هم همبستگی دارند. فیلتر همبستگی اولین قدم برای نمایش جفت های نامزد است. دو سهام A و B را در نظر بگیرید ، ضریب همبستگی بین سهام یک آماری بود که معیار چگونگی ارتباط این دو سهام A و B را ارائه می دهد. ضریب همبستگی سهام A و سهام B توسط
به ترتیب میانگین قیمت سهام A و سهام B به ترتیب ، دامنه داده معاملاتی را نشان می دهد. در محدوده [-1،1] است. هرچه مثبت تر باشد ، ارتباط سهام A و سهام B مثبت تر است.
با این حال ، معاملات جفت بر اساس یک رویکرد همبستگی به تنهایی می تواند با گذشت زمان ضرر بی ثباتی داشته باشد. ضرایب همبستگی لزوماً دلالت بر معکوس بین قیمت دو جفت سهام ندارد. به منظور غلبه بر موضوع فوق ، از یک روش ادغام بیشتر به عنوان مرحله دوم فرآیند انتخاب برای جفت ها استفاده شد.
رویکرد ادغام
مفهوم CointEgration ، یک الگوی ریاضی نوآورانه در اقتصاد که توسط Laureates Nobel Engle و Granger ساخته شده است. Cointegration بیان می کند که ، در برخی موارد ، با وجود دو سری زمانی غیر ثابت ، یک ترکیب خطی خاص از این دو سری زمانی در واقع ثابت است. به عبارت دیگر ، سری دو زمانی با یک الگوی قفل حرکت می کنند.
تعریف همبستگی به شرح زیر است: فرض کنید که و دو سری زمانی هستند که غیر ثابت بودند. اگر پارامتر وجود داشته باشد به گونه ای که معادله زیر:
این یک فرایند ثابت است ، پس از آن یکپارچه می شود. این فرایند ابزاری قدرتمند برای بررسی روند دارایی مشترک در سری های زمانی چند متغیره است.
در مورد ما ، به ترتیب قیمت دو سهام A و B را بگذارید و باشید. اگر فرض شود که<>به صورت جداگانه غیر ثابت است ، این پارامتر وجود دارد به گونه ای که معادله زیر یک فرآیند ثابت بود
میانگین مدل ادغام کجاست. یک فرآیند ثابت و معنادار است و به عنوان یک باقیمانده ادغام نامیده می شود. این پارامتر به عنوان ضریب ادغام شناخته می شود. معادله فوق الگویی از جفت همخوانی برای سهام A و B را نشان می دهد.
درک این موضوع که چگونه باقیمانده کنگره به همراه ضریب همبستگی ، جهت تجارت ما را تعیین می کند ، ضروری است. اگر مثبت باشد ، در یک فاصله اطمینان معین ، این سیگنال است که سهام A نسبتاً گران قیمت است و سهام B نسبتاً کم ارزش است ، و ما قصد داریم B و کوتاه A را طولانی کنیم. اگر منفی باشد ، ما به مدت طولانی و کوتاه B می رویم.
تأیید ادغام (قسمت خواندن اختیاری)
در روش Engle-Granger (Engle & Granger ، 1987) ، ما ابتدا یک رگرسیون ادغام بین سهام A و سهام B را همانطور که در معادله بالا بیان شده است تنظیم کردیم ، و سپس پارامترهای رگرسیون و استفاده از حداقل مربعات معمولی (OLS) را تخمین می زنیم. پس از آن ، ما باقیمانده رگرسیون را آزمایش کردیم تا مشخص شود که آیا این ثابت است یا خیر.
محبوب ترین تست ثابت در منطقه ادغام ، آزمون افزودنی دیکی فولر (ADF) ، در باقیمانده رگرسیون استفاده شد تا مشخص شود که آیا ریشه واحد دارد یا خیر.
آزمایش برای حضور ریشه واحد در باقیمانده رگرسیون با استفاده از آزمون ADF توسط
جایی که ثابت است ، ضریب در یک روند زمان ، تأخیر در نظم فرآیند اتورگرایی ، یک اصطلاح خطا است و از نظر سریال بی ارتباط است.
تعداد ترتیب تاخیر در معادله معمولاً ناشناخته است و بنابراین باید تخمین زده شود. برای تعیین تعداد تاخیر ، از معیارهای اطلاعاتی برای انتخاب سفارش تاخیر استفاده شد. در اینجا ما معیار اطلاعات بیزی (BIC) را انتخاب می کنیم
اندازه نمونه کجاست
آزمون ریشه واحد برای باقیمانده رگرسیون با استفاده از آزمون ADF تحت فرضیه تهی در مقابل فرضیه جایگزین انجام شد. مقدار آماری آزمون ADF توسط
نتیجه آزمون در معادله بالا با مقدار بحرانی آزمون ADF مقایسه می شود. اگر نتیجه آزمون کمتر از مقدار بحرانی باشد ، فرضیه تهی رد می شود. این بدان معنی است که باقیمانده رگرسیون ثابت است. بنابراین ، دو قیمت سهام<>یکپارچه شده اند
استراتژی تجارت جفت
استراتژی معاملاتی جفت از سیگنال های معاملاتی بر اساس باقیمانده رگرسیون استفاده می کند و به عنوان یک فرآیند معنادار مدل سازی شده است.
به منظور انتخاب سهام بالقوه برای معاملات جفت ، از همبستگی دو مرحله ای و همبستگی استفاده شد. اولین قدم شناسایی جفت سهام بالقوه از همان بخش است که در آن جفت سهام با ضریب همبستگی حداقل 0. 9 با استفاده از روش همبستگی انتخاب می شوند. مرحله دوم بررسی ترکیب همبستگی جفت ها از آزمون همبستگی است. اگر مقدار آزمون همبستگی برابر باشد یا کمتر ا ز-3. 34 باشد ، که مقدار بحرانی در اهرم اطمینان 95 ٪ است ، فرضیه تهی رد می شود ، بنابراین باقیمانده ثابت است و این زوج از آزمون ادغام عبور می کنند. مرحله سوم رتبه بندی همه جفت های سهام است که با توجه به مقادیر تست ادغام آنها ، آزمون دو مرحله ای را پشت سر می گذارند. هرچه مقدار آزمون ادغام کوچکتر باشد ، رتبه بالاتری که جفت سهام به آن اختصاص داده می شود. انتخاب مالی جفت سهام از رتبه برتر برای معاملات جفت استفاده می شود.
مرحله آخر استراتژی تعریف قوانین معاملات است. برای باز کردن معاملات جفت ، باقیمانده رگرسیون باید از انحراف استاندارد مثبت بالاتر از میانگین عبور کند یا از پایین و بیش از انحراف استاندارد منفی زیر میانگین عبور کند. اگر باقیمانده مثبت باشد ، سهام کوتاه B و سهام طولانی A ؛اگر باقیمانده منفی باشد ، ما سهام کوتاه A و سهام طولانی B. هنگامی که باقیمانده رگرسیون به سطح معینی بازگشت ، معاملات جفت بسته می شود. علاوه بر این ، برای جلوگیری از از دست دادن بیش از حد در معاملات یک جفت ، از ضرر برای بستن جفت ها در هنگام انحراف استاندارد مثبت یا منفی استفاده می شود.
در دوره آموزش ، هر یک از داده های آموزش شامل یک دوره 3 ماهه است که یک اندازه پنجره نورد پویا است. بلافاصله پس از دوره آموزش ، ما دوره معاملاتی یک ماهه خود را آغاز می کنیم و پنجره نورد پویا به طور خودکار جلو می رود تا قیمت های جدید سهام در هر جفت را ثبت کند. پس از اولین دوره معاملاتی ، ما از قیمت سهام به روز شده برای انتخاب مجدد جفت خود برای تجارت استفاده می کنیم و یک دوره معاملاتی دیگر را آغاز می کنیم.
تنظیم پارامترها
عملکرد استراتژی به پارامترها حساس است. عمدتا چهار پارامتر برای تنظیم وجود دارد: آستانه باز ، آستانه بسته شدن ، آستانه متوقف کردن از دست دادن و وضوح داده.
آستانه باز نشان می دهد که چند بار باقیمانده از انحراف استاندارد فراتر می رود ، که توسط آن محاسبه می شود. به طور پیش فرض آن را به 2. 32 و-2. 32 تنظیم می کنیم ، که اگر فرض کنیم باقیمانده از توزیع عادی پیروی می کند ، ارزش بحرانی برای فاصله اطمینان 99 ٪ است. آستانه بسته شدن به همان روشی که آستانه باز کردن محاسبه می شود ، ما آن را به طور پیش فرض 0. 5 تنظیم می کنیم تا زودتر بسته شود تا از واگرایی بیشتر جلوگیری شود.
آستانه از دست دادن توقف روی 4. 5 تنظیم شده است. این بستگی به سطح سوءاستفاده هایی دارد که می توانیم تحمل کنیم. هرچه تحمل ما نسبت به ریسک بالاتر باشد ، می توانیم این پارامتر را تنظیم کنیم. با این حال ، اگر این شماره را خیلی کم تنظیم کنیم ، ممکن است جفت های زیادی قبل از بازگشت برای متوقف کردن از دست دادن بسته کنیم.
روش
در این استراتژی تجارت ، ما یک کلاس به نام جفت را تعریف می کنیم. ما جفت ها را به جای سهام مستقیماً مدیریت می کنیم تا بتوانیم همبستگی و همبستگی را برای ما راحت تر کنیم ، قیمت سهام را در این جفت به روز کنیم و در جفت های انتخاب شده تجارت کنیم.
مرحله 1: تعریف کلاس جفت
این جفت ها از دو سهام ، سهام A و سهام B. ساخته شده اند. این کلاس دارای چندین ویژگی است. خصوصیات اصلی شامل نمادهای سهام A و سهام B ، Pandas Dataframe است که حاوی زمان و قیمت دو سهام ، خطای فعلی ، خطای آخرین DataPoint و لیست ها برای ثبت قیمت سهام برای هدف به روزرسانی است. به جای به روزرسانی DataFrame هر 5 دقیقه ، قیمت ها را در لیست ها ضبط می کنیم تا ماهانه DataFrame را به روز کنیم. این امر حداقل 10 بار الگوریتم را سرعت می بخشد زیرا دستکاری DataFrame بسیار وقت گیر است. از روش COR_UPDATE هر ماه برای به روزرسانی همبستگی بین دو سهام موجود در این جفت استفاده می شود. روش cointegration_test نیز ماهانه برای انجام رگرسیون OLS ، انجام آزمایش ADF و محاسبه میانگین و انحراف استاندارد باقیمانده استفاده می شود. این روش همچنین این مقادیر محاسبه شده را به عنوان خواص به شیء جفت اختصاص می دهد.
مرحله 2: جفت های تولید و تمیز
تابع تولید_پرها با استفاده از نمادهای سهام جفت تولید می کند. self. pair_threshold و self. pair_num برای کنترل تعداد جفت های نامزد از قبل تعیین شده اند. جفت های موجود در self. pair_list در طول دوره پشتی ما نگهداری و به روز می شوند. ما Self. pair_threshold را روی 0. 88 و self. pair_num به 120 تنظیم می کنیم تا تعداد جفت های موجود در لیست محدود شود. اگر جفت های زیادی را در لیست قرار دهیم ، پشتی بیش از حد وقت گیر خواهد بود. عملکرد pair_clean پس از صفحه دو مرحله ای خوانده می شود. اگر جفت اول حاوی سهام A و سهام B باشد و جفت دوم حاوی سهام B و سهام C باشد ، ما جفت دوم را حذف می کنیم زیرا سیگنال همپوشانی باعث ایجاد تعادل نمونه کارها ما می شود.
مرحله 3: دوره گرم شدن
این قسمت تحت مرحله Ondata است. ما Self. NUM_BAR برابر با تعداد اشیاء نوار تجارت در سه ماه تعیین می کنیم که با وضوح مشخص می شود. در این دوره قیمت سهام را در لیست ها پر می کنیم و لیست قیمت هر سهام را به عنوان یک ملک به YMBOL اختصاص می دهیم. اگر اطلاعاتی نداشته باشد ، نماد را از لیست نماد حذف می کنیم.
مرحله 4: انتخاب جفت
این روند نیز تحت مرحله ONDATA است. اگر اولین دوره معاملاتی این الگوریتم باشد ، این مرحله باعث ایجاد جفت می شود. اگر اینگونه نباشد ، ضریب DataFrame و همبستگی هر جفت را در Self. Pair_List به روز می کند. پس از آن ، این جفت ها ضریب همبستگی بالاتر از 0. 9 را به خودی خود انتخاب می کنند. سپس تمام جفت های موجود در خود. این مرحله همچنین تعداد سهام موجود در لیست نهایی را محدود می کند ، به طور پیش فرض ما خود را تنظیم می کنیم. پس از رسیدن به مبلغ 1 ماهه ، این بدان معنی است که یک دوره معاملاتی گذشت و به 0 تنظیم می شود.
مرحله 5: دوره تجارت
خواندن اگر همه کد را در دوره معاملاتی با هم چسبانده ایم ، خیلی طولانی خواهد بود. بنابراین ما کد را به سه قسمت جدا می کنیم: به روزرسانی جفت ها ، باز کردن معاملات جفت و بسته شدن معاملات جفت. اما تمام این خطوط تحت مرحله Ondata قرار دارند و تحت شرط هستند: اگر خود. count! = 0 و self. count< self.one_month . This means it's in the trading period.
به روزرسانی جفت
این مرحله قیمت سهام را در هر جفت به روز می کند. همچنین سیگنال به نام Last_error را به روز می کند و بلافاصله پس از این جفت سیگنال های جدید دریافت می کنند.
افتتاح معاملات جفت
برای هر جفت در self. selected_pair ، ما قیمت های فعلی سهام را دریافت می کنیم و سپس از مدل CointEgration برای محاسبه باقیمانده استفاده می کنیم ، که به عنوان یک خطای به نام خطای به این جفت اختصاص داده می شود. self. trading. pairs لیستی برای ذخیره جفت های معاملاتی است. پس از باز شدن معاملات جفت ، این جفت به لیست اضافه می شود و با بسته شدن معاملات حذف می شود. لمس ویژگی سیگنال است. اگر صلیب باقیمانده بیش از انحراف استاندارد آستانه مثبت (ما در اینجا تنظیم کردیم) ، سیگنال 1+ می شود. در حالی که اگر از انحراف آستانه منفی () عبور کند ، سیگنا ل-1 می شود. برای آن جفت ها با سیگنال 1+ ، اگر خطا از آستانه مثبت عبور کند ، سیگنال برای باز کردن تجارت وجود دارد. ما سهام طولانی B و سهام کوتاه A. برای آن جفت ها با سیگنا ل-1 ، اگر خطا از آستانه منفی عبور کند ، سهام طولانی A و سهام کوتاه B. هنگامی که تجارت را باز می کنیم ، باید مدل فعلی را ثبت کنیم ، میانگین فعلیو انحراف استاندارد باقیمانده. این امر ضروری است زیرا اگر وارد یک دوره معاملاتی جدید شویم و تجارت هنوز بسته نشده باشد ، مدل ادغام ، میانگین و انحراف استاندارد جفت ها تغییر می کنند. برای بستن معاملات باید از آستانه های اصلی استفاده کنیم. در حالی که جفت ها را به self. pairs اضافه می کنیم ، برای استفاده بیشتر باید لمس سیگنال را روی 0 تنظیم کنیم.
بسته شدن معاملات جفت
این قسمت EXIT TRADING را کنترل می کند. شبیه به قسمت افتتاحیه است. از مدل و آستانه های اصلی ضبط شده برای تعیین اینکه آیا ما باید موقعیت را ببندیم یا خیر ، استفاده می کند. اگر باقیمانده به آستانه اختتامیه ما برسد ، ما سهام A و سهام B را برای بسته شدن نقدینگی می کنیم. اگر باقیمانده همچنان از میانگین منحرف شود و خیلی دور شود ، ما همچنین موقعیت را برای متوقف کردن از دست دادن می بندیم. وقتی یک معاملات جفت را می بندیم ، جفت ها را نیز از خود حذف می کنیم. trading_pairs.
نتیجه
ما از داده های وضوح 10 دقیقه ای برای Backtest این استراتژی را از ژانویه 2013 تا دسامبر 2016 استفاده کردیم. برای نشان دادن نتایج آموزش نمونه ، ما به طور تصادفی یک دوره آموزشی را انتخاب کردیم که از 2016-09-07 تا 2013-11-30.
جدول زیر 10 جفت برتر انتخاب شده در دوره آموزش ذکر شده در بالا را نشان می دهد. ما می توانیم ببینیم که جفت ها با بالاترین ضریب همبستگی لزوماً بهترین مقدار آزمون ADF را ندارند. ما با ارزش آزمون ADF رتبه بندی کردیم زیرا قوی تر است.

قسمت بالای نمودار زیر قیمت سهام جفت ING در مقابل TCB را نشان می دهد. قسمت پایین بر اساس چند برابر انحراف معیار باقیمانده از میانگین خود نمودار می شود. اگر آستانه باز شدن را 2. 32 قرار دهیم، 5 فرصت معاملاتی وجود دارد.

نمودار زیر نمودار چگالی خطای باقیمانده است. از شکل می توانیم ببینیم که خطا تقریباً توزیع شده است.

خلاصه
این استراتژی به عنوان استراتژی خنثی بازار در نظر گرفته می شود زیرا یک استراتژی بلند/کوتاه است که بر روی همگرایی قیمت شرط بندی می کند. بتای بک تست شد ه-0. 112 است که در حد انتظار ما است. از نظر تئوری، هر چه از وضوح بالاتری استفاده کنیم، نرخ برد بالاتری خواهد داشت، زیرا از یک طرف وضوح بالاتر، تعداد نقاط داده را در دوره آموزشی ما افزایش می دهد، که گذر از آزمون دو مرحله ای را سخت تر می کند. از سوی دیگر، داده های با وضوح بالاتر به ما امکان می دهد سود جزئی را با دقت بیشتری دریافت کنیم. با این حال، بین عملکرد و زمان تست بک آزمایی تعادلی وجود دارد. رزولوشن بالاتر باعث می شود زمان تست مجدد به شدت افزایش یابد. تعداد سهام در مرحله اولیه سازی نیز بر عملکرد ما تأثیر می گذارد. از نظر تئوری، هر چه سهام بیشتری داشته باشیم، احتمالا جفت های بهتری را انتخاب می کنیم. اما تعداد بیش از حد سهام نیز زمان بر خواهد بود. آنچه قابل ذکر است این است که پارامترهای بهینه شده برای هر بخش متفاوت است. این بستگی به ویژگی های الگوهای قیمت در صنعت خاص دارد. ترسیم قیمت های جفت و باقی مانده برای مشاهده گزینه خوبی برای تنظیم آستانه است.
آموزش کار در فارکس...
ما را در سایت آموزش کار در فارکس دنبال می کنید
برچسب :
نویسنده : Mihayloo
بازدید : <-PostHit->
تاريخ : يکشنبه
14 اسفند
1401 ساعت: 17:41