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

  • 2021-01-22

یادگیری برای تشخیص روند بازار و معاملات بر این اساس با یک شاخص قدرتمند در پایتون

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

قبل از حرکت, اگر می خواهید استراتژی های معاملاتی خود را بدون هیچ گونه کدنویسی دوباره تست کنید, یک راه حل برای این کار وجود دارد. این منطقه پشتی است. این پلتفرمی است برای تست هر تعداد استراتژی معاملاتی در مورد انواع مختلف دارایی های قابل معامله به صورت رایگان و بدون کدگذاری. با استفاده از پیوند اینجا می توانید بلافاصله از این ابزار استفاده کنید: https://www. backtestzone. com/

شاخص ایرون

این اندیکاتور توسط توشار چند در سال 1995 تاسیس شد و یک اسیلاتور مومنتوم است که به طور خاص برای ردیابی روند بازار و میزان قدرت این روند طراحی شده است. این شاخص به طور گسترده ای توسط معامله گران برای شناسایی یک روند جدید در بازار و ایجاد نقاط ورود و خروج بالقوه بر این اساس استفاده می شود. به عنوان یک اسیلاتور, مقادیر شاخص ایرون محدود بین 0 به 100.

اندیکاتور ارون از دو بخش تشکیل شده است: ارون تا خط و ارون پایین خط. ارون تا خط اندازه گیری قدرت روند صعودی در بازار و به طور مشابه, ارون پایین خط اندازه گیری قدرت روند نزولی در بازار. تنظیم سنتی برای شاخص ایرون است یا 14 برای کوتاه مدت و یا 25 برای بلند مدت به عنوان دوره نگاه. در این مقاله از 25 به عنوان تنظیم استفاده خواهیم کرد زیرا با یک سال و نیم داده سروکار خواهیم داشت. فرمول محاسبه این دو خط با 25 به عنوان دوره جستجو به شرح زیر است:

خط ارون تا ابتدا با تعیین مدت زمان رسیدن سهام به اوج جدید در بازه زمانی 25 روزه محاسبه می شود و سپس این مقدار را بر 25 کم و تقسیم می کند و در نهایت در 100 ضرب می کند. این امر به محاسبه خط ارون پایین بیش از حد اما در اینجا ما در حال تعیین تعداد روز از کم جدید به جای رعایت اوج جدید رخ داده است.

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

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

استراتژی دوم این است که ساخت یک بالاتر و پایین تر از حد است که نشان دهنده یک سیگنال خرید اگر ارون تا خط دارای خواندن و بالاتر 70 و به موازات, ارون پایین خط دارای خواندن و زیر 30. به همین ترتیب, زمانی که ارون تا خط دارای خواندن یا زیر 30 و خواندن ارون پایین خط مشاهده شده است به در یا بالاتر باشد 70, یک سیگنال فروش نازل شده است. این استراتژی را می توان به شرح زیر نشان داد:

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

پیاده سازی در پایتون

قسمت کدگذاری در مراحل مختلف به شرح زیر طبقه بندی می شود:

ما از سفارش ذکر شده در لیست بالا پیروی خواهیم کرد و کمربندهای ایمنی خود را برای پیگیری هر قسمت کدگذاری بعدی دنبال خواهیم کرد.

مرحله 1: وارد کردن بسته ها

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

پیاده سازی پایتون:

اکنون که همه بسته های مورد نیاز را به پایتون خود وارد کرده ایم. بیایید داده های تاریخی تسلا را با نقطه پایانی دوازده داده بکشیم.

مرحله 2: استخراج داده ها از دوازده داده

