← Maqolalarga qaytish
July 4, 2026
5 daqiqa o'qish

Tasodifiy qidiruv vs aqlli qidiruv: kesishish nuqtasi baholash narxida, algoritmda emas

Tasodifiy qidiruv vs aqlli qidiruv: kesishish nuqtasi baholash narxida, algoritmda emas
#algotrading
#backtest
#giperparametrlarni optimallashtirish
#bayes optimallashtiruvi
#walk-forward
#overfitting
Part 7 of 10 · Collection
High-Performance Backtest Engines

"Illyuziyalarsiz backtestlar" turkumining bir qismi.

Giperparametrlarni optimallashtirishda keng tarqalgan bir qarash bor: tasodifiy qidiruv — bu siz o'sib chiqadigan boshlang'ich nuqta, xolos. Bergstra va Bengioning klassik natijasi (2012) tasodifiy qidiruv grid qidiruvdan ustun ekanini isbotladi; keyin esa Bayes optimallashtiruvi, TPE, CMA-ES va Hyperband/ASHA kabi multi-fidelity metodlar o'z navbatida tasodifiy qidiruvdan ustun bo'lishi kerak edi. Shu sababli o'z treyding dvigatelimiz uchun parametr-qidiruv metodlarini benchmark qilishga o'tirganimizda, biz odatdagi zinapoyani kutgan edik: pastda tasodifiy qidiruv, tepada esa aqlli sampler.

Biz aksini oldik — va keyin darslikdagi javobni ham oldik. Xuddi shu strategiya, xuddi shu parametrlar fazosi, xuddi shu maqsad funksiyasi, xuddi shu mashina. Biz o'zgartirgan yagona narsa — bitta backtest qancha qimmat turishi edi, va qidiruv metodlarining reytingi teskarisiga aylandi. Har bir baholash arzon bo'lganda, ahmoqona aralashtirilgan Sobol ketma-ketligi har qanday "aqlli" samplerni ezib tashladi. Biz har bir baholashni qimmat qilganimizda, aqlli metodlar oldinga chiqdi va out-of-sample'da omon qolgan yagona konfiguratsiyani topdi.

Bu yerdagi xulosa "tasodifiy qidiruv baholanmagan" yoki "Bayes usuli haddan tashqari baholangan" degani emas. Balki tasodifiy va aqlli qidiruv orasidagi kesishish nuqtasi baholash narxi bilan belgilanadi, algoritmning aqlliligi bilan emas. Optimizatorni uning obro'siga qarab emas, bitta backtest qancha turishiga qarab tanlang. Ushbu maqola kesishish nuqtasi aynan qayerda joylashganini, nega aynan shu yerda joylashganini va qimmat rejim uslublarining (early stopping, multi-fidelity pruning) umuman xavfsiz ishlatilishi mumkinligini hal qiluvchi bitta zaruriy shart — fidelity — ni o'lchaydi.

Quyidagi barcha ma'lumotlar bizning backtester'imizdagi ikkita skriptdan olingan: arzon single-timeframe rejim uchun bench_search.py (v4, commit ee092f1) va qimmat multi-timeframe rejim uchun bench_search_multitf.py (commit 102853c). Ikkalasi ham leak-free — qaror i barining yopilishida qabul qilinadi, ijro open[i+1]da amalga oshadi — va ikkalasi ham har bir metodni qidiruv hech qachon ko'rmaydigan held-out test oynasi bilan multi-fold rolling walk-forward maqsad funksiyasida baholaydi.

Savol: o'tkazuvchanlikmi yoki namuna-samaradorligimi?

Qidiruv byudjeti bitta kasr sifatida — wall-clock ask/tell narxi va baholash narxi yig'indisiga bo'lingan — bunda maxrajdagi baholash narxi hadi xom o'tkazuvchanlik yoki har bir nuqtani joylashtirish g'alaba qozonishini hal qiladi

Har bir qidiruv metodi o'z wall-clock byudjetini ikkita narsaga sarflaydi: keyingi nuqtani qayerdan olishni hal qilish (samplerning o'z hisoblashi) va namunani baholash (backtestni ishga tushirish). Birinchisini ask/tell narxi, ikkinchisini baholash narxi deb ataylik. Metodning belgilangan wall-clock byudjeti ustidagi samarali qidiruv kuchi taxminan quyidagicha:

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}}

