نوشته شده توسط Leo Smigel

به طور معمول از هر پنج روز معامله،‌ یک روز برای معامله‌گران پرسود می‌شود. با استفاده از معاملات الگوریتمی که با طراحی،‌ آزمایش و نحوه پیاده‌سازی مناسبی انجام شود،‌ ‌می‌توان شانس رسیدن به سود بیشتر را تقویت نمود.

در این پست قصد دارم تا شما را برای تبدیل شدن به یک معامله‌گر موفق الگوریتمی راهنمایی کنم. امیدوار هستم که بتوانم به سرمایه‌گذارانی که قصد دارند در این مسیر قدم بگذارند،‌ کمک شایسته‌ای بکنم.

معاملات الگوریتمی چیست؟ (Algorithmic Trading)

در معاملات الگوریتمی از برنامه‌های کامپیوتری برای ثبت سفارش خرید و فروش به طور خودکار استفاده می‌شود. این ثبت سفارش‌ها بر مبنای یک تعداد اصول سرمایه‌گذاری که در برنامه کامپیوتری تعبیه می‌شود، انجام می‌شود. این اصول که از آنها به یک مجموعه قوانین یاد می‌شود، پایه و اساس معاملات الگوریتمی را تشکیل می‌دهد.

یک نمونه استراتژی معاملات الگوریتمی

استراتژی معاملاتی DMA که توسط یک کد کامپیوتری اجرایی می‌شود، نمونه‌ای از یک سیستم معاملاتی است که از استراتژی پیروی از ترندها استفاده می‌کند. دو قانون کلی در این سیستم معاملاتی وجود دارد:

  • وقتی میانگین حرکتی ۵۰ روزه از میانگین حرکتی ۲۰۰ روزه عبور می‌کند، نشان از روند صعودی است و ما اقدام به خرید می‌کنیم.
  • وقتی میانگین حرکتی ۵۰ روزه پایین‌تر از میانگین حرکتی ۲۰۰ روزه قرار می‌گیرد، به معنی نزولی بودن روند است و ما اقدام به فروش می‌کنیم.

آیا باید به یک معامله‌گر الگوریتمی تبدیل شوید؟

نخستین سوالی که درباره معاملات الگوریتمی باید پاسخ بدهید، این نیست که آیا موجب افزایش درآمد شما می‌شود؛ حتی اگر باعث این اتفاق نیز بشود. اگر علاقه و عشق ویژه‌ای به یادگیری تکنولوژی‌های جدید ندارید، ‌اصلا توصیه نمی‌کنیم که صرفا جهت کسب سود بیشتر به معاملات الگوریتمی روی بیاورید. اگر ثروتمند شدن هدف اصلی شما است، پیشنهاد می‌کنیم که در یک صندوق سرمایه‌گذاری شاخص اقدام به سرمایه‌گذاری کنید و یا در عوض یک کسب و کار راه‌اندازی کنید.

برای شخص من پاسخ به این سوال آسان است چراکه من عاشق یادگرفتن تکنولوژی‌های جدید هستم. همچنین دو نتیجه بالقوه را برای این مسیر متصور هستم:

۱ – در بهترین حالت من تبدیل به یک معامله‌گر الگوریتمی موفق خواهم شد.

 ۲ – در بدترین حالت، قادر خواهم بود که یک مهارت بسیار فوق العاده را به رزومه خودم اضافه کنم.

در پازل ذهنی من، حتی بدترین نتیجه هم، ‌بهترین دستاورد خواهد بود؛ چراکه تبدیل به یک دانشمند علم داده با حقوق مناسب خواهم شد. دلیل درآمد خوب این افراد این است که در میان حجم انبوهی از داده‌ها و اطلاعات، قدرت تصمیم‌گیری درست را در اختیار سرمایه‌گذاران، تجار و شرکت‌ها قرار می‌دهند.

اگر به علم داده و برنامه‌نویسی علاقه ندارید،‌ هیچ اشکالی ندارد. هنوز فرصت کسب درآمدهای خوب با سرمایه‌گذاری بلند مدت در بازار سهام برای شما وجود خواهد داشت به خصوص اگر سرمایه‌گذاری را با قوانین سیستماتیک مدیریت ریسک ترکیب نمایید.

آیا معاملات الگوریتمی‌ آینده‌دار است؟

در بازار فعلی،‌ احتمال موفقیت به عنوان یک معامله‌گر شخصی بدون بهره‌گیری از سیستم‌های معاملاتی، لحظه به لحظه در حال کمتر شدن است. این موضوع دقیقا در صنعت هم در حال رخ‌دادن است؛ شرکت‌هایی که آغوش‌شان به روی فناوری‌های نوین باز است، شانس موفقیت بسیار بالاتری نسبت به صنایعی دارند که هنوز به طور سنتی عمل می‌کنند. در بازار سهام نیز قضیه از همین قرار است. هر معامله‌گری که از این فناوری‌های جدید استفاده می‌کند، احتمال کسب سودهای بیشتری را برای خود به ارمغان می‌آورد. البته با وجود اینکه این فناوری‌ها مسیر دستیابی به موفقیت را آسان‌تر می‌کنند، نیاز به صرف زمان مناسب برای یادگیری دقیق دارند.

