استراتژی­‌های معاملات الگوریتمی ، پارادایم‌ها و ایده‌های مدل‌سازی

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

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

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

میانگین متحرک ساده (SMA) در معاملات الگوریتمی

با مثالی ساده از استراتژی معاملاتی شروع می‌­کنیم: کسانی که وارد عرصه معاملات شده‌­اند با SMA آشنایی دارند و آنهایی که نمی­‌دانند، SMA میانگین متحرک ساده است. SMA را می‌­توان به سادگی با هر تعداد روز از قبل تعیین‌شده‌ای محاسبه کرد. یک استراتژی معاملات الگوریتمی بر پایه SMA را می­‌توان به چهار مرحله زیر ساده‌سازی کرد:

  • محاسبه SMA پنج روزه
  • محاسبه SMA بیست روزه
  • زمانی که SMA پنج روزه بزرگتر یا مساوی SMA 20 بود، عمل فروش را انجام دهید.
  • زمانی که SMA پنج روزه کوچکتر از SMA 20 روزه بود، عمل خرید را انجام دهید.

از این استراتژی، با نام استراژی میانگین متحرک متقابل (Moving Average Crossover Strategy) یاد می­‌کنیم. این فقط یک مثال ساده بود. حتی اگر چنین باشد هم باید احتیاط کنیم آب به گلویمان نپرد. در معاملات روزانه برای پیاده‌سازی استراتژی­‌های معاملاتی، از الگوریتم­‌های بسیار پیچیده‌­تری استفاده می‌شود.

میانگین متحرک ساده - استراتژی­‌های معاملات الگوریتمی

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

همه استراتژی­‌های معاملات الگوریتمی که به کار می‌­روند را می­‌شود در دسته‌بندی زیر گنجاند.

  • استراتژی‌های مومنتوم و روند محور (Momentum/Trend Following)
  • آربیتراژ
  • آربیتراژ آماری
  • بازارسازی یا بازارگردانی

بگذارید کمی وارد جزییات شویم:

استراتژی­‌های مومنتوم (Momentum)

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

این شیوه دنبال کردن روند را استراتژی بر پایه مومنتوم می­‌گویند.

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

آربیتراژ

تصور کنیم شرکتی بخواهد زمین تحت تملک خود را بفروشد، در نتیجه­‌ی این فروش، ارزش سهام ما افزایش پیدا می­‌کند. اگر برنامه شما این است که بر اساس ناکارآمدی قیمت­گذاری‌­ها که در نتیجه یک “مزایده” (قبل یا بعد از آن) است، سرمایه گذاری کنید، از استراتژی رویداد-محور (event-driven strategy) بهره برده‌­اید. ورشکستگی، تصاحب، ادغام، اسپین آف و … هر کدام، می­توانند رویدادی باشند که استراتژی سرمایه‌گذاری ما را هدایت ­‌کند.

این استراتژی می­‌تواند خنثی باشد و اغلب صندوق­‌های پوشش ریسک یا معامله­‌گران خصوصی از آن بهره ­‌گیرند.

آربیتراژ آماری

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

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

بازارگردانی در استراتژی مومنتوم-محور

برای فهمیدن بهتر مفهوم بازارگردانی، ابتدا درباره بازارگردانان حرف می­زنیم.

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

فرض کنیم مارتین بازارگردان شماست که INR را به قیمت ۵۰۰ از بازار خریداری می‌­کند و ۵۰۵ می­‌فروشد. او قیمت پیشنهادی خرید-فروش را بین ۵۰۰-۵۰۵ به شما می­‌دهد. سود پنج INR نه قابلیت فروش دارد نه می­تواند بدون سقوط ارزش بازار، به پول نقد تبدیل شود. وقتی مارتین ریسک بالاتری کند، سودش هم طبیعتا بیشتر است.

کتاب میشل لویس، “پسران سرعتی” بسیار جالب است و درباره نقدینگی، بازارگردانی و HFT صحبت می­‌کند.

