تبلیغات «ربات هوش مصنوعی که خودش معامله میکند و سود میدهد» تقریباً همیشه بیپایه است. اما نقش واقعی هوش مصنوعی در اتوماسیون معاملات، واقعی و قابل توجه است — فقط جای دیگری است.
هوش مصنوعی دقیقاً چه کاری انجام میدهد
مدل زبانی، استراتژی سودده اختراع نمیکند. کاری که میکند، تبدیل منطق شما به کد است — و این برای کسی که برنامهنویس نیست، تفاوت بین «هرگز» و «این هفته» است.
کاربرد دوم، رفع ابهام است. وقتی استراتژی خود را به مدل توضیح میدهید و از آن میخواهید پیش از کدنویسی، ابهامها را فهرست کند، معمولاً متوجه میشوید استراتژیتان آنقدر که فکر میکردید مشخص نبوده. سؤالاتی مثل «سیگنال روی کندل بستهشده ارزیابی شود یا جاری؟» یا «اگر حد ضرر و حد سود در یک کندل هر دو لمس شوند، کدام اول فرض شود؟» — هر ابهامی که پاسخ ندهید، بعداً به یک باگ تبدیل میشود.
کاربرد سوم، طراحی لایه ایمنی است. تفاوت یک اسکریپت معاملاتی و یک ربات قابل اتکا، در کدی نیست که معامله میکند؛ در کدی است که وقتی همه چیز خراب میشود، جلوی فاجعه را میگیرد.
خطاهایی که AI تولید میکند
نگاه به آینده. رایجترین و خطرناکترین خطا. کد از دادهای استفاده میکند که در زمان تصمیم هنوز در دسترس نبوده — مثلاً سیگنال را بر مبنای قیمت بسته شدن کندل محاسبه میکند اما ورود را در همان کندل انجام میدهد. نتیجه، منحنی سرمایهای است که با واقعیت هیچ نسبتی ندارد.
قاعده ساده: سیگنال در کندل n، اجرا در باز شدن کندل n+1. این جمله باید در هر پرامپت کدنویسی معاملاتی باشد.
نادیده گرفتن هزینه. بکتست بدون کارمزد و اسلیپیج، برای استراتژیهای پرتکرار کاملاً بیمعنی است. در پرامپت باید صریح بخواهید که اینها بهصورت پارامتر با مقدار پیشفرض واقعبینانه تعریف شوند.
حجم نرمالنشده. در بازارهایی با حداقل و گام حجم مشخص، حجم محاسبهشده باید نرمالسازی شود وگرنه سفارش رد میشود.
نبود بررسی خطا. کدی که نتیجه ارسال سفارش را بررسی نمیکند، ممکن است فکر کند پوزیشن باز کرده در حالی که سفارش رد شده است.
مدیریت غلط پایان داده. پوزیشنهای باز در انتهای دوره بکتست باید بسته و در گزارش ذکر شوند، وگرنه آمار تحریف میشود.
لایه ایمنی: مهمترین بخش
محافظهایی که هر ربات باید داشته باشد:
سقف دراودان روزانه — ربات پس از رسیدن به آن، معامله را متوقف میکند. این تنها محافظی است که جلوی از دست رفتن حساب در یک روز بد را میگیرد.
بررسی معقول بودن قیمت دریافتی — اگر داده قیمت به هر دلیلی خراب باشد و ربات روی آن معامله کند، نتیجه فاجعه است.
سقف اسپرد مجاز — در زمان اخبار یا بازگشایی، اسپرد میتواند چند برابر شود.
توقف در صورت خطای مکرر API — اگر ربات پیاپی خطا میگیرد، چیزی اشتباه است و ادامه دادن، وضعیت را بدتر میکند.
کلید توقف اضطراری دستی — همیشه باید بتوانید ربات را فوری متوقف کنید.
آشتیسازی وضعیت
این بخش را تقریباً همه فراموش میکنند و دقیقاً همین باعث بزرگترین فاجعهها میشود.
ربات پس از هر راهاندازی مجدد و بهصورت دورهای، باید وضعیت داخلی خود را با وضعیت واقعی صرافی تطبیق دهد. اگر ربات فکر میکند پوزیشنی ندارد اما صرافی میگوید دارد، منبع حقیقت صرافی است.
بدون این لایه، یک قطع اتصال ساده میتواند به پوزیشنهای تکراری یا پوزیشنهای بیحفاظ منجر شود.
مسیر درست از ایده تا اجرا
این مسیر را نباید کوتاه کرد:
۱. تست واحد اجزا — هر بخش را جداگانه بررسی کنید، بهخصوص محاسبه حجم و منطق سیگنال.
۲. بکتست با فرضهای واقعبینانه — با کارمزد و اسلیپیج واقعی، نه صفر.
۳. نقد بکتست — به دنبال نشانههای بیشبرازش بگردید. اگر نسبت شارپ در یک استراتژی ساده بالای ۲ است، احتمالاً خطایی وجود دارد نه نبوغی.
۴. آزمون حساسیت پارامتر — اگر پارامترها ۱۰ تا ۲۰ درصد تغییر کنند، نتیجه چقدر تغییر میکند؟ استراتژی سالم در محدودهای از پارامترها کار میکند، نه فقط در یک نقطه.
۵. اجرا روی داده زنده بدون ارسال سفارش — حداقل چند هفته. اینجا تفاوت بین بکتست و واقعیت آشکار میشود.
۶. اجرا با حجم بسیار کوچک — یک ماه.
۷. افزایش تدریجی حجم — با معیار عبور مشخص در هر مرحله.
هر مرحلهای که رد کنید، بعداً با هزینه بیشتری پرداخت میکنید.
تشخیص بیشبرازش
منحنی سرمایه زیبا در بکتست، رایجترین دام معاملهگران کمی است. نشانههای هشدار:
نسبت بالای تعداد پارامتر به تعداد معامله. با ده پارامتر و پنجاه معامله، عملاً داده را حفظ کردهاید نه الگو را.
پارامترهای با مقادیر عجیب و غیرگرد — نشانه بهینهسازی بیش از حد.
قواعد شرطی زیاد که هر کدام چند معامله را حذف میکنند.
عملکرد خوب فقط در یک زیردوره.
بهترین دفاع، آزمون خارج از نمونه است: بخشی از داده را از ابتدا کنار بگذارید و تا پایان توسعه به آن دست نزنید.
واقعیت اقتصادی
ربات معاملاتی نه ماشین چاپ پول است و نه بیفایده. ابزاری است که استراتژی شما را با انضباط کامل و بدون خستگی اجرا میکند.
اگر استراتژی شما لبه دارد، ربات آن را بهتر از شما اجرا میکند — چون نمیترسد، طمع نمیکند و حد ضرر را جابهجا نمیکند. اگر لبه ندارد، ربات فقط سرعت رسیدن به نتیجه اجتنابناپذیر را بالا میبرد.
بنابراین ترتیب درست این است: اول استراتژی با لبه اثباتشده، بعد اتوماسیون. معکوس کردن این ترتیب، رایجترین راه هدر دادن زمان و سرمایه است.