از نظر من، معاملات الگوریتمی باعث بهبود عملکرد یک سرمایه‌گذار خرد در دو حوزه زیر خواهدشد:

۱ – علم داده (Data Science) امکان توسعه و آزمایش بهتر یک استراتژی به وجود می‌آورد.

۲ – باعث بهبود روند معامله می‌گردد و اشتباهاتی که در مسیر سرمایه‌گذاری رخ می‌دهد را کاهش می‌دهد.

معامله الگوریتمی را چگونه آغاز کنیم؟

برای آغاز این کار، پیشنهاد می‌کنم شما نیز همان مسیری را طی کنید که من رفتم. از سرویس‌های آنلاینی نظیر Quantopian و QuantConnect استفاده کنید تا مشخص شود که معامله الگوریتمی برای شما مناسب است یا خیر. هر دو این سرویس‌ها که اشاره کردیم، بستر آموزشی بسیار خوبی را برای مبتدیان فراهم کرده‌اند. بعد از مدتی کار کردن با این دو سامانه اگر روند کاری آنها را پسندیدید،‌ حال باید به سراغ یادگیری علم داده بروید و همچنین با مطالعه گسترده در خصوص استراتژی‌های مختلف موجود در این عرصه،‌ دانش خود را ارتقا دهید.

علم داده (Data Science) برای توسعه استراتژی معاملاتی

استراتژی که مبتنی بر داده نباشد، صرفا یک نظر شخصی است و من وقتی با اینگونه استراتژی‌ها مواجه می‌شوم به شدت آزرده‌خاطر می‌شوم. معتقد هستم که اینگونه استراتژی‌ها نباید مبنای سرمایه‌گذاری قرار بگیرند. علم داده آمده است تا به سرمایه‌گذار کمک کند استراتژی‌های معاملاتی خود را برپایه داده‌های دقیق آماری بنا کند. کار علم داده در اینجا به پایان نمی‌رسد و وقتی‌که شما به یک استراتژی معاملاتی رسیدید، می‌توانید به کمک علم داده به تحلیل آن بپردازید و عملکرد آن را مورد بررسی قرار دهید و نتایجی را که احتمالا در آینده برای شما به دنبال خواهد داشت را پیش بین کنید.

Pyfolio Trading Strategy Tearsheet

یادگرفتن علم داده و معاملات الگوریتمی چه مدت زمان می‌برد؟

خود من حدود یک سال به صورت تمام وقت روی یادگیری علم داده زمان صرف کردم تا توانستم از آن برای توسعه استراتژی معاملاتی خود استفاده کنم. همچنین در حدود ۴ ماه است که احساس می‌کنم می‌توانم به راحتی از آن برای پیشبرد برنامه‌هایم در این مسیر استفاده کنم. من از کودکی علاقه بسیار زیادی به فناوری‌های جدید داشتم و شک ندارم که این علاقه زیاد تاثیر فراوانی در افزایش سرعت یادگیری من داشته‌است.

حدس می‌زنم اگر یک فردی که پیش‌زمینه مناسبی در زمینه فناوری‌های جدید ندارد، بخواهد در این مسیر قدم بردارد، بین دو تا سه سال زمان خواهد برد که موارد زیر را یاد بگیرد:

  • کد زدن به زبان پایتون
  • به دست آوردن داده‌های مالی از یک API
  • به دست آوردن اطلاعات ریز و دقیق از بستر وب
  • ذخیره کردن داده در پایگاه داده
  • دستکاری و پاکسازی داده‌ها
  • متخصص شدن در زمینه تحلیل سری‌های زمانی
  • یادگیری ماشین
  • توسعه و آنالیز استراتژی‌های معاملاتی

نکته اول استراتژی معاملاتی الگوریتمی؛‌ با چیزی که می‌دانی شروع کن

درباره چیزهایی که تاکنون یادگرفته‌ای فکر کن. وقتی که من می‌خواستم کار را شروع کنم حدود یکسال بود که در بورس سرمایه‌گذاری کرده بودم. به همین دلیل،‌ به جای سرمایه‌گذاری در بازارهای آتی یا فارکس، استراتژی معاملات سهم را توسعه دادم. همانطور که وارن بافت می‌گوید،‌ در دایره صلاحیت و دانش خود باقی بمانید و به مرور زمان آن را توسعه بدهید.

نکته دوم استراتژی معاملاتی الگوریتمی؛ همیشه بدانید چرا

در زمان توسعه دادن یک ایده سرمایه‌گذاری الگوریتمی، شما همواره باید بدانید که آن برای چه کار می‌کند. به عنوان مثال،‌ انسان همواره تمایل دارد که در مواجهه با تغییرات بزرگ در داده‌ها،‌ واکنش‌های بیش از حد متعارف به نمایش بگذارد و در مواجهه با تغییرات کوچک نیز واکنش کمی از خود نشان می‌دهد. درک ماهیت رفتاری انسان می‌تواند به ما کمک کند تا با آشنایی با این ویژگی رفتاری، ‌یک استراتژی معاملاتی را تدوین کنیم.

