2025-06-16
Форекс зах зээл дээр амжилт олох нь зөвхөн мэдрэмж, туршлагаар хэмжигддэг үе өнгөрч байна. Өгөгдөлд суурилсан, алгоритм хөтөлсөн шийдвэр гаргалт нь шинэ үеийн арилжаачдын ялгагдах чадвар болон хувирчээ. Ингэснээр мэргэжлийн түвшний трейдерүүд, проп фирмийн туршилтанд оролцогчид квант трейдинг буюу quantitative trading-ийг анхаарч эхэлж байна.

Квант трейдинг нь арилжааны уламжлалт сэтгэлзүйн болон субъектив шийдвэр гаргалтыг халж, математик, статистик загварчлал, алгоритм дээр суурилсан аргаар зах зээлийг шинжлэх ухаанчаар харж, тогтвортой систем үүсгэх боломжийг олгодог. Энэ нь:
гэсэн гурван үндсэн философийг агуулдаг.
Квант трейдинг (Quantitative Trading) нь:
Статистик, математик загварчлал болон алгоритм ашиглан өгөгдлийн суурьт суурилсан арилжааны стратеги боловсруулах аргачлал юм.
Энгийнээр хэлбэл, “сэтгэлзүй, зөн совин”-оос ангид, тооцоонд суурилсан шийдвэр гаргах систем юм.
✅ Объектив байдал
✅ Автоматжуулалт
✅ Системтэй туршилт хийх боломж
✅ Backtesting ба Optimization
✅ Хүний алдааг багасгах
Форекс зах зээл өндөр урсгалтай, дата сайтай, 24 цаг нээлттэй байдаг тул квант стратеги боловсруулахад нэн тохиромжтой. Python дээр API, дата нийлүүлэгч, автоматжуулсан системүүдтэй холбогдон бүрэн автомат арилжаа хийх боломжтой.
Та ямар төрлийн стратеги бичих гэж байна вэ?
Тодорхой зорилгоо (зорилтот валютын хос, таймфрейм, эрсдэлийн хүлцэл г.м) эхлээд тодорхойл.
✅ Python суулгах
✅ IDE: Jupyter Notebook / VSCode
✅ Номын сан суулгах:
pip install pandas numpy matplotlib seaborn yfinance ta bt backtrader
Жишээ: EUR/USD, GBP/USD, USD/JPY гэх мэт
import yfinance as yf
data = yf.download("EURUSD=X", start="2022-01-01", end="2023-12-31", interval="1d")
data.head()
⚠️ EURUSD=X гэх мэт тэмдэглэгээ нь Yahoo Finance дээр байдаг форекс симбол юм.import ta
data['rsi'] = ta.momentum.RSIIndicator(close=data['Close']).rsi()
data['ema_20'] = ta.trend.EMAIndicator(close=data['Close'], window=20).ema_indicator()
data['ema_50'] = ta.trend.EMAIndicator(close=data['Close'], window=50).ema_indicator()
RSI, EMA зэрэг индикаторуудыг pandas dataframe дээр амархан нэмэх боломжтой.
Жишээ стратеги: RSI + EMA crossover
def generate_signals(df):
df['signal'] = 0
df.loc[(df['rsi'] < 30) & (df['ema_20'] > df['ema_50']), 'signal'] = 1
df.loc[(df['rsi'] > 70) & (df['ema_20'] < df['ema_50']), 'signal'] = -1
return df
initial_balance = 10000
balance = initial_balance
position = 0
for i in range(1, len(data)):
if data['signal'][i] == 1 and position == 0:
entry_price = data['Close'][i]
position = balance / entry_price
elif data['signal'][i] == -1 and position != 0:
exit_price = data['Close'][i]
balance = position * exit_price
position = 0
import backtrader as bt
class MyStrategy(bt.Strategy):
def __init__(self):
self.rsi = bt.indicators.RSI_SMA(self.data.close, period=14)
self.ema20 = bt.indicators.EMA(self.data.close, period=20)
self.ema50 = bt.indicators.EMA(self.data.close, period=50)
def next(self):
if self.rsi < 30 and self.ema20 > self.ema50:
self.buy()
elif self.rsi > 70 and self.ema20 < self.ema50:
self.sell()
# Test running
cerebro = bt.Cerebro()
data_feed = bt.feeds.PandasData(dataname=data)
cerebro.adddata(data_feed)
cerebro.addstrategy(MyStrategy)
cerebro.run()
cerebro.plot()
Python дээр эдгээрийг тооцох pandas dataframe + matplotlib ашиглан боломжтой.
# Үндсэн өгөгдөл дээр ашигтай/алдагдалтай арилжааны тоо гаргаж үзэх
trades = result['balance'].pct_change()
sharpe = trades.mean() / trades.std() * (252**0.5)
Жишээ: RSI-ийн порог утгыг 30 → 25–35 хооронд, EMA-ийн цонхыг 20 → 15–25 хооронд өөрчилж хамгийн сайн тохиргоог олох.
import itertools
rsi_values = [25, 30, 35]
ema_values = [15, 20, 25]
for rsi_thres in rsi_values:
for ema_win in ema_values:
# Индикатор болон дохионы утгуудыг өөрчлөн test хийх
...
Python → MetaTrader 5 → Бодит зах зээлтэй API холболт
import MetaTrader5 as mt5
mt5.initialize()
account_info = mt5.account_info()
print(account_info._asdict())
Та бодит арилжаанд хөрвүүлэх бол сэтгэлзүй, execution delay, slippage зэрэг хүчин зүйлсийг давхар тооцох ёстой.
Квант стратеги нь зөвхөн сигнал биш, мөн капиталын удирдлага дээр суурилна.
Python дээр эдгээрийг функц болгон бичиж автоматжуулна.
Python програмчлалын хэл нь квант арилжааны стратеги боловсруулахад маш хүчирхэг, уян хатан хэрэгсэл бөгөөд өгөгдөлд суурилсан шинжилгээ, техникийн индикаторууд болон логик нөхцлүүдийг ашиглан үр дүнтэй стратеги бүтээх боломжийг олгодог; үүнээс гадна аливаа стратегийн салшгүй хэсэг болох backtesting, optimization, эрсдэлийн удирдлагыг системтэйгээр гүйцэтгэх боломжтой бөгөөд Python ашиглан API-уудтай холбогдож, бодит зах зээл дээр стратегиа хэрэгжүүлэх бүрэн боломжтой юм.

