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-06-13
Sharpe ratio болон Sortino ratio-г ойлгох нь
Sharpe болон Sortino харьцаанууд нь форекс арилжаанд гүйцэтгэлийг шинжлэх, стратеги үнэлэх....
2025-06-12
Алгоритм ба квант трейдинг: Шинжлэх ухаан ба практик хэрэглээ
Алгоритм ба квант трейдинг бол зүгээр нэг автомат арилжаа биш. Энэ бол шинжлэх ухаан....
2025-06-11
Scalping стратегиуд: Богино хугацаанд хурдан ашиг олох аргачлалууд
Скалпинг бол богино хугацаанд ашиг олох өндөр эрчимтэй арилжааны арга бөгөөд зөв хэрэглэвэл ....
2025-06-10
Трейдерүүдийн хоорондын өрсөлдөөн ба зах зээлийн динамик
Форекс зах зээл нь "over-the-counter" буюу төвлөрсөн биржгүйгээр явагддаг....
2025-06-09
Хөшүүргийн (Leverage) нөлөө ба эрсдэл: Хэрхэн зөв зохистой ашиглах вэ?
Форекс зах зээл нь асар их боломж агуулсан боловч өндөр эрсдэл дагуулсан....