از آنجا که تا حدی به تحلیل کردن و کمیت سنجی برای بالاتر بردن کیفیت معاملات الگوریتمی نیاز دارید، یادگیری برنامه‌نویسی (برخی از برنامه‌ها) و ساخت سیستم‌­های خطایاب (Foolproof) و اجرای درست‌ترین استراتژی معاملات الگوریتمی ضروری است. خواندن مقاله­‌هایی درباره معاملات خودکار با استفاده از برنامه پایتون برای شما بسیار مفید خواهد بود.

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

حالا که استراتژی­‌های معاملات الگوریتمی را با هم شناختیم، مبحث پارادایم و ایده­‌های مدل‌سازی را کمی روشن­‌تر می­‌کنیم.

  • بازارگردانی
  • آربیتراژ آماری
  • مومنتوم
  • دانش ماشینی

بازارگردانی

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

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

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

بازارسازانی چون مارتین همیشه آماده خرید و فروش بر مبنای قیمتی که خودشان پیشنهاد داده‌­اند هستند. بسیاری از معاملات پربسامد (HFT) در واقع بازارگردانی منفعلانه است. در هر دو طرف بازار (خرید و فروش و حتی به صورت هم­زمان) در حال رقابت با یکدیگرند تا برای کسانی که نیاز دارند نقدینگی تولید کنند.

  • پس این استراتژی چه زمانی بیشترین سود را به دست می‌آورد؟

این استراتژی زمانی که مدل بتواند قیمت‌­های آتی را پیش‌­بینی کند، سودآور است.

ایده‌­های مدل‌سازی بر پایه این پارادایم

بازه بین قیمت خرید و فروش و حجم معاملات می­‌توانند با هم مدل‌سازی شوند تا منحنی هزینه نقدینگی liquidity taker (کسانی که تنها با قیمت‌­های بسیار مناسب معامله می­‌کنند) حاصل می‌شود را به دست آوریم. اگر liquidity taker تنها به هنگام بهترین قیمت خرید و فروش، سفارش خود را اجرایی ­‌کنند، پرداختی آنها برابر است با اختلاف قیمت خرید و فروش ضرب در حجم معامله. هنگامی که معامله‌گران از قیمت خرید و فروش فراتر می‌­روند، پرداختی خود یکی از توابع حجم معاملات خواهد بود.

مدل‌سازی حجم معاملات سخت است چرا که این مقدار، خود به استراتژی معاملاتی liquidity taker بستگی دارد. برای تعیین مدل برای حجم معاملات باید حجمی را پیدا کنیم که با نوسان قیمت­‌ها تعییر نمی­‌کند. مدل‌سازی بازارگردانی یکی از دو حالت زیر است:

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

آربیتراز آماری

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

به زبان علمی می­‌توان گفت آربیتراژ آماری ریسک کردن میلیون‌­ها معامله در مدت زمانی کوتاه است تا بر اساس قانون اعداد بزرگ، به سود مورد نظر، دست یابد. الگوریتم‌­های آربیتراژ آماری، در بیشتر معاملات دوقلو بر تئوری بازگشت به میانگین بنا شده­‌اند.

ایده‌­های مدل‌سازی

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

استراتژی معاملات مومنتومی

هدف استراتژی مومنتوم کسب سود از ادامه یافتن روند موجود با بهره­‌گیری از نوسانات بازار است.

“به عبارت ساده با قیمت بالا بخرید و بالاتر بفروشید و برعکس”

و حالا چگونه این کار را انجام دهیم؟

مخصوصا در این استراتژی معاملات الگوریتمی، در زمانی که سهام بالا و پایین می­‌شوند در موقیعت کوتاه-مدت (نوسان‌گیری) قرار می­‌گیریم. اینگونه به نظر می‌رسد که این استراتژی برخلاف روال معمول استراتژی­‌های شناخته شده دیگر است. سرمایه‌گذاری بر اساس ارزش سهام  عموما بر مبنای بازگشت بلند-مدت ارزش سهام (ثبات قیمتی) است، در حالی که سرمایه‌گذاری مومنتوم بر شکاف زمانی که  قبل از بازگشت ارزش سهام (قبات قیمتی) رخ می­‌دهد، استوار است.

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

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

