Та өмнөх хэсгүүдэд chart унших, индикатор хэрэглэх, стратеги боловсруулах, хувийнчилсан арилжааны төлөвлөгөө бүтээхийг сурсан. Одоо чухал асуулт гарч ирж байна: таны стратеги үнэхээр ажилладаг уу? Түүхэн backtesting бол энэ асуултад хариулах эхний нарийвчилсан арга бөгөөд ихэнх анхлан суралцагчдын ойлгодгоос хамаагүй илүү нарийн.
Backtesting гэдэг нь арилжааны дүрмийг түүхэн үнийн өгөгдөлд хэрэглэж, тэдгээр дүрмүүд өнгөрсөнд хэрхэн ажилласныг харах явдал юм. Зөв хийвэл бодит хөрөнгө эрсдэлд оруулахаас өмнө стратегийг үнэлэх статистикийн суурь өгдөг. Буруу хийвэл аюултай хуурамч итгэл бий болгодог. Энэ хичээл танд зөв хийхийг заана.
Backtesting яагаад чухал вэ
Бодит хөрөнгө, тэр байтугай demo дансны цаг хүртэл арилжааны стратегид зориулахаас өмнө, боловсруулсан дүрмүүд чинь олон тооны арилжаан дээр эерэг expectancy бий болгодог гэсэн нотолгоо хэрэгтэй. Backtesting энэ нотолгоог өгдөг, төгс биш ч гэсэн.
Өөр хувилбарыг бод: ямар ч түүхэн үнэлгээгүйгээр стратегиар live арилжаа хийх. Стратеги давуу талтай эсэхийг тодорхойлохын тулд долоо хоног, сараар олон арав эсвэл хэдэн зуун live арилжаа хэрэгтэй болно. Хэрэв давуу тал байхгүй бол чөлөөт цагийн backtest-ээр сурч болох зүйлийг олж мэдэхэд их хэмжээний цаг, боломжтой их хэмжээний хөрөнгө үрсэн байна.
Институцийн trader-ууд болон hedge fund-ууд backtesting-ийг стратеги боловсруулалтын заавал хийх алхам гэж үздэг. CFA Institute түүхэн өгөгдлийн системтэй үнэлгээ төгс биш ч аливаа trader-д боломжтой стратеги баталгаажуулалтын хамгийн практик хэрэгслүүдийн нэг хэвээр байгааг онцолдог.
Гар ба автомат Backtesting
Backtesting-ийн хоёр үндсэн арга байдаг бөгөөд тус бүр өөрийн давуу ба сул талуудтай.
Гар Backtesting
Гар backtesting гэдэг нь түүхэн chart-уудыг бар бараар гүйлгэж, стратеги чинь дохио бүр дээр юу хийх байсныг бүртгэх явдал юм. Та дүрмүүд дээр суурилан setup тодорхойлж, оролт гаралтыг тэмдэглэж, үр дүнг бүртгэнэ.
Үйл явц:
- Charting платформоо нээж түүхэн огноо руу гүйлгэ
- Дараа юу болохыг харахгүйн тулд ирээдүйн үнийн өгөгдлийг нуу (TradingView-ийн bar replay функц эсвэл MetaTrader 5-ийн strategy tester ашигла)
- Chart-ыг нэг бар нэгээр урагшлуул
- Дүрмүүд чинь дохио үүсгэх үед оролтын үнэ, stop loss, take profit бүртгэ
- Арилжаа хаагдах хүртэл урагшлуул
- Үр дүнг бүртгээд дараагийн дохио руу шилж
Гар backtesting-ийн давуу талууд:
- Дүрмийг дахин дахин хэрэглэснээр танин мэдэхүйн хувьд төлөвшүүлдэг
- Идэвхтэй chart уншилтаар загвар таних чадвар хөгждөг
- Дүрмүүд дутуу эсвэл тодорхойгүй тодорхойгүй нөхцөл байдлыг илрүүлдэг
- Програмчлалын мэдлэг шаарддаггүй
Сул талууд:
- Цаг их шаарддаг — олон жил, олон хосыг нарийвчлан гар backtest хийх олон цаг шаарддаг
- Хүний алдаа, ухамсаргүй bias-д өртөмтгий (тэр үеийн зах зээлийн ерөнхий чиглэлийг мэднэ)
- Олон хэрэгсэл, цаг хугацааны хүрээг нэгэн зэрэг тест хийхэд хэцүү
Автомат Backtesting
Автомат backtesting нь программ хангамж ашиглан дүрмийг алгоритмаар түүхэн өгөгдөлд хэрэглэдэг. MetaTrader 5-ийн Strategy Tester, TradingView-ийн Pine Script backtester, эсвэл Python сангууд болох Backtrader, Zipline зэрэг платформууд дүрмийг код болгож хэдэн секундэд мянга мянган бар дээр ажиллуулах боломж олгодог.
Давуу талууд:
- Хурдан, давтагдах боломжтой — хэдэн минутад олон жилийн өгөгдөл дээр тест хий
- Дохио тодорхойлоход хүний bias байхгүй
- Олон хэрэгсэл, цаг хугацааны хүрээг үр ашигтай тест хийх боломжтой
- Статистикийг автоматаар нарийвчлан гаргадаг
Сул талууд:
- Код бичих чадвар эсвэл scripting хэл сурахыг шаарддаг
- Механик дүрмүүд стратегийн дискрешн элементүүдийг үргэлж барьж чаддаггүй
- "Хог орвол хог гарна" — муу бичсэн дүрмүүд төөрөгдүүлсэн үр дүн гаргадаг
Ихэнх эхлэж буй жижиглэнгийн trader-уудын хувьд хоёр аргыг хослуулах нь хамгийн тохиромжтой. Гар backtesting интуиц бий болгож, дүрмийн тодорхойгүй байдлыг илрүүлдэг. Автомат backtesting дараа нь тэдгээр олдворыг илүү том өгөгдлийн багц дээр баталгаажуулж эсвэл сорьдог.
Түүврийн хэмжээ: Хэр их өгөгдөл хангалттай вэ?
Хамгийн нийтлэг backtesting алдаануудын нэг бол хэт цөөн арилжаанаас дүгнэлт гаргах явдал. 10 арилжаанаас 8 нь ялсан стратеги гайхалтай харагдаж болох боловч 10 арилжааны түүвэр статистикийн хувьд утгагүй. Санамсаргүй байдал л тэр үр дүнг гаргаж болно.
Практик удирдамж болгон:
- Хамгийн багадаа 30 арилжаа аливаа урьдчилсан үнэлгээнд — энэ бол үндсэн статистик хэмжигдэхүүнүүд тогтворжиж эхлэх босго
- 100+ арилжаа win rate болон expectancy тооцоололд боломжийн итгэлтэй байхад
- 200+ арилжаа drawdown шинж чанар болон давуу талын тогтвортой байдлын талаар найдвартай дүгнэлтэд
- Олон зах зээлийн нөхцөл — түүвэр чинь trending зах зээл, ranging зах зээл, хэлбэлзэл ихтэй орчныг багтаах ёстой
Хэрэв таны стратеги жилд зөвхөн 5 арилжаа үүсгэдэг бол утга бүхий түүвэр бүрдүүлэхэд олон жилийн түүхэн өгөгдөл хэрэгтэй. Энэ бол таны стратегийн дутагдал биш зүй ёсны хязгаарлалт — зүгээр л илүү их өгөгдөл хэрэгтэй эсвэл гүйцэтгэлийн тооцооллын эргэн тойронд илүү өргөн итгэлийн интервал хүлээн зөвшөөрөх ёстой гэсэн үг.
In-Sample vs. Out-of-Sample тест
Энд backtesting үнэхээр нарийвчлалтай болж, ихэнх жижиглэнгийн trader-ууд дутуу байдаг.
Практик framework:
- Өгөгдлөө хуваа — Түүхэн өгөгдлийн 60-70%-ийг стратеги боловсруулалтад (in-sample), 30-40%-ийг баталгаажуулалтад (out-of-sample) нөөцөл
- In-sample багц дээр боловсруул — Зөвхөн өгөгдлийн эхний хэсгийг ашиглан дүрмийг бүтээж сайжруул
- Дүрмийг түгжи — Стратегидаа сэтгэл хангалуун болмогц параметрүүдийг хөлдөө
- Out-of-sample өгөгдөл дээр тест хий — Хөлдөөсөн дүрмийг ямар ч өөрчлөлтгүйгээр нөөцөлсөн өгөгдөлд хэрэгл
- Шударгаар үнэл — Хэрэв гүйцэтгэл мэдэгдэхүйц муудвал стратеги чинь curve-fit байж магадгүй
Арилжааны системийн үнэлгээний тэргүүлэх эрх мэдэлтнүүдийн нэг Robert Pardo out-of-sample тест нь сонголт биш — аливаа итгэмжлэгдсэн стратеги үнэлгээний хамгийн бага стандарт гэж маргадаг. Out-of-sample баталгаажуулалт хийгээгүй стратеги огт баталгаажаагүй.
Curve Fitting-ийн занга
Curve fitting, мөн overfitting эсвэл over-optimization гэж нэрлэгддэг, backtesting дахь хамгийн аюултай бэрхшээл юм. Стратегийн параметрүүдийг түүхэн өгөгдөлд төгс тохирохоор тохируулах боловч жинхэнэ зах зээлийн загварын оронд noise барих үед үүсдэг.
Curve fitting-ийн шинж тэмдгүүд:
- Стратеги чинь олон параметр ашигладаг (3-5-аас илүү тохируулах хувьсагч)
- Параметрийн утгын жижиг өөрчлөлтүүд backtest үр дүнд огцом өөрчлөлт үүсгэдэг
- Стратеги түүхэн өгөгдөл дээр онцгой сайн ажиллаж шинэ өгөгдөл дээр муу ажилладаг
- Дүрмүүд дур мэдэн эсвэл хэт тодорхой харагддаг (жишээ нь, "зөвхөн Мягмар гарагт RSI 32.5-34.7 хооронд байх үед ор")
- Гүйцэтгэл маш өндөр win rate, хамгийн бага drawdown-тай "хэт сайн харагддаг"
Хэрхэн хамгаалах вэ:
- Дүрмийг энгийн байлга — цөөн параметр overfitting-д бага зай үлдээнэ
- Үргэлж out-of-sample баталгаажуул
- Олон валютын хос дээр тест хий — жинхэнэ давуу тал холбогдох хэрэгслүүдэд ажиллах ёстой
- Төгс харагдах equity curve-д сэжигтэй хандаж бай
- Walk-forward analysis ашигла (энэ хэсгийн 5-р хичээлд хамрагдсан) илүү нарийвчилсан баталгаажуулалтад
CFA Institute curve fitting нь жижиглэнгийн trader болон боловсронгуй институцийн стратегиудад нөлөөлдөг тоон санхүүгийн хамгийн тогтвортой асуудлуудын нэг гэж тэмдэглэдэг. Backtest төгс харагдах хүртэл оптимизаци хийх уруу татлага бүх нийтийн бөгөөд бүх нийтийн хувьд аюултай.
Практик Backtesting ажлын урсгал
Энд итгэмжлэгдсэн түүхэн backtest хийх алхам алхмаар ажлын урсгал байна:
Алхам 1: Дүрмийг нарийн тодорхойл. Аливаа түүхэн өгөгдөл харахаасаа өмнө оролтын нөхцөл, гаралтын нөхцөл, stop loss дүрэм, позицын хэмжээний дүрэм бүгдийг бич. Дүрмүүд хоёр өөр хүн ижил арилжаа тодорхойлохоор хангалттай тодорхой байх ёстой.
Алхам 2: Өгөгдлөө сонго. Валютын хос(ууд), цаг хугацааны хүрээ, огнооны хүрээ сонго. Утга бүхий түүврийн хэмжээнд хангалттай өгөгдөлтэй байгаа эсэхийг шалга. In-sample болон out-of-sample хугацаанд хуваа.
Алхам 3: Backtest хэрэгжүүл. Дүрмийг гараар эсвэл автоматаар in-sample өгөгдөлд хэрэгл. Арилжаа бүрийг бүртгэ: оролтын огноо, оролтын үнэ, чиглэл, stop loss, take profit, гаралтын огноо, гаралтын үнэ, ашиг/алдагдал.
Алхам 4: Үр дүнг шинжил. Гол хэмжигдэхүүнүүдийг тооцоол — win rate, дундаж ялалт, дундаж алдагдал, profit factor, хамгийн их drawdown, expectancy. (Эдгээр хэмжигдэхүүнүүд энэ хэсгийн 4-р хичээлд дэлгэрэнгүй хамрагдсан.)
Алхам 5: Out-of-sample баталгаажуул. Ижил дүрмийг ямар ч өөрчлөлтгүйгээр нөөцөлсөн өгөгдөлд хэрэгл. Гүйцэтгэлийг харьцуул.
Алхам 6: Бүгдийг баримтжуул. Бүрэн аргачлал, өгөгдлийн эх сурвалж, огнооны хүрээ, хэрэглэсэн дүрмүүд, үр дүнг бүртгэ. Энэ баримтжуулалт ирээдүйн лавлагаа болон хэрэв дараа нь стратегиа өөрчилвөл юу өөрчлөгдсөнийг тодорхойлоход зайлшгүй шаардлагатай.
Түүхэн Backtesting-ийн шударга хязгаарлалтууд
Backtesting-ийн талаар хариуцлагатай хэлэлцүүлэг юу хийж чадахгүйг хүлээн зөвшөөрөхгүйгээр бүрэн биш:
- Өнгөрсөн гүйцэтгэл ирээдүйн үр дүнг баталгаажуулахгүй. Энэ бол хуулийн анхааруулга биш, статистикийн бодит байдал. Зах зээлийн нөхцөл өөрчлөгддөг, корреляциуд шилждэг, горимууд хувьсдаг.
- Backtest хэрэгжүүлэлтийн нөхцлийг давтаж чаддаггүй. Slippage, өөрчлөгдөх spread, хэсэгчилсэн fill, requote live арилжаанд байдаг ч ихэнх backtest-д байхгүй.
- Backtest төгс сахилга гэж үздэг. Бодит байдалд та оролт дээр эргэлзэж, stop loss шилжүүлж, айдас эсвэл анхаарал сарнилаас болж арилжаа алдаж болно.
- Өгөгдөлд survivorship bias. Хэрэв та зөвхөн одоо байгаа, хөрвөх чадвартай валютын хосуудыг тест хийвэл хөрвөх чадваргүй эсвэл хамааралгүй болсон хосуудыг үл тоомсорлож байж болно.
- Hindsight bias гар backtesting-д бүрэн арилгах бараг боломжгүй, bar replay хэрэгслүүдтэй ч гэсэн.
Эдгээр хязгаарлалтууд backtesting-ийг хэрэггүй болгодоггүй — олон алхамт баталгаажуулалтын үйл явцын нэг алхам болгодог. Стратеги цаашдын тест хийлгэхийг зөвтгөхийн тулд backtesting-ийг давах ёстой боловч backtest давах нь жинхэнэ мөнгөөр live арилжаа хийх хангалттай нотолгоо биш.
Гол санаанууд
- Backtesting арилжааны дүрмийг түүхэн өгөгдөлд хэрэглэж бодит хөрөнгө эрсдэлд оруулахаас өмнө гүйцэтгэлийг үнэлдэг. Стратеги баталгаажуулалтын зайлшгүй эхний алхам.
- Гар backtesting интуиц бүтээж, дүрмийн тодорхойгүй байдлыг илрүүлдэг, харин автомат backtesting хурд, нарийвчлал, том түүврийн хэмжээ өгдөг.
- Түүврийн хэмжээ маш чухал. Хамгийн багадаа 30 арилжаа урьдчилсан өгөгдөл өгдөг; боломжийн итгэлд 100+ арилжаа хэрэгтэй; drawdown тооцоолол найдвартай байхад 200+ хэрэгтэй.
- Out-of-sample тест сонголт биш. In-sample дээр дүрмээ боловсруулсны дараа үлдсэн хэсэгт баталгаажуулалтад өгөгдлийн 30-40%-ийг нөөцөл.
- Curve fitting бол backtesting-ийн хамгийн том аюул. Хэт оптимизаци хийсэн стратегиуд түүхэн өгөгдөл дээр гайхалтай ажиллаж шинэ өгөгдөл дээр бүтэлгүйтдэг. Дүрмийг энгийн байлгаж, үргэлж out-of-sample баталгаажуул.
- Өгөгдлийн чанар backtest-ийн найдвартай байдлыг шууд тодорхойлдог. Нэр хүндтэй өгөгдлийн эх сурвалж ашигла, gap, алдаа, spread ойролцооллыг анхаарч бай.
- Backtesting үндсэн хязгаарлалтуудтай — хэрэгжүүлэлтийн нөхцөл, сэтгэл хөдлөлийн дарамт, горимын өөрчлөлтийг давтаж чаддаггүй. Олон алхамт үйл явцын нэг алхам, эцсийн үг биш.
Энэ хичээл нь зөвхөн боловсролын зорилгоор бэлтгэгдсэн. Санхүүгийн зөвлөгөө биш. Forex арилжаа нь их хэмжээний алдагдлын эрсдэлтэй бөгөөд бүх хөрөнгө оруулагчдад тохиромжтой биш.