در سالهای اخیر، گسترش زبانهای برنامهنویسی مانند پایتون و پیشرفت روشهای مهندسی داده، محبوبیت و قابلیت دسترسی به روشهای معاملات الگوریتمی را در موسسات مالی افزایش داده است.
در این مقاله به معرفی انواع مختلف معاملات الگوریتمی در دنیا پرداخته خواهد شد. شناخت این الگوریتمها به درک بهتر کاربردهای مختلف معاملات الگوریتمی کمک خواهد کرد.
انواع معاملات الگوریتمی
در زیر به سه نوع از معاملات الگوریتمی اشاره کردهایم:
الگوریتمهای اجرای معاملات (Trade Execution Algorithms)
این الگوریتمها تاثیرات خرید یا فروش را در بازار به کمترین حد ممکن خود میرسانند. معمولا این الگوریتمها زمانی اهمیت پیدا میکنند که حجم معاملات بسیار بالا باشد.
در این مقاله لیستی از الگوریتمهای اصلی و پرکاربرد اجرای معاملات آورده شده است. اکثر این الگوریتمها بر پایه عدم تاثیر سفارشات بزرگ روی بازار طراحی شدهاند. در حقیقت، این الگوریتمها سفارشات بزرگ را به قسمتهای کوچکتر تقسیم میکنند و با یک روش مشخص و سرعت تعریف شده آنها را به تابلو معاملات ارسال میکنند.
این دستهبندی اولین کاربرد معاملات الگوریتمی در جهان است. این الگوریتمها در ابتدا بیشتر توسط حقوقیهای بزرگ و سهامداران عمده در بازار برای فروش، مورد استفاده قرار گرفت. بازیگران اصلی، سعی بر خریدوفروش تعداد ورقه سهام زیاد در مدتزمان طولانی و عدم تاثیر در بازار دارند.
مزیت اصلی این روشها اجرای با کیفیت معاملات با کمترین تاثیر در بازار است و سرعت معاملات اهمیت ناچیزی دارد؛ این در حالی است که اولویت اول معاملهگران، سرعت معاملات و اجرای سریع سفارشات است.
انواع الگوریتمهای اجرای معاملات به شرح زیر است:
میانگین موزون حجم قیمت (VWAP)
این الگوریتم، از قدیمیترین و پرکاربردترین الگوریتمهای هوشمند اجرای معاملات است که اغلب بهعنوان حالت پایه برای اجرای سفارشات معاملات استفاده میشود.
این الگوریتم تعداد زیادی پارامتر ورودی دارد که برای انجام وظایف مختلف طراحی شدهاند. الگوریتم میانگین موزون حجم قیمت از دادههای فعلی و گذشته حجم معاملات، بهعنوان شاخصی برای تعیین نحوه تقسیم کردن سفارشهای بزرگ در طول زمان استفاده میکند. نقدشوندگی معاملات، تاثیر بسزایی در تصمیمگیری آن دارد.
در حقیقت معاملهگر مشخص میکند که در یک دوره زمانی خاص، این الگوریتم چند درصد حجم معاملات سهم را خریداری کند. با این الگوریتم سفارشهای متعدد و زیادی در طول دوره زمانی به بازار ارسال میشود و اجرای دستی آن عملا غیر ممکن است.
یکی از اصلیترین کاربردهای الگوریتم میانگین موزون حجم قیمت، در معاملات بلوکی است. تجزیه کردن سفارشات بزرگ به تعداد زیادی سفارش کوچک، ریسک اثر کاهش قیمت در فروش و افزایش قیمت در خرید را کاهش میدهد.
این استراتژی ابتدا بازه زمانی مورد نظر معاملهگر را بهعنوان ورودی دریافت میکند. سپس آن را به قسمتهای کوچکتر تقسیم و سعی بر پیشبینی حجم معاملات در هر قسمت میکند. با توجه به حجم پیشبینی شده در بازه زمانی در حال معامله، حجم و تعداد سفارشات را محاسبه و به بازار ارسال میکند.
میانگین موزون زمان قیمت (TWAP)
این الگوریتم سفارش اصلی را در بازه زمانی مورد نظر معاملهگر به سفارشات کوچکتر تقسیم میکند. یکی از سادهترین مثالها این است که معاملهگر به دلیل تسویه اعتبار کارگزاری، قصد دارد که تا سه روز دیگر بخشی از سهام خود را نقد کند، که ممکن است در آن روز بازار منفی باشد و معاملهگر زیان زیادی متحمل شود.
راهحل دوم این است که از این الگوریتم استفاده کند. الگوریتم طی سه روز کاری و در قیمتها و زمانهای متفاوت اقدام به فروش تدریجی سهم میکند. این کار علاوه بر اینکه هزینه تاثیر در بازار را کاهش میدهد، مانع افشای خریدوفروشهای پرحجم خواهد شد. همچنین معاملهگر در قیمت مناسب و بهتدریج اقدام به فروش خواهد کرد.
در الگوریتمهای پیچیدهتر حتی زمان بهصورت تابعی از یک موج حرکتی قیمت تعریف میشود. میتوان از تحلیلهای زمانی نیر در این الگوریتم بهره برد؛ بهعنوان مثال در هدف زمانی مشخص، سهام موجود در پورتفو خود را به صفر برساند.
درصد حجمی (POV)
این الگوریتم با توجه به حجم معاملات سهم اقدام به معامله میکند. فرض کنید معاملهگری پس از تحلیلهای متعدد تصمیم دارد ده میلیون برگه سهم از شرکت ایران خودرو خریداری کند. این در حالی است که او قصد دارد زمانی خرید خود را انجام دهد که سهم روند صعودی خود را آغاز کرده باشد. در واقع روزی که خودرو، پنجاه میلیون برگه سهم معامله کرده و آماده حرکت صعودی میشود قصد ورود به سهم را دارد تا خواب سرمایه به حداقل ممکن برسد.
راهحل اول این است که معاملهگر مداوم بازار را پایش کند و در صورت مشاهده حرکت سهم اقدام به خرید کند. برای این منظور میتواند تعداد 100 سفارش 100 هزارتایی، به بازار ارسال کند. واضح است ارسال این تعداد سفارش زمانبر و خستهکننده است و علاوه بر آن منجر به افزایش قیمت معاملات و در نتیجه افزایش هزینه تاثیر بر بازار میشود.
راهحل جایگزین استفاده از الگوریتم درصد حجمی است. این الگوریتم با توجه به حجم معاملات، اقدام به خرید تدریجی سهم در قیمتهای متفاوت میکند. در واقع این الگوریتم درصدی از حجم سهم را برای معاملهگر، معامله میکند.
اگر درصد ورودی ده درصد تنظیم شود بدین معنا است که الگوریتم با هر معاملهای در بازار به مقدار ده درصد حجم معامله، سفارش را ارسال میکند.
اگر سهم در محدوده صفر تابلو حجم کمی معامله شود و سپس به سمت صف فروش رفته و در صف حجم بالایی معامله صورت گیرد، الگوریتم نیز مطابق بازار و با میانگین قیمت بازار خرید خود را انجام میدهد.
بهعبارت سادهتر، در این الگوریتم میانگین قیمت خرید یا فروش معاملهگر همواره به قیمت پایانی، بسیار نزدیک است.
همراه بازار (FTM)
این الگوریتم بخشی از سفارش معاملهگر را انجام و بخشی را به همراه بازار بهصورت تصادفی اجرا میکند. بهعنوان مثال، سی درصد حجم سفارش را در لحظه ارسال انجام و هفتاد درصد مابقی را به همراه بازار حرکت میکند و در زمانها و قیمتهای متفاوت اقدام به معامله میکند.
در حقیقت، با جابجا شدن سفارشات خریدوفروش، الگوریتم نیز سفارشهای معاملهگر را جابجا میکند تا بتواند در قیمتهای مناسبی خرید انجام دهد.
محاسبه نقدشوندگی (SFL)
این الگوریتم، نقدشوندگی یک سهم خاص را محاسبه و در محاسبه حجم خرید یا فروش سهم به معاملهگر کمک میکند. به این صورت که در ابتدا چندین سفارش کوچک با قیمتهای متفاوت به بازار ارسال میکند و پاسخ را دریافت و مورد تجزیهوتحلیل قرار میدهد.
نسبت به پاسخ دریافتی به معاملهگر میگوید که در حال حاضر توانایی خرید بازار روی این سهم، به٬عنوان مثال ده میلیون سهم است.
معکوس (RA)
معاملهگران زیادی هستند که بهدلیل عدم توانایی ایجاد یک سیستم معاملاتی که بتواند در بلندمدت سود کند، بهدنبال سیستمهایی میگردند که در بلندمدت ضررده باشند.
سپس سعی در معکوس کردن منطق الگوریتم میکنند و بر طبق آن معامله میکنند.
بهعبارت سادهتر، هر معاملهای که سیستم معاملاتی پیشنهاد خرید داد را میفروشند و بالعکس، معاملهای که سیستم پیشنهاد فروش داد را میخرند.
متوالی (SA)
این الگوریتمها مجموعه قوانینی هستند که بهصورت متوالی اجرا میشوند. اجرای متوالی این الگوریتمها بار پردازشی را بسیار کاهش میدهد. بهطور مثال، ابتدا الگوریتم چک میکند که حجم معامله در سهم خاور به ده میلیون برسد، سپس شروع به فروش از سهم خودرو خواهد کرد.
ترتیب و توالی در درجه اول اهمیت در این نوع الگوریتم است.
چرخهای (ITA)
این الگوریتمها از ساختارهای تکراری مانند “اگر…آنگاه”، “انجام بده در صورتی که…” پیروی میکنند و این کار را بارها تکرار میکنند. بهعنوان مثال، معاملهگری قصد دارد هر بار که خودرو به قیمت ۳۵۰ تومان رسید، شروع به خرید کند و تا ۱۰ میلیون سهم زیر این قیمت خرید کند و مجدد با نزدیک شدن قیمت به 385 تومان شروع به فروش کند. این کار میتواند توسط این الگوریتم بارها تکرار شود.
همبستگی (CA)
این الگوریتم همبستگی بین سهام مختلف را بررسی میکند و سهامی که ارتباط قوی و همبستگی شدید بین جابجایی قیمتشان وجود دارد را مییابند. سعی الگوریتم بر این است که در مواقعی که هرگونه انحرافی از مدل همبستگی بین این دو سهم ایجاد میشود، وارد عمل شود و از این اختلاف کسب سود کند. وبسایت www.impactopia.com اطلاعات مفیدی را برای استفاده در بخش معاملات جفت و سهام همبسته دارد و همچنین رابطه توپولوژی بین سهام تحقیق شده توسط پروفسور واندوال در دانشگاه لیگ را نشان میدهد.

