ظهور فناوریهای کامپیوتری تغییرات عمدهای را در تمامی بخشهای زندگی بشری ایجاد کرده است. بازارهای مالی به سرعت با این تغییرات سازگار شده و نوع معاملات از حالت دستی و مستقیم به حالت آنلاین و برخط تبدیل شدند. این پیشرفتها باعث شد تا معاملهگران از ابزارها و روشهای نوینی متناسب با فناوری جدید استفاده کنند.
در ایران، سامانه معاملات الگوریتمی برخط در سال ۱۳۸۹ راهاندازی شد و در ابتدا با مقاومت معاملهگران رو به رو شد. با وجود مقاومت معاملهگران امکانات فراهم شده توسط فناوری جدید به قدری جذاب بود که امروزه بخش زیادی از معاملات به صورت برخط انجام میشود.
نمودار زیر افزایش سهم معاملات برخط و غیر برخط در بازار ایران را به مرور زمان نمایش میدهد:
فناوری جدید، امکان رصد دقیقتر بازار را فراهم کرد تا معاملهگران به صورت هوشمندتر و با کمک کامپیوتر اقدام به معامله نمایند. این رویکرد جدید، منجر به ظهور نسل جدیدی از معاملهگران با عنوان رباتهای معاملهگر شد که با استفاده از دستورالعملهای از پیش تعیین شده به رصد بازار و خرید و فروش سهم می پردازند. این دستورالعملهای از پیش تعیین شده را الگوریتم و معاملاتی که از طریق الگوریتم صورت میگیرند را معاملات الگوریتمی مینامند.
معاملات الگوریتمی با توجه به قدرت پردازش بالای کامپیوترها، میتوانند حجم عظیمی از دادهها را پردازش نموده و با استفاده از مدلسازی ریاضی اقدام به یافتن الگوها می نمایند. امروزه بیش از ۸۰ درصد حجم معاملات دنیا توسط الگوریتمها صورت میگیرد.
مزایای معاملات الگوریتمی که باعث فراگیر شدن این فناوری شده است
- افزایش دقت و سرعت عمل
- کاهش خطاهای انسانی (جلوگیری از معاملات احساسی و واکنشهای هیجانی)
- کاهش هزینهها (با توجه به مقیاس پذیری نرم افزارها)
- امکان تست الگوریتمها بر اساس دادههای پیشین بازار
- توانایی در نظر گرفتن شرایط زیادی که در قابلیت انسانی نیست
- قابلیت اقدامات سریع و واکنش آنی
- قابلیت بررسی عملکرد به طور دقیق و شفاف و بدون جانبداری
در دهههای اخیر همزمان با فراگیر شدن استفاده از معاملات الگوریتمی، شاهد افزایش نقدشوندگی در بازارهای جهانی هستیم و این موضوع این سؤال را مطرح میکند که آیا ارتباطی بین این دو روند وجود دارد؟
علیرغم مزایای زیاد استفاده از معاملات الگوریتمی، این فناوری در ایران با مخالفتهای زیادی مواجه شد و حتی هنگام اصلاح شدید بازار یکی از اولین مواردی که در دوم مهر ماه ۱۳۹۹ کنار گذاشته شد، معاملات الگوریتمی بود.
این محدودیت هشت ماه ادامه یافت و بازار سرمایه در حالی که از کاهش نقدینگی رنج میبرد، از یکی از مجاری نقدینگی خود محروم شد. علی رغم افزایش تعداد کدهای بورسی و رونق بورس در اوایل سال ۱۳۹۹ از تیر ماه شاهد کاهش قابل تامل حجم معاملات در بازار بودیم.
انواع استراتژیهای موجود در معاملات
انواع استراتژیهای موجود در معاملات را میتوان به چهار دسته کلی زیر تقسیم نمود:
استراتژیهای بازارگردانی
این دسته از استراتژیها میخواهند با ارسال سفارشات محدود، از تفاضل سفارش خرید (Bid) و سفارش فروش (Ask) دامنه (اسپرد) بهره ببرند. در حالت کلی دو نوع مدل برای بازارگردانی وجود دارد:
مدلهای مبتنی بر انباره با مدیریت کارای انباره سر و کار دارند در حالی که مدلهای مبتنی بر اطلاعات بر کسب داده از سایر بازیگران بازار تمرکز دارند.
استراتژیهای آربیتراژی
استراتژیهای موجود در این دسته سعی دارند تا از اختلاف قیمت بین دو شی در بازار سود ببرند مثلا اختلاف قیمت دو سهم یا دو قرارداد، اختلاف قیمت یک سهم در دو بازار مختلف و غیره.
استراتژیهای مبتنی بر ساختار بازار
این استراتژیها سعی میکنند تا از ضعف و ناکارآمدیهای بازار استفاده کنند. به عنوان مثال ممکن است با توجه به نقاط ضعف موجود در بازار، برخی کاربران بتوانند از یک سری اطلاعات پنهان که در اختیار تمام کاربران قرار ندارند سود ببرند. به عنوان مثال در الگوریتمهای flash orders، برخی معاملهگران از پیش از سفارشهای بزرگی که قرار است ارسال شوند اطلاع دارند.
استراتژیهای روندی (Directional)
استراتژیهای مومنتوم یا روندی از پیشبینی حرکت بازار و برای کسب سود در معاملات بهره میبرند. این استراتژیهامیتوانند از اخبار، اندیکاتورها و غیره برای پیشبینی و سودسازی استفاده کنند. همچنان که پیشتر اشاره شد، استراتژیهای بازارگردانی دستهای از استراتژیهای مورد استفاده در معاملات الگوریتمی هستند. در راهنمای بازار نزدک آمده است که دو نهاد از طریق نزدک معامله میکنند: بازارگردانها و شرکتهای ثبت سفارش (کارگزاریها و سامانههای معاملاتی).
فرآیند توسعه یک الگوریتم معاملاتی
یک الگوریتم معاملاتی میتواند بدون اینکه نیاز به همکاری انسان داشته باشد، معاملات را انجام دهد. بدین منظور باید فرآیند تصمیمگیری به صورت دقیق برای آن تعریف شود. هر معاملهگری برای خرید یا فروش سهام باید دلایل ورود و خروج خود را به درستی تعیین کند و این یکی از بزرگترین نقاط تمایز الگوریتمها و انسانها در انجام معامله است، چرا که بارها اتفاق افتاده معاملهای که در سود هستیم را از ترس از دست دادن سود به سرعت بستهایم و معاملهای که در ضرر است و این ضرر مدام در حال زیاد شدن است را به امید به سود رسیدن معامله باز نگه داشتهایم. تعیین استراتژی ورود و خروج دقیق و تعریف آن به الگوریتم یکی از ملزومات معاملات خودکار است. در ادامه موارد حیاتی برای توسعه یک معامله الگوریتمی را بیان میکنیم.
پایش مداوم الگوریتمها و بک تستگیری
یکی از مواردی که در طراحی الگوریتمها باید در نظر گرفت این است که رفتار بازار و سهم با توجه به حضور سهامداران مختلف در بازار همواره در تغییر است و برای همگام بودن با این تغییرات، عملکرد الگوریتمهای موجود باید به طور مداوم مورد بازنگری قرار بگیرند.
اولین نکتهای که در رتبهبندی الگوریتمهای معاملاتی باید در نظر گرفت، این است که الگوریتم بر مبنای استراتژی مدنظر خالق آن کار میکند، بنابراین برای موفق بودن الگوریتم در ابتدا باید استراتژی را به درستی طراحی کرد. در چارت زیر نکاتی که باید در طراحی یک استراتژی در نظر بگیرد، ذکر شده است.
محرکهای اقتصاد کلان
محرکهای اقتصاد کلان تأثیر سیاستهای پولی بر بازارهای مختلف، اثر بازارهای مختلف بر بازار سرمایه، پیگیری شاخصهای مختلف اقتصادی و مدیریتی در کشورهای مختلف و پیشبینیها از تغییرات آنها میباشند.
آشنایی با ابزارهای مختلف مالی
در بازار سرمایه به جز معاملات نقدی سهام، ابزارهای مختلفی نظیر اوراق بدهی، ابزار مشتقه و معاملات آتی وجود دارند که میتوانند در پیشبینی تغییرات قیمتی در بازار نقدی و نیز برای پوشش ریسک سبد معاملهگر استفاده شوند.
بهینهسازی پارامترها با استفاده از یادگیری ماشین
رفتار سهمهای مختلف متفاوت است و مواردی نظیر ارزش بازار، صنعتی که سهم در آن فعال است و غیره بر رفتار سهم تأثیر دارند. از این رو برای معامله روی سهم باید پارامترها را متناسب با سهم مورد نظر بهینه کرد. بدین منظور میتوان از روشهای نوین یادگیری ماشین و هوش مصنوعی بهره برد. روشهایی نظیر یادگیری تقویتی که ماشین با توجه به نتیجه تصمیمگیریهایش، عملکرد خود را بهبود میدهد نمونهای از این روشها است.
محاسبه هزینه انجام معاملات
کارمزد کارگزاریها، لغزش قیمت (تفاضل قیمت از زمانی که معاملهگر تصمیم به معامله میگیرد و زمانی که معامله انجام میشود)، اثر بازار و فاکتورهای مختلف دیگری که در هزینه نهایی معامله تأثیر دارند، باید به طور دقیق و مداوم در الگوریتم محاسبه شوند و در صورت سودآور بودن موقعیت از آن استفاده شود.