ایده‌­های مدل‌سازی

اولا، باید بدانید که مومنتوم قیمت یا روند (ترند) را چگونه شناسایی کنید. مثلا، سهام معاملاتی که ده درصد ۵۲ هفته خود را بالا بودند مشخص کنید یا به دنبال درصد تغییر قیمت­‌ها در طول ۱۲ یا ۲۴ هفته اخیر باشید. برای داشتن روندی کوتاه­‌تر، کافی است تغییر قیمت را در مدت زمانی کمتر در نظر بگیرید.

اگر سال ۲۰۰۸ را به خاطر داشته باشید، بخش نفت و سوخت با اینکه در حال سقوط بود، پیوسته به عنوان یکی از مهمترین بخش­ها در نظر گرفته می­‌شد. همیشه می­‌توانیم میزان دریافتی­ را شاخصی برای فهمیدن تغییرات قیمت بدانیم. استراتژی­‌هایی که بر پایه اطلاعات گذشته (استراتژی مومنتوم قیمت) یا بر اساس میزان دریافتی (استراتژی مومنتوم دریافتی) هستند، از بازاری که تحت تاثیر یکی از این دو معیار است بهره‌برداری می­‌کنند. استراتژی مومنتوم دریافتی ممکن است از بازار تحت تاثیر اطلاعات مروبط به استراتژی‌­های کوتاه مدت، کسب سود کند. استراتژی مومنتوم قیمت هم ممکن است از واکنش آهسته بازار به پهنه وسیعی از اطلاعات که شامل سودآوری­ بلند مدت هم هست، سود به دست آورد.

دانش ماشینی در معاملات

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

ایده­‌های مدل سازی

گونه‌ای از دانش ماشینی “شبکه­‌هایی بیزی” (Bayesian networks) نامیده می­‌شوند، که در عین به کارگیری چندین ماشین، می­‌توانند برای پیش‌بینی روند صعودی-نزولی بازار استفاده گردند. هوشی مصنوعی که شامل فن­اوری­‌هایی چون محاسبات فرگشتی (که الهام گرفته از ژنتیک است) و  یادگیری عمیق می‌باشد، ممکن است در صدها یا حتی هزاران ماشین به کار رود. این هوش می‌­تواند گروه عظیمی از معامله‌­گران سهام دیجیتال را بوجود آورد و کارآیی آنها را با داده‌­های موجود امتحان کند. سپس بهترین کارکرد را انتخاب و شگرد/الگو آنها را به کار ­بندد تا معامله‌گرانی جدید و متحول شده را پدید آورد. این پروسه بارها و بارها تکرار می­‌شود تا بالاخره معامله‌گر دیجیتالی که خود قادر به فعالیت باشد به وجود آید.

اینها همه، برخی از مهم‌ترین پارادایم‌­های استراتژی و ایده­‌های مدل­سازی بودند. در ادامه مرحله به مرحله ساختن یک استراتژی را بررسی خواهیم کرد.

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

از استراتژی‌های معاملات الگوریتمی تا پارادایم و ایده­‌های مدل‌سازی، به جایی می­‌رسیم که می‌­توانیم چگونگی ساخته شدن استراتژی معاملات الگوریتمی اولیه را بررسی کنیم.

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

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

این پیاده‌سازی دقیقا چگونه انجام می‌شود؟

روش ساختن یک استراتژی معاملات الگوریتمی را مرحله به مرحله با هم پیش می­‌رویم. توضیحی مختصر، شما را با روند کلی ماجرا آشنا می­‌کند.

  • درباره نوع/استراتژی پارادایم تصمیم بگیرید

قدم اول این است که پارادایم استراتژی خود را مشخص کنید. این استراتژی می­تواند بازارسازی، آربیتراژ-محور، مولد آلفا، اجرایی-محور باشد.

  • ویژگی­‌های آماری را پایه‌گذاری کنید

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