va uning yakuniy sifati bu son har bir nuqta qanchalik yaxshi joylashtirilganiga ko'paytirilgan miqdordir. Bir-biriga qarshi tortishadigan ikkita dastak bor:

  • O'tkazuvchanlik (throughput) — soniyasiga nuqtalar soni. Ahmoqona samplerlar (random, aralashtirilgan Sobol/QMC) deyarli nolga teng ask/tell narxiga ega: ular past-diskrepansiyali nuqtani chiqaradi va davom etadi. Ular sonni maksimallashtiradi.
  • Namuna-samaradorligi (sample-efficiency) — har bir nuqtaning sifati. Aqlli samplerlar (TPE, CMA-ES, ASHA) har bir nuqtani yaxshiroq joylashtirish uchun maqsad funksiyasini modellashtirishga haqiqiy hisoblash kuchini sarflaydi. Ular o'tkazuvchanlik hisobiga joylashtirishni maksimallashtiradi.

Qaysi dastak g'alaba qozonishi butunlay maxrajga bog'liq. Baholash narxi juda kichik bo'lganda, ask/tell narxi maxrajda ustunlik qiladi, shuning uchun uni oshiradigan har qanday narsa — surrogat model, kernel zichlik bahosi, kovariatsiya yangilanishi — siz o'rganadigan nuqtalar sonini bevosita qisqartiradi. Baholash narxi katta bo'lganda, ask/tell narxi yumaloqlash xatosidan boshqa narsa emas, shuning uchun aqllilik amalda bepul bo'ladi va siz undan qancha ko'p bo'lsa, shuncha ko'p sotib olishingiz kerak.

Butun tezis bitta jumlada shu: ask/tell solig'i doimiy, ammo uning ahamiyati siz uni bo'ladigan baholash narxi bilan belgilanadi. Endi buning qanday sodir bo'lishini ko'raylik.

Arzon rejim: ahmoqona Sobol o'tkazuvchanlikda g'alaba qozonadi

Arzon rejimda aralashtirilgan Sobol oqimi parametrlar fazosi bo'ylab minglab deyarli bepul baholashlarni to'ldiradi, TPE va ASHA esa o'z ask/tell mexanizmi ortida to'xtab qoladi, byudjetining katta qismini qarashga emas, o'ylashga sarflaydi

Bizning single-timeframe strategiyamiz — 7 parametrli fazo bo'yicha leak-free HMA/HMA3 ajratish qoidasi bo'lib, u jarayon ichidagi (in-process) numba eval_batch orqali baholanadi, bu esa konfiguratsiyalar bo'yicha jarayonlararo xarajatsiz prange ishga tushiradi. Ushbu dvigatelda bitta backtest deyarli bepul — xom kernel konfiguratsiyalarni taxminan 3–4k cfg/s tezlikda baholaydi. Bu — arzon rejim, va aynan shu yerda treyding ko'pchilik HPO folklori kelib chiqadigan deep-learning muhitidan keskin farq qiladi: bizning "maqsad funksiyamiz" 6 soatlik GPU o'qitish jarayoni emas, balki 0.3 millisekundlik massiv o'tishidir.

Biz har bir metodga bir xil byudjet berdik — 1,500 baholash — va har biri shu baholashlarni sarflashi uchun kerak bo'lgan wall-clockni, shuningdek u topgan held-out test qiymatini yozib bordik. Baholash byudjeti belgilangan bo'lgani uchun, wall-clock ustuni har bir samplerning xarajatini to'g'ridan-to'g'ri ko'rsatadi:

Metod Baholashlar Wall-clock O'tkazuvchanlik Held-out 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 — bu qidiruv hech qachon tegmagan held-out oynadagi walk-forward maqsad funksiyasi (yillik PnL-per-active-time × trade-count ishonch darajasi); qancha yuqori bo'lsa, shuncha yaxshi.

Ikkita fakt darhol ko'zga tashlanadi. Birinchidan, o'tkazuvchanlik ustuniga qarang. Aralashtirilgan Sobol ~2,830 cfg/s tezlikda ishlaydi — bu dvigatelning chegarasiga yaqin. TPE ~154 cfg/s, ASHA esa ~95 cfg/s tezlikda ishlaydi. Bu bir xil miqdordagi baholashlarni bajarish uchun 18–30x sekinlashuvdir. Aqlli samplerlar qo'shimcha hech narsani baholamayapti; ular shu vaqtni o'zlarining ask/tell mexanizmi ichida sarflamoqda.