در این مرحله ما می خواهیم داده های سهام تاریخی تسلا را با استفاده از یک نقطه پایانی تهیه شده توسط twelvedata. com. قبل از این, توجه داشته باشید در twelvedata. com دوازده داده یکی از پیشگامان داده های بازار است که دارای تعداد زیادی نقطه پایانی برای انواع داده های بازار است. تعامل با رابط های برنامه کاربردی دوازده داده بسیار ساده است و یکی از بهترین اسناد را تاکنون دارد. همچنین, اطمینان حاصل شود که شما یک حساب کاربری در twelvedata. com فقط در این صورت است که می توانید به کلید واسط کاربری خود دسترسی پیدا کنید (عنصر حیاتی برای استخراج داده ها با یک رابط کاربری گرافیکی).

پیاده سازی پایتون:

خروجی:

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

مرحله 3: استخراج مقادیر شاخص ایرون

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

پیاده سازی پایتون:

خروجی:

توضیح کد: ابتدا تابعی به نام 'گت_ارون' را تعریف می کنیم که نماد سهام را می گیرد ('نماد'), دوره جستجو برای نشانگر ('جستجو'), و تاریخ شروع داده ها ('تاریخ شروع') به عنوان پارامتر. در داخل تابع ابتدا دو متغیر با نامهای 'کلید' و 'نشانی اینترنتی' را برای ذخیره کلید واسطهای اینترنتی اختصاص میدهیم. با استفاده از تابع' دریافت 'که توسط بسته درخواستها فراهم شده است, ما پاسخ را در متغیر' خام ' ذخیره می کنیم. پس از انجام برخی از دستکاری داده ها, ما در حال بازگشت هر دو ارون تا خط و مقادیر خط پایین. سرانجام, ما فراخوانی تابع برای استخراج مقادیر شاخص ایرون تسلا.

مرحله 4: طرح شاخص ایرون

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

پیاده سازی پایتون:

خروجی:

نمودار بالا به دو پانل تقسیم می شود: پانل فوق شامل طرح قیمت های بسته شدن تسلا و پانل پایین تر با هر دو خط بالا و پایین است. من اشاره کردم که شاخص ایرون نه تنها برای شناسایی روند بلکه برای شناسایی بازارهای مختلف نیز مفید است. برای شناسایی دوره های مختلف بازار باید به دقت خطوط بالا و پایین را رعایت کنیم. هر زمان که فضای بین دو خط کمتر است, سپس بازار گفته می شود اعم. به طور مشابه, روند بازار مشاهده شده است که فضای بین دو خط گسترده تر است.

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

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

مرحله 5: ایجاد استراتژی تجاری

در این مرحله قصد داریم استراتژی معاملاتی اندیکاتور مورد بحث در پایتون را پیاده سازی کنیم.

پیاده سازی پایتون:

توضیح کد: ابتدا تابعی به نام 'پیاده سازی_ارون_استراتژی' را تعریف می کنیم که قیمت سهام ('قیمت) و خطوط شاخص ('بالا', 'پایین') را به عنوان پارامتر در نظر می گیرد.

در داخل تابع, ما در حال ایجاد سه لیست خالی (خرید, قیمت, قیمت فروش, و ایرون_سیگن) که ارزش خواهد شد در حالی که ایجاد استراتژی تجاری اضافه.

سپس ما استراتژی معاملاتی را از طریق یک حلقه برای پیاده سازی می کنیم. در داخل برای حلقه, ما در حال عبور از شرایط خاصی, و اگر شرایط راضی هستند, مقادیر مربوطه خواهد شد به لیست خالی اضافه. اگر شرط خرید سهام راضی شود, قیمت خرید به لیست 'قیمت خرید' اضافه می شود, و مقدار سیگنال به عنوان ضمیمه می شود 1 نمایندگی برای خرید سهام. به طور مشابه, اگر شرط فروش سهام راضی شود, قیمت فروش به لیست 'قیمت فروش' اضافه می شود, و مقدار سیگنال به عنوان اضافه می شو د-1 نمایندگی برای فروش سهام.

در نهایت لیست های اضافه شده با مقادیر را برمی گردانیم. سپس تابع ایجاد شده را فراخوانی می کنیم و مقادیر را در متغیرهای مربوطه ذخیره می کنیم. لیست هیچ معنایی ندارد مگر اینکه مقادیر را ترسیم کنیم. بنابراین, بیایید مقادیر لیست های تجاری ایجاد شده را رسم کنیم.

مرحله 6: رسم سیگنال های معاملاتی

در این مرحله لیست های تجاری ایجاد شده را ترسیم می کنیم تا از این لیست ها منطقی باشند.

پیاده سازی پایتون:

خروجی:

توضیح کد: ما در حال ترسیم اجزای شاخص ایرون به همراه سیگنال های خرید و فروش تولید شده توسط استراتژی معاملاتی هستیم. ما می توانیم مشاهده کنیم که هر زمان که خط ارون تا دارای خواندن و بالاتر 70 و ارون پایین خط دارای خواندن و زیر 30, یک سیگنال خرید سبز رنگ است که در نمودار رسم. به طور مشابه, هر زمان که ارون تا خط دارای خواندن و زیر 30 و ارون پایین خط دارای خواندن و بالاتر 70, یک سیگنال فروش قرمز رنگ است که در نمودار رسم.

مرحله 7: ایجاد موقعیت ما

در این مرحله ما می رویم به ایجاد یک لیست است که نشان می دهد 1 اگر ما سهام را نگه دارید و یا 0 اگر ما خود را ندارد و یا سهام را نگه دارید.

پیاده سازی پایتون:

خروجی:

توضیح کد: ابتدا یک لیست خالی به نام ایجاد می کنیم 'موقعیت'. ما در حال عبور دو برای حلقه, یکی این است که تولید مقادیر برای لیست 'موقعیت' فقط مطابقت با طول لیست 'سیگنال'. دیگر برای حلقه یکی از ما با استفاده از برای تولید مقادیر موقعیت واقعی است. در داخل دوم برای حلقه, ما در حال تکرار بیش از مقادیر لیست سیگنال, و ارزش های لیست 'موقعیت' دریافت اضافه مربوط به شرایط راضی می شود. ارزش موقعیت 1 باقی می ماند اگر ما سهام را نگه دارید و یا باقی می ماند 0 اگر ما به فروش می رسد و یا سهام خود را ندارد. سرانجام, ما در حال انجام برخی از دستکاری داده ها به ترکیب تمام لیست ایجاد شده را به یک قاب داده.

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

مرحله 8: تست بک

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

پیاده سازی پایتون:

خروجی:

توضیح کد: ابتدا بازده سهام تسلا را با استفاده از تابع تفاضلی که توسط بسته نومپی فراهم شده محاسبه میکنیم و به عنوان یک چارچوب داده در متغیر تسلا رت ذخیره کردهایم. سپس یک حلقه برای تکرار بر روی مقادیر متغیر برای محاسبه بازده حاصل از استراتژی معاملاتی اندیکاتور می گذاریم و این مقادیر بازده به لیست بازده اضافه می شوند. در ادامه لیست را به یک چارچوب داده تبدیل کرده و به یک متغیر ذخیره می کنیم.

مرحله بعدی روند تست پشتی است. ما قصد داریم با سرمایه گذاری صد هزار دلاری در استراتژی تجاری خود استراتژی خود را عقب بیندازیم. بنابراین ابتدا میزان سرمایه گذاری را در متغیر 'ارزش سرمایه گذاری' ذخیره می کنیم. سپس تعداد سهام تسلا را که می توانیم با استفاده از مبلغ سرمایه گذاری خریداری کنیم محاسبه می کنیم. شما می توانید متوجه شوید که من از تابع طبقه بندی شده توسط بسته ریاضی استفاده کرده ام زیرا در حالی که مبلغ سرمایه گذاری را با قیمت بسته شدن سهام تسلا تقسیم می کند خروجی را با اعداد اعشاری تقسیم می کند. تعداد سهام باید یک عدد صحیح باشد اما یک عدد اعشاری نباشد. با استفاده از تابع' طبقه ' می توانیم اعشار را برش دهیم. به یاد داشته باشید که تابع' طبقه 'راه پیچیده تر از تابع' دور ' است. سپس, ما در حال عبور برای حلقه برای پیدا کردن بازده سرمایه گذاری به دنبال برخی از وظایف دستکاری داده ها.

سرانجام, ما در حال چاپ بازده کل ما با سرمایه گذاری یک صد هزار به استراتژی تجاری ما و مشخص شد که ما را ساخته اند سود تقریبی پنجاه و پنج هزار دلار در یک سال. این بد نیست! اکنون, اجازه دهید مقایسه بازده ما با صندوق پستی جاسوسی (صندوق پستی طراحی شده برای ردیابی اس&پ 500 شاخص بازار سهام) بازده.

مرحله 9: مقایسه جاسوسی

این مرحله اختیاری است اما بسیار توصیه می شود زیرا ما می توانیم ایده ای در مورد چگونگی عملکرد استراتژی تجاری ما در برابر یک معیار (جاسوسی) داشته باشیم. در این مرحله, ما می رویم به استخراج داده ها از صندوق پستی جاسوسی با استفاده از تابع 'گت_تاریکی_داده' ما ایجاد و مقایسه بازده ما از صندوق پستی جاسوسی با بازده استراتژی شاخص ایرون ما در تسلا.

پیاده سازی پایتون:

خروجی:

توضیح کد: کد مورد استفاده در این مرحله تقریبا مشابه کدی است که در مرحله بک تست قبلی استفاده شده است اما به جای سرمایه گذاری در تسلا با عدم اجرای هیچ استراتژی معاملاتی در جاسوسی سرمایه گذاری می کنیم. از خروجی, ما می توانید ببینید که استراتژی معاملاتی اندیکاتور ایرون ما بهتر است جاسوسی ای اف توسط 34%. عالیه!

افکار نهایی!

پس از یک فرایند طولانی از خرد کردن هر دو نظریه و برنامه نویسی بخشی, ما با موفقیت به دست چه شاخص ایرون همه چیز در مورد و چگونه برای ساخت یک استراتژی تجاری بر اساس. شاخص ایرون تا به حال مورد علاقه شخصی من بوده است زیرا به انجام دو کار در یک زمان کمک می کند (شناسایی روندها, نوسانات), و این نیز منحصر به فرد است. حتی اگر ما بازده صندوق پستی جاسوسی پیشی گرفته اند, هنوز هم فضاهای برای بهبود کار وجود دارد:

  • بهینه سازی استراتژی: در این مقاله ما از یکی از اساسی ترین استراتژی های معاملاتی بر اساس شاخص ایرون استفاده کرده ایم و این استراتژی می تواند فقط به منظور درک یا کسب شهود در مورد شاخص مورد استفاده قرار گیرد اما انتظار بازده قابل مشاهده در بازار دنیای واقعی امکان پذیر نیست. بنابراین, من به شدت به شما توصیه به کشف دیگر استراتژی های معاملاتی مبتنی بر ایرون پیشرفته مانند استراتژی شکست, جلو و عقب استراتژی, و غیره. به غیر از فقط کشف, پشت استراتژی با عنوان بسیاری از سهام که ممکن است به عنوان نتایج ممکن است از یکی به دیگری متفاوت است.
  • مدیریت ریسک: وقتی صحبت از تجارت یا سرمایه گذاری بلند مدت می شود این موضوع باید مورد توجه قرار گیرد. تا زمانی که شما درک تنگ از این مفهوم را نگه دارید, شما یک لبه قوی در بازار نگه. ما این موضوع را پوشش نمی دهد به عنوان تنها هدف از این مقاله این است که فقط درک و اشفتگی فکری موقتی در مورد ایده اساسی شاخص اما نه به سود. ولی, به شدت توصیه می شود به مطالعه در داخل و خارج در مورد این موضوع قبل از ورود به بازار دیوانه در دنیای واقعی.

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

ثبت دیدگاه

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