Wash Trading — معامله شستشو
تشخیص و حذف از تحلیل.
Wash Trading — معامله شستشو: تشخیص و حذف از تحلیل
> هدف یادگیری: در پایان این درس، میتوانید Wash Trading را با روشهای کمّی شناسایی کنید، حجم دستکاریشده را از دادههای خام تفکیک نمایید، و معیارهای پاکشدهای بسازید که تحلیل ساختار بازار شما را به واقعیت نزدیکتر کند.
---
۱. Wash Trading چیست و چرا برای تریدر پیشرفته اهمیت دارد
Wash Trading به معاملاتی گفته میشود که در آن یک نهاد — یا چند نهاد هماهنگ — هم طرف خرید و هم طرف فروش یک دارایی را کنترل میکند. هدف ایجاد ظاهر فعالیت بازار است، نه انتقال واقعی ریسک. در بازارهای سنتی این عمل غیرقانونی است؛ در بازارهای کریپتو، بهخصوص در صرافیهای بدون نظارت، هنوز رواج دارد.
از منظر تریدر پیشرفته، مشکل اینجاست: حجم اعلامشده در صرافیها مستقیماً در محاسبه لیکوییدیتی، اسپرد ضمنی، و وزندهی در اندیکاتورهایی مثل VWAP، OBV و Volume Profile وارد میشود. اگر ۶۰٪ از حجم یک نماد ساختگی باشد، خط VWAP شما تا ۱۵ تا ۳۰ درصد از واقعیت فاصله میگیرد و سطوح حمایت/مقاومت مبتنی بر حجم معنای خود را از دست میدهند.
مثال عددی:
فرض کنید صرافی X اعلام میکند که در ۲۴ ساعت ۸۰۰ میلیون دلار حجم معامله BTC/USDT داشته است. تحقیقات مستقل نشان میدهد حجم واقعی (Organic Volume) حدود ۱۲۰ میلیون دلار بوده. نسبت دستکاری: ≈ ۸۵٪. در این شرایط، هر استراتژیای که روی لیکوییدیتی این صرافی حساب باز کند، با اسلیپیج واقعی سه تا شش برابر بیشتر از تخمین مواجه میشود.
---
۲. مکانیزمهای رایج اجرای Wash Trading
درک روش اجرا، پایه تشخیص کمّی است:
الف — Self-Trading مستقیم:
یک حساب در هر دو طرف دفتر سفارش قرار میگیرد. موتور تطبیق صرافی این سفارشها را بهعنوان معامله ثبت میکند. اگر صرافی کارمزد دو طرف را بگیرد، هزینه خالص ممکن است با رباتهای ریبیت یا انگیزههای Market Maker جبران شود.
ب — Ring Trading چند حسابه:
حساب A میفروشد به B، B میفروشد به C، C میفروشد به A. موجودی خالص هر حساب بدون تغییر میماند اما سه معامله در تاریخچه ثبت میشود.
ج — Layering + Wash:
سفارشهای بزرگ در یک طرف دفتر گذاشته میشوند تا تقاضا یا عرضه را نمایش دهند، سپس در کسری از ثانیه لغو میگردند و همزمان در طرف دیگر Wash Trade انجام میشود.
---
۳. شاخصهای کمّی تشخیص Wash Trading
این بخش هسته فنی درس است. ما چهار معیار اصلی را بررسی میکنیم:
۳.۱ نسبت حجم به Open Interest (Volume/OI Ratio)
در بازارهای فیوچرز:
$$R_{VOI} = \frac{V_{24h}}{OI}$$
در بازارهای سالم، این نسبت معمولاً بین ۱ تا ۳ است. وقتی $R_{VOI} > 10$ میشود — بهخصوص در نمادهایی با OI پایین — احتمال Wash Trading بالا میرود. برای اسپات، جایگزین OI را میتوان Market Cap کرد:
$$R_{VMC} = \frac{V_{24h}}{MC}$$
مقادیر $R_{VMC} > 0.5$ در کوینهای میانی یا کوچک نشانه قوی دستکاری است. برای بیتکوین، این نسبت معمولاً زیر ۰.۰۵ است.
۳.۲ Trade Size Clustering
در معاملات ارگانیک، توزیع اندازه معاملات از توزیع لگنرمال پیروی میکند — بیشتر معاملات کوچک و تعداد کمی بسیار بزرگ. در Wash Trading، خوشهبندی غیرعادی در اندازههای رُند مشاهده میشود:
اگر بیش از ۳۰٪ معاملات در یک بازه ۱ ساعته دقیقاً ۱، ۱۰، ۱۰۰، یا ۱۰۰۰ واحد پایه داشته باشند، این الگو رباتمحور است.
تست آماری: آنتروپی شانون توزیع اندازه معاملات را محاسبه کنید:
$$H = -\sum_{i} p_i \log_2(p_i)$$
در بازار ارگانیک، H بالاست (توزیع یکنواختتر). در Wash Trading ساختگی، H پایین است چون چند اندازه مشخص سهم نامتناسبی دارند.
۳.۳ Bid-Ask Spread vs. Reported Volume
رابطه بنیادی بازار میگوید: هرچه لیکوییدیتی واقعی بیشتر، اسپرد کمتر. اما در Wash Trading، حجم بالا همراه با اسپرد غیرعادی وسیع دیده میشود:
$$\text{Spread Anomaly Score} = \frac{\text{Actual Spread}}{\text{Expected Spread}(V_{24h})}$$
اگر این نسبت بیش از ۳ باشد، یعنی اسپرد واقعی سه برابر چیزی است که حجم اعلامشده پیشبینی میکند — نشانه آن است که آن حجم واقعی نیست.
۳.۴ Benford's Law روی داده معاملات
قانون بنفورد پیشبینی میکند که در دادههای طبیعی، فراوانی اولین رقم عدد از توزیع لگاریتمی پیروی میکند:
$$P(d) = \log_{10}\left(1 + \frac{1}{d}\right)$$
برای d=1: ≈ ۳۰.۱٪، برای d=9: ≈ ۴.۶٪
روی قیمتها، حجمها، و اندازه معاملات یک نماد این تست را اجرا کنید. انحراف معنادار آماری (با Chi-Square test) از توزیع بنفورد، نشانهای از دادهسازی است:
$$\chi^2 = \sum_{d=1}^{9} \frac{(O_d - E_d)^2}{E_d}$$
اگر $\chi^2 > 15.51$ (برای df=8، سطح اطمینان ۹۵٪)، فرضیه داده طبیعی رد میشود.
---
۴. دادههای مرجع و ابزارهای تشخیص
منابع داده پاکشده
Kaiko و CryptoCompare CCCAGG حجم را با الگوریتمهای Wash Trading Adjustment وزندهی میکنند. این پلتفرمها بر اساس عواملی مثل نسبت حجم به OI، عمق دفتر سفارش، و سابقه تطابق قیمت با بازارهای مرجع، ضریب اعتماد به هر صرافی میدهند.
CMC Real 10 و CoinGecko Trust Score نیز شاخصهای عمومی هستند، اما برای تحلیل کمّی جدی، به API مستقیم Kaiko یا دادههای نهادی نیاز دارید.
روش DIY با داده خام
اگر به داده Trade-Level دسترسی دارید (هر معامله بهصورت جداگانه)، میتوانید فیلتر زیر را پیادهسازی کنید:
python
شناسایی معاملات مشکوک
def wash_trade_filter(trades_df, time_window_ms=500, size_tolerance=0.001):
"""
معاملاتی که:
۱. در بازه زمانی کوتاه (مثلاً ۵۰۰ میلیثانیه) اتفاق افتاده
۲. اندازه یکسان یا بسیار نزدیک دارند
۳. یکی Buy و دیگری Sell است
"""
suspicious = []
for i, trade in trades_df.iterrows():
window = trades_df[
(abs(trades_df['timestamp'] - trade['timestamp']) < time_window_ms) &
(abs(trades_df['size'] - trade['size']) / trade['size'] < size_tolerance) &
(trades_df['side'] != trade['side']) &
(trades_df.index != i)
]
if not window.empty:
suspicious.append(i)
return trades_df.drop(index=suspicious)
این فیلتر ابتدایی است و False Positive دارد، اما نقطه شروع خوبی برای پاکسازی داده است.
---
۵. تأثیر بر تحلیل تکنیکال و روشهای اصلاح
VWAP با حجم پاکشده
VWAP استاندارد:
$$VWAP = \frac{\sum_{i} P_i \times V_i}{\sum_{i} V_i}$$
VWAP با حجم تصحیحشده:
$$VWAP_{adj} = \frac{\sum_{i} P_i \times V_i^{adj}}{\sum_{i} V_i^{adj}}$$
جایی که $V_i^{adj} = V_i \times W_i$ و $W_i$ ضریب اعتماد صرافی i است (از منابعی مثل Kaiko یا محاسبه خودتان).
مثال عملی:
فرض کنید برای ETH در یک ساعت خاص، صرافی A (اعتماد ۰.۹) حجم ۵۰۰۰ واحد و صرافی B (اعتماد ۰.۲) حجم ۸۰۰۰ واحد گزارش داده است. میانگین قیمت هر دو ۳۰۰۰ دلار است.
- VWAP خام: $3000 \times (5000+8000) / 13000 = 3000$
- VWAP تصحیحشده: $3000 \times (4500+1600) / 6100 = 3000$
در این مثال ساده قیمت تفاوتی ندارد، اما وزن واقعی هر صرافی در محاسبات بعدی (مثل سیگنالدهی با حجم) متفاوت میشود. وقتی صرافیها قیمتهای متفاوتی دارند، این اصلاح اهمیت بیشتری پیدا میکند.
Volume Profile واقعی
Value Area High/Low و POC (Point of Control) که بر اساس حجم دستکاریشده محاسبه شده باشند، سطوح غلطی میدهند. برای نمادهایی که اکثر حجمشان از صرافیهای پایینرتبه میآید، این سطوح باید با وزندهی مجدد بازسازی شوند.
---
۶. استراتژی عملی برای تریدر پیشرفته
گام اول — انتخاب صرافی مرجع:
برای هر نماد، یک یا دو صرافی مرجع با شواهد قوی لیکوییدیتی ارگانیک انتخاب کنید (Coinbase، Binance Spot برای BTC/ETH، Bybit/OKX برای فیوچرز با OI بالا). تمام تحلیلهای حجممحور را فقط روی این صرافیها اجرا کنید.
گام دوم — Aggregation هوشمند:
هنگام ادغام داده چند صرافی، از وزندهی Kaiko Score یا معادل آن استفاده کنید. هرگز حجمها را بهصورت ساده جمع نزنید.
گام سوم — تأیید با Order Flow:
اگر به دادههای سطح دفتر سفارش (L2/L3) دسترسی دارید، افزایش حجم باید با افزایش عمق دفتر سفارش و کاهش اسپرد همراه باشد. حجم رو به بالا + اسپرد رو به بالا = سیگنال دستکاری.
گام چهارم — Cross-Reference با On-Chain:
برای توکنهای ERC-20 یا SPL، حجم DEX را (از Uniswap، دیدن Dex Screener) با CEX مقایسه کنید. اگر حجم On-Chain کسری از حجم CEX است و رشد نقدینگی On-Chain با روایت CEX همخوانی ندارد، Wash Trading محتمل است.
---
نتیجهگیری
Wash Trading یکی از مهمترین منابع نویز در دادههای کریپتو است. یک تریدر پیشرفته که با حجمهای کثیف کار میکند، در واقع روی دادههای تصادفی استراتژی میسازد. تشخیص و حذف این نویز نه یک انتخاب، بلکه پیشنیاز هر تحلیل جدی است.
ابزارهای کمّی مثل نسبت Volume/OI، آنتروپی توزیع، قانون بنفورد، و تست اسپرد ضمنی، به شما اجازه میدهند بدون دسترسی به اطلاعات داخلی صرافیها، کیفیت داده را ارزیابی کنید.
---
خلاصه نقطهای
- Wash Trading معاملهای است که خریدار و فروشنده یک نهاد هستند؛ هدف نمایش فعالیت مصنوعی است.
- نسبت Volume/OI بالا (بیشتر از ۱۰ در فیوچرز) نشانه اول مشکوک بودن حجم است.
- Trade Size Clustering روی اعداد رُند و آنتروپی پایین توزیع اندازه، شاخصهای الگوریتمی دستکاریاند.
- قانون بنفورد با Chi-Square test انحراف آماری داده از توزیع طبیعی را میسنجد.
- Spread Anomaly Score بالا نشان میدهد لیکوییدیتی اعلامشده واقعی نیست.
- برای VWAP و Volume Profile دقیق، حجم را با ضریب اعتماد صرافی وزندهی کنید.
- همیشه حجم CEX را با داده On-Chain و عمق دفتر سفارش تأیید کنید.
- صرافیهای مرجع با سابقه شفاف (Coinbase, Binance Spot) را برای تحلیل ساختار بازار اولویتبندی کنید.