Ikkinchidan — va aynan shu qism hikoyani halol qilib turadi — hech qanday metod musbat out-of-sample natija topmadi. Har bir TEST qiymati manfiy. Single-timeframe rejimida bizning strategiyamiz sodda qilib aytganda barqaror OOS ustunlikka ega emas, shuning uchun "qaysi metod g'alaba qozonadi" degan savol yakuniy foyda haqida emas; bu qidiruv samaradorligi haqidagi savoldir. Belgilangan baholash byudjetida qidiruv samaradorligi bo'yicha esa ahmoqona metodlar to'liq g'alaba qozonadi: Sobol va random wall-clockning 1/20 qismini sarflab, aqlli samplerlar bilan bir xil yoki yaxshiroq held-out natijalarga erishadi.

Endi taqqoslashni amaliyotchi haqiqatda his qiladigan tarzda teskari qiling — baholashlar sonini emas, wall-clockni belgilang. Agar har bir metodga ASHA o'zining 1,500 ta baholashi uchun sarflagan 15.8 soniyani bersangiz, Sobol 1,500da to'xtamaydi. U davom etadi, taxminan 45,000 konfiguratsiyagacha. Arzon rejimda savol hech qachon "qaysi sampler 1,500 nuqtani eng yaxshi joylashtiradi" emas — bu "har bir nuqta deyarli bepul bo'lganda, siz 1,500 ta aqlli joylashtirilgan nuqtani yoki 45,000 ta aralashtirilgan nuqtani afzal ko'rasizmi?" degan savoldir. Deyarli bepul baholash bilan kenglik (breadth) g'alaba qozonadi. 7 o'lchamli fazoni o'ttiz barobar ko'proq qamrab olish uning yaxshiroq modelidan ustun turadi.

Ask/tell solig'i

20x qayerga ketadi? Backtestga emas — u barcha metodlarda bir xil. U samplerning har bir nuqta uchun Python'da, sikl ichida yuritiladigan hisob-kitobiga ketadi:

  • TPE har bir askda bir juft kernel-zichlik bahosini (yaxshi va yomon sinovlar) moslashtiradi, va narx sinov tarixi bilan birga o'sadi. Multivariativ TPE ularni o'lchamlar bo'yicha birgalikda moslashtiradi — ko'proq modellashtirish, ko'proq Python.
  • CMA-ES har bir avlodda kovariatsiya matritsasini yangilaydi va undan namuna oladi. Bu yerda TPE'dan arzonroq (u ~850 cfg/s tezlikda ishladi), ammo baribir Sobol nuqtasini chiqarishdan bir tartib yuqori xarajatga ega.
  • ASHA pruner'ning promotion/rung hisob-kitobini va, bizning foldlarni-fidelity-sifatida ishlatish dizaynimizda, biror narsani kesishdan oldin indikatorni doimiy oldindan hisoblashni to'laydi — shuning uchun uning "tejalgan" baholashlari hisob-kitob ko'rsatganidan kamroq tejaydi.

Bularning hech biri algoritmlarga tanbeh emas. Gap shundaki: ask/tell narxi har bir nuqta uchun taxminan doimiy millisekundlar soni, va u o'rab turgan baholash ham bir necha millisekund bo'lganda, bu doimiy narx birdaniga byudjetingizning 90%ini tashkil qiladi. Aqlli sampler o'z wall-clockining o'ndan to'qqiz qismini qayerga qarash kerakligini o'ylashga, o'ndan bir qismini esa haqiqatda qarashga sarflaydi. Aralashtirilgan Sobol ketma-ketligi esa hammasini qarashga sarflaydi. Qarash arzon bo'lganda, qarash g'alaba qozonadi.

Biz ataylab to'liq Gauss-jarayon Bayes optimizatorini bu yerda benchmark qilmadik, va buning sababi bir xil: GP surrogat sinovlar soni bo'yicha O(n3)O(n^3) hisoblanadi. Millisekundlarga tushadigan baholashga qarshi, surrogatni moslashtirish fazoning mazmunli qismini baholashdan oldin butun qidiruv byudjetini yeb qo'yar edi. Arzon rejimda GP-BO arifmetika tomonidan diskvalifikatsiya qilinadi.

Qimmat rejim: kesishish nuqtasi teskari tomonga o'tadi

Kesishish nuqtasi: bitta baholash qimmatlashgani sari ikkita metod egri chizig'i kesishadi — ko'r Sobol pasayadi, aqlli, narxni hisobga oluvchi sampler esa undan o'tib ketadi va musbat out-of-sample hududiga o'tgan yagona metodga aylanadi

