← Макалаларга кайтуу
July 4, 2026
5 мүн окуу

Кокустук издөө vs Акылдуу издөө: Кесилиш чекити — баалоо наркы, алгоритм эмес

Кокустук издөө vs Акылдуу издөө: Кесилиш чекити — баалоо наркы, алгоритм эмес
#алгоритмдик соода
#бэктест
#гиперпараметрлерди оптималдаштыруу
#байестик оптималдаштыруу
#walk-forward
#оверфиттинг
Part 7 of 10 · Collection
High-Performance Backtest Engines

"Иллюзиясыз бэктесттер" сериясынын бир бөлүгү.

Гиперпараметрлерди оптималдаштырууда бир кабыл алынган акыйкат бар: кокустук издөө (random search) — сиз өсүп чыгуучу базалык деңгээл. Бергстра менен Бенджионун классикалык жыйынтыгы (2012) кокустук издөөнүн тор (grid) издөөдөн жогору экенин аныктаган; андан кийин байестик оптималдаштыруу, TPE, CMA-ES жана Hyperband/ASHA сыяктуу multi-fidelity ыкмалары өз кезегинде кокустук издөөнү жеңиши керек болчу. Ошондуктан биз өзүбүздүн соода (trading) кыймылдаткычыбыз үчүн параметр-издөө ыкмаларын салыштырууга отурганда, кадимки тепкичти күттүк: кокустук ыкма — түбүндө, акылдуу сэмплер — үстүндө.

Бирок биз тескерисин алдык — андан кийин окуу китебиндеги жообун да алдык. Ошол эле стратегия, ошол эле параметр мейкиндиги, ошол эле объектив, ошол эле машина. Биз жалгыз өзгөрткөн нерсе — бир бэктест канчалык кымбат экени, жана издөө ыкмаларынын рейтинги тескерисинче которулду. Ар бир баалоо арзан болгондо, акылсыз аралаштырылган Sobol удаасы бардык "акылдуу" сэмплерлерди талкалады. Биз ар бир баалоону кымбат кылганда, акылдуу ыкмалар алдыга чыгып, тышкы-үлгүдө (out-of-sample) аман калган жалгыз конфигурацияны тапты.

Бул жерден чыгарылуучу сабак "кокустук ыкма баасы төмөн бааланган" же "байестик ыкма ашыкча бааланган" дегендик эмес. Сабак мындай: кокустук жана акылдуу издөөнүн ортосундагы кесилиш чекити баалоо наркы менен башкарылат, алгоритмдин акылдуулугу менен эмес. Оптимизаторуңузду анын беделине карап эмес, бир бэктест канча турарына карап тандаңыз. Бул макала кесилиш чекитинин так кайда жайгашканын, эмне үчүн так ошол жерде жайгашканын, жана кымбат режимдин трюктарын (эрте токтотуу, multi-fidelity кыркуу) жалпы эле коопсуз колдонсо болобу же жокпу чечкен бир алгышартты — тактыкты (fidelity) — өлчөйт.

Төмөндөгүнүн баары биздин бэктестердеги эки скрипттен алынган: арзан бир-тайм-фрейм режими үчүн bench_search.py (v4, commit ee092f1), жана кымбат көп-тайм-фрейм режими үчүн bench_search_multitf.py (commit 102853c). Экөө тең leak-free — чечим i баарынын жабылышында кабыл алынат, толтуруу open[i+1]де болот — жана экөө тең ар бир ыкманы издөө эч качан көрбөгөн, четте калтырылган тест терезеси менен көп-фолддуу тегеренме walk-forward объективи боюнча баалайт.

Суроо: өткөрүү жөндөмү (throughput) же чекит-үнөмдүүлүгү (sample-efficiency)?

Издөө бюджети бир бөлчөк катары — wall-clock ask/tell наркы менен баалоо наркынын суммасына бөлүнгөн — бөлүүчүдөгү баалоо-нарк мүчөсү таза өткөрүү жөндөмү же чекит-орду жеңерин чечет

Ар бир издөө ыкмасы өзүнүн wall-clock бюджетин эки нерсеге сарптайт: кийинки чекитти кайдан алуу керектигин чечүү (сэмплердин өз эсептөөсү) жана чекитти баалоо (бэктестти иштетүү). Биринчисин ask/tell наркы, экинчисин баалоо наркы деп атайлы. Бир ыкманын бекитилген wall-clock бюджети боюнча эффективдүү издөө күчү болжол менен мындай:

points explored    wall-clock budgetask/tell cost+eval cost\text{points explored} \;\approx\; \frac{\text{wall-clock budget}}{\text{ask/tell cost} + \text{eval cost}}

жана анын акыркы сапаты — ошол сан ар бир чекиттин канчалык жакшы жайгаштырылганына көбөйтүлгөнү. Бири-бирине тартылып турган эки тумблер:

  • Throughput (өткөрүү жөндөмү) — секундасына чекиттер саны. Акылсыз сэмплерлердин (кокустук, аралаштырылган Sobol/QMC) ask/tell наркы нөлгө жакын: алар төмөн-дисперсиялуу (low-discrepancy) чекитти чыгарып, андан ары жылышат. Алар санды максималдаштырат.
  • Sample-efficiency (чекит-үнөмдүүлүгү) — чекит башына сапат. Акылдуу сэмплерлер (TPE, CMA-ES, ASHA) ар бир чекитти жакшыраак жайгаштыруу үчүн объективди моделдөөгө чыныгы эсептөө күчүн сарптайт. Алар жайгаштырууну максималдаштырат, бирок өткөрүү жөндөмүнүн эсебинен.

Кайсы тумблер жеңери толугу менен бөлүүчүгө көз каранды. Баалоо наркы өтө кичине болгондо, ask/tell наркы бөлүүчүдө үстөмдүк кылат, ошондуктан аны шишинткен нерсенин баары — сюррогат модель, kernel density баасы, ковариация жаңылоосу — изилдеген чекиттердин санын түз кыскартат. Баалоо наркы чоң болгондо, ask/tell наркы тегеректөө катасынан ашпайт, ошондуктан акылдуулук иш жүзүндө акысыз болуп калат жана аны колуңуздан келишинче сатып алышыңыз керек.

Бул бир сүйлөмдөгү бүтүндөй тезис: ask/tell салыгы бекитилген, бирок анын мааниси сиз аны бөлгөн баалоо наркы менен аныкталат. Эми муну кандай болуп жатканын көрөлү.

Арзан режим: акылсыз Sobol өткөрүү жөндөмү боюнча жеңет

Арзан режимде аралаштырылган Sobol агымы параметр мейкиндигин акысызга жакын миңдеген баалоолор менен толтурат, ал эми TPE менен ASHA өздөрүнүн ask/tell машинериясынын артында токтоп калып, бюджетинин көбүн издөөнүн ордуна ойлонууга сарптайт

Биздин бир-тайм-фрейм стратегиябыз — 7 параметрдик мейкиндиктеги leak-free HMA/HMA3 бөлүнүү эрежеси, ал процесс-ичи numba eval_batch менен бааланат, ал конфигурациялар боюнча процесс аралык чыгымсыз prange иштетет. Бул кыймылдаткычта бир бэктест дээрлик акысыз — таза ядро конфигурацияларды болжол менен 3–4 миң cfg/s ылдамдыгында баалайт. Бул — арзан режим, жана дал ушул жерде соода (trading) HPO фольклорунун көбү чыккан терең окутуу (deep-learning) шартынан курч айырмаланат: биздин "объектив функциясы" 6 сааттык GPU окутуу жүгүртүүсү эмес, ал 0.3 миллисекунддук массив өтүшү.

Метод Баалоолор Wall-clock Өткөрүү жөндөмү Четте калтырылган TEST
sobol (QMC) 1,500 0.53 s ~2,830 cfg/s −259
random 1,500 0.85 s ~1,770 cfg/s −27
sobol→cmaes 1,500 1.38 s ~1,085 cfg/s −367
cmaes 1,500 1.76 s ~850 cfg/s −85
tpe 1,500 9.76 s ~154 cfg/s −161
tpe-mv+sobol 1,500 12.15 s ~123 cfg/s −151
asha (folds) 1,500 15.79 s ~95 cfg/s −165

