Арилжаа

Зах зээл

Платформ

Хамтрах

Урамшуулал

Танд

Statistical Arbitrage стратегийн бүрдэл ба хэрэгжилт

2025-06-19

Statistical Arbitrage буюу богино хугацааны статистик арбитраж нь санхүүгийн зах зээлд хамгийн нэр хүндтэй, дата анализ, математик, программчлалтай хосолсон стратегиудын нэг юм.

Statistical Arbitrage стратегийн бүрдэл ба хэрэгжилт

Энэ нь үнэ хоорондын өөрчлөлтийг ашиглан ашгаа гаргах аргаар ажилладаг бөгөөд Forex зах зээлд ч амжилттай хэрэгжиж болно.
Форекс арилжаачдад энэ стратеги нь:

  • Зах зээлийн жижиг зөрүүг сайн ашиглах боломж
  • Орчин үеийн дата анализ, програмаар удирдлагатай
  • Харагдахгүй “элэктрон” арилжааны загвар

шиг өндөр түвшний аргачлалтай байдаг. Нийтлэлийн зорилго бол арилжаачдад Statistical Arbitrage-ыг ойлгож, жижиг эхлэлтэйгээр арилжаандаа амжилттай нэвтрүүлэх боломжийг бүрдүүлэх юм.

2. Statistical Arbitrage гэж юу вэ?

2.1 Үндсэн ойлголт

Statistical Arbitrage нь арилжааны sample (time series)-д статистик хамааралт эсвэл temporary price divergence үүссэн үед тренд, mean reversion, cointegration ашиглан олз годох стратеги юм.

Өгөдлийн хэллэгээр:

  • Хосоор нь сонгогдсон валютын ханш (жишээ: EUR/USD болон GBP/USD) статистик уялдаа гаргалтай байхад тэдгээрийн үнэ туршиж амжилттай давтагдаж байгаа mean gap-аар 1-2 сарын хугацаанаас хамаарч эргэдэг.

Энэ зарчим дээр тулгуурлан арилжаач нь:

  • Өндөр уялдаатай currency pairs-ыг сонгон авна
  • Price spread, ratio-г хянана
  • Дэнтэр нэмэгдсэн үед худалдаж авах / борлуулах захиалга өгнө

2.2 Нээлтийн төрлүүд:

  • Pair trading (хоёр хос): Хоёр correlated валютын хосыг нэгэн зэрэг long ба shortөргөдөл тавьж mean reversion ашиглана.
  • Multi-product arbitrage: Валютын гурвалсан arbitrage ба корелляциар удирдлагатай arbitrage.
  • High-frequency arbitrage: Tick-үүд дээр тайм хугацаанд volatility ашиглах.

Форекс зах зээлд ихэвчлэн pair trading хэлбэрээр хэрэгждэг бөгөөд restarting algorithm-г ашиглан “statistical alpha”-ийг гаргадаг.

3. Стратегийн бүрдэл хэсгүүд

3.1 Data болон Pair Selection

3.1.1 Өгөгдөл түүх

Стратегид шаардлагатай өгөгдөл:

  • Минимум Daily 5–10 жилийн хугацааны OHLC data
  • Ваккумгүй цэвэр, алдаагүй, timestamp-тэй өгөгдөл
  • Spot валютын ханш, интербанк усгаж орсон forward үзүүлэлт

3.1.2 Correlation болон cointegration тооцоо

  • Correlation: Pearson correlation коэффициентийг 0.8+ гэж үзэн correlated pairs хайна.
  • Cointegration: Johansen эсвэл Engle-Granger тест ашиглан үнэ ratio-ууд long-run хамааралттай эсэхийг тодорхойлно.

3.1.3 Spread analysis ба stationarity

  • Spread = Price1 – β*Price2
  • KPSS, ADF stationarity тест ашиглан, spread-ийг mean reverting эсэхийг шалгана.

3.2 Mean Reversion болон Signal Generation

StatArb-ыг хэрэглэдэг стратегиуд ихэвчлэн mean reversion эсвэл momentum дээр тулгуурлана.

3.2.1 Z-score дээр тулгуурласан signal

  • Z = (Spread – Mean) / Std.
  • Зургаан дахь төлөв: Z > +2 эсвэл Z < -2 үед trade нээж, Z = 0 болох үед хаана.

3.2.2 Lookback window

  • Хувьд rule-based сигнал үүсгэнэ: “Хамгийн сүүлийн 60 хоногийнх mean & std dev ашиглах”
  • Rolling window ашигласнаар стратегийн volatility-д дасан зохицно.

3.3 Execution ба Position Sizing

3.3.1 Hedge ratio

ENGLE-GRANGER-ийн β ашиглана. Спредийг hedge ratio-гаар нөхөж long-short харьцааг тохируулах.

3.3.2 Risk-based sizing

  • Классикхаад: Max 1–2% account equity-г нэг кластерт эрсдэллэх
  • Монетари хуваарилалт: Equalized risk across pairs

