معامله الگوریتمی ترجمه Algoritmic trading از زبان انگلیسی است. شما ممکن است با عبارتهایی مانند الگوتریدینگ (Algo-trading) یا معامله خودکار (Automated trading) نیز مواجه شوید که همگی یکی هستند.
وقتی شما دستورالعملهای معاملاتی خود (شامل تحلیلها و استراتژیهایتان) را به صورت یک الگوریتم درآورید و با یک زبان برنامهنویسی تبدیل به یک برنامه کامپیوتری کنید و سپس این برنامه را در فضای یک بازار معاملاتی اجرا کنید تا به جای شما بازار را تحلیل و در صورت برآورده شدن شرایط استراتژی به جای شما معامله کند، شما معامله الگوریتمی انجام دادهاید. این برنامه میتواند تحلیلها و ثبت سفارشها را پیدرپی و با سرعت و دقتی انجام دهد که برای انسان ممکن نیست.
دستورالعملهای معاملاتی که در برنامه کامپیوتری قرار میدهید، ممکن است بر اساس زمان، قیمت، حجم یا مدلهای ریاضیاتی باشد.
معاملات الگوریتمی در یک نگاه
معاملات الگوریتمی حوزه برنامه نویسی کامپیوتر را با حوزه بازارهای مالی ترکیب میکنند تا معاملهها در لحظه درست اجرا شوند.
معاملات الگوریتمی تلاش میکنند تا احساسات را حذف کنند، ارسال سفارش و اجرای معامله را بیوقفه و بهینه انجام دهند و کمترین کمیسیونها را بهدست آورند.
از متداولترین استراتژيهای مورد استفاده در معاملات الگوریتمی میتوان به این موارد اشاره کرد: استراتژیهای دنبال کننده روند (Trend-following strategies)، استراتژیهای یافتن فرصتهای آربیتراژ (Arbitrage opportunities)، استراتژیهای یافتن موقعیتهای تعادل مجدد سرمایه در صندوقهای شاخص (Index fund rebalancing)، استراتژیهای یافتن محدوده معامله مانند استراتژی بازگشت میانگین (Mean reversion) و استراتژیهای مبتنی بر مدلهای ریاضی (Mathematical model-based strategies). و البته بسیاری استراتژیهای دیگرمثلا بر پایه حجم یا زمانهای خاص نیز وجود دارند ولی ما از معروفترینها نام بردیم تا شما دید کلی پیدا کنید.
مقاله زیر را هم با این مقاله بخوانید:
مزایا و معایب معاملات الگوریتمی (+)
مثالی از معامله الگوریتمی
فرض کنید یک معاملهگر یا تریدر (Trader) از دستورالعمل معاملاتی زیر به عنوان استراتژی خود در معاملات دستی استفاده میکند:
هر گاه میانگین متحرک (Moving average) با دوره ۵۰ به بالای میانگین متحرک با دوره ۲۰۰ رفت بخر!
هر گاه میانگین متحرک ۵۰ روزه به سطح پایینتر از میانگین متحرک ۲۰۰ روزه رسید سهمها را بفروش!
شما باید برنامهای -به آن ربات معامله یا اکسپرت هم گفته میشود- بسازید که از لحظه اجرا روی چارت لحظه به لحظه مقدار قیمت سهم و اندیکاتورهای موینگ اورج ۵۰ و ۲۰۰ را رصد کند و به محض اینکه شرایط بالا احراز شد، سفارش خرید یا فروش را ارسال کند. به این ترتیب معاملهگر نیازی به پایش لحظه به لحظه ندارد و ربات به جای وی بازار را پایش و سفارشها را ارسال میکند.
این البته یک مثال ساده بود و شرایط بسیاری مانند حد ضرر و سود و زمان بندی ورود و خروج به بازار و مدیریت سرمایه و ریسک نیز میتواند در ربات کدنویسی شود.
آیا معامله الگوریتمی فقط به معنی ربات معاملهگر است؟
خیر! معامله الگوریتمی یعنی هر گونه استفاده از الگوریتمها و تبدیل آنها به برنامه کامپیوتری که مسیر معامله را آسان و سریع کند. برنامههای زیر همگی ممکن است نمونههایی از معامله الگوریتمی هستند:
- رباتهای اجرای معامله خودکار!
- اسکریپتهای مدیریت معاملات! مثل اسکریپتهای بستن سفارشهای کم سود یا اکسپرتهای فیلتر بازار!
- برنامههای ساخت و نمایش اندیکاتورها و اوسیلاتورهای مرسوم یا سفارشی!
- خزندههای جمعآوری دادههای بنیادی (Fundamental) یا جایگزین (Alternative)
- برنامههای پایش حساب معاملاتی! مثل ربات قاصدک (+) که عملکرد رباتها یا معاملهگران دیگر در یک حساب را پایش میکند.
- برنامههای کپی ترید برای معاملهگرانی که به عنوان مدیر حساب چند مشتری فعالیت میکنند.
در مقاله زیر با یک ربات معامله رایگان آشنا شوید:
محبوبترین اکسپرت رایگان متاتریدر (+)
مواد لازم برای شروع معامله الگوریتمی
شما برای ورود به دنیای معامله الگوریتمی به موارد زیر نیاز دارید. توضیحات را با دقت بخوانید و دوره آموزشی زیر را نیز توصیه میکنیم بررسی کنید.
- ابزاری برای تبدیل الگوریتم معاملاتی به برنامه کامپیوتری معاملاتی! این ابزار میتواند یک زبان برنامهنویسی باشد. در این صورت باید برنامهنویسی بیاموزید. مثلاً آموزش زبان MQL5 (+) یا آموزش زبان پایتون (+) را ببینید که از پرکاربردترینها هستند. اگر به برنامهنویسی علاقهمند نیستید، میتوانید سراغ ابزارهای ساخت اکسپرت و ربات معامله بدون کدنویسی بروید. طبیعتاً انعطاف برنامهنویسی را ندارند اما در بسیاری موارد واقعاً مفید هستند. این مقاله بهترین ابزارهای ساخت اکسپرت بدون کدنویسی (+) را مطالعه کنید. البته این امکان هم هست که سفارش ساخت برنامه خود را به متخصصان دیگر بدهید. کافی است عبارتی مثل «سفارش اکسپرت» یا «سفارش ساخت ربات معامله» را در گوگل جستجو کنید.
- نرمافزاری برای بک تست (Backtest) برنامه معاملاتی! برای مثال امکان بک تست برنامههای نوشته شده با زبان MQL5 (اکسپرتها) در محیط متاتریدر وجود دارد. توصیه میکنیم، فیلم۱ دقیقهای شرایط سودآوری ربات معامله (+) را ببینید. این فیلم توسط هوش مصنوعی تولید شده است.
- پس از آنکه یک برنامه معاملاتی بک تست موفق از خود نشان داد، میتوانید برای اجرای آن روی حساب دمو و سپس واقعی اقدام کنید. در این گام به ابزاری برای اجرای برنامهتان در بازار مالی مورد نظر نیاز دارید. کاگزار یا صرافی شما باید یک نرمافزار مثل متاتریدر (برای اجرای برنامههای mql5) یا یک سیستم API ( برای اتصال به پایتون) در اختیار شما قرار دهد که بتوانید برنامه کامپیوتری خود را روی آن اجرا کنید.
- یک کامپیوتر شخصی یا یک سرور اجارهای که برنامه کامپیوتری شما روی آن اجرا و به سیستم کارگزار متصل شود و متصل بماند تا شبانهروز بتواند بازار را رصد کند.
معامله رباتی یا دستی؟
به نظر ما در سودگاه امروزه ترکیب معامله رباتی و دستی مناسب است. شما استراتژی معاملاتی خود را در ربات (برنامه کامپیوتری) قرار دهید اما در آغاز کار به ربات اجازه معامله ندهید. ربات را طوری تنظیم کنید که در لحظههای مناسب سیگنال معامله را برای شما ارسال کند. سپس سیگنالهای ارسالی را بررسی و در صورت صلاحدید سفارش را خودتان دستی ارسال کنید. اگر سیگنال ارسالی مناسب نبود لازم است که استراتژی ربات را بازنویسی و اصلاح کنید. بعد از مدتی که به بازده مناسب رسیدید و متوجه شدید ربات سیگنالهای مناسبی شناسایی میکند، میتواند اجازه معامله اما محدود به آن بدهید. ربات را از نظر لحظه ورود و خروج به بازار و حد سود و زیان محدود و محتاط کنید. در این مرحله لازم است که به صورت دورهای عملکرد آن را پایش و ساختار آن را بازنویسی و اصلاح و بهینه کنید. شاید با عبور از این مرحله به رباتی برسید که میتواند ساعتها و روزها در بازار بماند و خودکار معامله کند. البته حتی در این مرحله هم پایش دورهای ضروری است.
آیا معامله الگوریتمی همان معامله با هوش مصنوعی است؟
خیر! دقت کنید که معامله با هوش مصنوعی زیرمجموعه معامله الگوریتمی است. اگر شما شرایط و خواسته خود را دقیقا در برنامه کامپیوتری بنویسید و از این برنامه برای تسهیل و تسریع معاملات استفاده کنید این معامله الگوریتمی است؛ اما این الگوریتم ابتکار ندارد و دقیقاً دستورات شما را با سرعت و دقت بالا و بدون خستگی اجرا میکند. این نوع معامله الگوریتمی، لزوما هوشمند نیست!
معامله با هوش مصنوعی یعنی شما در کنار الگوریتمهای معاملاتی از الگوریتمهای یادگیری ماشینی (Machine learning) و یادگیری عمیق (Deep learining) هم در برنامه خود استفاده کنید. این دسته از الگوریتمها ابتکار دارند. یعنی شما نیاز نیست که دقیقاً بنویسید که چه کاری انجام دهند، بلکه خودشان با تحلیل مداوم دادههای ورودی به نتیجههای جدید میرسند و کارهای جدید انجام میدهند.
پس دقت کنید که معامله الگوریتمی لزوماً معامله هوشمند نیست!
در این مقاله با تعریف معامله الگوریتمی آشنا شدید. در مقالههای بعد گامهای بعدی را برمیداریم.
کلیدواژگان
معامله الگوریتمی چیست | تعریف معاملات الگوریتمی | معامله رباتی یا دستی؟ | معامله الگوریتمی یا هوشمند؟ | استراتژی های معامله الگوریتمی | مثالی از الگوتریدینگ