اگر ایده‌های خود را از روابط میان داده‌ها بدست بیاوریم،‌ دو نکته زیر برای‌مان روشن خواهد شد:

۱ – روابط همبستگی به عنوان علت اصلی نمی‌توان درنظر گرفت.

۲ – ادامه دادن با استراتژی که علیه شما حرکت می‌کند به شدت چالش برانگیز خواهد بود.

 فرصت‌های استراتژی معاملات الگوریتمی

وقتی به معاملات الگوریتمی فکر می‌کنیم، فرصت‌هایی در دو زمینه زیر به ذهن ما می‌رسد:

۱ – بازارهایی که در آن تجارت می‌کنیم.

۲ – استراتژی‌هایی که استفاده می‌کنیم.

بزرگ‌ترین فرصت‌هایی که بازار در اختیار معامله‌گران الگوریتمی قرار می‌دهد، امکان فعالیت در فضایی است که معامله‌گران سازمانی ظرفیت محدودی برای ایفای نقش در آن دارند و همچنین داده‌های بسیاری در اختیار آنها است.

بهترین ایده‌های استراتژی معاملاتی از درون بازار استخراج می‌شود اما اگر به دنبال به دست آوردن اخبار و رهنمودهایی در این زمینه هستید، SSRN و دیگر مجلات دانشگاهی اطلاعات خوبی را در اختیار شما قرار خواهند داد. استراتژی‌های معاملات الگوریتمی به طور کلی در یکی از دسته‌های زیر طبقه‌بندی می‌شوند:

  • پیرو روند ( Trend-following )
  • آربیتراژ ( Arbitrage )
  • توان مجدد بهره‌برداری ( Rebalancing exploitation )
  • کمی ( Quantitative )
  • بازگشت به میانگین ( Mean reversion )
  • Breakout/breakdown

همچنین استراتژی‌های اجرای چندگانه نیز برای دستیابی به بهترین قیمت ممکن وجود دارد که عبارتند از:

  • میانگین قیمت حجمی وزنی ( VWAP )
  • میانگین قیمت زمانی وزنی ( TWAP )
  • درصد حجمی ( POV )

مزایای پیاده‌سازی الگوریتمی

دومین مزیت بزرگی که من در اجرای معاملات الگوریتمی متوجه آن شده‌ام این است که می‌توانم بیشتر به تفکر بپردازم و کمتر احساس نگرانی کنم. من می‌دانم که تمام معاملاتی که مدنظر من است،‌ باتوجه به سیستم معاملاتی که طراحی و توسعه داده‌ام، ‌بدون دخالت خودم به راحتی انجام می‌شود.

زمان اضافی که با پیاده‌سازی این سیستم در اختیار من قرار می‌گیرد‌،‌ به من کمک می‌کند تا استراتژی‌های معاملاتی خود را بهتر توسعه بدهم و وقتی که بازارها دچار التهابات شدید می‌شوند و به اصطلاح رفتارهای دیوانه‌وار از خود بروز می‌دهند، کمتر دچار اشتباهات در سرمایه‌گذاری خواهم شد.

مزیت‌های دیگری نیز می‌توان برای معاملات الگوریتمی ذکر کرد:

  • معاملات با سرعت بالایی انجام می‌شود تا وقوع تغییرات چشمگیر قیمتی جلوگیری شود.
  • معاملات را می‌توان از طریق چند حساب در کارگزاری‌های مختلف انجام داد.
  • بیش از هرگونه معامله‌ای، می‌توان رصد گسترده‌ای بر وضعیت بازار اعمال کرد.
  • خطاهایی که هنگام معامله دستی امکان دارد رخ بدهد‌، برطرف می‌شود.

خطرات پیاده‌سازی معاملات الگوریتمی

اصلی‌ترین ایرادی که به سیستم معاملات الگوریتمی وارد است این مسئله است که یک اشتباه در کد می‌تواند منجر به بروز فاجعه شود. یک الگوریتم می‌تواند تعداد بسیار زیادی از معاملات را در مدت زمان بسیار کمی انجام دهد و اگر ایرادی در کد وجود داشته باشد در کسری از ثانیه ممکن است سرمایه شما دست‌خوش تغییرات شدیدی شود.

این اشتباهات در بهترین حالت می‌تواند سردرگمی شدید را برای شما به وجود بیاورد و در بدترین حالت می‌تواند تمام سرمایه شما را به باد بدهد. لذا توصیه می‌شود تنها زمانی که از یادگیری و تسلط  ۱۰۰ درصد روی علم داده اطمینان پیدا کردید، سیستم معاملات الگوریتمی خود را پیاده کنید و معاملات خود را به صورت خودکار انجام دهید.