3.3.3 Trade execution

  • Market эсвэл limit order-тэй entry / exit
  • Slippage, spread, execution cost-ыг simulation-д тусгах

3.4 Risk Management

3.4.1 Stop-loss & Take-profit

  • Z > ±3 (extreme deviation) → fail safe exit
  • Max holding period: 10–30 хоног
  • Timeout rule: Захиалгыг автомат хаах

3.4.2 Portfolio risk constraints

  • Только correlated cluster-тэй тооцдог
  • Max cluster exposure 3–4%

3.4.3 Performance monitoring

  • PnL, drawdown, Sharpe, Sortino, profit factor
  • OOS validation, удал харагдах backtest

4. Програмчлал, backtesting & walk-forward

Стратегийг амжилттай хэрэгжүүлэхэд Python, R гэсэн програмчлалын орчин хамгийн тохиромжтой:

4.1 Python сангууд:

  • pandas, numpy → өгөгдөл боловсруулах
  • statsmodels → cointegration
  • ta libs → technical indicators
  • zipline / backtrader → backtest хийх

4.2 Backtesting

  • In-sample / out-of-sample backtest хийх
  • Walk-forward validation ашиглах

4.3 Execution engine

  • Fx brokers API (OANDA, IG) ашиглан real-order execution

5. Форекс зах зээлд хэрэгжүүлэх алхмууд

Statistical Arbitrage стратегийг амжилттай хэрэгжүүлэх нь зөвхөн нэг санаа гаргахаас гадна шат дараалсан, хянагдсан тест, системчилсэн гүйцэтгэл шаарддаг. Доорх нь стратегийг Форекс зах зээл дээр бодитоор хэрэгжүүлэхэд дараалж хийх шаардлагатай гол 7 алхам болно.

5.1 Өгөгдөл татах (Data Collection)

Эхний бөгөөд хамгийн чухал алхам бол чанартай түүхэн ханшийн өгөгдөл цуглуулах юм. Үүнд:

  • Хугацаа: 5–10 жилийн өдрийн (daily) эсвэл цагийн (hourly) өгөгдөл илүү найдвартай.
  • Хэлбэр: Open, High, Low, Close (OHLC) форматтай CSV эсвэл JSON хэлбэртэй файл байвал тохиромжтой.
  • Эх сурвалжууд:
    • Free: Yahoo Finance, Dukascopy, HistData.com
    • API access: OANDA, IG, Alpha Vantage

Дараа нь эдгээр өгөгдлийг Excel эсвэл Python ашиглан цэвэрлэж, ашиглахад бэлэн болгоно.

5.2 Коррелляци болон хосуудыг сонгох (Pair Selection)

Ижил чиглэлтэй хөдөлдөг валютын хосуудыг сонгох нь гол суурь алхам. Үүнд:

  • Корреляци тооцох: Хос валютын хоорондын Pearson correlation коэффициентийг тодорхойлж, 0.8 болон түүнээс дээш эерэг уялдаатай хосуудыг шалгаруулна.
  • Боловсруулалт: Python ашиглан бүхий л major хосуудын уялдааг тооцож, top 10-ыг сонгох.
  • Жишээ хосууд: EUR/USD ↔ GBP/USD, AUD/USD ↔ NZD/USD, USD/CAD ↔ USD/CHF

Эдгээр хосуудын харьцангуй үнийн хөдөлгөөнийг дараа нь cointegration тестээр шалгана.

5.3 Cointegration тест хийх

Хос валютын ханш хэчнээн өндөр уялдаатай байсан ч, statistical arbitrage хэрэгжихийн тулд cointegrated байх шаардлагатай.

  • ADF (Augmented Dickey-Fuller) тест: Цувралын тогтворжилтыг шалгах
  • Engle-Granger тест: Спред тогтвортой (mean reverting) эсэхийг тогтооно
  • Johansen тест: Олон цувралын cointegration зэрэг шалгах

Python-ын statsmodels сан эсвэл Excel-ийн нэмэлтээр эдгээр тестүүдийг хийх боломжтой.

5.4 Стратеги боловсруулах (Signal & Entry Logic)

Спредийн утгыг стандарт хазайлтаар хэмжиж Z-score үүсгэнэ:

  • Z-score = (spread - mean) / std
  • Z > +2 → “short” position
  • Z < -2 → “long” position
  • Z = 0 → “exit”

Мөн өөрчлөгдөж буй volatility-г тусгахын тулд rolling mean болон rolling std ашиглана. Хамгийн багадаа 60–90 хоногийн lookback window тохиромжтой.

5.5 Backtesting хийх

Одоо стратеги тань онолын хувьд бэлэн боллоо. Харин практик үр дүнг батлахын тулд өнгөрсөн өгөгдөл дээр шалгах ёстой.

  • In-sample: Сургалтын өгөгдөл дээр тохируулах (жишээ нь 2015–2020)
  • Out-of-sample: Турших өгөгдөл дээр гүйцэтгэлийг шалгах (жишээ нь 2021–2023)
  • Walk-forward validation: Жил бүр стратегиа дахин тохируулах замаар амьд гүйцэтгэлийг дуурайлгах

