تجارت جفتی: یک استراتژی تجارت خنثی از بازار با یادگیری ماشینی یکپارچه

  • 2022-05-21

شین یی، داهیون کیم، نائل میزانالرحمان، سودیپتا کولای، ژنیو جیا

مقدمه ای بر تجارت جفت

هدف اولیه در تلاش سرمایه گذاری، اجرای استراتژی هایی است که ریسک را به حداقل می رساند و در عین حال سود یا بازده مالی حاصل از سرمایه گذاری مذکور را نیز به حداکثر می رساند. در حالی که طی سال‌ها استراتژی‌ها و تکنیک‌های محبوبی توسعه یافته‌اند که به یک هدف اشاره می‌کنند، استراتژی «معامله جفتی» یکی از راهبردهایی است که به دلیل سادگی و خنثی‌بودن ذاتی آن در بازار، تا حد زیادی در صندوق‌های تامینی مدرن مورد استفاده قرار گرفته است. کیفیت هااین استراتژی که اغلب آربیتراژ آماری نامیده می شود، بر نظارت بر همبستگی بین یک جفت سهام (معروف به همبستگی) متکی است. یک پوزیشن خرید روی سهمی که افزایش می‌یابد باز می‌شود و یک موقعیت کوتاه روی سهامی که کاهش می‌یابد باز می‌شود. فرض اساسی در تجارت جفتی این است که جفت‌هایی از سهام که از لحاظ تاریخی شباهت‌هایی را در رفتار خود نشان داده‌اند، در نهایت در بلندمدت همگرا می‌شوند، حتی اگر در کوتاه‌مدت واگرا شوند، و به معامله‌گر اجازه می‌دهد بدون توجه به بازار، از این جفت سود کند..

در چنین استراتژی، شناسایی سهام همبسته و تولید جفت از اهمیت بالایی برخوردار است. در این پروژه، ما از تکنیک‌های یادگیری بدون نظارت استفاده می‌کنیم که شامل خوشه فضایی برنامه‌های مبتنی بر چگالی با الگوریتم نویز و K-Means است. هنگامی که جفت های مربوطه شناسایی شدند، روابط قیمت آنها با استفاده از تکنیک های یادگیری نظارت شده مانند رگرسیون خطی برون یابی می شود. این روش کلی به ارائه بینشی به روابط بین سهام مختلف و تسهیل ایجاد استراتژی های معاملاتی مناسب برای آنها کمک می کند.

مجموعه داده

مجموعه داده ها توسط خدمات داده تحقیق Wharton (WRDS) ارائه شده است. ما عمدتا پرونده های سهام روزانه را از پرونده از CRSP و اصول سه ماهه از Compustats به منظور هدف خود بدست آوردیم. در ابتدا ، مجموعه داده های ما شامل پرونده های قیمت سهام از 3000 سهام است که ترکیبات راسل 3000 است. ارزش و اندازه آن سهام به اندازه کافی بزرگ است تا کل ارزش بازار را بازیابی کند و تقریباً 95 ٪ از کل سهام بازار را نشان می دهد. ما این فرایند قبل از غربالگری را انجام دادیم تا از دام "کلاه کوچک" در بازار جلوگیری کنیم. در حال حاضر ، بیش از 6000 سهام فعال در بازار سهام ایالات متحده وجود دارد اما بیشتر آنها دارای ارزش خرد هستند. در واقعیت ، سرمایه گذاران غالباً با احتیاط از سرمایه گذاری در آن سهام خودداری می کنند ، زیرا تجارت ، حتی تعداد کمی از سهام ممکن است تأثیرات غیرقابل پیش بینی بر قیمت سهام خود داشته باشد. ما باید این کار را هنگام انجام تحقیقات دانشگاهی در نظر داشته باشیم. ما دوره نمونه را از 2010-01-01 تا 2015-12-31 برای استراتژی های آموزشی تعیین کرده ایم و از دوره نمونه 2016-01-01 تا 2019-12-31 برای پس زمینه استفاده می کنیم.

پردازش داده ها

پیش پردازش داده ها

در مرحله بعدی ما می خواهیم سهام واجد شرایط را از قبل انتخاب کنیم که به ما امکان می دهد تا از مراحل بعدی قایقرانی کنیم. اول ، سهام هایی را که در دوره نمونه ما حذف ، رد و بدل شده یا ادغام شده اند ، حذف کردیم زیرا این سهام دیگر قابل معامله نیستند. در مرحله بعد ، سهام هایی را که قیمت های منفی دارند حذف کردیم که برای تجزیه و تحلیل بیشتر مشکل ساز خواهد بود. سهام هایی که دائماً در حال تجارت هستند ، باید از بین بروند زیرا اعدام های نامناسب تجارت می توانند تا حد زیادی قیمت سهام خود را تغییر داده و تاریخ تغییر یافته را تغییر دهند. سرانجام ، سهام هایی را که بیش از نیمی از قیمت های گمشده دارند ، حذف می کنیم ، به طوری که داده های کافی برای جابجایی در دسترس داریم. رویکرد مشابهی در مورد اصول مالی مجموعه داده ها انجام شد. در پایان ، 1795 سهام واجد شرایط برای تجزیه و تحلیل بیشتر وجود دارد.

