معاملات الگوریتمی چیست؟
در اینجا قصد داریم معامله الگوریتمی را برای شما شرح دهیم. ما می توانیم این عبارت را به دو کلمه “معامله” و “الگوریتم” تجزیه کنیم. همانگونه که می دانید واژه معامله شامل خرید و فروش هر نوع دارایی می باشد. همچنین منظور از الگوریتم، مجموعه ای از عملیات است که بصورت گام به گام و شفاف تعریف شده است تا آن عملیات به همان ترتیب تعریف شده اجرا شوند.
برای مثال فرض کنید شما می خواهید از یک بطری، آب بنوشید. الگوریتم یا مجموعه عملیات برای این کار برابر خواهد بود با: برداشتن بطری آب، باز کردن درب بطری، نوشیدن آب، بستن درب بطری و قرار دادن بطری در محل مناسب. در سیستم کامپیوتری نیز زمانیکه شما می خواهید یک دستگاه برای شما وظیفه مشخصی را انجام دهد آن وظیفه را به وضوح و گام به گام برای دستگاه شرح می دهید. به این پروسه، برنامه نویسی کامپیوتر می گویند.
تقریبا همه ما می دانیم قبل از اینکه معاملات الکترونیکی روی کار بیایند معاملات سهام بصورت کاغذی انجام می شدند. در گذشته، اوراق سهام بصورت کاغذی بودند و افراد جهت خرید و فروش بایستی آنها را ارائه می کردند. سپس به مرور زمان معاملات الکترونیکی جایگزین معاملات کاغذی شدند. این موضوع، موجب افزایش نوسانات قیمت سهام شد. زیرا فرآیند معامله بسیار سریع تر شده بود.
با توسعه تکنولوژی، معامله الگوریتمی نیز وارد جریان معاملات شد و شما می توانید با نوشتن یک الگوریتم به کامپیوتر خود بگویید که در صورت برآورده شدن یک شرایط خاص در بازار، برای شما خرید یا فروش انجام دهد. این الگوریتم های برنامه ریزی شده می توانند با سرعت و تکرار بالایی معاملات را انجام دهند بگونه ای که انجام چنین معاملاتی توسط انسان مقدور نیست. این عملیات می تواند نیمه اتومانیک یا کاملا اتوماتیک باشد و به این خاطر است که معاملات الگوریتمی و معاملات اتوماتیک با یک معنی بکار می روند. اما آنها لزوما مانند هم نیستند. در ادامه درباره تفاوت این دو صحبت خواهیم کرد.
تفاوت معاملات الگوریتمی با معاملات اتوماتیک چیست؟
معاملات اتوماتیک معمولا با معاملات الگوریتمی اشتباه گرفته می شود. معاملات اتوماتیک یک خودکار سازی کامل فرآیند معامله می باشد. در اینجا تصمیمات خرید و فروش توسط برنامه های کامپیوتری انجام می شود. این بدین معناست که سفارش ها بصورت اتوماتیک ایجاد می شوند و در بازار ثبت و اجرا می گردند. معمولا هج فاندها از الگوریتم های اختصاصی بهره می برند. زیرا دسترسی آنها به بازار بصورت مستقیم است.
“معاملات مکرر” زیر مجموعه ای از معاملات اتوماتیک می باشد. تکنولوژی این امکان را فراهم آورده که در چند ثانیه می توان تعداد بسیار زیادی سفارش را اجرا کرد. این معاملات می توانند حتی در کمتر از یک ثانیه انجام شوند. شرکتهایی که از معاملات مکرر استفاده می کنند سعی داراند که با انجام حجم عظیمی از معاملات، کسب سود کنند. مطمئنا سرعت اجرای سفارشات، یک مزیت است و در “معاملات مکرر” زمان اجرای سفارشات کاهش می یابد.
بطور خلاصه، معاملات الگوریتمی، یک پروسه اجرای سفارش است که بر پایه الگوریتم نوشته شده انجام می شود. معاملات اتوماتیک نیز همین کار را انجام می دهند و معاملات مکرر نوعی از معاملات اتوماتیک بسیار سریع هستند.
سیستم های معاملات الگوریتمی هوشمند
سیستم های معاملات الگوریتمی می تواند با استفاده از یک ساختار چهار بخشی، بهتر درک شود. این چهار بخش شامل داده ها، استراتژی، اجرا و نظارت می باشد. در زیر، هر بخش را بصورت مجزا شرح داده ایم:
1- داده ها
سیستم های معامله الگوریتمی می توانند از داده های ساختار یافته، ساختار نیافته و یا ترکیبی از هر دو نوع استفاده کنند. داده ای ساختار یافته می باشد که بر اساس یک نظم از پیش تعیین شده مرتب شده باشد. این می تواند شامل صفحه گسترده ها مانند فایل های CSV، JSON، XML و پایگاه داده باشد. معمولا داده های مربوط به بازار مانند قیمتهای طی روز، پایان روز و حجم معاملات بصورت ساختار یافته در دسترس می باشند. همچنین داده های اقتصادی و داده های مالی شرکتها معمولا بصورت ساختار یافته در دسترس هستند.
داده ای ساختار نیافته محسوب می شود که بر اساس هیچ نظم از پیش تعیین شده ای مرتب نشده باشد. از داده های ساختار نیافته می توان به اخبار، رسانه ها، ویدیو و فایل های صوتی اشاره کرد. پردازش این نوع داده ها ذاتا پیچیده است و نیازمند تحلیل و کاوش می باشد. استفاده عمومی اخبار و داده ها از شبکه های اجتماعی مانند توییتر و فیس بوک برای معامله، به ابزارهای قدرتمندتر این امکان را فراهم آورده تا داده های ساختار نیافته را قابل درک کنند. بسیاری از این ابزارها از هوش مصنوعی و بخصوص شبکه های عصبی بهره می گیرند.
2- مدل
یک مدل مالی معمولا چگونگی اعتقاد یک سیستم معاملات الگوریتمی نسبت به کارکرد بازار را نشان می دهد. هدف نهایی هر مدل استنتاج کردن از بازار با استفاده از قوانین خودش است. مهم ترین چیزی که در اینجا باید به خاطر بسپارید نقل و قولی از جورج باکس یکی از نابغه های علم آمار در قرن 20 است که می گوید: “همه مدل ها اشتباه هستند، اما برخی از آنها مفیدند”.
مدل ها می توانند با استفاده از روش ها و تکنیک های مختلفی ایجاد شوند. اما آنها اساسا یک کار را انجام می دهند. کار آنها تقلیل پیچیدگی سیستم به یکسری از قوانین قابل ردیابی و اندازه گیری است که رفتار سیستم را در سناریوهای مختلف شرح می دهد. برخی رویکردها شامل مدل های ریاضی، سیستم های منطق فازی و نمادین، درخت تصمیم گیری، قوانین قیاسی و شبکه های عصبی می باشد.
مدل های ریاضی
استفاده از مدل های ریاضی جهت تشریح رفتار بازار را “مالی مقداری” گفته می شود. اغلب مدل هایی که بر این اساس هستند با این فرض بنا شده اند که قیمتها و بازده بازار در طول زمان بصورت تصادفی تغییر می کنند. این یک فرض بسیار مفید می باشد که در ذات اغلب مدل های قیمت گذاری ابزار مشتقه و برخی از مدل های ارزشگذاری دیگر اوراق، وجود دارد. اغلب مدل های مقداری بر این باورند که بازدهی یک ورقه بهادار توسط یک یا چند عامل ریسک تصادفی بازار تعیین می شود. به میزان تاثیر پذیری بازدهی ها از این فاکتورهای ریسک را حساسیت می گویند. برای مثال بازدهی یک پرتفوی کاملا متنوع، از تغییرات نرخ بهره کوتاه مدت، نرخ برابری ارزهای مختلف و کل بازدهی بازار تاثیر می گیرد. این فاکتورها می توانند با داده های تاریخی اندازه گیری شوند و برای شبیه سازی فاکتورهای ریسک و بازده های ممکن پرتفوی مورد استفاده قرار بگیرند.
مدل های منطق فازی و نمادین
منطق فازی نوعی از استدلال است که مرتبط با ارزشیابی عبارات منطقی تشکیل شده از اپراتورهای منطقی مانند “و” و “یا” می باشد. نتیجه این ارزشیابی با صحیح و غلط مشخص می شود. اما منطق فازی تضاد صحیح و غلط را کنار می گذارد و اجازه می دهد هر گزینه توسعه یابد.
در مورد بازارهای مالی داده های این سیستم شامل نشانگرهایی است که انتظار می رود با بازده یک اوراق بهادار همبستگی داشته باشد. این نشانگرها می تواند کمی، تکنیکال، بنیادی یا از دیگر انواع داده ها باشد.
برای مثال یک سیستم منطق فازی می تواند از داده های تاریخی اینگونه نتیجه گیری کند که اگر میانگین متحرک نمایی وزنی 5 روز اخیر، بزرگتر مساوی میانگین متحرک نمایی وزنی 10 روز گذشته باشد آنگاه با احتمال 65 درصد، قیمت سهم در پنج روز آینده صعودی خواهد بود.
یک رویکرد استخراج داده جهت تعیین این قوانین از یکسری داده های مشخص را قانون القاء می نامند. این بسیار شبیه به استنتاج از درخت تصمیم گیری است با این تفاوت که نتایج معمولا برای انسان بسیار خواناتر می باشد.
مدل های درخت تصمیم گیری
درخت تصمیم گیری شبیه به قوانین القاء هستند با این تفاوت که این قوانین در ساختارهای به فرم درخت (معمولا درخت دو تایی) هستند. در علم کامپیوتر، یک درخت دو تایی، یک ساختار داده درختی است که طی آن هر نود، حداقل دو کودک دارد که آنها را کودک سمت راست و کودک سمت چپ می نامند. در اینجا هر نود نشاندهنده یک قانون تصمیم گیری(مرز تصمیم) می باشد و هر نود کودک، می تواند یک مرز تصمیم گیری دیگر باشد یا نود پایانی باشد و خروجی را نشان دهد.
بطور کلی دو نوع درخت تصمیم گیری وجود دارد. این درختها شامل درخت های طبقه بندی و درختهای رگرسیون(همبستگی) می باشند. درختهای طبقه بندی شامل چند دسته در خروجی سسیستم (مانند خرید، نگهداری یا فروش) می باشند. در حالیکه درختان رگرسیون شامل خروجی هایی بصورت مقادیر (مانند 2.5%-، 0، 2.5% و …) هستند. ذات داده های استفاده شده جهت ایجاد یک درخت تصمیم گیری، نوع درخت تصمیم گیری را مشخص می کند.
همانند قانون القاء، ورودی های مدل درخت تصمیم گیری می تواند شامل مقادیری از یکسری فاکتورهای آماری، تکنیکال یا بنیادی باشد که انتظار می رود بر بازدهی بازار اثر گذار باشند.
مدل های شبکه عصبی
مدل های شبکه عصبی تقریبا محبوب ترین مدل در دسترس برای معامله گران الگوریتمی است. شبکه های عصبی شامل لایه هایی از نودهای به هم پیوسته بین ورودی ها و خروجی ها می باشند. هر نود یک ادراک گر نامیده می شود که شبیه به یک رگرسیون چندگانه است. با این تفاوت که آنها خوراک چیزی به نام “تابع فعال سازی” می شوند که می تواند یک تابع خطی یا غیر خطی باشد. در شبکه های عصبی غیر تکرار شونده، ادراک گرها در لایه های مختلف تنظیم می شوند و هر لایه به لایه های دیگر متصل است.
بطور کلی سه نوع لایه وجود دارد. این لایه ها شامل لایه ورودی، لایه یا لایه های مخفی و لایه خروجی می باشد. لایه ورودی داده ها را دریافت می کند. این داده ها همان فاکتورهایی هستند که انتظار می رود بر بازدهی یک ورقه بهادار تاثیر گذار باشد. لایه خروجی می تواند شامل لایه های خرید، نگهداری یا فروش باشد. لایه های مخفی، اهمیت و وزن داده های ورودی را تنظیم می کنند. این بالانس تا زمانی ادامه می یابد که خطاهای شبکه عصبی به حداقل خود برسند. در واقع لایه های مخفی ویژگی های برجسته ای که قدرت پیش بینی بیشتری دارند را از داده ها استخراج می کند.
علاوه بر مدل های ذکر شده در بالا، تعداد دیگری از مدل های تصمیم گیری وجود دارد که می توانند در معاملات الگوریتمی به منظور پیش بینی قیمت اوراق بهادار مورد استفاده قرار بگیرند. انتخاب نوع مدل، تاثیر مستقیمی بر عملکرد سیستم معاملات الگوریتمی دارد. استفاده از مدل های چندگانه نشان داده که دقت پیش بینی بالاتری دارد اما پیچیدگی پیاده سازی را افزایش می دهد. در واقع مدل، مغز یک سیستم معامله الگوریتمی است. به منظور ایجاد یک سیستم معامله الگوریتمی هوشمندتر، سیستم باید همه اشتباهات تاریخی خود را ذخیره کرده و آنها را در مدل های داخلی خود در نظر بگیرد. این را می توان خود آگاهی و خود ترمیمی سیستم نامید.
3- اجرا
بخش اجرا مسئول انجام معاملاتی می باشد که مدل آن را تشخیص داده است. این جزء باید الزامات عملکردی و غیرعملکردی سیستم معامله الگوریتمی را اجابت کند. برای مثال، این الزامات می تواند سرعت اجرا، تکرار انجام معاملات و دوره زمانی معامله باشد. پیاده سازی سیستم معامله الگوریتمی بایستی توانایی اجابت کردن الزامات را داشته باشد.
4- نظارت
هوش مصنوعی، توابع عینی را فرا می گیرد. توابع عینی معمولا توابع ریاضی هستند که عملکرد سیستم معامله الگوریتمی را کمی می کنند. در موضوعات مالی، اندازه گیری بازده تعدیل شده متناسب با ریسک، شامل نسبت ترینور، نسبت شارپ و نسبت سورتینو می باشد. ممکن است از این جزء مدل در سیستم معامله الگوریتمی خواسته شود که یک یا چند تا از این مقادیر را به حداکثر برساند.
موضوع چالش برانگیز این است که بازارها بسیار پویا هستند. بعبارت دیگر، مدل ها، منطق ها و شبکه های عصبی که در گذشته عملکرد خوبی داشته اند ممکن است در آینده کارایی چندانی نداشته باشند. بخاطر این موضوع، سیستم معامله الگوریتمی باید مدل ها را با اطلاعاتی که درباره خود مدل ها می باشد آزمایش کند. این نوع از خودآگاهی به مدل ها اجازه می دهد تا با محیط در حال تغییر سازگار باشند.
استراتژی های معاملات اتوماتیک
تحلیل بازار
تکنیک های پایه ای شامل تحلیل حجم معاملات برای یک ورقه بهادار بخصوص جهت بدست آوردن نمای کلی از معاملات آن روز می باشد. این معامله گر را قادر می سازد تا حرکت ابتدایی، موج اول، موج دوم و ریز موج ها را تشخیص دهد. همچنین این تحلیل ها مشخص می کند که بازار در چه مسیری در حال حرکت است، بازیگران بازار درباره قیمت چه می گویند و چه قیمتی را تبلیغ می کنند، چه زمانی بهترین موقع اجرای سفارش است و قیمت واقعا چه معنایی می دهد. به این منظور جمع آوری، مدیریت و دسترسی به اطلاعات صحیح، حیاتی است. اما شما بسته به نوع کسب و کارتان نیاز به یک پلتفرم کامل و انعطاف پذیر دارید.
مقایسه حجم معاملات امروز با معاملات روز گذشته می تواند نشانه های زود هنگامی به ما بدهد که آیا اتفاقاتی در حال رخ دادن در بازار است یا خیر. به همین ترتیب، نظاره معاملات مانند شکاف نرخ خرید و فروش و چگونگی تغییرات آن در طول روز می تواند اطلاعات با ارزشی باشد که در استراتژی معاملات مورد استفاده قرار گیرند.
این تکنیک ها می تواند به معامله گر درک بسیار بهتری از فعالیتهای بازار بدهد. همچنین سعی می کند تا داده های منابع مختلف مانند ترمینال های معاملاتی، نرخ های بازخرید، مشتریان و همتایان را با هم یکی کند.
مدیریت بازارهای چندگانه
مدیریت ساده اجرای سفارشات می تواند بسادگی اجرای سفارشاتی باشد که از اجرای سفارش های تکراری در معاملات بین بازاری جلوگیری می کند. همچنین این می تواند به مدیریت مظنه یکپارچه در بین بازارهای مختلف توسعه یابد و مقادیر غیر منتظره نقدینگی را تعدیل کند.
مقاومت منفعل
تکنیک دیگر، رویکرد مقاومت منفعل در بین چندین بازار است. فرض کنید که می خواهید 100 میلیون پوند خرید کنید و مظنه ای را در بازار اعلام کنید اما نقدینگی در بازار وجود ندارد. در این حالت اگر شما منبعی را بیابید که در آنجا حجمی نزدیک به مقدار درخواستی شما وجود دارد، می توانید معامله خود را با اندازه تقریبا دلخواه خود ببندید.
سیستم اجرای سفارش می تواند مقدار درخواستی را بدون دخالت معامله گر کاهش دهد. این به شما اجازه می دهد که معاملات بجای معامله بر اساس مقدار، معامله بر اساس هدف صورت پذیرد و این هدف در معاملات بین بازاری، مدیریت شود.
واگرایی قیمت از GC (سبدی از اوراق بهادار در بازار بازخرید اوراق قرضه)
دریافت هشدار از اینکه کدام معامله به دور از نرخ GC انجام می شود نمای به هنگامی از یک عضو سبد را به ما می دهد که قیمت آن از قیمت سبد در حال فاصله گرفتن است. دریافت این اطلاعات بصورت واضح در بین بازارهای مختلف می تواند موقعیت های مختلفی را فراهم آورد.
تراز کردن موجودی
ترکیب سیستم معاملاتی و مدیریت جهانی موجودی می تواند مزایای برجسته ای را در تعیین هدف معامله نسبت به موقعیت معاملاتی فراهم کند. این در حالی است که شخص دیگری مانند مدیر صندوق یا مسئول وجوه نقد می تواند موقعیت معاملاتی را بروز کند.
برای مثال یک موقعیت خرید 100 میلیون پوندی را در نظر بگیرید که میز معاملاتی می خواهد آن را تامین مالی کند. با سپری شدن بخشی از روز، موقعیت به 80 میلیون پوند تغییر می کند و هدف معامله بصورت اتوماتیک این رقم را منعکس می کند. این اتصال به موجودی می تواند با اطلاعات خارج از سیستم نیز توسعه یابد. برای مثال میز معاملاتی می داند که مشتری می خواهد معامله خود را رول اور کند اما تاریخ رول اور مربوط به آینده است.
شناسایی و تصادفی سازی الگوی معامله الگوریتمی
فعالیتهای معاملاتی شامل معاملات اتوماتیک گاهی اوقات ممکن است رد پایی از خود به جای بگذارد که امکان شناسایی یک استراتژی معاملاتی را فراهم کند. راه حل هایی که در شناسایی الگو جهت مشخص کردن استراتژی های طرف های معاملاتی می تواند مورد استفاده قرار گیرد برای تریدرها با ارزش می باشد.
بالعکس، تصادفی سازی الگوریتم معاملاتی یک شخص، می تواند باعث شود تا طرف های معاملاتی قادر به شناسایی منطق معاملاتی مورد استفاده نشوند.
ابزارهای اسنایپینگ (اعلام قیمت فروش در حراج های آنلاین)
هر شخصی که در مزایده های eBay شرکت می کند عدم موفقیت نظاره حراج یک قلم جنس در پایان حراج را متوجه خواهند شد. شما، پیغام “شما حراج را برنده شدید” را دریافت می کنید اما ناگهان در ثانیه آخر قیمتی بالاتر از قیمت شما ارائه می شود. چگونه ممکن است؟ شما اسنایپ (شکار) شده اید.
ابزارهای اسنایپینگ اتوماتیک به صورت گسترده در اینترنت موجود است که می تواند بصورت خودکار بالاترین نرخ را در محدوده مشخصی ارائه کند. بدین صورت کاربر مجبور نیست تا لحظه آخر پشت سیستم خود بنشیند و نظاره گر حراج باشد. حال این ابزارها وارد بازار معاملات بازخرید اوراق بدهی می شوند. این بدان معنی است که زمانبندی صحیح استراتژی های معاملاتی بیش از پیش با اهمیت شده است.
عدم استفاده از این ابزارها به معنی از دست دادن معامله نیست اما می تواند مدیریت نقدینگی یک شرکت را در شرایط تلاطم بازار و نقدینگی ضعیف آخر سال، تحت فشار قرار دهد.
اجرای مناسب و تقسیم کردن سفارشات
اجرای مناسب سفارش می تواند از ابعاد مختلفی (مانند قیمت، نقدشوندگی، کارمزد، سرعت، احتمال اجرای سفارش و …) مورد توجه قرار گیرد. یک ابزار اجرای اتوماتیک سفارش می تواند با توجه به یک یا چندین فاکتور، سفارش را بهینه کند. به همین ترتیب شکستن سفارشات به قطعات کوچکتر می تواند از تحریک بازار جلوگیری کند و با زمانبندی مناسب اجرا از انجام بهینه سفارشات اطمینان حاصل شود.
نمونه ای از معاملات الگوریتمی، اکسپرت می باشد که محبوبیت بسیاری در بین معامله گران بازار فارکس دارد.
کتاب پیشنهادی بورس تایم به شما: تکنولوژی معاملات الگوریتمی در بازار سرمایه ایران