Зорилго нь тухайн стратеги бодит нөхцөлд ямар үр дүн үзүүлж болохыг хамгийн нарийвчлалтай мэдэх.

5.6 Demo буюу бодит бус гүйлгээ туршилт

Backtest сайн гарсан ч, live арилжаанд гүйцэтгэл өөр байж болно. Тиймээс дараах аргаар ризик багатай туршилт хийнэ:

  • Demo account: 100% виртуал орчинд амьд зах зээлтэй арилжаа хийх
  • Micro lot live account: 0.01–0.05 lot хэмжээгээр бодитоор гүйцэтгэж үзэх

Энэ үед execution speed, slippage, spread зардлуудыг хэмжинэ. Хэрвээ бодит дүн backtest-тэй ойролцоо байвал стратегийг итгэлтэйгээр хэрэгжүүлж эхэлж болно.

5.7 Real trading-д шилжих

Тестүүдийг амжилттай давсны дараа стратегийг бодит арилжаанд бүрэн нэвтрүүлнэ.

  • Position sizing: Portfolio-гийн 1–2%-ийн эрсдэл тавих
  • Cluster risk: Ижил хосууд зэрэг орсон байвал нийт exposure 3–4%-иас хэтрэхгүй байх
  • Automation: Python бот эсвэл MT4/MT5 дээр автомат скрипт ашиглах

Эцэст нь стратегийг өдөр тутам болон долоо хоног тутам хяналт тавьж, гүйцэтгэлийг шинжилнэ.

6. Кейс судалгаа

Бөгөлсны нэгэн жишээ:

  • EUR/USD & GBP/USD pair дээр engle-granger тест хийсэн
  • Hedge ratio ~ 0.8 гэж гарсан
  • Lookback window 90 dataset
  • Z thresholds +2/-2
  • 2010–2018 data дээр Sharpe ~ 1.5, Avg annual return ~ 8%, Max drawdown ~4%
  • Demo execution дээр 6 сард average monthly return ~ 0.7%, commission loss дахь simulation

7. Сул тал ба шийдэл

Асуудал 1: Data snooping буюу өгөгдлийн давхардсан давталт
Statistical arbitrage стратегийг боловсруулах явцад ижил түүхэн өгөгдөл дээр давтаж турших нь бодит зах зээлийн нөхцөлд тохирохгүй байж болзошгүй. Энэ нь стратеги бодит арилжаанд муу гүйцэтгэл үзүүлэх шалтгаан болдог.
Шийдэл: In-sample (дотоод) болон out-of-sample (гадаад) өгөгдөл тусад нь ялгаж турших, walk-forward validation хэрэглэх хэрэгтэй.

Асуудал 2: Захиалгын гүйцэтгэл дэх саатал ба зөрүү (slippage)
Захиалга өгөх үед бодит ханшнаас зөрүү үүсэх, ялангуяа зах зээлийн огцом хөдөлгөөн эсвэл liquidity багатай үед slippage гардаг. Энэ нь ашигт нөлөөлж, арбитражийн давуу талыг үгүй хийж болзошгүй.
Шийдэл: Backtest хийхдээ slippage болон spread зардлыг тооцоолох, жишээлбэл ханшнаас дунджаар 0.5–1 пипийн алдагдал оруулж симуляц хийх.

Асуудал 3: Overfitting буюу хэт тохируулах
Стратегийг зөвхөн өнгөрсөн мэдээлэлд хэт сайн тохируулсан тохиолдолд ирээдүйд үр дүн муу гардаг. Энэ бол статистик арбитраж стратегийн хамгийн түгээмэл алдаа юм.
Шийдэл: Загварыг хэт төвөгтэй болгохоос зайлсхийж, шалгуур үзүүлэлтүүдийг хэтэрхий олон нөхцөлөөр битгий шүүлтүүрд. Cross-validation, walk-forward validation ашиглан ирээдүйд давтагдах чадварыг шалга.

Хамгийн чухал нь, эдгээр эрсдэл, сул талуудыг урьдчилан тооцоолох, backtest болон демо туршилтаар баталгаажуулах явдал юм. Statistical arbitrage нь өгөгдөлд суурилсан хандлага тул тухайн алдаа нь системчилсэн байдлаар засагдах боломжтой.

Дүгнэлт

Statistical Arbitrage стратеги нь математик, дата шинжилгээ, эрсдэлийн менежмент, гүйцэтгэл, технологи гээд бүх талд бүрдсэн өндөр түвшний загвар юм. Форекс зах зээлд амжилттай нэвтрэхэд:

  • Өгөгдөл бүрэн хийц
  • Statistical дэлгэц, cointegration хэрэглэх
  • Risk properly manage хийх
  • Backtest+Walk-forward хийх
  • Demo туршлага

алхамууд чухал. Эцэст нь хэлэхэд, энэ стратеги бол “long-term систем”—өглөө бодит execution-ийг тогтвортойгээр гүйцэтгэх чадварт тулгуурлана.

Ижил төстэй блог