مدلسازی در ۵گام
به عبارت دقیقتر میتوان پنج زمینه اصلی که میتوان برای قدمگذاشتن در مسیر معاملهگر الگوریتمی شدن برشمرد که این موارد به شرح زیر هستند:
1- اقتصاد کلان
شما باید درک صحیحی از روابط بین بازار و چگونگی تاثیر سیاستهای پولی، نرخهای سود و رشد اقتصادی داشته باشید. آشنایی با مبانی معاملاتی در بازارهای مختلف از سهام، کالا، اوراق و … در هر بازار توسعه یافته یا درحال توسعهای ضروری است. بهخصوص درحالحاضر که بازارها و معاملاتشان کاملا در ارتباط با یکدیگر هستند، فهم درستی از این مسائل جهت تصور و ساخت سیستمهای معاملاتی بسیار اهمیت دارد. نداشتن درک صحیحی از اقتصاد کلان و روابط بین بازارها، دلیل عمدهای است که بسیاری از معاملهگران نوسانگیر، پول خود را در جنگیدن با بازار از دست دادهاند.
2- یک روش معاملاتی
یک معاملهگر نیاز به چارچوبی برای تفکر در مورد حرکات قیمت و فهم جریان مداوم تغییرات قیمت در طول بازارها دارد و چیزی که در ابتدا مهم است، داشتن یک استراتژی معاملاتی است تا نداشتن آن! مثلا استفاده از پرایس اکشن و آشنایی با آن بهعنوان یک روش معاملاتی، بهتر است تا اینکه بدون دانستن حتی یک استراتژی بخواهیم معاملهگر الگوریتمی شویم!
معاملهگران از انواع تئوریهای اساسی و فنی استفاده میکنند. در معاملات الگوریتمی، تئوریهای ریزساختار بازار (theories of market microstructure)، بازارهای حراج دوطرفه(double auction markets)، مالی رفتاری (behavioral finance)، روانشناسی معاملات، الگوهای معاملاتی، پروفایلهای بازار (market profiles)، ارزش نسبی(relative valuation) و … به تنهایی یا با استفاده از سایر روشها استفاده میشوند.
3- رصد کردن (فیلتر کردن و مشاهده)
هوشمندانهترین کاری که من درخصوص یادگیری نحوه معاملات انجام دادهام این بود که برای مدتی طولانی بازارها را قبل از اینکه بخواهم در آنها معاملهای انجام دهم، رصد و تماشا کردم. از اولین ابزارها برای این کار فیلترهایی است که در سایت TSE میتوان نوشت.
من نمودارهای روزانه را جمعآوری میکردم و هر روز بهدنبال بهترین فرصتها برای معامله بودم. در طول زمان، الگوهایی تکراری در میان سهمها مشاهده کردم که اینها برای معاملات بعدی من بسیار ارزشمند بودند. مشاهده نه فقط قیمت، بلکه حجم، رفتار ارکان بازار، اقدامات بین بازاری(inter-market action) و اندازهگیری آنها به شما کمک میکند تا دینامیک شکست مقاومت و حمایت، نقاط بازگشتی بازار و روندها را تشخیص دهید.
4- بهینه بودن برنامه نویسی
با توجه به اینکه فرصتهای مشابه در بازار توسط افراد مختلف جستوجو میشود، روشی که یک الگوریتم یا استراتژی برنامهنویسی و اجرا میشود، بسیار مهم است. بهویژه در مواردی که سود مورد نظر را میتوان از چند تیک معاملاتی زودتر اندازه گرفت، بنابراین زمان و سرعت ارسال سفارشها به بازار بسیار ضروری میشود. کدها باید توانایی کنترل هر نوع شرایط بازار را داشته باشند و مراقب وقایع پرریسک باشند.
در این راستا باید عنوان شود که چنانچه درحالحاضر میخواستم بهعنوان یک تریدر جدید شروع به معامله کنم، قطعا حداقل ۶ ماه زمان برای یادگیری، مشاهده، معاملات صوری و کاغذی و تست قبل از شروع معامله واقعی میگذاشتم. من بر این باور هستم که دلیل اصلی موفق نشدن معاملهگران جدید، اختصاص ندادن زمان لازم برای یادگیری بازارها و مهارتهای موردنیاز است.
5- یادگیری ماشین
یادگیری ماشین مهمترین بخش از لیست مهارتهای مورد نیاز یک تحلیلگر الگوریتمی است. اکثر استراتژیهای تکنیکال، عددی یا بنیادی که در معاملات استفاده میشوند، میتوانند اتوماتیک و بهینه شوند. حال با توجه به این پنجگانههای مهم باید عنوان کرد که سرعت و دقت بیشتر، افزایش امنیت معاملاتی، کنترل ریسک بهتر و کاهش هزینههای معاملاتی و افزایش نقدشوندگی، مهمترین دستاورد استفاده از ابزارهای معاملاتی در بازار سرمایه است. تمامی مواردی که ذکر شد نهایتا منجر به افزایش کیفیت معاملات خواهد شد. بازاری را فرض کنید که بدون دامنه نوسان و هیچ صف فروش و خریدی نخواهید دید! پیشفرض برداشتن دامنه نوسان حجم بالای معاملات است که یکی از قویترین ابزارهای آن در دنیا معاملات الگوریتمی است.
ماموریت برای جلوگیری از رشد بازار سرمایه
این درحالی است که نهاد ناظر سازمان بورس اوراق بهادار عمدتا بهدلیل عدم شناخت عمیق و کافی روی این نوع معاملات (معاملات الگوریتمی)، تصمیم به توقف معاملات الگوریتمی در مهرماه سال 1399 گرفت. اما این توقف ۶ ماهه فرصتی شد تا با جلسات و مذاکرات متعدد با شرکت عرضهکننده سامانههای معاملات الگوریتمی، دانش این تکنولوژی در نهاد ناظر رشد کند و همچنین پنلهای نظارتی جدیدی طراحی شد و در اختیار سازمان قرار گرفت و پس از اطمینان از موثر بودن این ابزار در بازار سرمایه تصمیم به رفع محدودیتها گرفته شد.
همکاری نهادهای ناظر در این خصوص به شکل خوبی در این مدت بوده است اما متاسفانه هزینههای سرمایهای و زمان گرفتن مجوزها به شدت بالا هستند و نهاد ناظر واقعا به مدل درآمدی شرکتها توجهی ندارد! این را در کنار هزینههای گزاف سختافزاری و اجرایی این تکنولوژی در بازار بگذارید. از طرفی شفافیت، تمرکز و هماهنگی نهادی لازم برای ایجاد و بهرهبرداری مطلوب از بازارهای فرامرزی وجود ندارد. ما پلتفرمی ایجاد کردیم که میتوانیم به دنیا آن را عرضه کنیم و توان رقابتی از جنس تکنولوژی با دنیا را داریم اما زیرساختهای قانونی آن را متاسفانه خیر!
معتقدم بسیاری از اوقات در جلسات افراد متوجه مزایای الگوریتمها میشوند، ولی حاضر به استفاده نیستند! واقعیت این است این همه مقاومت در برابر تغییر مرا به فکر فرو میبرد! بعضیوقتها واقعا شک میکنم که انگار یک عده مامورند نگذارند بازار سرمایه رشد کند! شاید این تکنولوژی اولین دستاوردش شفافیت بیشتر (بهخاطر عمق بیشتر بازار) است و عدهای این شفافیت را دوست ندارند!
در راستای موفقیت در این زمینه باید به موارد زیر توجه کامل داشت:
* سادگی را حفظ کنید! سیستمهای معاملاتی بسیار پیچیده، معمولا عملکرد خوبی روی دادههای گذشته دارند، اما توانایی سازگاری با وضعیتهای جدید بازار را ندارند.
* شاید درست بهنظر نرسد اما بسیاری افراد آنقدر سیستمهایشان را توسعه میدهند تا اینکه تبدیل به یک سیستم پیچیده میشود که در نهایت، استراتژی مبنایی سیستم را فراموش میکنند.
* همیشه تست انجام دهید تا اینکه سیستمتان عملکرد خوبی با استفاده از دادههای گذشته داشته باشد. بعد از آن معامله روی کاغذ (معامله بهصورت مجازی) انجام دهید تا مطمئن شوید که سیستمتان با دادههای فعلی نیز عملکرد خوبی دارد.
* بازار دو حالت دارد: روند دار و بدون روند! کمتر سیستم معاملاتی است که در هر دو وضعیت بازار، بتواند خوب عمل کند. مطمئن شوید که تنها در بازاری معامله میکنید که سیستم شما توانایی موفقیت دارد.
* در هر زمان، یک تغییر در سیستم ایجاد کنید تا بتوانید دقیقا مشخص کنید که کدام جنبه سیستم باعث بهبود بازدهی شما میشود و کدام یک آسیب میرساند.
* از درک استراتژی زیربنایی سیستم معاملاتی تان اطمینان داشته باشید!
* هرگز بیش از حد بهینهسازی نکنید!
* بهینهسازی بیش از حد میتواند منجر به چیزی به نام برازش منحنی (curve fitting) شود که باعث کاهش کارآیی و توانایی سازگاری سیستم معاملاتیتان میشود.