2025-06-18
Форекс арилжаанд ашиг орлого тогтвортой байлгах, эрсдэлийг хянахын тулд стратеги турших, баталгаажуулах нь зайлшгүй шаардлагатай алхам юм. Стратеги маань өнгөрсөн зах зээлийн өгөгдөл дээр хэрхэн ажилласныг шалгахдаа бид Backtesting ашигладаг бол ирээдүйд бодит нөхцөлд хэрхэхийг урьдчилан үнэлэхдээ Walk-Forward Validation хэрэг болдог.
Эдгээр аргууд зөв хийгдэхгүй бол буруу найдвар төрүүлж, бодит арилжаанд алдагдал авчирч болзошгүй. Иймд энэхүү нийтлэлд та Backtesting болон Walk-Forward Validation-г хэрхэн оновчтой хийх, тэдгээрийн онцлог, алхмууд, ашиглалтын стратегиудыг нарийвчлан судлах болно.
Backtesting нь тухайн арилжааны стратегийг өнгөрсөн зах зээлийн өгөгдөл дээр турших арга юм. Энэ нь:
Жишээ нь, хэрэв танд 50 өдрийн moving average дагасан стратеги байвал 2015–2024 оны ханшийн өгөгдөл дээр энэ стратеги ашиглаж хэрхэн ажиллахыг шалгана.
Хамгийн эхэнд таны арилжааны дүрэм, нэвтрэх ба гарах дохио, stop loss, take profit зэрэг бүрэн логик шаардлагатай. Тодорхойгүй логик бол backtest хийж болохгүй.
Жишээ стратеги:
Ямар ч алдаагүй, чанартай түүхэн ханшийн өгөгдөл чухал. Ихэвчлэн:
Санамж: Буруу data бол буруу дүгнэлт. Data-г цэвэрлэх, нягтлах, gap шалгах хэрэгтэй.
Python, R, MetaTrader, TradingView (Pine Script) зэрэг хэрэгслээр backtest хийнэ.
if ma20 > ma50 and position == None:
buy()
elif ma20 < ma50 and position == 'long':
close()
Энд програмчлалын үндэс шаардагдана. Python ашиглахад илүү уян хатан, нарийвчилсан статистик дүн шинжилгээ хийх боломжтой.
Backtest-ийн үр дүнгээ дараах үзүүлэлтүүдээр дүгнэнэ:
Backtest сайн үр дүн гаргалаа гээд стратеги чинь сайн байна гэсэн үг биш. Заримдаа стратеги маань яг тухайн түүхэн өгөгдөлд л тохирсон буюу "overfitted" байж болдог. Энэ нь:
Жишээ: 13.8 MA ашиглах нь 13, 14-өөс илүү үр дүнтэй харагдах ч бодит зах зээлд онцын ач холбогдолгүй байж магадгүй.
Энэ асуудлаас зайлсхийхийн тулд Walk-Forward Validation ашигладаг.
Walk-Forward Validation (WFV) нь backtest-ийн өргөтгөл хэлбэр бөгөөд стратегийг жижиг үе шатаар туршиж, тухайн үеийн тохируулгыг дараагийн хугацаанд турших аргыг хэлнэ.
Товчхондоо:
Өгөгдлийг дараах байдлаар хуваана:
Жишээ болгон 12 сарын сургалтын хугацаа (training period), түүн дараах 3 сарын баталгаажуулалтын хугацаа (testing period)-ийн хослолыг авч үзье. Энэ загварыг алхам алхмаар урагшлуулна:
Training period дээр стратегийн тохиргоонуудыг (жишээ нь: moving average-ийн утга, stop loss ratio гэх мэт) хайж олно. Grid Search, Bayesian Optimization гэх мэт аргыг ашиглаж болно.
Training period-ийн үндсэн дээр олдсон тохиргоог Testing period дээр шууд ашиглана. Энэ нь бодит арилжаатай хамгийн ойролцоо нөхцөл.
Train-test циклийг олон удаа давтах тусам дүгнэлт улам найдвартай болно. Ямар үед стратеги сайн ажиллаж, ямар үед унаж байсныг тодорхойлно.
Бүх test period-ийн дүнг нэгтгэн дараах параметрүүдийг гаргана:
Эдгээр хоёр аргыг дараах онцлогуудаар харьцуулж болно:
Python ашиглах нь backtest, walk-forward validation хоёуланд тохиромжтой. Хамгийн түгээмэл сангууд:
Walk-forward validation хийхэд хэрэглэгдэх кодчиллын зарчим:
for train_start, train_end, test_start, test_end in time_windows:
train_data = df[train_start:train_end]
test_data = df[test_start:test_end]
best_params = optimize_strategy(train_data)
results = run_strategy(test_data, params=best_params)
save_results(results)
Backtesting ашиглан анхны санаа, логикийг шалгах
Walk-forward validation-аар тухайн санаа бодит нөхцөлд тэсвэртэй эсэхийг баталгаажуулах
FTMO, MyForexFunds зэрэг шалгалтууд дээр тогтвортой, Drawdown хязгаар давахгүй стратеги хэрэгтэй. Walk-forward validation хийх нь эдгээр шаардлагад нийцэх эсэхийг урьдчилан мэдэх гол арга.
Validation-д орсон бүх үеийн Drawdown, Expectancy зэргийг анализ хийснээр Position Sizing, Capital Allocation шийдвэрүүдийг гаргахад тус болно.
Backtesting нь стратеги боловсруулах анхны алхам бол Walk-Forward Validation нь тухайн стратегийн бат бөх байдлыг шалгах хоёр дахь чухал үе шат юм. Эдгээр аргуудыг зөв хослуулснаар та зах зээлийн өөрчлөлтөд тэсвэртэй, бодит ашиг өгч чадах арилжааны системтэй болох боломжтой.
Эцэст нь хэлэхэд, зөвхөн өндөр үр дүнтэй биш, найдвартай, тогтвортой стратеги урт хугацаанд амжилт авчирна. Backtest болон Walk-Forward Validation бол үүний баталгааг хангах үндсэн багажууд юм.
2025-06-20
MetaTrader дээр Python API ашиглан автомат арилжаа хийх
MetaTrader-ийн Python API нь орчин үеийн дата шинжилгээ, автомат арилжаа....
2025-06-19
Statistical Arbitrage стратегийн бүрдэл ба хэрэгжилт
Statistical Arbitrage стратеги нь математик, дата шинжилгээ, эрсдэлийн менежмент....
2025-06-17
Машин сургалт ашиглан валютын ханшийг таамаглах нь
Форекс зах зээл нь өндөр хэлбэлзэлтэй, олон хүчин зүйлээс хамаардаг нарийн төвөгтэй орчин юм. ....
2025-06-16
Python дээр квант трейдинг стратеги боловсруулах алхамууд
Python програмчлалын хэл нь квант арилжааны стратеги боловсруулахад маш хүчирхэг....
2025-06-13
Sharpe ratio болон Sortino ratio-г ойлгох нь
Sharpe болон Sortino харьцаанууд нь форекс арилжаанд гүйцэтгэлийг шинжлэх, стратеги үнэлэх....