چطور در کریپتو سراغ پیشبینی قیمت با یادگیری ماشین برویم؛ بدون قاطیکردن ریسک
«پیشبینی قیمت» در کریپتو خیلی وقتها شکست میخورد چون مدلها در بازارهای سریع و با تغییر مداومِ فاز، نویز را بهجای سیگنال میگیرند. بهجای تلاش برای پیشبینی دقیقِ قیمتِ بعدی، چیزهایی را هدف بگیرید که واقعاً قابل معاملهاند: فاز بازار (روند/رِنج/رَنَجکات)، احتمال ادامهدار شدن حرکت، و شرایط پیرامون «ارزش منصفانه» (fair value). بعد این خروجیها را به قوانین اجرا وصل کنید و کنترل ریسک را با **R** (واحد ریسک شما) و با **سایزینگ مبتنی بر ATR** انجام دهید.
کریپتو به دلایل خوبی توجهِ دانشمندان داده را جذب میکند؛ همیشه یک اندیکاتور جدید هست، همیشه دادهی بیشتری برای کندن پیدا میشود و همیشه هم یک مدل هست که وعدهی «سیگنال بهتر» میدهد. اما مشکل اینجاست که بازار کریپتو سریع شخصیتش را عوض میکند. وقتی این اتفاق میافتد، پیشبینیای که در بکتست منطقی دیده میشد ممکن است در ترید واقعی دیگر جواب ندهد.
هدف اینجا رد کردن یادگیری ماشین نیست. هدف این است که آن را طوری به کار ببریم که کمتر بتوانید با خودتان کلک بزنید: پیشبینی را به چیزی وصل کنید که واقعاً قرار است معامله کنید، و ریسک را به R گره بزنید (واحد ریسک شما) نه به دلار.
چرا «پیشبینی قیمت» در کریپتو معمولاً ناامیدکننده میشود
چند دلیل نسبتاً قابلپیشبینی باعث ناامیدی پیشبینیها میشود.
- مدلها نمیتوانند همیشه بین نویز و سیگنال در بازارهای سریع و تغییر فاز جداسازی قابلاعتماد انجام دهند.
- پیشبینی، برنامهی ترید نیست. حتی اگر مدل جهت را تخمین بزند، هنوز باید ورود، استاپ و کنترل ریسک داشته باشید.
- خیلی از رویکردهای ML خروجیِ جهت یا احتمال میدهند، اما اجرای کار به ساختار بازار (سطوح، ارزش منصفانه، موقعیتگیری) و به مدل ریسک خودتان وابسته است.
یک چارچوب تمیز این است: پیشبینی میتواند به شما کمک کند احتمال را تخمین بزنید. اما ترید یعنی تصمیم بگیرید وقتی بازار حرکت کرد دقیقاً چه کار میکنید و اگر اشتباه شد، چقدر ممکن است ضرر کنید.
مدل دقیقاً چه چیزی را باید در کریپتو پیشبینی کند؟
اگر میخواهید خروجیهای ML واقعاً در ترید به درد بخورند، هدفهایی انتخاب کنید که هم قابل اندازهگیری باشند و هم بتوانید روی آنها اقدام کنید.
پیشبینیِ چیز قابل معامله، نه خیال
ترجیح بدهید ویژگیهایی را هدف بگیرید که مستقیم به کار میآیند:
- فاز محتمل: روند، رِنج یا رَنچکات
- احتمال ادامهدار شدن (یا احتمال برگشتِ حرکت)
- شرایط پیرامون ارزش منصفانه (آیا تریدرها دارند گرانتر میخرند، یا نسبت به میانگین ارزانتر پر میشوند؟)
تارگت را قابل اندازهگیری کنید
بهجای «قیمتِ بعدی»، چیزی را انتخاب کنید که قابل سنجش و قابل ترید باشد، مثل:
- احتمالِ اینکه قیمت تا قبل از اینکه استاپ شما زده شود به اندازهی مشخصی به نفعتان حرکت کند
این شکل نوشتن باعث میشود مدل رفتاری را یاد بگیرد که به اجرای ترید شما نزدیک است.
فاز را در لحظهی ورود برچسب بزنید
در عمل، تفاوت فاز بازار خیلی وقتها از تغییرات ریز در اندیکاتورها مهمتر میشود. برای همین مدل شما باید کمک کند بفهمید الان کدام «سناریو/پلن» مناسبتر است.
ورودیهای مدل که معمولاً بین نمادها و تایمفریمها بهتر انتقال پیدا میکنند
یکی از اشتباههای رایج این است که ویژگیهایی بسازید که فقط برای یک نماد، یک تایمفریم یا یک محیط نوسانی جواب میدهد. ویژگیهایی که رفتار بازار را توصیف میکنند معمولاً بهتر منتقل میشوند.
«ارزش منصفانه» را با VWAP لنگر کنید
شامل اینها باشید:
- session VWAP (لنگر شده به UTC 00:00)
- rolling VWAP طی N کندلِ گذشته
VWAP (میانگین وزنیِ حجم بر قیمت) میانگینی است که با حجم معاملات وزندهی شده. در فیوچرز کریپتو، این شاخص یک لنگرِ قابلفهم برای عدالت قیمت است:
- قیمت بالاتر از session VWAP → بهطور متوسط خریدارها «گرانتر» از میانگین در حال پرداختاند
- قیمت پایینتر از session VWAP → فروشندهها «بالاتر از قیمتی که میانگیناً پرداخت شده» پر میشوند
فاندینگ را به چشم هزینه/جابهجایی موقعیت بخوانید
در فیوچرز پرپچوال، یک funding rate وجود دارد تا قیمت پرپچوال نزدیکِ اسپات بماند.
- فاندینگ مثبت یعنی لانگها به شورتها پول میدهند
- فاندینگ منفی یعنی شورتها به لانگها پول میدهند
سطح فاندینگ را «احساسات بازار» فرض نکنید. آن را بهعنوان سیگنال هزینه ببینید. معمولاً بخشِ قابلاستفادهتر، «این است که فاندینگ چطور تغییر میکند»:
- فاندینگِ منفیِ پیوسته → شورتهای شلوغ در حال پرداختاند
- فاندینگِ مثبتِ پیوسته → لانگهای شلوغ در حال پرداختاند
- نزدیک صفر و برگشتپذیر → شرایط متعادلتر میشود
از order book برای کانتکست ورود استفاده کنید—با دقت
عدمتوازن دفتر سفارش (حجم Bid در برابر Ask نزدیکِ قیمت تماس) و weighted depth میتواند به زمانبندی ورود نزدیکِ سطوح کمک کند.
اما باید با معاملات واقعی (realised trades) چک شود. اسپوفینگ رخ میدهد؛ «دیوارهای جعلی» ممکن است یکدفعه ناپدید شوند. اگر عدمتوازن Bid قوی نشان بدهد ولی همچنان پرینتها فروش انجام دهند، احتمال دارد Bidها واقعی نباشند.
نوسان و آگاهی از ساختار را هم اضافه کنید
ویژگیهای مبتنی بر ATR کمک میکنند مدل بفهمد بازار تا چه حد آمادهی حرکت است. این مهم است چون همان الگو میتواند در فازهای مختلف نوسان، رفتار کاملاً متفاوتی داشته باشد.
تبدیل سیگنالهای رایج به قواعدی که مدل بتواند یاد بگیرد
خیلی از تریدرها از VWAP، فاندینگ و ایدههای order book استفاده میکنند. نکته این است که آنها را تبدیل کنید به قواعد قابل یادگیری، نه تفسیرهای کلی و بدون ساختار.
VWAP بهعنوان لنگر، نه ماشهی مستقل
VWAP را بهعنوان نقطهی مرجع در نظر بگیرید:
- قیمت بالاتر از session VWAP یعنی خریدارها بهطور متوسط دارند گرانتر میخرند
اگر جهتگیریتان لانگ باشد، VWAP کمک میکند بپرسید: آیا دارم بالاتر از چیزی میخرم که بازار خودش «منصفانه» تشخیص داده؟ اگر بله، چرا؟
بازگشت به VWAP در روندهای ادامهدار
یک ساختار ادامهدار رایج این است:
- بعد از یک حرکت تمیز در طول session، منتظر اولین پولبک به VWAP باشید
- اگر فاز هنوز از رفتارِ روند حمایت کند، این میتواند نقطهی ادامه با احتمال بالاتر باشد
کلمهی کلیدی اینجاست: اگر. پولبک به VWAP در رِنج با روند یکسان کار نمیکند.
فاندینگ: تغییرات را ببینید، نه فقط علامت را
قواعد سرانگشتی که خوب تبدیل میشوند به مدل:
- فاندینگِ منفیِ پیوسته با شورتهای شلوغِ در حال پرداخت همبستگی دارد
- فاندینگِ مثبتِ پیوسته با لانگهای شلوغِ در حال پرداخت همبستگی دارد
- ارزش اصلی معمولاً از پیدا کردن جابجاییها میآید، نه از خیره شدن به خودِ عدد
order book: زمانبندی نزدیکِ سطوح
برای زمانبندی ورود از عدمتوازن استفاده کنید:
- پس گرفتن یک سطح با حمایت Bid احتمال لانگ را تقویت میکند
- سفارشهای سنگینِ در انتظارِ فروش (asks) بالاتر از قیمت فعلی، برای تلاشهای شکست (breakout) وزنهی منفی است
باز هم: از order book فقط بهعنوان کانتکست استفاده کنید. اجازه ندهید خودش به تنهایی «تز اصلی» ترید شما شود.
دستهبندی فاز بازار؛ ستون فقرات طراحی ML شما
فاز بازار تنها فیلتر مفید است برای اینکه پلن درست را انتخاب کنید.
سه فاز عملی را در نظر بگیرید: روند، رِنج، رَنچکات.
روند
روند یعنی ساختارِ جهتدار:
- ADX در حال رشد
- higher-highs / higher-lows (یا برعکس برای شورت)
روند برای ورودهای مبتنی بر مومنتوم و خروجهای تِریلینگ بهتر است.
رِنج
رِنج یعنی نوسان حول حمایت/مقاومتهای قابل شناسایی:
- ATR در حال جمع شدن (ATR contracting)
رِنج برای ورودهای «معکوسگیر/میانگینبرگشت» بهتر است؛ با خروجهای محکمتر و از پیش تعریفشده.
رَنچکات
رَنچکات یعنی شلوغ و بیقواره:
- ساختار تمیز ندارید
- استاپهانتها (stop-runs) زیاد است
اقدام پیشفرض: سایز کمتر یا اصلاً وارد نشدن. اگر مجبورید ترید کنید، فقط روی ستاپهای با بیشترین درجه اطمینان تمرکز کنید و در عوض استاپهای بازتر را قبول کنید.
برای هر ترید، در لحظهی ورود فاز را برچسب بزنید. در طول زمان، عملکردِ برچسبخورده بر اساس فاز معمولاً بهتر از مقایسهی «اندیکاتور A در برابر اندیکاتور B» جدا میشود.
جایی که یادگیری ماشین و دیپلرنینگ واقعاً جا دارد
یک راه سالم برای اینکه ML درست استفاده شود این است که هدفش را با تصمیمها همراستا کنید.
پیشبینی احتمالها و طبقهبندی فازها
از ML/دیپلرنینگ برای تخمین اینها استفاده کنید:
- احتمالِ ادامه در برابر برگشت
- احتمال اینکه فاز فعلی در کدام کلاس قرار میگیرد
قرار نیست «مسیر قیمتِ بعدی» را دقیق و قطعی بسازد. بازار به شما یک خط مستقیم بدهکار نیست.
مدلهای توالی برای زمانبندی رویدادها
اگر بخواهید الگوهای زمانی را اطراف این موارد یاد بگیرید، رویکردهای توالی (دیپلرنینگ) میتواند مفید باشد:
- پولبکهای VWAP
- تغییرات فاندینگ
- جابهجاییهای order-book
نگاشت خروجیها به اجرا
مدل باید خروجیهایی بدهد که مستقیم در اجرای ترید و مدیریت ریسک جا بگیرند.
اگر مدل فقط به شما بگوید «بالا» یا «پایین» ولی نتوانید آن را به زمانبندی ورود و منطق استاپ تبدیل کنید، دوباره به قضاوتِ شخصی برمیگردید.
مدیریت ریسک: کیفیت پیشبینی بدون کنترلهای مبتنی بر R معنایی ندارد
حتی اگر مدل خوب باشد، اگر منطق ریسکگیریتان ثابت و یکدست نباشد ممکن است پول از دست بدهید.
همهچیز را به R لنگر کنید
R واحد ریسک شماست: فاصله بین قیمت ورود و قیمت استاپ.
تمام خروجی عملکرد باید در R بیان شود:
- expectancy (امید ریاضی)
- MFE (بیشترین حرکتِ مساعد)
- MAE (بیشترین حرکتِ نامساعد)
این مهم است چون PnL دلاری بین محیطهای نوسانی خیلی تغییر میکند. استراتژیای که +0.35R در هر ترید میگیرد، چه بازار آرام باشد چه وحشی، همان +0.35R را میگیرد؛ نتایج دلاری با سایز و نوسان بزرگنمایی یا کوچکنمایی میشود.
امید ریاضی وقتی بهتر تعمیم میدهد که R ثابت باشد
برای ارزیابی عملکرد مدل روی expectancy در R تمرکز کنید. اگر برای بودجهبندی لازم داشتید، در مرحلهی آخر به دلار تبدیلش کنید.
«پیشبینی» جای استاپ را نمیگیرد
پیشبینی تصمیم استاپ را تغییر نمیدهد. فاصلهی استاپ، سایز پوزیشن و قواعد خروج هستند که توزیع نتایج ترید را تعیین میکنند.
سایز پوزیشن از ATR بگیرید تا منطق استاپ همخوان بماند
اگر سایز پوزیشن را ثابت کنید و اجازه بدهید نوسان حرکت کند، فاصلهی ضمنی تا استاپ هم سرگردان میشود. همین باعث «غافلگیری» بعضی تریدرها میشود.
طوری سایز کنید که حرکت نامساعدِ ۱-ATR با بودجهی ریسک شما بخواند
سایز پوزیشن باید به ATR وابسته باشد:
- فاصلهی استاپ را = k * ATR تنظیم کنید
- k را با توجه به فاز انتخاب کنید
بازههای رایج k:
- 1.0–1.5 در روند
- 1.5–2.0 در رَنچکات
بعد پوزیشن را طوری حساب کنید که یک حرکت نامساعدِ ۱-ATR معادل بودجهی ریسک شما باشد.
اشتباه رایج: ثابت نگه داشتن سایز پوزیشن و اجازه دادن به اینکه در موجهای افزایش نوسان، استاپِ ضمنی تغییر کند. این سیستم فقط وقتی درست کار میکند که منطق استاپ و سایزینگ با هم مقیاس شوند.
اتصال خروجیهای مدل به پلنهای اجرایی
وقتی احتمال فاز و احتمال ادامهدار شدن حرکت را دارید، از آنها برای هدایت پلن استفاده کنید.
بایاس روند + اطمینان مدل: داخل VWAP پلهای بگیرید (دنبال نکنید)
بهجای خرید کندلِ بریکآوت، میتوانید ورودها را دورِ VWAP قبلی پلهبندی کنید.
یک ساختار نمونه:
- 30% روی اولین پسگیریِ VWAP
- 30% روی یک پولبکِ تأییدشده با عمق فروشِ (sell-side) نازکتر
- 40% بعد از اینکه بعد از پولبک، higher-low شکل بگیرد
اگر قیمت در تایمفریم کاری دوباره و دوباره زیر VWAP بست، بقیهی پلهها را کنسل کنید.
بایاس رِنج: ورودهای میانگینبرگشتی با استاپهای فشرده
در شرایط رِنج، ترجیح بدهید:
- استاپهای محکم
- خروج نزدیکِ لبهی مقابلِ رِنج
اینجا منطق روند را کپی نکنید. پسگیریِ VWAP در رِنج ممکن است معنی کاملاً متفاوتی داشته باشد چون رفتار بازار میانگینبرگشت است.
رَنچکات: سایز کمتر یا کنار بمانید
در رَنچکات:
- سایز را کم کنید یا وارد نشوید
- اگر هم ترید میکنید، فقط روی ستاپهای با بالاترین اطمینان دست بگذارید
- اگر ساختار مجبور کرد، استاپهای بازتر را بپذیرید
بکتست مدل: چیز درست را اندازه بگیرید
بکتست باید به جای دقتِ صرف، به شما درباره «لبه (edge)» و «ریسک» جواب بدهد.
expectancy را در R بسنجید
این کاری است که باعث میشود بین نمادها و فازهای نوسانی تعمیمپذیر شود. معیارهای مبتنی بر R ارزیابی را یکدست نگه میدارند.
توزیع نتیجهها را دنبال کنید
فقط به نرخ برد نگاه نکنید.
چیزهایی مثل اینها را هم رصد کنید:
- MAE/MFE در R تا ببینید سیگنالها به اندازه کافی زود میرسند که منطق استاپ شما فعال شود یا نه
اگر MAE خیلی بزرگتر از استاپ شما باشد، شاید لبهای که میبینید توهم باشد؛ توهمی که از زمانبندی اجرا ساخته شده است.
استرستست بر اساس فاز
هر ترید را در لحظهی ورود برچسب بزنید (روند/رِنج/رَنچکات) و تست کنید آیا عملکرد واقعاً با فاز تغییر میکند یا نه. اگر مدل «همهجا» خوب کار کند، گاهی یعنی اصلاً ساختار فاز را یاد نگرفته است.
چکلیست پیادهسازی (و اینکه در لایو کجا زیر نظر بگیرید)
کار مدل وقتی شروعِ اجراست تمام میشود. برای اینکه همراستایی بهتر شود، تحلیل و اجرای شما بهتر است روی همان ونو انجام شود.
XT Exchange جایی است که فیدهای زنده بازار ما در قالب snapshotها و سیگنالها قدرت میدهند.
چکلیست عملی:
- اگر روی یک پرپِ مشخص ترید میکنید، روی XT بررسی کنید: session VWAP، رفتار rolling VWAP، روندهای funding و عدمتوازن order-book برای همان جفت
- از چارتهای لایو کمک بگیرید تا برچسبهای فازِ خودتان را با واقعیت تطبیق دهید و ببینید پولبکهای VWAP در همین session دقیقاً همانطور که انتظار دارید در حال رخ دادن هستند یا نه
کریپتو میتواند سریع شخصیتش را عوض کند. مانیتورینگ در لایو بخشی از تحقیقات است.
قدم بعد: ورودیهایتان را روی XT بررسی کنید و از ریسک مبتنی بر R بسازید
اگر میخواهید این چارچوب را عملی کنید، از ساده شروع کنید.
- اکانت XT خود را باز کنید و روی یک جفت BTC (یا پرپچوال مورد علاقهتان) ترید کنید تا session VWAP، rolling VWAP، شیفتهای فاندینگ و واکنشهای order-book را در لحظه ببینید
- بعد خروجی مدل را به منطق ورود/استاپ مبتنی بر R تبدیل کنید؛ با سایزینگ مبتنی بر ATR تا رفتار بکتست و رفتار لایو با هم همخوان بمانند
با یک نماد شروع کنید، تریدها را بر اساس فاز برچسب بزنید و بعد پیچیدگی را آرامآرام اضافه کنید.
بهروزرسانی در ۲۴ تیر ۱۴۰۵
آموزش فن معاملهگری، روانشناسی بازار، روندهای کریپتو و کلان، و نحوه تغییر هوش مصنوعی در تحلیل بازار. کاربردی، مستند، بدون اغراق.