. مثلا، در مورد معاملات دوقلو، به دنبال جفت­‌هایی که با هم ادغام می­­‌شوند باشید.

  • مدل معامله را بسازید

اکنون، منطقی که می­‌خواهید در استراتژی خود سیگنال­‌های خرید یا فروش را بر پایه آن تولید کنید، کد گذاری کنید. در معاملات دوقلو، “بازگشت میانگین” را پیدا کنید، زد- اسکور (z-score) اختلاف قیمت میان جفت­‌ها را محاسبه و سیگنال­‌های خرید یا فروش را زمانی که انتظار دارید به میانگین بازگردد، تولید کنید. در مورد شرایط “حد سود و ضرر” تصمیم بگیرید.

  • حد ضرر: دستور “حد ضرر” سرمایه‌گذار را در موقیعت خرید و فروش اوراق بهادار، متوقف می­‌کند. اگر سفارشی در مرحله خرید یا فروش باشد برای جلوگیری از خسارات آتی، آن را به کل از بین می­‌برد و کمک می­کند، معاملات، به خاطر احساسات و هیجانات انجام نشوند.
  • حد سود: از دستور “حد سود” به صورت اتوماتیک برای بستن موقعیت­‌های خرید و فروش جهت حفظ سود، زمانی که معامله‌ای دلخواه در حال انجام است، استفاده می­‌شود.
  • استراتژی quoting یا hitting

بسیار مهم است که بدانید استراتژی شما قرار است قیمت را پیشنهاد (quoting) یا قیمت نهایی را تثبیت (hitting) کند. اجرا کردن استراتژی در محدوده‌­ای وسیع، میزان عملکرد رو به جلو یا غیر فعال بودن آن را مشخص می­‌کند.

  • Quoting: در معاملات دوقلو شما برای یک سهم قیمتی را پیشنهاد و بسته به اینکه موقعیت خرید یا فروش آن پر ­شود یا نه، سفارش جفت دیگر را اجرا می‌­کنید. در این صورت، احتمال پر شدن موقعیت خرید و فروش (تقاضا برای معامله) کمتر است اما قیمت خرید و فروش را برای یکی از جفت­ها نگه داشته اید.
  • Hitting: در این مورد، همزمان برای هر دو سهم (جفت)، سفارش­‌هایی را در نظر می­‌گیرید. احتمال دریافت تقاضا در این حالت بالاتر است اما امکان افت قیمت هم بیشتر می­‌شود و شما قیمت خرید و فروش را در هر دو طرف پرداخت می‌­کنید.

مسئله دقیقا انتخاب احتمال پر شدن موقعیت خرید/فروش و اجرای بهینه سفارش در صورت افت و فرسایش[۲] بازار و اجرای سفارش‌­هایی که به زمان‌بندی بستگی دارند، است. معاملات دوقلو این گونه عمل می­کنند. اگر بخواهید برای اوراق بهادار با نقدینگی کمتر قیمتی را پیشنهاد کنید، افت و لغزش هم کمتر است اما حجم معاملات هم پایین می‌­آید. از طرف دیگر اوراق بهادار نقدی ریسک لغزش را بالا می‌­برند اما به تبع، حجم معاملات هم بالا خواهد بود.

بهره گرفتن از آمار برای چک کردن رابطه میان اوراق هم می‌­تواند به تصمیم شما در انتخاب کمک کند. آمار نشان می­‌دهد تغییر در کدام اوراق بهادار موجب تغییر در اوراق بهادار دیگر می­‌شود و کدام لیدر است. این آمار جفت “پیشرو-پسرو”[۳] را مشخص می‌­کند. شما برای جفت پیشرو پیشنهاد و تقاضا کنید و جفت پسرو را پوشش دهید.

  • بک تستینگ و بهینه‌سازی
  • چگونه بفهمیم، استراتژیی که انتخاب کردیم خوب است یا بد؟ چگونه فرضیه خود را ثابت کنیم؟

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

