برای موفقیت در امور مالی کمّی باید در ریاضیات، برنامهنویسی و تجزیه و تحلیل دادهها خوب باشید. ترید الگوریتمی یا کمّی را میتوان به عنوان فرآیند طراحی و توسعه استراتژیهای معاملاتی آماری و ریاضی تعریف کرد. میتوان گفت که ترید الگوریتمی یک حوزه بسیار پیچیده از امور مالی است.
حال، سوال این است که چگونه ترید الگوریتمی را میتوان شروع کرد؟
من قصد دارم شما را از طریق پنج موضوع ضروری که باید مطالعه کنید تا راه خود را به دنیای جذاب ترید هموار کنید، راهنمایی کنم.
من شخصاً زبان برنامه نویسی پایتون را ترجیح میدهم زیرا درجه مناسبی از سفارشیسازی، سهولت و سرعت توسعه، فریمورکهای مخصوص آزمایش و سرعت اجرا را ارائه میدهد. به همین دلیل، تمام موضوعات این مطلب بر روی ترید الگوریتمی به کمک پایتون متمرکز شده است.
هم رویش منتشر کرده است:
آموزش ساخت اکسپرت بورس با 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) نگاه کنید. اینها نیاز به درک عمیقتری از آمار و ریاضیات دارند.
در اینجا دو کتاب وجود دارد که میتوانید با آنها شروع کنید:
- Quantitative Trading: How to build your own Algorithmic Trading Business —By Dr. Ernest Chan
- Book on Algorithmic Trading and DMA — By Barry Johnson
هم رویش منتشر کرده است:
آموزش اکسپرت نویسی MQL5 پیشرفته ____ بسته کامل
درباره Backtesting بیاموزید
هنگامی که کد استراتژی معاملاتی خود را تمام کردید، نمیتوانید آن را به سادگی در بازار زنده با سرمایه واقعی آزمایش کنید، درست است؟
گام بعدی این است که این استراتژی را در معرض جریانی از دادههای معاملاتی تاریخی قرار دهیم که سیگنالهای ترید تولید میکند.تریدهای انجام شده پس از آن سود یا زیان مرتبط (P&L) را به همراه خواهد داشت و انباشته شدن همه معاملات، کل P&L را به شما میدهد. به این می گویند بک تست.
بک تست نیاز دارد که در بسیاری از زمینهها مانند ریاضیات، آمار، مهندسی نرمافزار و ریزساختار بازار به خوبی تسلط داشته باشید. در اینجا چند مفهوم وجود دارد که باید آنها را یاد بگیرید تا درک مناسبی از بک تست داشته باشید:
- میتوانید با درک شاخصهای فنی شروع کنید. برای استفاده از این اندیکاتورها، پکیج پایتون به نام TA_Lib را جستجو کنید.
- از اندیکاتورهای مومنتوم مانند parabolic SAR استفاده و سعی کنید محاسبه هزینه تراکنش و اسلیپیج را انجام دهید.
- یاد بگیرید که بازده استراتژی تجمعی را ترسیم و عملکرد کلی استراتژی را مطالعه کنید.
- یک مفهوم بسیار مهم که بر عملکرد بک تست تأثیر میگذارد، سوگیری است. شما باید در مورد سوگیری بهینه، سوگیری نگاه به آینده، تحمل روانی و سوگیری بقا یاد بگیرید.
معیارهای عملکرد (Performance Metrics)— نحوه ارزیابی استراتژیهای ترید
برای شما مهم است که بتوانید استراتژی خود را به اختصار توضیح دهید. اگر استراتژی خود را درک نکنید، احتمال تغییر مقررات یا تغییر اساسی وجود دارد و استراتژی شما شروع به رفتار غیرعادی خواهد کرد.
هنگامی که استراتژی را با اطمینان درک کردید، معیارهای عملکرد زیر میتوانند به شما کمک کنند تا بفهمید استراتژی واقعا چقدر خوب یا بد است:
- نسبت شارپ (Sharpe Ratio): به طور اکتشافی نسبت ریسک / پاداش استراتژی را مشخص میکند. این مقدار، میزان بازدهی برای سطح نوسانی که منحنی ارزش سهام متحمل شده است، محاسبه میکند.
- نوسانات(Volatility) : “ریسک” مربوط به استراتژی را کمیت میکند. نسبت شارپ نیز این ویژگی را نشان میدهد. نوسانات بیشتر یک دارایی اساسی، اغلب منجر به ریسک بالاتر در منحنی حقوق صاحبان سهام میشود و در نهایت به نسبتهای شارپ کوچکتر میرسد.
- حداکثر کاهش (Maximum Drawdown) : بزرگترین افت درصدی رو به پایین در منحنی حقوق صاحبان سهام استراتژی. ماکزیمم افتها اغلب در ارتباط با استراتژیهای حرکتی مورد مطالعه قرار میگیرند، زیرا در آنها مشکل ساز میشوند. یاد بگیرید که آن را با استفاده از کتابخانه numpy محاسبه کنید.
- ظرفیت/نقدیت (Capacity/Liquidity) : مقیاس پذیری استراتژی را برای سرمایه بیشتر تعیین میکند. هنگامی که استراتژیها در تخصیص سرمایه افزایش مییابد، بسیاری از صندوقها و شرکتهای مدیریت سرمایهگذاری از این مشکلات ظرفیت رنج می برند.
- CAGR : نرخ متوسط رشد یک استراتژی را در یک دوره زمانی مشخص میکند. به کمک فرمول زیر میتوانید آن را محاسبه کنید:
1-(تعداد روزهای معاملاتی/252) ^ (بازده استراتژی جمعی)
منابع بیشتر
این مقاله به عنوان یک برنامه درسی پیشنهادی برای کمک به شما برای شروع ترید الگوریتمی نوشتهایم. این فهرست خوبی از مفاهیم برای تسلط بیشتر است.
مطالعه مقالههای زیر در این راستا میتواند به شما کمک کند:
-
الگو تریدینگ چیست؟ — چرا Algotrading برای انجام معاملات مناسب است؟
-
بهترین نرم افزار معاملات الگوریتمی ___ نرم افزار معاملات خودکار چیست ؟
-
معامله الگوریتمی چیست ؟ ____ مولفه های اصلی و نمونه هایی از معاملات الگوریتمی
-
مزایا و معایب معامله الگوریتمی — از ربات برای معامله استفاده کنیم؟
کلیدواژگان
معامله الگوریتمی با پایتون | معاملات الگوریتمی با پایتون | شروع معامله الگوریتمی با پایتون | معاملات خودکار و الگوریتمی در پایتون | اکسپرت نویسی با پایتون | ربات ترید با پابتون | ربات معامله گر با پایتون | ترید در پایتون | شروع ترید در پایتون | معامله الگوریتمی در پایتون | شروع معامله الگوریتمی در پایتون
دوره های آموزشی مرتبط
- آموزش ساخت اکسپرت متاتریدر ــ بسته تکمیلی ۲۴۰,۰۰۰ تومان