داده ها

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

کاهش ابعاد با استفاده از تجزیه و تحلیل مؤلفه اصلی

با توجه به اینکه ما بیش از 2000 ویژگی در مجموعه داده‌های ورودی داریم (که شامل داده‌های بی‌درنگ سهام و همچنین چندین نسبت مالی است)، برای ما مناسب است که از کاهش ابعاد استفاده کنیم تا بتوانیم الگوریتم‌های یادگیری بدون نظارت را در مراحل بعدی اجرا کنیم. همچنین لازم به ذکر است که هر نقطه داده در داده های سری زمانی به عنوان یک ویژگی مجزا در نظر گرفته می شود. ما از تجزیه و تحلیل مؤلفه اصلی (PCA) برای کاهش ابعاد و در عین حال حفظ اکثریت واریانس از مجموعه داده استفاده کردیم. یک بار دیگر، ما PCA را به طور مستقل بر روی داده های قیمت سهام سری زمانی و نسبت های مالی انجام دادیم. پس از PCA، داده های سری زمانی به 15 جزء اصلی و نسبت های مالی به 5 جزء اصلی کاهش می یابد. ما بیش از 99 درصد از واریانس را در هر دو مورد حفظ کردیم. در اینجا دو نمودار وجود دارد که نسبت واریانس ثبت شده توسط مقادیر بالای تکی را نشان می دهد:

Stock prices

Financial ratios

ما مطمئن شدیم که تعداد مؤلفه‌های اصلی که از مجموعه داده قیمت به مؤلفه‌ای که از نسبت‌های مالی می‌آید، انتخاب می‌کنیم، زیرا در درجه اول می‌خواهیم برای انجام خوشه‌بندی به قیمت‌های سهام تکیه کنیم. سپس مجموعه داده‌های کاهش‌یافته به هم پیوسته می‌شوند تا یک مجموعه داده آموزشی ۲۰ بعدی ایجاد کنند که سپس برای تجزیه و تحلیل خوشه‌بندی استفاده می‌کنیم.

دو الگوریتم خوشه‌بندی برای ایجاد خوشه‌های سهام مورد بررسی قرار گرفت:

KMeans Clustering

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

  1. امتیاز اعوجاج: مجموع فاصله های مجذور هر نقطه تا مرکز اختصاص داده شده را محاسبه می کند (کوچکتر بهتر است)
  2. امتیاز Silhouette: میانگین ضریب Silhouette همه نمونه ها را محاسبه می کند (کوچکتر بهتر است)
  3. امتیاز کالینسکی هاربز: نسبت پراکندگی بین خوشه ها به پراکندگی درون خوشه ها را محاسبه می کند (بزرگتر بهتر است)

مجموعه داده ابتدا قبل از انجام تجزیه و تحلیل آرنج برای هر یک از امتیازات ذکر شده در بالا نرمال می شود که نتایج آن در زیر نشان داده شده است. آرنج برای هر یک از آنالیزها نیز مشخص شده است. لازم به ذکر است که آرنج با استفاده از "الگوریتم تشخیص نقطه زانو" داخلی تعیین می شود. این الگوریتم گاهی اوقات بر روی یک مینیمم/حداکثر محلی همگرا می شود که زانوهای اشتباهی را نشان می دهد، همانطور که از امتیاز Calinski Harabz مشهود است که در آن حداکثر جهانی تقریباً 30 است. حداکثر تعداد خوشه از هر یک از این معیارهای مستقل در نهایت در آموزش الگوریتم KMeans استفاده شد. در این حالت حداکثر آرنج خوشه ای در بین این سه عدد 31 بود که در نهایت به عنوان تعداد خوشه های آموزش انتخاب شد. انتخاب حداکثر از بین این سه بر اساس این است که هر خوشه تا حد امکان کوچک و مجزا باشد.

Elbow Plots for KMEANS

نمودار زیر تجسمی از نقاط داده خوشه‌بندی شده را در قالب یک نمودار t-Distributed Stochastic Neighbor Embedding (t-SNE) نشان می‌دهد. t-SNE یک الگوریتم کاهش ابعاد غیر خطی است که برای نگاشت داده های چند بعدی به دو یا چند بعد استفاده می شود که تجسم خوشه ها را آسان تر می کند. تعداد سهام در هر خوشه نیز در زیر نشان داده شده است. ما متوجه یک عدم تناسب جزئی در اندازه هر خوشه هستیم. این توزیع نامتناسب سهام در خوشه‌ها تا حدی انتظار می‌رود، زیرا مجموعه داده احتمالاً تحت سلطه سهام یک صنعت واحد یا نزدیک به هم قرار دارد.

T-SNE plotCluster Member counts for Kmeans

به منظور افزایش اطمینان در روش خوشه‌بندی، داده‌های قیمت سهام سری‌های زمانی واقعی سهام در هر خوشه نیز مورد بررسی قرار گرفت. داده های سری زمانی سهام در 4 خوشه از 31 خوشه در زیر نشان داده شده است. از آنجایی که برخی از خوشه‌ها دارای سهام زیادی هستند که نمی‌توان آن‌ها را به درستی تجسم کرد، تعداد سهام در هر نمودار سری زمانی برای راحتی به 100 عدد محدود می‌شود. از منظر بصری، سهام در یک خوشه همبستگی خوبی بین آنها از نظر رفتار قیمت سهام نشان می دهد.

Cluster Member counts for Kmeans

خوشه بندی فضایی مبتنی بر چگالی برنامه ها با نویز (DBSCAN)

الگوریتم DBSCAN با eps = 1. 8 و minPoints = 3 پارامتربندی شد که منجر به تشکیل 11 خوشه شد. یک تجسم ساده از خوشه در قالب یک نمودار T-SNE در زیر نشان داده شده است:

T-SNE plot for DBSCAN

شکل زیر تعداد اعضای هر خوشه را نشان می دهد که نشان دهنده این واقعیت است که بخش عظیمی از سهام در یک خوشه منفرد جمع شده اند.

Cluster Member counts for DBSCAN

Stock price in each cluster

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

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

انتخاب جفت

کلید پیدا کردن جفت های معتبر ، یافتن ترکیب دو سهام انتخاب است. همانطور که بعداً به تفصیل خواهیم پرداخت ، می خواهیم دو سهام پیدا کنیم که سری زمانی آنها از یک رابطه خطی پیروی می کند اما نه همیشه. گسترش دو سهام انتخابی باید یک فرآیند معنادار باشد ، به این معنی که گسترش آنها تمایل دارد به مرور زمان به سمت میانگین عملکرد آن حرکت کند. فرآیند Ornstein-Uhlenbeck یک فرآیند متوسط است که معمولاً در زمینه ریاضیات مالی استفاده می شود. در اینجا در پروژه ما ، ما همچنین ایده فرآیند O-U را برای محاسبه گسترش و الگوبرداری از رابطه سهام در نظر می گیریم.

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

Stock Price Relation for WDFC and HSIC

WDFC و HSIC را به عنوان نمونه بگیرید. رابطه قیمت سهام آنها با گذشت زمان در زیر نشان داده شده است.

Spread of WDFC and HSIC

ما آزمون ADF را به گسترش آنها انجام دادیم همانطور که در بخش بعدی تعریف کردیم و روند سری زمانی گسترش آنها را ترسیم کردیم.

تست ADF به عنوان نتیجه P-Value را ارائه می دهد. برای این جفت ، مقدار p 2. 8702051939237176E-05 است که کمتر از سطح قابل توجهی 0. 05 است (همانطور که تنظیم کردیم). بنابراین ، ما بیش از 95 ٪ اطمینان داریم که می گویند گسترش قیمت سهام WDFC و HSIC ثابت است و آنها جفت معتبر هستند.

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

استراتژی تجارت

در این بخش ، ما در مورد چگونگی تولید تاریخچه Z توسط تاریخچه قیمت جفت سهام بحث خواهیم کرد. ما تاریخ نمره Z را تولید می کنیم تا تصمیم بگیریم چه زمانی سهام را طولانی و کوتاه می کنیم. نمره Z به سادگی (گسترش)/(انحراف استاندارد از گسترش) است و گسترش بر اساس تاریخچه قیمت جفت سهام محاسبه می شود. روش اصلی برای محاسبه گسترش ، استفاده از قیمت سهام A و B. B. spread = log (a) - nlog (b) است ، جایی که "a" و "b" به ترتیب قیمت سهام A و B هستند."N" نسبت پرچین است که ثابت است. ما از یادگیری ماشین برای محاسبه گسترش به جای ورود به سیستم استفاده کردیم. در بخش های بعدی مورد بحث قرار خواهد گرفت.

رگرسیون خطی

ما از ورود به سیستم قیمت سهام A به عنوان نقاط داده و ورود به سیستم قیمت سهام B به عنوان برچسب استفاده کردیم. ما مدل رگرسیون چند جمله ای را با این مجموعه داده ها آموزش می دهیم.

منظم سازی

برای تنظیم مدل ، از رگرسیون لاسو استفاده کردیم. ما به جای رگرسیون ریج از رگرسیون لاسو استفاده کردیم زیرا نه تنها مقادیر زیاد ضریب را مجازات می کنیم بلکه در صورت عدم رعایت آنها در واقع صفر می شوند.(ریج در مقابل لاسو)

اعتبار سنجی

در مدل ، ما دو hyperparameter داریم. اولین مورد آلفا در رگرسیون لاسو و دیگری درجه ای از رگرسیون چند جمله ای است. کتابخانه Scikit-Learn در حال حاضر دارای یک ماژول در مورد اعتبارسنجی متقاطع برای آلفا در عملکرد لاسو است. از روش K-Fold استفاده می کند. در یک مورد از مدرک ، ما اعتبار خود را توسط خودمان انجام دادیم. ابتدا 66 ٪ مجموعه داده ها را به عنوان داده های آموزشی انتخاب می کنیم. این انتخاب تصادفی بود زیرا رابطه سهام A و B می تواند با گذشت زمان تغییر کند. سپس ، ما از 33 ٪ مجموعه داده ها به عنوان داده های اعتبار سنجی استفاده کردیم و RMSE را محاسبه کردیم. با مقایسه RMSE ، مدرک را انتخاب می کنیم.

عملکرد

بعد از اینکه مدل را تولید کردیم ، ورود به سیستم (B) را پیش بینی می کنیم و گسترش را به صورت محاسبه می کنیم:

گسترش = lr. pred (log (a)) - log (b)

همچنین ما را به محاسبه نمره Z با معادله زیر سوق می دهد:

Z-score = گسترش / انحراف استاندارد

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

z-score

پشتی

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

پیاده سازی

برای ساده کردن پشتی ، ما فقط پول اولیه را به عنوان میلیون دلار و حجم سهام که ما به عنوان "کل دارایی" / "# جفت" معامله می کنیم ، تعیین می کنیم. بنابراین ، اگر کل دارایی فعلی ما 100 دلار باشد و تعداد جفت سهام 10 باشد ، ما فقط با 10 دلار سهام را طولانی/کوتاه می کنیم. ما همچنین قیمت معکوس (کوتاه) را در پایگاه روزمره محاسبه می کنیم و کمیسیون تجارت را برای ساده کردن در نظر نگرفتیم.

نتایج

ما برای همه جدول زمانی پشتی را اجرا می کنیم (2007~2015). در اینجا تمام نتایج حاصل از پشتی است. X-Label زمان مبتنی بر روزانه است. این شامل بازار خارج از روز نیست. برچسب y پول (دلار) است.

رگرسیون خطی دارایی های هر جفت

each assets

رگرسیون خطی کل دارایی

total assets

رگرسیون خطی با فیلتر کالمن

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

دارایی های هر جفت فیلتر Kalman

each assets

دارایی های کل فیلتر کالمن

portfolio result

ارزیابی عملکرد و نتیجه گیری

در جدول زیر برخی از معیارهای عملکرد استراتژی ها با رگرسیون خطی و رگرسیون خطی آنلاین (فیلتر کالمن) ارائه شده است. توجه داشته باشید که این معیارها فقط از طریق دوره تست ، که از 2016-01-04 تا 2019-12-31 است ، ارزیابی می شوند تا از این نظر بیشتر باشند.

متریک رگرسیون خطی فیلتر کالمن
حداکثر کاهش -16. 2044 ٪ -3. 6690 ٪
الفا 20. 0352 ٪ 6. 3747 ٪
بتا -0. 2437 0. 2065
نوسانات سالانه 0. 1241 0. 02758
نسبت شارپ 1. 1969 3. 1478
نسبت Sortino 1. 7190 5. 2359

آمار فوق نشان می دهد که رگرسیون خطی عملکرد آلفا بهتری نسبت به فیلتر کالمن دارد که 20 ٪ در مقابل 6. 374 ٪ است. با این حال ، فیلتر کالمن ریسک کمتری را تحمل می کند در حالی که هنوز عملکرد نسبتاً رضایت بخش دارد. ترجیح استراتژی ها به میزان سرمایه گذاری از ریسک سرمایه گذار بستگی دارد. یک ریسک پذیر می تواند تا 16 ٪ از دست دادن سرمایه گذاری را لخت کند و ممکن است رگرسیون خطی را ترجیح دهد. از طرف دیگر ، یک فرد ریسک پذیر ممکن است از فیلتر کالمن برای انجام ریسک پایین خود حمایت کند. با این حال ، در حال حاضر ، استراتژی معاملاتی جفت پتانسیل سرمایه گذاری بالا خود را به ویژه با تجزیه و تحلیل آماری پیشرفته نشان داده است. محققان می توانند در این زمینه بیشتر برای دستیابی به عملکرد بهتر آلفا و ریسک پایین تر در همان زمان تحقیق کنند.

برچسب ها

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.