الگوریتمهای سیگنال یاب (Strategy Implementation Algorithms)
این الگوریتمها اطلاعات بازار را اسکن میکنند و بهصورت لحظهای در حال محاسبه شاخصهایی برای ارائه سیگنال خرید یا فروش هستند. برای معامله سیگنال این الگوریتمها، از الگوریتم اجرای معاملات استفاده میشود.
معاملات فرکانس بالا (High Frequency Trading)
این معاملات بهعنوان زیرمجموعهای از معاملات الگوریتمی تعریف میشود که تعداد زیادی از سفارشات را در کسری از ثانیه ارسال میکنند.
معاملات الگوریتمی و معاملات با فرکانس بالا از این جهت شبیه یکدیگر هستند که هر دو آنها از سیستم های رایانهای جهت ایجاد تصمیمات معاملاتی بهره میگیرند.
اما آنها از این نظر تفاوت دارند که معاملات الگوریتمی ممکن است دارای دوره های نگهداری چند دقیقه، چند روز، چند هفته یا مدت طولانیتر باشد. در حالی که معاملات با فرکانس بالا دارای دورههای زمانی بسیار کوتاهمدت هستند.
انواع این معاملات از یک نگاه به سه دسته زیر تقسیم میشوند:
بازارگردانی (EMMA)
این الگوریتمها نقش بازارگردانان و بازارسازان سنتی را بهطور موثرتری اجرا میکند. در واقع بر اساس شرایط خاصی سفارشات خریدوفروش توسط الگوریتم تولید و به بازار ارسال میشود.
هدف برخی از این الگوریتمها افزایش نقدشوندگی سهم و برخی دیگر کسب سود از فاصله قیمتی بهترین مظنه خریدوفروش بازار است.
یک بازارگردان خودکار رسمی، مانند روشها سنتی متعهد است تا بازاری منصفانه و مستمر برای سهم ایجاد کرده، در زمان نیاز، نقدشوندگی در بازار ایجاد کند و قیمتهای خریدوفروش را برای سهمهای متعهد شده در برخی مواقع، وارد بازار کند.
آربیتراژ آماری (SAA)
این الگوریتمها روابط یا همبستگیهای بین سهام را جستجو میکنند و بهمحض عدم تعادل در این روابط وارد معامله میشوند و از اختلافات موجود در بازار کسب سود میکنند. این استراتژی لزوما بهدنبال بستن تمام موقعیت در انتهای روز بهمنظور ممانعت از ریسک روز بعدی معاملاتی نیستند٬ زیرا بر اساس پیشبینیهای مدلهای خاص٬ بهدنبال کسب سود از بازار هستند.
شناسایی حجم (LDA)
این الگوریتمها با ارسال مکرر سفارشات کوچک در قیمتهای متفاوت بازار سعی در شناسایی سفارشات مخفی در بازار میکنند.
سخن پایانی
هر یک از الگوریتمهای معاملاتی دارای کارکرد و اهداف خاصی هستند که موجب تسهیل فرایند اجرای معاملات میشوند. شما میتوانید با بررسی هر یک از آنها، گزینه مناسب را انتخاب و از آن بهره ببرید.