TEST — издөө эч качан тийбеген, четте калтырылган терезедеги walk-forward объективи (жылдык PnL-active-time'ге бөлүнгөн × trade-count ишеними); канчалык жогору болсо, ошончолук жакшы.

Эки факт көзгө урунат. Биринчиден, өткөрүү жөндөмү columnуна карагыла. Аралаштырылган Sobol ~2,830 cfg/s ылдамдыгында иштейт — кыймылдаткычтын чегине жакын. TPE ~154 cfg/s, ASHA ~95 cfg/s ылдамдыгында иштейт. Бул бирдей сандагы баалоону аткаруу үчүн 18–30 эсе жайлоо дегенди билдирет. Акылдуу сэмплерлер эч кандай кошумча нерсени баалап жаткан жок; алар ошол убакытты өздөрүнүн ask/tell машинериясынын ичинде сарптап жатышат.

Экинчиден — жана дал ушул бөлүк окуяны чынчыл кылат — бир да ыкма оң тышкы-үлгү (out-of-sample) жыйынтык таппады. Ар бир TEST мааниси терс. Бир-тайм-фрейм режиминде биздин стратегиянын жөнөкөй эле туруктуу OOS артыкчылыгы жок, ошондуктан "кайсы ыкма жеңет" деген суроо акыркы пайда жөнүндөгү суроо эмес; бул издөө эффективдүүлүгү жөнүндөгү суроо. Ал эми бекитилген баалоо бюджетинде издөө эффективдүүлүгү боюнча акылсыз ыкмалар толук жеңип чыгат: Sobol жана random акылдуу сэмплерлер менен бирдей же алардан да жакшыраак четте калтырылган сандарга жетишет, ал эми wall-clock убактысынын 1/20 бөлүгүн гана сарптайт.

Эми практик чындыгында туш болгон жол менен салыштырманы буруп көрөлү — баалоо санын эмес, wall-clock'ту бекители. Эгер ар бир ыкмага ASHA өзүнүн 1,500 баалоосу үчүн керек болгон 15.8 секундду берсеңиз, Sobol 1,500де токтобойт. Ал улана берип, болжол менен 45,000 конфигурацияга жетет. Арзан режимде суроо эч качан "кайсы сэмплер 1,500 чекитти эң жакшы жайгаштырат" болбойт — суроо "ар бир чекит акысызга жакын болгондо, сиз 1,500 акылдуу жайгаштырылган чекитти же 45,000 аралаштырылган чекитти каалайсызбы?" болот. Баалоо акысызга жакын болгондо, кеңдик (breadth) жеңет. 7-өлчөмдүү мейкиндикти отуз эсе көбүрөөк камтуу анын жакшыраак моделинен ашып түшөт.

Ask/tell салыгы

20 эсе кайда кетет? Бэктестке эмес — ал бардык ыкмаларда бирдей. Ал Python'до, циклдин ичинде иштетилген сэмплердин чекит-башына эсеп-кысабына (bookkeeping) кетет:

  • TPE ар бир askде эки kernel-density баасын (жакшы жана жаман trial'дар) ылайыкташтырат, жана нарк trial тарыхы менен чоңоюп турат. Multivariate TPE аларды өлчөмдөр боюнча биргелешип ылайыкташтырат — көбүрөөк моделдөө, көбүрөөк Python.
  • CMA-ES ар бир муунда (generation) ковариация матрицасын жаңылайт жана андан сэмплдейт. Бул жерде TPEге караганда арзаныраак (~850 cfg/s ылдамдыгында иштеди), бирок ошентсе да Sobol чекитин чыгаруудан бир катар деңгээл жогору чыгым.
  • ASHA кыркуучунун (pruner) көтөрүү/тепкич (rung) эсеп-кысабын төлөйт жана, биздин фолддорду-тактык-катары (folds-as-fidelity) дизайнда, эч нерсени кыркуудан мурун бекитилген индикатор алдын ала эсептөөсүн (precompute) төлөйт — ошондуктан анын "үнөмдөлгөн" баалоолору эсеп көрсөткөндөн азыраак үнөмдейт.

Бул алгоритмдерге болгон сын эмес. Маани мында: ask/tell наркы чекит башына болжол менен бекитилген миллисекунд саны, жана ал ороп турган баалоо да бир нече миллисекунд болгондо, бул бекитилген нарк капысынан бюджеттин 90%ын түзөт. Акылдуу сэмплер wall-clock'унун тогуз бөлүгүн кайда карашты ойлонууга, бир бөлүгүн гана чын эле карашка сарптайт. Аралаштырылган Sobol удаасы анын баарын карашка сарптайт. Караш арзан болгондо, караш жеңет.

Биз атайылап толук Gaussian-process байестик оптимизаторун бул жерде салыштырган жокпуз, жана себеби да ошол эле: GP сюррогаты trial санына карата O(n3)O(n^3). Наркы миллисекунд менен өлчөнгөн баалоого каршы, сюррогатты ылайыкташтыруу мейкиндиктин маанилүү бөлүгүн баалап үлгүрмөй эле бүт издөө бюджетин жутуп коет. Арзан режимде GP-BO арифметика тарабынан четке кагылат.

Кымбат режим: кесилиш чекити которулат

Кесилиш чекити: бир баалоо кымбаттаган сайын, эки ыкманын ийри сызыктары кесилишет — сокур Sobol төмөндөйт, ал эми акылдуу, наркка-сезимтал (cost-aware) сэмплер андан өйдө көтөрүлүп, оң тышкы-үлгү аймагына өткөн жалгыз ыкмага айланат

Эми бир бэктестти кымбат кылалы. Көп-тайм-фрейм стратегиясы жогорку, орто жана төмөнкү тайм-фреймдерди (triple-TF) кабатташтырат, ар бири өз индикатор өтүшүн жана өз босоголорун (thresholds) кошуп, баары ошол эле көп-фолддуу walk-forward боюнча бааланат. Эми бир баалоо 0.3 миллисекунддун ордуна болжол менен 0.1–0.5 секунд турат — үч эсе даражадагы секирик. Баалоо наркы биздин бөлүүчүнүн тегеректөө-катасы мүчөсүнөн үстөмдүк кылуучу мүчөгө өттү. Тезиске ылайык, ask/tell салыгы мааниге ээ болбой калышы керек, акылдуулук болсо пайда бере башташы керек. Ошондой эле болот.

Биз ар бир ыкманы triple-TF маселесинде (18-параметрдик мейкиндик) бекитилген ~150 секунддук wall-clock бюджетинин алдында иштеттик, ар бирине бул бюджетти өз сэмплери каалагандай сарптоого уруксат бердик, жана ал кайтарган эң мыкты бир конфигурацияны четте калтырылган тест терезесинде баалаттык:

Метод (triple-TF, 150 s) Баалоолор Четте калтырылган TEST Жыйынтык
sobol (QMC) 349 −673 жеңилет
cascade (sobol²×64) 20,864 −585 жеңилет
asha (folds) 292 eff. −239 жеңилет
tpe-mv+sobol 455 −43 жеңилет
sobol→cmaes 15,239 +226 жалгыз OOS-оң

TEST — мурункудай эле walk-forward объективи. Нөлдү жалгыз гана бир ыкма кесип өттү.

Арзан режимде үстөмдүк кылган акылсыз Sobol базалык деңгээли эми −673 менен эң аягында. 18-өлчөмдүү мейкиндикти сокур, төмөн-дисперсиялуу сэмплдөө, ар бир баалоо кымбат болгондуктан бар болгону 349 баалоо менен, эч качан эч нерсени локалдаштырбайт. Акылдуу ыкма, sobol→cmaes — бюджеттин 30%ын бассейн (basin) себүү үчүн Sobolго, андан кийин эң жакшы себинден CMA-ES тактоосуна сарптайт — жалпысынан оң тышкы-үлгү жыйынтык берген жалгыз ыкма. Акыркы, эч ким тийбеген холдаутта чемпион +16.35% (46 trade, ~15.7% капитал экспозициясы) кайтарган тест терезесинин үстүнө +2.62% (19 trade, ~6.6% капитал экспозициясы) кайтарды. Ар бир атаандаштын чемпиону тышкы-үлгүдө акча жоготту.

Мына ушул — кесилиш чекити, ошол эле стратегия үй-бүлөсүндө, ошол эле объективде, ошол эле машинада өлчөнгөн: бир баалоонун наркынан башка эч нерсени өзгөртпөңүз, издөө ыкмаларынын рейтинги тескерисинче которулат. Арзан режимде Sobol жеңет, акылдуу сэмплерлер 20 эсе ысырап; кымбат режимде акылдуу сэмплер иштеген жалгыз нерсе, ал эми Sobol ысырап.

Эмне үчүн "акылдуулук" бул жерде жеңет — жана бул жалгыз эле sample-efficiency эмес

Эки октуу параметр мейкиндигинин наркка-сезимтал (cost-aware) пайдаланылышы: кымбат индикатор октору бир жерге бекитилип турат, ал эми акылдуу сэмплер кэштелген сигналдардагы арзан босого октун толтурат, ошол эле wall-clock'ту көбүрөөк баалоолорго жана жакшыраак жайгаштырылган баалоолорго айлантат

"Кымбат баалоолор sample-efficiency'ди сыйлайт, ошондуктан азыраак, бирок жакшыраак чекит жайгаштырган ыкма жеңет" — бул окуянын тыкан версиясы. Бул жарым чындык, жана маалыматтар чынчыл, дагы да кызыктуу экинчи жарымын мажбурлайт.

Баалоо сандарына кайра карагыла. sobol→cmaes сокур Sobolго караганда азыраак чекитти баалап жеңген жок — ал ошол эле 150 секунддо Sobolдун 349ине каршы 15,239 чекитти баалады, кырк эсе көбүрөөк. Кантип? Себеби биздин multi-TF баалоо наркы бирдей эмес, түзүлгөн (structured). Эки ок бар: кымбат индикатор огу (тайм-фрейм мезгилдери жана HMA узундуктары, ар бирин эсептөө 30–500 ms турат, себеби алар индикаторду кайра эсептөөгө мажбурлайт) жана арзан босого огу (кирүү/чыгуу бөлүнүү деңгээлдери, кэштелген сигналдарда ар бири ~1–2 ms). Экөөнүн ортосундагы ажырым 30–100 эсе.

Сокур Sobol бул түзүлүштү эске албайт. Ал тартылган ар бир чекит кымбат индикатор огун термелтет, жаңы кайра эсептөөгө мажбурлайт — ошондуктан ал бардык 349 баалоодо толук баасын төлөйт. sobol→cmaes, CMA-ES потенциалдуу аймакты локалдаштыргандан кийин, ирирек индикатор түзүлүшүн болжол менен бекитилген бойдон калтырып, тутумдаш (continuous) босолорду өзгөртүүгө умтулат, алар кэштелген сигналдарга түшүп, дээрлик эч нерсе турбайт. Акылдуу ыкма ошол эле wall-clock'ту жакшыраак жайгаштырылган чекиттерге жана алардын алда канча көбүнө айлантат, себеби бул жерде адаптивдүү болуу наркка-сезимтал болууну билдирет: кымбат ок бекитилгенден кийин арзан окто калуу. Биздин ачык cascade(sobol²×64) эксплойт мунусун эң агрессивдүү жасайт — кэштелген сигналдардагы арзан босолорду партиялап 20,864 баалоо жасайт — жана ал triple-TF тестин уттурганы менен, эки-тайм-фрейм вариантында тест терезесин +20.2% менен толугу менен жеңип алды (өз холдаутунда жеңилгенге чейин — бул жөнүндө төмөндө көбүрөөк).

Демек, кесилиш чекитинин курчураак туюнтмасы мындай: кымбат режимде ask/tell салыгы этибарга алынгыс болуп калат, бул сизди акылдуу болууга эркин кылат — "акылдуу" болуу дегени объективдин формасын гана эмес, анын нарк-түзүлүшүн (cost structure) эске алуу дегенди билдирет. Сокур сэмплдөө экөөнү тең жасай албайт. Бул дал биздин адаптивдүү-чечилиш drill-down кыймылдаткычы пайдалануу үчүн курулган эки октуу түзүлүш, жана дал ошондуктан multi-fidelity ыкмалары кымбат режимге таандык — бир шарт аткарылса.

Тактык (Fidelity): кыркуунун жашыруун алгышарты

Multi-fidelity ыкмалары — Hyperband, ASHA, кандай гана эрте-токтотуучу кыркуучу болбосун — бир болжолго таянат: арзан, жарым-жартылай баалоо конфигурацияларды кымбат, толук баалоо жасагандай эле рейтингдейт. Эгер бир walk-forward фолдунда жакшы көрүнгөн конфигурация баарында тең жакшы көрүнүүгө ыктымал болсо, жеңилүүчүлөрдү эрте өлтүрүп, аман калгандардын бюджетин жеңүүчүлөргө сарптаса болот. Эгер арзан тактык кокустук рейтингдесе, эрте токтотуу жакшы конфигурацияларды тыйын ыргытуу (coin-flip) менен эле ыргытып жиберүү болуп калат.

Ошондуктан кандай гана кыркуучуга ишенимден мурун, биз болжолду түз өлчөйбүз. Биздин тактык — walk-forward фолддорунун саны (r фолдду арзан баалоо, же бардык K фолдду толук наркта баалоо), жана тактык-гейти (fidelity gate) кокустук конфигурациялардын үлгүсүндө арзан r-фолд объективи менен толук объективдин ортосундагы Spearman рейтинг корреляциясы ρны эсептейт. ρ@1 — жалгыз фолд боюнча бааланганда корреляция, — эң агрессивдүү, эң арзан тактык. Мына бул гейт эки режимде эмнени көрсөттү:

Тактык (колдонулган фолддор) Single-TF ρ Multi-TF ρ
ρ@1 (1 фолд) ~0.03 0.43
ρ@2 0.67
ρ@3 0.78
ρ@4 0.82
ρ@5 0.91

Бир-тайм-фрейм режиминде, бир фолд конфигурацияларды чындыкка карата ~0.03 корреляция менен рейтингдейт — бул статистикалык жактан кокустуктан айырмаланбайт. Бул кокустук эмес; бул "бир да ыкма OOS артыкчылык тапкан жок" деген факт менен бирдей. Стратегиянын туруктуу сигналы жок болгондо, анын фолд-башына көрсөткүчү негизинен бак-таалай болуп калат, ошондуктан кандай гана бир фолд кокустукка жакын тартылым болот жана төмөн-тактыктагы кыркуу жакшы конфигурацияларды өлтүрүп, бактылуу конфигурацияларды жогорулатып коет. Multi-fidelity бул жерде арзан режимде коопсуз эмес — ыкма жаман болгондуктан эмес, арзан сигнал шум болгондуктан. (Биздин гейт муну белгилейт жана агрессивдүү кыркуудан баш тартат.)

Көп-тайм-фрейм режиминде чыныгы артыкчылык бар, жана тактык картинасы өзгөрөт: ρ@1 0.43кө көтөрүлөт, беш фолдго карата ρ 0.91ге чейин чыгат. Эми бир фолд чыныгы рейтингдик маалымат алып жүрөт, ал эми беш фолд анын дээрлик баарын алып жүрөт. Эрте токтотуу коопсуз болуп калат — алгачкы эки-үч фолддо жеңилген конфигурация чын эле жеңилүүчү болушу ыктымал. Бул multi-fidelity ыкмаларынын кымбат режимге таандык болушунун экинчи себеби: жөн гана кымбат баалоолор кыркууну пайдалуу кылгандыктан эмес, кымбат режим — бул арзан тактык акырында кымбат тактыктай эле рейтингдей башташы жерде.

Бул сизге бере турган эреже так жана иштетүүгө арзан: кыркуудан мурун ρны өлчөңүз. Тактык корреляциясы бир нече жүз кокустук конфигурацияда эки саптык эсептөө, жана бул multi-fidelity издөөнүн сизди тездетиши менен multi-fidelity издөөнүн сизди үнсүз саботаждашынын ортосундагы айырма.

Издөөдө жеңүү аны аман өтүү дегендик эмес

Дагы бир чынчылдык эскертүүсү, себеби бул серия жалган айткан бэктесттер жөнүндө. Биздин triple-TF чемпионубуз, sobol→cmaes, оң холдаут көрсөткөн жалгыз ыкма болду — тест терезесиндеги **+16.35%**дын үстүнө +2.62%. Бул жакшы кабар. Мына эскертүү: ал статистикалык дефляцияны аман өтпөдү.

Чемпион — бардык ыкмалар боюнча сыналган ондогон миңдеген конфигуранын эң мыктысы. Ушунчалык көп эселенген тестирлөө (multiple testing) алдында, +2.62% холдаут автоматтык түрдө чыныгы боло бербейт. Биз бүт серия таянган оверфиттинг гейттерин иштеттик — trial'дар арасындагы корреляцияга оңдолгон эффективдүү-N менен Deflated Sharpe Ratio, жана комбинаторикалык-симметриялуу кросс-валидация (CSCV) аркылуу PBO. Чемпион PBOдон өттү (0.12, 0.2 босогосунан ыңгайлуу төмөн — анын рейтинги CSCV бөлүктөрү боюнча туруктуу), бирок анын дефляцияланган Sharpe'и нөлгө чейин кулады (гейт ≥ 0.95 талап кылат). Жыйынтык: аман өтпөйт.

Муну кылдаттык менен окуп чыгыңыз, себеби бул бүт көнүгүүнүн маңызы. Кесилиш чекитинин жыйынтыгы чыныгы: акылдуу издөө кымбат режимде чечкиндүү түрдө издөөнү жеңди, ал эми Sobol жеңилди. Бирок издөөдө жеңүү оптимизатор жөнүндөгү сөз, стратегия жөнүндөгү эмес. Жакшы оптимизатор артыкчылыгы жок мейкиндиктен таба турган эң мыкты конфигурация ошентсе да артыкчылыксыз бойдон калат — дефляция сизге кайсынысын карманып тургандыгыңызды айтат. Туура издөө ыкмасын тандоо сизге жетишерлик эң мыкты жоопту эффективдүү берет; ал эч качан болбогон артыкчылыкты жасалма түрдө түзбөйт. Оптимизатор жана оверфиттинг гейттери — башка-башка нерселерди өлчөгөн ар башка аспаптар, жана сизге экөө тең керек.

Иш жүзүндө колдонсо боло турган чечим эрежеси

Оптимизатор тандоо үчүн биздин бенчмаркты кайра иштетүүнүн кереги жок. Сизге бир гана сан керек: бир бэктест канча убакыт алат? Объективиңиздин жалгыз баалоосун — толук walk-forward өтүшүн, бардык фолддорду — өлчөңүз да, режимди аныктаңыз.

  • Арзан баалоо (≲ ~10 ms/бэктест): өткөрүү жөндөмүн сатып алыңыз. Аралаштырылган Sobol/QMC же random колдонуңуз. TPE/CMA-ES/ASHAдагы ask/tell салыгы сизге акысызга жакын баалоо сыйлабай турган жайгаштыруу үчүн 10–30 эсе чекит санына турат. Multi-fidelity кыркуу менен убара болбоңуз — эгер азгырылсаңыз, алгач ρ@1ди текшериңиз; төмөн-артыкчылыктуу арзан режимде ал нөлгө жакын болушу ыктымал, бул кыркуу тыйын ыргытуу экенин билдирет. Үнөмдөлгөн инженердик убакытты издөөнү тарытуунун ордуна кеңейтүүгө сарптаңыз.
  • Кымбат баалоо (≳ ~100 ms–секунд/бэктест): sample-efficiency'ди сатып алыңыз. CMA-ES, TPE, же Sobol менен себилген CMA-ES гибридин колдонуңуз; сэмплердин чыгымы эми баалоого карата тегеректөө катасы гана. Эгер баалоо наркыңыз түзүлгөн болсо (multi-TFдегидей, жай индикатор огу жана тез босого огу), ал түзүлүштү пайдаланган ыкмаларды артык көрүңүз — каскаддар, drill-downдор, кандай гана болбосун наркка-сезимтал нерселер — ар бир өлчөмдү бирдей кымбат деп караган ыкмаларга караганда.
  • Ортодо болсоңуз, же ишенимиңиз жок болсо: Sobol менен себилген гибрид (sobol→cmaes) — ишенимдүү жарыяланган тандоо (default). Ал башында кеңдик-биринчи Sobol сыяктуу иштейт (арзан, ылайыкташтыра турган модели жок), аягында акылдуу тактоочу сыяктуу иштейт, ошондуктан сиз кайсы режимде болсоңуз да жумшак деградацияланат — дал ошондуктан ал биздин кымбат-режим чемпионубуз болду.
  • Кандай гана кыркуучудан мурун, тактыкты өлчөңүз. Бир нече жүз кокустук конфигурацияда арзан тактык менен толук объективдин ортосундагы Spearman ρны эсептеңиз. Эгер ρ@1 төмөн болсо, бир фолддо кыркыбаңыз; ρ ~0.5тен ашмайынча минималдуу ресурсту көтөрүңүз. Бул эки сап код турат жана акселераторуңуздун эң мыкты конфигурацияларыңызды үнсүз ыргытып жиберишинин алдын алат.
  • Издөөдө кайсынысы жеңсе да, дефляция гейттерин иштетиңиз. Оптимизатордун жеңүүчүсү — бүт жума ичинде сиз чыгара турган эң оверфитке-ыктоочу объект. Ал соода кыла турган болобу же жокпу — муну оптимизатордун упайы эмес, DSR жана PBO чечет.

Бул кайда байланышат

Бул жыйынтык бул сериянын тартып жаткан бир нече жиптеринин борборунда турат:

  • Бул астындагы кыймылдаткычтын чынчыл экенин болжолдойт. Бүт арзан-режим артыкчылыгы себеби биздин процесс-ичи numba кыймылдаткычы IPCсиз секундасына миңдеген конфигурацияга жетет — ылдамдык тепкичи сизди биринчи кезекте өткөрүү-жеңүүчү режимге коюучу нерсе. Жай, каркас-салыгы (framework-taxed) жогору кыймылдаткыч ар бир маселени демейки боюнча кымбат режимге коет, жана сиз кесилиш чекитин эч качан көрмөксүз.
  • Кымбат-режим эксплойту — биздин адаптивдүү-чечилиш drill-down кыймылдаткычы курулган эки октуу нарк-түзүлүш: ирирек, кымбат октогу локалдаштыруу, андан кийин майда, арзан октогу пайдаланылыш.
  • Бул жердеги ар бир ыкма кыймылдаткыч leak-free болгондуктан гана ишенимдүү. Ондогон миңдеген trial боюнча издөө look-ahead катасын табуу жана пайдалануу үчүн эң эффективдүү мүмкүн болгон машина — "жеңүүчү" тезиреги leak'ке эң катуу таянган конфигурация болмок. Алгач сааттын тактыгын оңдоңуз, андан кийин издеңиз.
  • Ал эми чемпиондун тагдыры — издөөдө жеңип, дефляцияда жеңилиши — параметр издөө жана оверфиттингди көзөмөлдөөнү ар башка аспаптары бар өзүнчө этаптар катары кароонун толук аргументи.

Академиялык фон — бул тармак дайыма кайра кайрылып турган эле фон: Bergstra & Bengio (2012) кокустук ыкманын эмне үчүн тор ыкмасынан жогору экени жөнүндө; Li жана башкалардын Hyperband'ы (2018) жана ASHA уландысы (2020) multi-fidelity жөнүндө; жана Bailey & López de Prado (2014) эмне үчүн кандай гана чоң издөөнүн жеңүүчүсү ишенилгенге чейин дефляцияланышы керектиги жөнүндө. Алардын эч бири бирден-бир мыкты оптимизаторду сунуштабайт, себеби андай оптимизатор жок — режим бар, жана аны тандаган нарк бар.

Негизги тыянактар

  1. Кокустук жана акылдуу издөөнүн ортосундагы кесилиш чекити баалоо наркы менен аныкталат, алгоритм менен эмес. Биз бир бэктест канчалык кымбат экенинен башка эч нерсени өзгөртпөй, ар бир ыкманын рейтингин тескерисинче котордук.
  2. Арзан баалоо → акылсыз Sobol өткөрүү жөндөмү боюнча жеңет. Биздин single-TF кыймылдаткычыбызда (~3–4 миң cfg/s), TPE жана ASHA бирдей баалоо саны үчүн 18–30 эсе жайыраак иштеди — Sobolдун ~2,830уна каршы ~95–154 cfg/s. Бирдей wall-clockто, ар бир чекит акысызга жакын болгондо, кеңдик мейкиндиктин жакшыраак моделинен ашып түшөт.
  3. Кымбат баалоо → акылдуу ыкмалар эффективдүүлүк боюнча жеңет. Triple-TF маселесинде, sobol→cmaes оң тышкы-үлгү жыйынтык тапкан жалгыз ыкма болду (+16.35% тест, +2.62% холдаут); сокур Sobol эң аягында бүттү.
  4. Кымбат режимде "акылдуу" болуу наркка-сезимтал болууну билдирет. Жеңүүчү кымбат индикатор огу менен арзан босого огунун ортосундагы 30–100 эсе ажырымды пайдаланды — ал көбүрөөк баалоо жасады жана аларды жакшыраак жайгаштырды, кымбат ок бекитилгенден кийин арзан окто калуу менен.
  5. Тактык — кыркуунун алгышарты. Жалгыз-фолддук рейтинг корреляциясы ρ@1 ≈ 0.03тен (single-TF, негизинен кокустук) 0.43кө (multi-TF) чейин көтөрүлдү, беш фолдго карата 0.91ге жетти. Multi-fidelity/ASHA арзан тактык кымбатыныкындай эле рейтингдей баштаганда гана өзүн актайт — ошондуктан кыркуудан мурун ρны өлчөңүз.
  6. Издөөдө жеңүү аны аман өтүү дегендик эмес. Чемпион PBOдон өттү, бирок Deflated Sharpe гейтинен өтпөй калды. Оптимизаторду баалоо наркы боюнча тандаңыз; соода кыла турганын дефляция гейттери менен чечиңиз. Алар ар башка аспаптар, жана сизге экөө тең керек.

Оптимизаторуңузду бир бэктест канча турарына карап тандаңыз. Андан кийин эстеп коюңуз: оптимизатор артыкчылыгы жок мейкиндиктен таба турган эң мыкты жооп ошентсе да артыкчылыксыз бойдон калат — жана кайсынысын карманып тургандыгыңызды издөө эмес, гейттер айтсын.

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Рынктан бир кадам алдыда болуңуз

AI соода аналитикасы, рынок талдоолору жана платформа жаңылыктары үчүн биздин жаңылыктар бюллетенине жазылыңыз.

Биз сиздин купуялыгыңызды урматтайбыз. Каалаган убакта жазылымдан чыга аласыз.