2025-10-31
Volatility Clustering ба Risk Persistence: Хэлбэлзлийн үргэлжлэл ба стратегийн эрсдэл
Шинэ трейдерүүд “яаж их ашиг хийх вэ” гэж асуудаг бол, амжилттай трейдерүүд “хэрхэн удаан....

2025-10-30
Volatility-д тохирсон динамик Stop Loss арга
Хэрэв та SL-ээ volatility-д уялдуулж чадвал, таны стратеги илүү тогтвортой, бодлоготой....

2025-10-29
Swing болон Intraday арилжаан дахь SL/TP-ийн ялгаа
Эцэст нь, SL/TP-ийн үр ашиг нь таны position size, R:R харьцаа, ба туушатай байдалтай уялдсан байх....

2025-10-28
Leverage-to-Equity Ratio ашиглан динамик risk control хийх арга
Leverage-to-Equity Ratio (LER) нь арилжааны системд динамик risk control хэрэгжүүлэх хүчирхэг....

2025-10-27
R:R Dynamic Adjustment — Зах зээлийн хэлбэлзэлд нийцсэн эрсдэлийн харьцааг хэрхэн ашиглах вэ?
Форекс зах зээл байнга өөрчлөгдөж байдаг тул нэгэн хэвийн 1:2 R:R схем таныг хамгаалахгүй.....