تعریف الگوریتم
الگوریتم مجموعهای از دستورالعملها برای حل یک مسأله یا انجام یک کار است. دستور پخت، یک مثال رایج برای الگوریتم است که شامل دستورالعملهای خاصی برای تهیه غذا یا خوراک میباشد. تمامی دستگاههای رایانهای از الگوریتمها در قالب رویههای سختافزاری و نرمافزاری برای انجام عملکردهای خود، استفاده میکنند.
در امور مالی، الگوریتمها در توسعه سیستمهای معاملاتی خودکار، معاملات فرکانس بالا (HFT) و همچنین قیمتگذاری ابزارهای پیشرفته مالی مانند ابزارهای مشتقه، اهمیت پیدا کردهاند.
نکات مهم
۱- یک الگوریتم مجموعهای از دستورالعملها برای حل مسأله یا به نتیجه رساندن یک کار میباشد.
۲- همهی دستگاههای رایانهای از الگوریتمها استفاده میکنند؛ این الگوریتمها زمان لازم برای انجام دستی کارها را کاهش میدهند.
۳- معاملات الگوریتمی که به عنوان معاملات خودکار یا معاملات جعبه سیاه نیز شناخته میشود، از یک برنامهی کامپیوتری برای خرید یا فروش اوراق بهادار با سرعتی که برای انسان غیر ممکن است، استفاده میکند.
۴- معاملات الگوریتمی بیش از ۶۰ درصد از کل حجم معاملات بازارهای جهانی سهام را تشکیل میدهند.
۵- معاملهگران الگوریتمی قادرند اطلاعات را سریعتر از انسانها تحلیل کنند که این امر به آنها امکان عکسالعمل سریع در مقابل تغییرات لحظهای قیمت را میدهد.
درک الگوریتمها
شرکتهای مالی از الگوریتمها در زمینههایی نظیر قیمتگذاری وام، معاملات سهام، مدیریت دارایی-بدهیو بسیاری از فعالیتهای خودکار استفاده میکنند. به طور مثال، معاملات الگوریتمی، که تحت عنوان الگوتریدینگ نیز شناخته میشوند، برای تصمیمگیری در مورد زمان، قیمت و حجم سفارشهای سهام، مورد استفاده قرار میگیرند.
الگوتریدینگ که به آن معاملات خودکار یا معاملات جعبه سیاه نیز میگویند، از برنامههای کامپیوتری در خرید و فروش اوراق بهادار با سرعتی که برای انسان غیرممکن است، استفاده میکند.
بخش بزرگی از معاملات سهام در ایالات متحده آمریکا با استفاده از الگوریتمها انجام میشود. همچنین، الگوریتمها به طور گستردهای در معاملات فارکس مورد استفاده قرار میگیرند. بخش بزرگی از معاملات مذکور را معاملات فرکانس بالا (HFT) تشکیل میدهد که اغلب از سوی صندوقهای پوشش ریسک به کار گرفته میشوند.HF
T شامل استفاده از کامپیوترها و الگوریتمهای پیچیده در معاملات است. یکی از عوارض جانبی الگوریتمها، کاهش قابل توجه در مدت زمان متوسط نگهداری سهام است- از ۸ سال در دههی ۱۹۵۰ به کمتر از ۶ ماه در سال ۲۰۲۰.
الگوریتمهای کامپیوتری با کوتاه کردن زمان انجام دستی کارها، زندگی را آسانتر میکنند. در دنیای ماشینی، الگوریتمها به معاملهگران اجازه میدهند تا مهارت و تمرکز بالاتری داشته باشند. الگوریتمها فرآیندهای کند را تسریع میکنند. الگوریتمها میتوانند در بسیاری از موارد، به ویژه در اتوماسیون، در هزینه شرکتها صرفهجویی کنند.
از آنجایی که قیمت سهام، اوراق قرضه و کالاها در اشکال مختلف آنلاین و در دادههای معاملاتی ظاهر میشوند، فرآیندی که طی آن یک الگوریتم تعداد زیادی از دادههای مالی را تجزیهوتحلیل میکند، آسان میشود. کابر برنامه به سادگی مولفهها را تنظیم کرده و زمانی که اوراق بهادار معیارهای مورد نظر معاملهگر را برآورده میکند، نتیجهی مطلوب را بدست میآورد.
الگوریتمها در معاملات برای کاهش جنبهی احساسی سرمایهگذاری استفاده میشوند. الگوریتمها توسط شرکتهای تامین سرمایه، صندوقهای پوشش ریسک و موارد مشابه مورد استفاده قرار میگیرند. با این وجود، برخی از برنامهها و استراتژیهای مبتنی بر الگوریتم، قابل خرید و اجرا از سوی سرمایهگذاران خرد میباشد.
انواع مختلفی از الگوریتمها بر اساس استراتژیهای مورد استفادهی آنها، از قبیل استراتژی آربیتراژ (Arbitrage) و زمان سنجی بازار (Market Timing) وجود دارند.
در سال ۲۰۱۹، ۶۰ تا ۷۰ درصد از حجم معاملات جهانی سهام توسط الگوریتمها اجرا شد.
انواع معاملات الگوریتمی
انواع مختلفی از معاملات الگوریتمی، به سرمایهگذاران در تصمیمگیری برای خرید یا فروش کمک میکند. انواع کلیدی الگوریتمها بر اساس استراتژیهایی که هر یک به کار میگیرند، طبقهبندی میشوند. به عنوان نمونه، یک الگوریتم بازگشت به میانگین قیمتهای کوتاهمدت را نسبت به قیمت متوسط و بلندمدت بررسی کرده و اگر قیمت سهامی بسیار بالاتر از متوسط باشد، ممکن است معاملهگر آن را برای کسب سود سریع به صورت استقراضی بفروشد.
سایر استراتژیهای الگوریتمی میتوانند زمانسنجی بازار، تعادل مجدد صندوق شاخصی یا آربیتراژ باشند. استراتژیهای دیگر، مانند تعادل صندوق و اسکالپینگ (Scalping) نیز وجود دارند.
آربیتراژ
آربیتراژ به دنبال بهرهمندی از اختلاف قیمت داراییهای یکسان در بازارهای متفاوت است. الگوریتمها قادرند با تحلیل سریع دادهها و شناسایی تفاوتهای قیمتی و سپس اجرای سریع عملیات خرید و فروش داراییهای مذکور، روی این استراتژی سرمایهگذاری کنند.
یک دارایی ممکن است به یک قیمت خاص در یک بورس، اما به قیمتی متفاوت در بورسی دیگر، معامله شود، الگوریتم با خرید دارایی به قیمت پایین در یک بورس سرمایهگذاری کرده و بلافاصله آن را به قیمت بالاتر در بورس دیگر میفروشد.
زمانسنجی بازار
استراتژیهای زمانسنجی بازار (Market Timing) از بک تست یا پیشآزمون (Backtesting) برای شبیهسازی معاملات فرضی به منظور ساخت یک مدل معاملاتی استفاده میکنند. هدف از این استراتژیها پیشبینی نحوه عملکرد یک دارایی در طول زمان است. سپس الگوریتم، بر اساس بهترین زمان پیشبینی شده برای خرید یا فروش معامله می کند. این استراتژیها، مجموعه دادهها و آزمایشهای بسیاری را در بر میگیرد.
بازگشت به میانگین
استراتژیهای بازگشت به میانگین (Mean Reversion) متوسط قیمت سهام را در طول یک دورهی زمانی یا دورهی معاملاتی، به سرعت محاسبه میکنند. اگر قیمت سهام خارج از قیمت میانگین باشد، بر اساس انحراف معیار یا شاخصهای گذشته، الگوریتم مطابق آن معامله میکند.
به عنوان مثال، اگر قیمت سهام پایینتر از قیمت متوسط باشد، معامله بر اساس این فرض که قیمت به متوسط خود برمیگردد (مثلا قیمت رشد میکند)، میتواند یک معاملهی ارزشمند محسوب شود. این نوع استراتژی، از الگوریتمهای محبوب به شمار میرود.
مثال معاملهی الگوریتمی
در زیر نمونهای از یک الگوریتم برای معامله آورده شده است. یک معاملهگر دستورالعملهایی را در حساب خودکار خود ایجاد میکند تا در صورتی که میانگین متحرک ۵۰ روزه سهم پایینتر از میانگین متحرک ۲۰۰ روزه برسد، تعداد ۱۰۰ سهم را بفروشد. برعکس، معاملهگر می تواند دستورالعملهایی برای خرید تعداد ۱۰۰ سهم در صورت افزایش میانگین متحرک ۵۰ روزه سهام به بالاتر از میانگین متحرک ۲۰۰ روزه، تعریف کند.
الگوریتمهای پیچیده، قبل از خرید یا فروش اوراق بهادار صدها معیار را در نظر میگیرند. کامپیوترها به سرعت دستورالعملهای حسابهای خودکار را برای رسیدن به نتایج مطلوب، ترکیب میکنند. بدون کامپیوترها، معاملات پیچیده، زمانبر و احتمالاً غیرممکن خواهد بود.
الگوریتم ها در علم کامپیوتر
در علم کامپیوتر، یک برنامهنویس باید پنج بخش اساسی یک الگوریتم را برای ایجاد یک برنامهی موفق بهکار بگیرد:
۱- مسأله را به زبان ریاضی بیان کند.
۲- فرمولها و فرآیندهایی که به نتیجه منجر میشوند را ایجاد کند.
۳- مولفههای نتیجه را وارد کند.
۴- برای آزمایش دقت برنامه، آن را به طور مکرر اجرا کند.
۵- جمعبندی نهایی الگوریتم، از گذر مولفهها از مجموعهی دستورالعملهای برنامه، منتج میشود.
در الگوریتمهای مالی، هرچه برنامه پیچیدهتر باشد، میتواند دادههای بیشتری را برای ارزیابی دقیق در خصوص خرید یا فروش اوراق بهادار به کار بگیرد. برنامهنویسها الگوریتمهای پیچیده را به طور کامل آزمایش میکنند تا مطمئن شوند که این برنامهها بدون خطا هستند.
الگوریتمهای بسیاری را برای یک مسأله میتوان استفاده کرد. با این حال، برخی از آنها، فرآیند را از بقیه سادهتر میکنند.
مزایا و معایب معاملات الگوریتمی
معاملات الگوریتمی دارای مزایای حذف عنصر انسانی از معاملات است، اما معایب خود را نیز دارد.
مزایا
شاید بزرگترین مزیت معاملات الگوریتمی این است که عنصر انسانی را حذف میکند. با معاملات الگوریتمی، بخش احساسی معاملات خنثی میشود.
همچنین، امکان بالقوهی معاملهی بیش از حد (Overtrading)، یا معامله کمتر از حد (Undertrading)، زمانی که معاملهگران در صورت نتیجه نگرفتن از یک استراتژی، بلافاصله ناامید میشوند، کاهش مییابد. علاوه بر این، کامپیوترها میتوانند سریعتر از انسان معامله کنند، که به آنها امکان سازگاری سریعتر با بازارهای در حال تغییر را میدهد.
معایب
مشکل بزرگ معاملات الگوریتمی این است که به کامپیوترها متکی است. الگوریتمها بدون برق (الکتریسیته) یا اینترنت کار نمیکنند. خرابی کامپیوتر نیز میتواند معاملات الگوریتمی را مختل کند.
همچنین، در حالی که ممکن است یک استراتژی مبتنی بر الگوریتم عملکرد خوبی روی کاغذ یا در شبیهسازی داشته باشد، هیچ تضمینی وجود ندارد که در معاملات واقعی، کار کند. ممکن است معاملهگران یک مدل به ظاهر بینقص ایجاد کنند که در بستر شرایط گذشتهی بازار کار میکند ولی در بازار جاری شکست بخورد.
مزایا
۱- عناصر و احساسات انسانی را حذف می کند.
۲- هنگام آزمایش یک استراتژی، ثبات ایجاد میکند.
۳- معامله بیش از حد یا کمتر از حد را کاهش میدهد.
۴- کامپیوترها سریعتر با تغییرات قیمت و بازار سازگار میشوند.
معایب
۱- بدون برق یا اینترنت کار نمیکند.
۲- میتواند روی کاغذ خوب به نظر برسد اما عملکرد ضعیف داشته باشد.
۳- امکان بهینهسازی بیش از حد (Fine Tuning) وجود دارد.
۴- به دادههای زیاد، توان کامپیوتر، تخصص و غیره نیاز دارد.
الگوریتم و معاملات الگوریتمی
صندوقهای پوشش ریسک از چه الگوریتم هایی استفاده میکنند؟
صندوقهای پوشش ریسک از انواع مختلفی از الگوریتمها و استراتژیهای مبتنی بر الگوریتم استفاده میکنند. این امر شامل استفاده از مجموعهای بزرگ از دادهها (مانند تصاویر ماهوارهای و سیستمهای فروش) برای تحلیل سرمایهگذاریهای بالقوه میباشد. همچنین، الگوریتمها و یادگیری ماشین برای بهینهسازی عملیات اداری در صندوقهای پوشش ریسک، شامل عملیات تطبیق، مورد استفاده قرار میگیرند.
آیا الگوتریدینگ دشوار است؟
الگوتریدینگ واقعی در ظاهر آسان است، شما یک استراتژی را اجرا میکنید و رایانه تمام کار را انجام میدهد. با این وجود، قسمت سخت کار، صرف کار و زمان کافی برای درک الگوریتم یا ساختن یک الگوریتم برای معامله است.
آیا معاملات الگوریتمی قابل اعتماد هستند؟
با این فرض که یک استراتژی سودآور برای اجرا ساختهاید، معاملات الگوریتمی نسبتاً قابل اعتماد هستند. برخی از استراتژیهای معاملاتی قابل خریداری میباشند، هرچند این استراتژیها همچنان برای اجرا به توان کامپیوتری کافی نیاز دارند.
آیا بانکها از معاملات الگوریتمی استفاده میکنند؟
بانکها، متشکل از معاملهگران نهادی و خرد، از معاملات الگوریتمی استفاده میکنند. این شامل شرکتهای تامین سرمایه و صندوقهای پوشش ریسک که از معاملات الگوریتمی برای اجرای سفارشهای عمده یا تضمین معاملات سریع استفاده میکنند، میباشد.
الگوریتمهای شکارچی چگونه کار میکنند؟
الگوریتمهای معاملاتی و سرمایهگذاری را میتوان به عنوان الگوریتمهای شکارچی(Predatory Algos) در نظر گرفت، چرا که این الگوریتم ها ممکن است، نقدپذیری سهم را کاهش داده یا هزینههای معاملاتی را افزایش دهند. هرچند، الگوریتمهای صرفاً شکارچی برای هدایت بازار در یک جهت خاص یا فراهم کردن امکان بهرهمندی معاملهگران از موضوع نقدپذیری، ایجاد شدهاند.
منبع: کلینیک اقتصاد
پایان/
نظر شما