Endi bitta backtestni qimmat qilamiz. Multi-timeframe strategiya yuqori, o'rta va past timeframe'larni (triple-TF) bir-biriga qo'shadi, har biri o'z indikator o'tishi va o'z chegaralarini qo'shadi, hammasi bir xil multi-fold walk-forward bo'yicha baholanadi. Endi bitta baholash 0.3 millisekund o'rniga 0.1–0.5 soniya atrofida turadi — uch tartibli sakrash. Baholash narxi bizning maxrajimizdagi yumaloqlash xatosi hadidan ustun hadga ko'chib o'tdi. Tezisga ko'ra, ask/tell solig'i endi ahamiyatsiz bo'lib qolishi va aqllilik foyda bera boshlashi kerak. Va shunday bo'ladi.

Biz triple-TF masalasida (18 parametrli fazo) har bir metodni belgilangan ~150 soniyalik wall-clock byudjeti ostida ishga tushirdik, har biriga o'z samplerining ko'rsatmasi bo'yicha shu byudjetni sarflashiga ruxsat berdik va u qaytargan eng yaxshi konfiguratsiyani held-out test oynasida baholadik:

Metod (triple-TF, 150 s) Baholashlar Held-out TEST Xulosa
sobol (QMC) 349 −673 yutqazadi
cascade (sobol²×64) 20,864 −585 yutqazadi
asha (folds) 292 eff. −239 yutqazadi
tpe-mv+sobol 455 −43 yutqazadi
sobol→cmaes 15,239 +226 yagona OOS-musbat

TEST — bu avvalgi kabi xuddi shu walk-forward maqsad funksiyasi. Faqat bitta metod noldan o'tdi.

Arzon rejimda ustunlik qilgan ahmoqona Sobol bazaviy chizig'i endi eng oxirida, −673 bilan. 18 o'lchamli fazoning ko'r past-diskrepansiyali namunalashi, har bir baholash qimmat bo'lgani uchun atigi 349 ta baholash bilan, hech qachon hech narsani lokalizatsiya qilmaydi. Aqlli metod, sobol→cmaes — byudjetning 30%ini havzani urug'lantirish uchun Sobolga, keyin eng yaxshi urug'dan CMA-ES aniqlashtirishga sarflaydi — umuman musbat out-of-sample natija bergan yagona metod. Yakuniy, tegilmagan holdoutda chempion +2.62% qaytardi (19 ta savdo, ~6.6% kapital ekspozitsiyasi), bu esa +16.35% qaytargan test oynasi ustiga qo'shildi (46 ta savdo, ~15.7% ekspozitsiya). Har bir raqibning chempioni out-of-sample'da pul yo'qotdi.

Mana shu kesishish nuqtasi, xuddi shu strategiya oilasida, xuddi shu maqsad funksiyasida, xuddi shu mashinada o'lchangan: bitta baholash narxidan boshqa hech narsani o'zgartirmang, va qidiruv metodlarining reytingi teskarisiga aylanadi. Arzon rejimda Sobol g'alaba qozonadi va aqlli samplerlar 20x isrofdir; qimmat rejimda esa aqlli sampler ishlaydigan yagona narsa, Sobol esa isrofdir.

Nega bu yerda "aqlli" g'alaba qozonadi — va bu faqat namuna-samaradorligi emas

Ikki o'qli parametrlar fazosini narxni hisobga olgan holda ekspluatatsiya qilish: qimmat indikator o'qi joyida mahkamlanadi, aqlli sampler esa keshlangan signallar bo'yicha arzon chegara o'qini to'ldiradi, xuddi shu wall-clockni ham ko'proq baholashlarga, ham yaxshiroq joylashtirilgan baholashlarga aylantiradi

Bu hikoyaning ozoda versiyasi shundayki: "qimmat baholashlar namuna-samaradorligini mukofotlaydi, shuning uchun kamroq, ammo yaxshiroq nuqtalarni joylashtiradigan metod g'alaba qozonadi." Bu yarim haqiqat, va ma'lumotlar bizni halol, ko'proq qiziqarli boshqa yarmini tan olishga majburlaydi.

Baholashlar soniga yana bir bor qarang. sobol→cmaes ko'r Sobolga qaraganda kamroq nuqtani baholab g'alaba qozonmadi — u xuddi shu 150 soniyada Sobolning 349tasiga qarshi 15,239 ta baholadi, ya'ni qirq marta ko'proq. Qanday qilib? Chunki bizning multi-TF baholash narximiz bir xil emas, strukturaviydir. Ikkita o'q mavjud: qimmat indikator o'qi (timeframe davrlari va HMA uzunliklari, har biri hisoblash uchun 30–500 ms, chunki ular indikatorni qayta hisoblashga majbur qiladi) va arzon chegara o'qi (kirish/chiqish ajratish darajalari, keshlangan signallarda har biri ~1–2 ms). Ular orasidagi farq 30–100x.