بنابراین، انتخاب داده­‌های قبلی با تعداد کافی از داده اهمیت پیدا می­‌کند. برای نمونه‌­های معاملاتی (حداکثر + ۱۰۰ تا) و پوشش موقعیت­‌های مختلف بازار (صعودی، نزولی و …) کافی است. مطمئن باشید تدارکات لازم را برای هزینه­‌های کارگزاران و فرسایش بازار را در نظر گرفته­‌اید. با این کار، نتایج واقعی­‌تری می‌­گیرید اما باز هم باید هنگام بک تست چیز­هایی را تخمین بزنید. مثلا، هنگام بک تستینگ استراتژی قیمت پیشنهادی (quoting)، سخت است بدانیم چه زمانی موقعیت خرید/فروش پر می­‌شود به همین دلیل، راحت‌ترین کار این است که فرض کنیم موقعیت با آخرین قیمت معاملاتی پر می­‌شود.

  • هنگام بک‌تستینگ به دنبال چه برنامه­‌هایی باشیم؟

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

  • آر (R) یا متلب (MATLAB

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

  • ارزیابی ریسک و اجرا

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

  • مجموع بازده (CAGR) – نرخ رشد ترکیبی سالیانه (CAGR). این میانگین رشد سالیانه یک سرمایه‌گذاری در طی یک دوره مشخص زمانی و بیش از یک سال است.
  • Hit Ratio نسبت سفارش به معامله
  • متوسط سود به معامله تمام سود تقسیم بر تعداد کل معاملات
  • متوسط ضرر به معامله تمام ضرر تقسیم بر تعداد کل معاملات
  • حداکثر خسارت حداکثر ضرر در هر معامله
  • نوسانات بازده انحرافات استاندارد بازده
  • نسبت شارپ – بازده ریسک حساب شده، به عنوان مثال نسبت بازده مازاد (بیشتر از نرخ بدون ریسک) به هر نوسان یا ریسک کامل.

چند سوالات متداول درباره آینده معاملات الگوریتمی

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

من بازنشسته‌­ام، بهتر نیست برای معاملاتم کلاس‌­های خاصی را دنبال کنم؟ آیا استراتژی­‌های استانداردی وجود دارد که بتوانم برای معاملاتم از آن­ها استفاده کنم؟

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

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

  • سوال: آیا می­توانیم با استفاده از برنامه پایتون، انشعابات MACD را توسعه دهیم؟

پاسخ: بله، می­توانیم. تقریبا برای تمام شاخص‌­های فنی که بر استراتژی پایه گذاری شده‌­اند، می­شود از مورد سوال استفاده کرد.

استراتژی­‌هایی داشتم که قادر بودند تا ۵۰٫۰۰۰ درصد ماهیانه بازده­ مالی داشته باشند اما هیچ کدام از این استراتژی­‌ها معیار سنجش نیستند. آن استراتژی به خصوص، فقط بر سهمی خاص تکیه می­‌کرد و قابلیت ادغام نداشت و حتی اگر مقدار زیادی سود می‌­داد باز هم معیار سنجش نبود. اگر میزان درآمد را نسبت به زیرساخت­‌های آن مقایسه کنیم، این در آمد چندان قابل توجه نخواهد بود. بنابراین توجه به نسبت روند­های برنده، روش مناسبی نیست. اگر نسبت شارپ معاملات پرتواتر یا با سرعت متوسط و حتی کم ۱۸ تا ۲۲ باشد، نسبتی پذیرفته شده است. باز هم نمی­توانیم درباره بازده مالی مطمئن باشیم. این بازده می‌تواند بدون درنظر گرفتن ریسک تعریف شود، خصوصا اگر استراتژی­ هدفمند یا جهت‌دار، باشد، مقدار بازده اهمیت خاصی ندارد و همان نسبت شارپی که در بالا گفتم، کافی است.

 

[۱] – acquisition

[۲] – Slippage

[۳]lead-lag” pair

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *