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

فهرست مطالب

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

 

 

حال، سوال این است که چگونه ترید الگوریتمی را می­‌توان شروع کرد؟

من قصد دارم شما را از طریق پنج موضوع ضروری که باید مطالعه کنید تا راه خود را به دنیای جذاب ترید هموار کنید، راهنمایی کنم.

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

 

 

هم رویش منتشر کرده است:

آموزش ساخت اکسپرت بورس با MQL5 ____ بسته مقدماتی

 

 

برنامه‌­نویسی با پایتون را یاد بگیرید.

برای داشتن یک حرفه شکوفا در علم داده به طور کلی به اصول اساسی نیاز دارید. هر زبانی را که مد نظر داشته باشید، باید موضوعات خاصی را در آن زبان کاملاً درک کنید.

در اینجا هر چیزی که باید برای تسلط بر اکوسیستم پایتون برای علم داده یاد بگیرید، وجود دارد:

  • راه‌اندازی محیط (Enviroment Setup) :  راه‌­اندازی محیط شامل ایجاد یک محیط مجازی، نصب پکیج­‌های مورد نیاز و کار با نوت‌بوک‌های Jupyter یا Google colab است.
  • ساختارهای داده (Data Structures): برخی از مهم­ترین ساختارهای داده در پایتون لیست‌­ها، دیکشنری­ها، آرایه­‌های NumPy، تاپل­‌ها و ست­‌ها هستند.
  • برنامه ­نویسی شی­گرا (Object-Oriented Programming): به عنوان یک تحلیلگر کمیت، باید مطمئن شوید که در نوشتن کدهای ساختار یافته با کلاس­‌های مناسب مهارت دارید. هنگام استفاده از پکیج­‌های خارجی مانند Pandas ،NumPy ،SciPy و غیره باید یاد بگیرید که از اشیاء و متدهای آنها استفاده کنید.

** مسیر آموزش ساخت اکسپرت متاتریدر از صفر (کلیک کنید (+) )

 

یاد بگیرید چگونه داده­‌های مالی را خرد کنید.

تجزیه و تحلیل داده‌­ها بخش مهمی از امور مالی است. علاوه بر یادگیری نحوه مدیریت دیتافریم با استفاده از Pandas، چند موضوع خاص وجود دارد که باید در هنگام کار با داده­‌های معاملاتی به آنها توجه کنید.

 

نحوه کاوش داده­‌ها با استفاده از Pandas

یکی از مهم­ترین پکیج­‌های موجود در پشته علم داده پایتون، بدون شک Pandas است. شما می­‌توانید تقریباً تمام نیازهای اصلی را با استفاده از توابع تعریف شده در پکیج انجام دهید.

با این کتابخانه می­‌توانید روی ایجاد دیتافریم، فیلتر کردن (loc ،iloc ،query)، آمار توصیفی (خلاصه)، اضافه کردن/ادغام، گروه­بندی و زیرمجموعه‌­ها تمرکز کنید.

** پیش از این آموزش پانداس در هم‌رویش منتشر شد. برای دیدن فیلم معرفی این آموزش بر روی این لینک (+) و یا پخش کننده زیر کلیک کنید:

 

 

برای دریافت بسته کامل آموزش بر روی لینک زیر کلیک کنید:

 

نحوه برخورد با داده­‌های سری زمانی

داده­‌های تریدینگ در مورد تجزیه و تحلیل سری زمانی است. شما باید یاد بگیرید که داده­‌ها را مجدداً نمونه برداری یا فهرست­‌ بندی مجدد کنید تا فرکانس داده­‌ها را از دقیقه به ساعت یا از داده­‌های پایان روز OHLC به داده­‌های پایان هفته تغییر دهید.

برای مثال، می‌توانید سری‌های زمانی ۱ دقیقه‌ای را با استفاده از تابع نمونه‌برداری مجدد (resample) به داده‌های سری زمانی ۳ دقیقه‌ای تبدیل کنید:

 

df_3min = df_1min.resample('3Min', label='left').agg({'OPEN': 'first', 'HIGH': 'max', 'LOW': 'min', 'CLOSE': 'last'})

 

نحوه نوشتن الگوریتم‌­های ترید اساسی

یک حرفه در امور مالی کمّی نیاز به درک کاملی از آزمون فرضیه­‌های آماری و ریاضیات دارد. تسلط خوب بر مفاهیمی مانند حساب دیفرانسیل و انتگرال چند متغیره، جبر خطی، نظریه احتمال به شما کمک می­‌کند که پایه خوبی برای طراحی و نوشتن الگوریتم‌­ها ایجاد کنید.

می‌توانید با محاسبه میانگین‌های متحرک روی داده‌های قیمت‌گذاری سهام، نوشتن استراتژی‌های الگوریتمی ساده مانند کراس میانگین متحرک (moving average cross) یا استراتژی بازگشت میانگین (mean reversion strategy) و یادگیری در مورد معاملات قدرت نسبی شروع کنید.

پس از انجام این جهش کوچک اما قابل توجه در تمرین و درک نحوه عملکرد الگوریتم­‌های آماری پایه، می‌­توانید به حوزه­‌های پیچیده‌­تر تکنیک­‌های یادگیری ماشین (machine learning) نگاه کنید. این­ها نیاز به درک عمیق­‌تری از آمار و ریاضیات دارند.

در اینجا دو کتاب وجود دارد که می‌­توانید با آنها شروع کنید:

 

 

هم رویش منتشر کرده است:

آموزش اکسپرت نویسی MQL5 پیشرفته ____ بسته کامل

 

 

درباره Backtesting بیاموزید

هنگامی که کد استراتژی معاملاتی خود را تمام کردید، نمی‌­توانید آن را به سادگی در بازار زنده با سرمایه واقعی آزمایش کنید، درست است؟

گام بعدی این است که این استراتژی را در معرض جریانی از داده‌های معاملاتی تاریخی قرار دهیم که سیگنال‌های ترید تولید می‌کند.تریدهای انجام شده پس از آن سود یا زیان مرتبط (P&L) را به همراه خواهد داشت و انباشته شدن همه معاملات، کل P&L را به شما می­‌دهد. به این می گویند بک تست.

بک تست نیاز دارد که در بسیاری از زمینه‌­ها مانند ریاضیات، آمار، مهندسی نرم­افزار و ریزساختار بازار به خوبی تسلط داشته باشید. در اینجا چند مفهوم وجود دارد که باید آنها را یاد بگیرید تا درک مناسبی از بک تست داشته باشید:

  • می­‌توانید با درک شاخص­‌های فنی شروع کنید. برای استفاده از این اندیکاتورها، پکیج پایتون به نام TA_Lib را جستجو کنید.
  • از اندیکاتورهای مومنتوم مانند parabolic SAR استفاده و سعی کنید محاسبه هزینه تراکنش و اسلیپیج را انجام دهید.
  • یاد بگیرید که بازده استراتژی تجمعی را ترسیم و عملکرد کلی استراتژی را مطالعه کنید.
  • یک مفهوم بسیار مهم که بر عملکرد بک تست تأثیر می­گذارد، سوگیری است. شما باید در مورد سوگیری بهینه­، سوگیری نگاه به آینده، تحمل روانی و سوگیری بقا یاد بگیرید.

 

معیارهای عملکرد (Performance Metrics)— نحوه ارزیابی استراتژی­‌های ترید

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

هنگامی که استراتژی را با اطمینان درک کردید، معیارهای عملکرد زیر می­‌توانند به شما کمک کنند تا بفهمید استراتژی واقعا چقدر خوب یا بد است:

  • نسبت شارپ (Sharpe Ratio): به طور اکتشافی نسبت ریسک / پاداش استراتژی را مشخص می­‌کند. این مقدار، میزان بازدهی برای سطح نوسانی که منحنی ارزش سهام متحمل شده است، محاسبه می­کند.
  • نوسانات(Volatility) : “ریسک” مربوط به استراتژی را کمیت می­‌کند. نسبت شارپ نیز این ویژگی را نشان می‌­دهد. نوسانات بیشتر یک دارایی اساسی، اغلب منجر به ریسک بالاتر در منحنی حقوق صاحبان سهام می­‌شود و در نهایت به نسبت­‌های شارپ کوچکتر می­‌رسد.
  • حداکثر کاهش (Maximum Drawdown)  : بزرگترین افت درصدی رو به پایین در منحنی حقوق صاحبان سهام استراتژی. ماکزیمم افت‌ها اغلب در ارتباط با استراتژی‌های حرکتی مورد مطالعه قرار می‌گیرند، زیرا در آنها مشکل ساز می­‌شوند. یاد بگیرید که آن را با استفاده از کتابخانه numpy محاسبه کنید.
  • ظرفیت/نقدیت (Capacity/Liquidity)  :  مقیاس­ پذیری استراتژی را برای سرمایه بیشتر تعیین می­‌کند. هنگامی که استراتژی­‌ها در تخصیص سرمایه افزایش می‌­یابد، بسیاری از صندوق­‌ها و شرکت­‌های مدیریت سرمایه‌­گذاری از این مشکلات ظرفیت رنج می برند.
  • CAGR :  نرخ متوسط ​​رشد یک استراتژی را در یک دوره زمانی مشخص می‌کند. به کمک فرمول زیر می­‌توانید آن را محاسبه کنید:
1-(تعداد روزهای معاملاتی/252) ^ (بازده استراتژی جمعی)

 

منابع بیشتر

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

مطالعه مقاله‌های زیر در این راستا می‌تواند به شما کمک کند:

 

کلیدواژگان

معامله الگوریتمی با پایتون | معاملات الگوریتمی با پایتون | شروع معامله الگوریتمی با پایتون | معاملات خودکار و الگوریتمی در پایتون | اکسپرت نویسی با پایتون | ربات ترید با پابتون | ربات معامله گر با پایتون | ترید در پایتون | شروع ترید در پایتون | معامله الگوریتمی در پایتون | شروع معامله الگوریتمی در پایتون

 

دوره های آموزشی مرتبط

نویسنده :

سئو و ویراستاری :

زیبا عامریان هستم فارغ‌التحصیل مهندسی کامپیوتر و متخصص سئو و بازاریابی محتوا. در تیم اجرایی هم‌رویش مدیریت واحد محتوا رو به عهده دارم و امیدوارم که تونسته باشم تاثیر خوبی روی سئو و کیفیت خوانش محتوای هم‌رویش بگذارم.

زیبا عامریان هستم فارغ‌التحصیل مهندسی کامپیوتر و متخصص سئو و بازاریابی محتوا. در تیم اجرایی هم‌رویش مدیریت واحد محتوا رو به عهده دارم و امیدوارم که تونسته باشم تاثیر خوبی روی سئو و کیفیت خوانش محتوای هم‌رویش بگذارم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Search

مطالب مرتبط

دسته بندی مطالب