Ko'r Sobol bu strukturaga e'tibor bermaydi. U chizadigan har bir nuqta qimmat indikator o'qini silkitadi va yangi qayta hisoblashga majbur qiladi — shuning uchun u barcha 349 baholashning to'liq narxini to'laydi. sobol→cmaes esa, CMA-ES istiqbolli hududni lokalizatsiya qilgach, dag'al indikator strukturasini taxminan sobit holda ushlab turishga va uzluksiz chegaralarni bezovta qilishga moyil bo'ladi, bular keshlangan signallarga tushadi va deyarli hech narsaga tushmaydi. Aqlli metod xuddi shu wall-clockni ham yaxshiroq joylashtirilgan nuqtalarga, ham ularning ancha ko'pligiga aylantiradi, chunki bu yerda moslashuvchan bo'lish narxni hisobga oluvchi bo'lish demakdir: qimmat o'q mahkamlangandan keyin arzon o'qda qolish. Bizning aniq cascade(sobol²×64) ekspluatatsiyamiz buni eng tajovuzkor tarzda amalga oshiradi — keshlangan signallardagi arzon chegaralarni to'plamlash orqali 20,864 ta baholash — va u triple-TF testida yutqazgan bo'lsa-da, ikki-timeframe variantida test oynasini +20.2% bilan ochiqchasiga yutib oldi (keyinroq o'z holdoutida muvaffaqiyatsizlikka uchrashidan oldin — bu haqda pastda batafsilroq).

Shunday qilib, kesishish nuqtasining o'tkirroq ifodasi: qimmat rejimda ask/tell solig'i ahamiyatsiz bo'lib qoladi, bu esa sizni aqlli bo'lishga ozod qiladi — va "aqlli" bo'lish maqsad funksiyasining faqat shakliga emas, balki narx strukturasiga moslashish demakdir. Ko'r namunalash buning ikkisini ham qila olmaydi. Aynan shu ikki-o'qli struktura bizning adaptive-resolution drill-down dvigatelimiz ekspluatatsiya qilish uchun qurilgan struktura, va aynan shuning uchun multi-fidelity metodlar qimmat rejimga tegishli — bitta shart bajarilgan taqdirda.

Fidelity: pruning uchun yashirin zaruriy shart

Multi-fidelity metodlar — Hyperband, ASHA, har qanday early-stopping pruner — bitta taxminga tayanadi: arzon, qisman baholash konfiguratsiyalarni xuddi qimmat, to'liq baholash kabi reytinglaydi. Agar bitta walk-forward fold'da yaxshi ko'ringan konfiguratsiya barchasida ham yaxshi ko'rinishga moyil bo'lsa, siz yutqazuvchilarni erta o'ldirib, omon qolganlarning byudjetini g'oliblarga sarflashingiz mumkin. Agar arzon fidelity tasodifiy reytinglasa, early stopping shunchaki yaxshi konfiguratsiyalarni tanga tashlash orqali chiqarib tashlash bo'ladi.

Shuning uchun har qanday prunerga ishonishdan oldin, biz taxminni bevosita o'lchaymiz. Bizning fidelity'imiz walk-forward foldlar soni (arzon r ta fold bo'yicha baholash yoki barcha K ta foldni to'liq narxda baholash), va fidelity darvozasi tasodifiy konfiguratsiyalar namunasi bo'yicha arzon r-fold maqsad funksiyasi va to'liq maqsad funksiyasi orasidagi Spearman rang korrelyatsiyasi ρ ni hisoblaydi. ρ@1 — bu siz bitta fold bo'yicha baho berganingizdagi korrelyatsiya, ya'ni eng tajovuzkor, eng arzon fidelity. Mana shu darvoza ikkala rejim bo'yicha nima xabar qilgani:

Fidelity (ishlatilgan foldlar) Single-TF ρ Multi-TF ρ
ρ@1 (1 fold) ~0.03 0.43
ρ@2 0.67
ρ@3 0.78
ρ@4 0.82
ρ@5 0.91

Single-timeframe rejimida bitta fold konfiguratsiyalarni haqiqatga nisbatan ~0.03 korrelyatsiya bilan reytinglaydi — bu statistik jihatdan tasodifiydan farqlanmaydi. Bu tasodif emas; bu "hech qanday metod OOS ustunligini topmadi" degan xuddi shu faktdir. Strategiyada barqaror signal bo'lmaganda, uning har bir fold bo'yicha natijasi asosan omadga bog'liq, shuning uchun har qanday bitta fold deyarli tasodifiy tanlovdir va past-fidelity pruning yaxshi konfiguratsiyalarni o'ldirib, omadli bo'lganlarni ilgari suradi. Multi-fidelity bu yerda arzon rejimda xavfsiz emas — metod yomon bo'lgani uchun emas, balki arzon signal shovqin bo'lgani uchun. (Bizning darvozamiz buni belgilaydi va tajovuzkor pruning qilishdan bosh tortadi.)

Multi-timeframe rejimida haqiqiy ustunlik mavjud, va fidelity manzarasi o'zgaradi: ρ@1 0.43gacha ko'tariladi, besh fold'da esa ρ 0.91gacha ko'tariladi. Endi bitta fold haqiqiy reytinglash ma'lumotini olib yuradi, besh fold esa uning deyarli hammasini olib yuradi. Early stopping xavfsiz bo'lib qoladi — dastlabki bir-ikki fold'da yutqazgan konfiguratsiya haqiqatan ham yutqazuvchi bo'lish ehtimoli yuqori. Bu multi-fidelity metodlarning qimmat rejimga tegishli bo'lishining ikkinchi sababi: nafaqat qimmat baholashlar pruning'ni arziydigan qilgani uchun, balki qimmat rejim aynan arzon fidelity nihoyat qimmat fidelity kabi reytinglashi mumkin bo'lgan joy bo'lgani uchun ham.

Bu sizga beradigan qoida to'g'ridan-to'g'ri va ishga tushirish arzon: kesishdan oldin ρ ni o'lchang. Fidelity korrelyatsiyasi bir necha yuzta tasodifiy konfiguratsiya bo'yicha ikki qatorlik hisoblash, va bu multi-fidelity qidiruvi sizni tezlashtirishi bilan sekin-asta sabotaj qilishi orasidagi farqdir.

Qidiruvda g'alaba qozonish undan omon qolish degani emas

Yana bitta halollik eslatmasi, chunki bu turkum yolg'on gapiradigan backtestlar haqida. Bizning triple-TF chempionimiz, sobol→cmaes, musbat holdout ko'rsatgan yagona metod edi — test oynasidagi +16.35% ustiga +2.62%. Bu yaxshi xabar. Mana ogohlantirish: u statistik deflatsiyadan omon qololmadi.

Chempion — barcha metodlar bo'yicha sinovdan o'tkazilgan o'nlab minglab konfiguratsiyalarning eng yaxshisi. Bunchalik ko'p karrali testlash ostida, +2.62% holdout avtomatik ravishda haqiqiy emas. Biz butun turkum tayanadigan overfitting darvozalarini ishga tushirdik — sinovlar orasidagi korrelyatsiya uchun tuzatilgan effective-N bilan Deflated Sharpe Ratio va kombinatorial-simmetrik cross-validation orqali PBO. Chempion PBO'dan o'tdi (0.12, 0.2 chegarasidan qulay pastda — uning rangi CSCV bo'linmalari bo'yicha barqaror), ammo uning deflated Sharpe ko'rsatkichi nolgacha qulab tushdi (darvoza ≥ 0.95 talab qiladi). Xulosa: omon qolmaydi.

Buni diqqat bilan o'qing, chunki bu butun mashqning mohiyati. Kesishish nuqtasi natijasi haqiqiy: aqlli qidiruv qimmat rejimda qidiruvda g'alaba qozondi, hal qiluvchi tarzda, Sobol esa yutqazdi. Ammo qidiruvda g'alaba qozonish optimizator haqidagi bayonot, strategiya haqida emas. Ustunliksiz fazodan yaxshi optimizator topa oladigan eng yaxshi konfiguratsiya baribir ustunliksiz bo'lib qoladi — deflatsiya sizga qaysi birini ushlab turganingizni aytadi. To'g'ri qidiruv metodini tanlash sizga eng yaxshi mavjud javobni samarali tarzda beradi; u hech qachon mavjud bo'lmagan ustunlikni yaratib bermaydi. Optimizator va overfitting darvozalari turli narsalarni o'lchaydigan turli asboblardir, va sizga ikkalasi ham kerak.

Amalda qo'llash mumkin bo'lgan qaror qoidasi

Optimizator tanlash uchun bizning benchmarkni qayta ishga tushirishingiz shart emas. Sizga bitta raqam kerak: bitta backtest qancha vaqt oladi? Maqsad funksiyangizning bitta baholashini — bitta to'liq walk-forward o'tishini, barcha foldlarni — vaqtlab, rejimni aniqlang.

  • Arzon baholash (≲ ~10 ms/backtest): o'tkazuvchanlikni sotib oling. Aralashtirilgan Sobol/QMC yoki random'dan foydalaning. TPE/CMA-ES/ASHA'dagi ask/tell solig'i sizga deyarli bepul baholash mukofotlamaydigan joylashtirish uchun nuqtalar sonining 10–30x qismiga tushadi. Multi-fidelity pruning bilan ovora bo'lmang — va agar vasvasaga tushsangiz, avval ρ@1 ni tekshiring; past-ustunlikli arzon rejimda u nolga yaqin bo'lishi mumkin, bu esa pruning tanga tashlash ekanini bildiradi. Tejalgan muhandislik vaqtini qidiruvni toraytirishga emas, kengaytirishga sarflang.
  • Qimmat baholash (≳ ~100 ms–soniyalar/backtest): namuna-samaradorligini sotib oling. CMA-ES, TPE yoki Sobol bilan urug'lantirilgan CMA-ES gibridi'dan foydalaning; sampler xarajati endi baholashga nisbatan yumaloqlash xatosidir. Agar baholash narxingiz strukturaviy bo'lsa (multi-TF'dagi kabi sekin indikator o'qi va tez chegara o'qi), har bir o'lchamni bir xil qimmat deb hisoblaydigan metodlardan ko'ra, ushbu strukturani ekspluatatsiya qiladigan metodlarni — kaskadlar, drill-down'lar, narxni hisobga oluvchi har qanday narsa — afzal ko'ring.
  • Oraliqda yoki noaniq bo'lsa: Sobol bilan urug'lantirilgan gibrid (sobol→cmaes) mustahkam standart tanlovdir. U boshida keng-birinchi (breadth-first) Sobol kabi (arzon, moslashtiriladigan model yo'q), oxirida esa aqlli aniqlashtiruvchi kabi harakat qiladi, shuning uchun qaysi rejimda ekanligingizdan qat'i nazar u yumshoq tarzda yomonlashadi — aynan shuning uchun u bizning qimmat-rejim chempionimiz bo'ldi.
  • Har qanday prunerdan oldin fidelity'ni o'lchang. Bir necha yuzta tasodifiy konfiguratsiya bo'yicha arzon fidelity va to'liq maqsad funksiyasi orasidagi Spearman ρ ni hisoblang. Agar ρ@1 past bo'lsa, bitta fold bo'yicha kesmang; ρ ~0.5 dan oshguncha minimal resursni oshiring. Bu ikki qatorlik kod talab qiladi va akseleratoringizni eng yaxshi konfiguratsiyalaringizni jimgina chiqarib tashlashdan saqlaydi.
  • Qidiruvda qaysi biri g'alaba qozonishidan qat'i nazar, deflatsiya darvozalarini ishga tushiring. Optimizatorning g'olibi butun hafta davomida siz ishlab chiqaradigan eng overfitga moyil obyektdir. Uning savdo qilish uchun yaroqli-yaroqsizligini optimizatorning bahosi emas, DSR va PBO hal qiladi.

Bu qayerlarga bog'lanadi

Bu natija ushbu turkum tortib kelayotgan bir nechta ip uchlarining markazida turadi:

  • U tagidagi dvigatelning halol ekanligini taxmin qiladi. Butun arzon-rejim ustunligi aynan bizning in-process numba dvigatelimiz IPC'siz soniyasiga minglab konfiguratsiyaga erishgani uchun mavjud — tezlik zinapoyasi sizni birinchi navbatda o'tkazuvchanlik-g'alaba-qozonadigan rejimga qo'yadigan narsadir. Sekin, freymvork solig'i to'laydigan dvigatel har qanday muammoni odatiy holda qimmat rejimga qo'yar edi, va siz kesishish nuqtasini hech qachon ko'rmagan bo'lardingiz.
  • Qimmat-rejim ekspluatatsiyasi bizning adaptive-resolution drill-down dvigatelimiz atrofida loyihalashtirilgan ikki-o'qli narx strukturasidir: dag'al, qimmat o'qda lokalizatsiya qiling, keyin nozik, arzon o'qni ekspluatatsiya qiling.
  • Bu yerdagi har bir metod faqat dvigatel leak-free bo'lgani uchun ishonchlidir. O'nlab minglab sinovlar bo'yicha qidiruv look-ahead xatosini topish va ekspluatatsiya qilish uchun mumkin bo'lgan eng samarali mashinadir — "g'olib" oqishga eng qattiq tayangan konfiguratsiya bo'lar edi. Avval soatni to'g'irlang, keyin qidiring.
  • Va chempionning taqdiri — qidiruvda g'alaba qozonish, deflatsiyada yutqazish — parametr qidiruvi va overfitting nazoratini alohida asboblar bilan alohida bosqichlar sifatida ko'rib chiqishning butun dalilidir.

Akademik zamin soha doimo qaytib keladigan bir xil zamindir: Bergstra va Bengio (2012) — nega tasodifiy qidiruv grid'dan ustunligi haqida; Li va boshqalarning Hyperband'i (2018) va ASHA davomi (2020) — multi-fidelity haqida; va Bailey va López de Prado (2014) — nega har qanday katta qidiruvning g'olibi ishonishdan oldin deflatsiya qilinishi kerakligi haqida. Ularning hech biri bitta eng yaxshi optimizatorni tavsiya qilmaydi, chunki bunday optimizator yo'q — faqat rejim bor, va uni tanlaydigan narx bor.

Asosiy xulosalar

  1. Tasodifiy va aqlli qidiruv orasidagi kesishish nuqtasi baholash narxi bilan belgilanadi, algoritm bilan emas. Biz bitta backtest qancha qimmat turishidan boshqa hech narsani o'zgartirmasdan har bir metodning reytingini teskarisiga aylantirdik.
  2. Arzon baholash → ahmoqona Sobol o'tkazuvchanlikda g'alaba qozonadi. Bizning single-TF dvigatelimizda (~3–4k cfg/s), TPE va ASHA xuddi shu baholashlar soni uchun 18–30x sekinroq ishladi — Sobolning ~2,830'iga qarshi ~95–154 cfg/s. Teng wall-clockda, har bir nuqta deyarli bepul bo'lganda, kenglik fazoning yaxshiroq modelidan ustun turadi.
  3. Qimmat baholash → aqlli metodlar samaradorlikda g'alaba qozonadi. Triple-TF masalasida, sobol→cmaes musbat out-of-sample natija topgan yagona metod edi (+16.35% test, +2.62% holdout); ko'r Sobol esa eng oxirida tugadi.
  4. Qimmat rejimda "aqlli" bo'lish narxni hisobga olish demakdir. G'olib qimmat indikator o'qi va arzon chegara o'qi orasidagi 30–100x farqni ekspluatatsiya qildi — u qimmat o'q mahkamlangandan keyin arzon o'qda qolish orqali ham ko'proq baholash qildi, ham ularni yaxshiroq joylashtirdi.
  5. Fidelity — pruning uchun zaruriy shart. Bitta fold reyting korrelyatsiyasi ρ@1 ≈ 0.03 (single-TF, deyarli tasodifiy) dan 0.43 (multi-TF) gacha o'sdi, besh fold'da esa 0.91 ga yetdi. Multi-fidelity/ASHA faqat arzon fidelity qimmat fidelity kabi reytinglaganda foyda beradi — shuning uchun kesishdan oldin ρ ni o'lchang.
  6. Qidiruvda g'alaba qozonish undan omon qolish degani emas. Chempion PBO'dan o'tdi, ammo Deflated Sharpe darvozasidan o'ta olmadi. Optimizatorni baholash narxiga qarab tanlang; savdo qilish uchun yaroqlilikni deflatsiya darvozalari bilan hal qiling. Bular turli asboblar, va sizga ikkalasi ham kerak.

Optimizatoringizni bitta backtest qancha turishiga qarab tanlang. Keyin esa optimizator ustunliksiz fazoda topa oladigan eng yaxshi javob baribir ustunliksiz ekanini eslang — va qaysi birini ushlab turganingizni qidiruv emas, darvozalar aytsin.

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

Bozordan bir qadam oldinda bo'ling

Sun'iy intellekt savdo tahlillari, bozor tahlili va platforma yangiliklari uchun bizning xabarnomaga obuna bo'ling.

Biz sizning maxfiyligingizni hurmat qilamiz. Istalgan vaqtda obunadan chiqishingiz mumkin.