بعضی فرضیات طراحی الگوریتم های معاملاتی

algo

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

چارچوب زمانی و محدودیت ها

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

محدودیت های مالی

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

محدودیت های بازار

هر بازاری برای انجام معاملات الگوریتمی مناسب نیست. برای انجام اینگونه معاملات، بازارهای سهام، صندوق های قابل معامله در بورس (EFT)، زوج ارزهای فارکس یا آتی ها را انتخاب کنید که نقدشوندگی کافی را برای مدیریت سفارشات تولید شده توسط الگوریتم ها را دارند.

ایجاد یا بهینه سازی یک استراتژی

وقتی که محدودیت های مالی و زمانی به درستی درک شوند، ایجاد یا بهینه سازی یک استراتژی معاملاتی می تواند به درستی برنامه ریزی شود. ممکن است برای انجام دستیِ معاملات یک راهکار مناسب داشته باشید، اما آیا این راهکار به آسانی قابل کدنویسی است؟ اگر استراتژی شما به شدت موضوعی بوده و قاعده-محور نباشد، برنامه نویسی آن می تواند غیرممکن باشد. استراتژی های قانونمند  – یعنی استراتژی های دارای ورودی، حد زیان و اهداف قیمتی بر اساس داده های کمیتی یا حرکات قیمت – به آسان ترین شکل ممکن کدنویسی می شوند.

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

تست یک الگوریتم معاملاتی

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

اگر الگوریتم با قیمت های تاریخی و همچنین در معامله با یک حساب کاربری موقت، سودآور بود، با دقت نظر و احتیاط، استفاده از آن در معاملات واقعی را شروع کنید. شرایط معاملات واقعی با معاملات بر مبنای داده های تاریخی یا حتی معاملات با حساب کاربری موقت متفاوت است چرا که سفارشات تولید شده بر اساس الگوریتم واقعاً بر بازار اثر می گذارند و می توانند باعث slippage ( لغزش قیمت به سمت بالا یا پایین وقتی که حجم زیادی خرید یا فروش توسط یک سرمایه گذار انجام می شود) شوند. تا وقتی که از صحت عملکرد الگوریتم در معاملات واقعی مطمئن نشده اید، نظارت بر عملکرد الگوریتم را متوقف نکنید.

نظارت مداوم

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

نکته ی آخر

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

2 Responses to “بعضی فرضیات طراحی الگوریتم های معاملاتی”

  1. علی گفت:

    سلام مشهد هم کلاس آموزشی هست؟

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

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