متقاطع: تقاطع سودآور قیمت دارایی

ساخت وبلاگ

استفاده از پایتون برای ایجاد یک استراتژی تجاری متوسط متحرک

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

  • *سلب مسئولیت: این وبلاگ و استراتژی تجارت برای اهداف آموزشی است و من استفاده از سرمایه گذاری حرفه ای را توصیه نمی کنم **

تنظیم نمونه کارها

استراتژی معاملاتی ما نسخه های مختلفی از یک فرمول متوسط متحرک را برای تطبیق تصمیمات تجاری ما با رفتار قیمت دارایی در یک نمونه کارها به کار خواهد گرفت. ما با انتخاب یک نمونه کارها دارایی متنوع شروع خواهیم کرد: تسلا (TSLA $) ، جانسون و جانسون ($ JNJ) و اپل ($ AAPL). این سه دارایی به ترتیب سهام تراشه آبی هستند که به ترتیب در بین محرک های اصلی بخش های خودرو ، مراقبت های بهداشتی و فناوری قرار دارند. ما با استفاده از کتابخانه YFInance برای تهیه وب سایت داده های قیمت تاریخی از یک نقطه شروع و نقطه نهایی تعیین می کنیم. اینها به عنوان سری های فردی وارد می شوند و سپس با یک فهرست DateTime در یک DataFrame ادغام می شوند.

ما اکنون بیش از پنج سال از قیمت های بسته شدن (1377 ورودی) برای نمونه کارها خود برای استفاده در استراتژی خود داریم.

میانگین حرکت ساده

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

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

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

این مهم است که به خاطر داشته باشید که وقتی ما از زمان های SMA استفاده می کنیم ، در واقع از سری قیمت اصلی عقب مانده ایم. توجه کنید که چگونه SMA 20 روزه نارنجی پس از تاریخ شروع 01/15 خط قیمت خاکستری TSLA کمی شروع می شود. Teal 100 روزه SMA حتی بعد از آن آغاز می شود. تأخیر به دلیل ماهیت ریاضی یک میانگین متحرک ساده است اما ما نمی توانیم به سادگی حضور این تاخیر را نادیده بگیریم زیرا زمان در هنگام تجارت از حداکثر حساسیت برخوردار است. بنابراین چگونه می توانیم این تاخیر را حساب کنیم؟میانگین متحرک نمایی (EMA).

میانگین متحرک نمایی

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

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

تدوین یک استراتژی تجارت

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

  • هنگامی که قیمت دارایی اصلی از سری EMA عبور می کند از زیر ما فروش همه موقعیت های کوتاه را آغاز می کنیم و یک واحد از موقعیت طولانی را خریداری می کنیم
  • هنگامی که دارایی اصلی از سری EMA عبور می کند ، ما هر موقعیت طولانی را می بندیم و با فروش یک واحد دارایی کوتاه می شویم

توجه: ما اندازه موقعیت را در نظر نمی گیریم. ما فرض می کنیم که سرمایه موجود ما کاملاً مورد استفاده قرار می گیرد و به طور مساوی توزیع می شود (1/3) در میان سه دارایی نمونه کارها ما. در شرایط طولانی ، هر دارایی = 1/3 وزن می شود ، در حالی که شرایط کوتاه وز ن-1/3 را می گیرد.

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

این به ما یک DataFrame جدید حاوی اختلاف قیمت می دهد ، اما ما واقعاً می خواهیم این اختلاف قیمت را به عنوان سیگنال به سمت "خرید" یا "فروش" منعکس کنیم. ما می توانیم از یک روش NUMPY برای اختصاص این موارد استفاده کنیم.

نکته مهم: از آنجا که ما از قیمت "نزدیک" دارایی های خود در دوران اصلی استفاده می کنیم ، در واقع از نظر آماری نمی دانیم که قیمت از قیمت EMA بیشتر است. با فرض اینکه ما یک موقعیت طولانی داریم در واقع با ریاضی مدل ما مغایرت دارد. ما فقط می توانیم فرض کنیم که در نزدیکی طولانی خواهیم رفت ، این بدان معنی است که موقعیت افتتاح فردا نیز طولانی خواهد بود. فردا با تغییر موقعیت های ما یک روز به جلو می توان موقعیت طولانی را نشان داد.

بیایید نگاهی بیندازیم که EMA ما با قیمت دارایی اصلی ما در کنار چه چیزی به نظر می رسد. ما همچنین بارهای سیگنال های خود را ترسیم خواهیم کرد تا نگاهی به نحوه تغییر موقعیت های ما در طول پنجره تاریخ بیندازیم.

به یاد داشته باشید ، موقعیت خرید طولانی و ما توسط 1/3 مثبت (0. 333) نشان داده شده است در حالی که موقعیت فروش ما 1/3 منفی است (-0. 333). اکنون ما در کل سریال نمایندگی بصری از موقعیت های تجارت نمونه کارها داریم.

پشتوانه استراتژی ما

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

بازده کلی ما برای کل دوره زمانی ما را ملزم می کند تا DataFrame موقعیت های خود را با Logaritheric Retus DataFrame بازگرداند.

DataFrame ما اکنون حاوی بازده برای هر ورودی جداگانه است ، اما برای دیدن بازده های کلی باید از مبلغ تجمعی استفاده کنیم. سپس با استفاده از NUMPY ، بازده ها را به بازده نسبی تبدیل می کنیم. سپس ما هر یک از برگه های تجمعی دارایی خود و همچنین بازده نسبی آنها را ترسیم خواهیم کرد.

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

نتایج نهایی

اکنون که بازده خود را داریم ، اکنون می توانیم از فرضیات بازده مرکب استفاده کنیم تا بازده سبد زندگی خود و همچنین میانگین بازده سالانه خود را برگردانیم.

  • بازده نمونه کارها Lifetime = 79. 31 ٪
  • avgبازده سالانه = 11. 66 ٪

از سال 1962 ، سهام ایالات متحده به طور متوسط بازده سالانه تقریباً 11 ٪ (در هر MarketWatch.com) دارد. این بدان معنی است که استراتژی متوسط متحرک ما باعث می شود "میانگین" بازده سالانه در سبد سرمایه گذاری شما بازگردد. اکنون ، این سه نفر از بزرگترین سهام بازار در بازار است. یک نمونه کارها واقعی بسیار متنوع تر خواهد بود و برای قول بازده قوی نیاز به داشتن مهارت های جدی دارد. استراتژی معاملاتی ما همچنین فرضیات زیادی را ایجاد کرده و می توان آن را بهبود بخشید ، اما امیدوارم این امر به عنوان یک نقطه شروع قوی برای انجام تجزیه و تحلیل فنی روی یک ابزار مالی باشد.

توجه داشته باشید از ویرایشگران Data Science: در حالی که ما به نویسندگان مستقل اجازه می دهیم مقالات را مطابق با قوانین و دستورالعمل های خود منتشر کنند ، ما سهم هر نویسنده را تأیید نمی کنیم. شما نباید بدون اینکه به دنبال مشاوره حرفه ای باشید ، به آثار نویسنده اعتماد کنید. برای جزئیات بیشتر به اصطلاحات خواننده ما مراجعه کنید.< Pan> از سال 1962 ، سهام ایالات متحده متوسط بازده سالانه تقریبا 11 ٪ (در هر MarketWatch.com) دارد. این بدان معنی است که استراتژی متوسط متحرک ما باعث می شود "میانگین" بازده سالانه در سبد سرمایه گذاری شما بازگردد. اکنون ، این سه نفر از بزرگترین سهام بازار در بازار است. یک نمونه کارها واقعی بسیار متنوع تر خواهد بود و برای قول بازده قوی نیاز به داشتن مهارت های جدی دارد. استراتژی معاملاتی ما همچنین فرضیات زیادی را ایجاد کرده و می توان آن را بهبود بخشید ، اما امیدوارم این امر به عنوان یک نقطه شروع قوی برای انجام تجزیه و تحلیل فنی روی یک ابزار مالی باشد.

بهترین بروکر فارکس...
ما را در سایت بهترین بروکر فارکس دنبال می کنید

برچسب : نویسنده : داریوش اسدزاده بازدید : 169 تاريخ : پنجشنبه 3 فروردين 1402 ساعت: 23:54