← Kembali ke artikel
July 4, 2026
Bacaan 5 minit

Carian Rawak lawan Carian Pintar: Titik Persilangan Ialah Kos Penilaian, Bukan Algoritma

Carian Rawak lawan Carian Pintar: Titik Persilangan Ialah Kos Penilaian, Bukan Algoritma
#algotrading
#backtest
#pengoptimuman hiperparameter
#pengoptimuman bayesian
#walk-forward
#overfitting
Part 7 of 10 · Collection
High-Performance Backtest Engines

Sebahagian daripada siri "Backtests Without Illusions".

Terdapat satu kebijaksanaan lazim dalam pengoptimuman hiperparameter: carian rawak adalah asas (baseline) yang akan anda lampaui. Hasil klasik Bergstra & Bengio (2012) menetapkan bahawa carian rawak mengatasi grid search; kemudian pengoptimuman Bayesian, TPE, CMA-ES, dan kaedah multi-fidelity seperti Hyperband/ASHA pula sepatutnya mengatasi carian rawak. Jadi apabila kami mula membanding-aras (benchmark) kaedah carian parameter untuk enjin dagangan kami sendiri, kami menjangkakan tangga biasa: carian rawak di bawah, sampler pintar di atas.

Kami mendapat sebaliknya — dan kemudian kami turut mendapat jawapan buku teks itu juga. Strategi sama, ruang parameter sama, objektif sama, mesin sama. Satu-satunya perkara yang kami ubah ialah berapa mahal satu backtest itu, dan kedudukan ranking kaedah carian itu terbalik. Apabila setiap penilaian murah, jujukan Sobol scrambled yang 'bodoh' mengalahkan setiap sampler 'pintar'. Apabila kami menjadikan setiap penilaian mahal, kaedah pintar itu mendahului dan menemui satu-satunya konfigurasi yang bertahan out-of-sample.

Pengajarannya bukanlah "carian rawak dipandang rendah" atau "Bayesian dipandang terlalu tinggi." Sebaliknya, titik persilangan antara carian rawak dan carian pintar dikawal oleh kos penilaian, bukan oleh kebijaksanaan algoritma. Pilih pengoptimum anda berdasarkan berapa kos satu backtest, bukan berdasarkan reputasinya. Artikel ini mengukur dengan tepat di mana titik persilangan itu berada, mengapa ia berada di situ, dan satu prasyarat — fideliti — yang menentukan sama ada helah rejim-mahal (early stopping, pruning multi-fidelity) selamat untuk digunakan langsung.

Semua yang berikut berasal daripada dua skrip dalam backtester kami: bench_search.py (v4, commit ee092f1) untuk rejim single-timeframe yang murah, dan bench_search_multitf.py (commit 102853c) untuk rejim multi-timeframe yang mahal. Kedua-duanya leak-free — keputusan pada penutupan bar i, fill pada open[i+1] — dan kedua-duanya menskor setiap kaedah pada objektif walk-forward rolling multi-lipatan dengan tetingkap ujian held-out yang tidak pernah dilihat oleh carian itu.

Persoalannya: throughput atau kecekapan sampel?

Bajet carian sebagai satu pecahan — wall-clock dibahagikan dengan kos ask/tell tambah kos penilaian — dengan sebutan kos-penilaian dalam penyebut menentukan sama ada throughput mentah atau penempatan per-titik yang menang

Setiap kaedah carian membelanjakan bajet wall-clocknya pada dua perkara: menentukan di mana hendak mengambil sampel seterusnya (pengiraan sampler itu sendiri) dan menilai sampel itu (menjalankan backtest). Panggil yang pertama sebagai kos ask/tell dan yang kedua sebagai kos penilaian. Kuasa carian efektif sesuatu kaedah bagi bajet wall-clock yang tetap, secara kasar, ialah:

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

dan kualiti akhirnya ialah bilangan itu didarab dengan sebaik mana penempatan setiap titik. Dua kekunci (knob), tarik-menarik antara satu sama lain:

  • Throughput — bilangan titik per saat. Sampler 'bodoh' (rawak, Sobol/QMC scrambled) mempunyai kos ask/tell yang hampir sifar: mereka menghasilkan satu titik low-discrepancy dan terus bergerak. Mereka memaksimumkan bilangan.
  • Kecekapan sampel — kualiti per titik. Sampler pintar (TPE, CMA-ES, ASHA) membelanjakan pengiraan sebenar untuk memodelkan objektif bagi menempatkan setiap titik dengan lebih baik. Mereka memaksimumkan penempatan, dengan kos throughput.

Kekunci mana yang menang bergantung sepenuhnya pada penyebut. Apabila kos penilaian kecil, kos ask/tell mendominasi penyebut, jadi apa-apa sahaja yang membesarkannya — model surogat, anggaran ketumpatan kernel (kernel density estimate), kemas kini kovarians — secara langsung mengecilkan bilangan titik yang anda terokai. Apabila kos penilaian besar, kos ask/tell adalah ralat pembundaran (rounding error), jadi kepintaran itu pada dasarnya percuma dan anda patut membelinya sebanyak mungkin.

Itulah keseluruhan tesis dalam satu ayat: cukai ask/tell adalah tetap, tetapi kepentingannya ditentukan oleh kos penilaian yang menjadi penyebutnya. Sekarang mari kita lihat ia berlaku.

Rejim murah: Sobol 'bodoh' menang dari segi throughput

Dalam rejim murah, aliran Sobol scrambled membanjiri ribuan penilaian yang hampir percuma merentasi ruang parameter, manakala TPE dan ASHA tersekat di belakang jentera ask/tell mereka sendiri, membelanjakan sebahagian besar bajet mereka untuk berfikir bukannya mencari

Strategi single-timeframe kami ialah satu peraturan pemisahan HMA/HMA3 yang leak-free ke atas ruang 7-parameter, dinilai oleh eval_batch numba dalam-proses yang menjalankan prange ke atas konfigurasi tanpa overhead antara-proses. Pada enjin ini, satu backtest hampir percuma — kernel mentah menilai konfigurasi pada kadar kira-kira 3-4k cfg/s. Inilah rejim murah, dan di sinilah dagangan berbeza secara ketara daripada persekitaran deep-learning yang menjadi asal kebanyakan folklor HPO: "fungsi objektif" kami bukanlah larian latihan GPU selama 6 jam, sebaliknya ia adalah satu laluan array 0.3-milisaat.

Kami memberikan setiap kaedah bajet yang sama — 1,500 penilaian — dan merekodkan wall-clock yang diperlukan oleh setiap satu untuk membelanjakan penilaian itu, ditambah objektif ujian held-out yang ditemuinya. Kerana bajet penilaian adalah tetap, lajur wall-clock adalah bacaan langsung overhead setiap sampler:

Kaedah Penilaian Wall-clock Throughput TEST Held-out
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 ialah objektif walk-forward (PnL-per-active-time teranualisasi × keyakinan bilangan-dagangan) pada tetingkap held-out yang tidak pernah disentuh oleh carian; lebih tinggi lebih baik.

Dua fakta jelas terpancul. Pertama, lihat lajur throughput. Sobol scrambled berjalan pada ~2,830 cfg/s — hampir siling enjin. TPE berjalan pada ~154 cfg/s dan ASHA pada ~95. Itu satu kelembapan 18-30x untuk melakukan bilangan penilaian yang sama persis. Sampler pintar tidak menilai apa-apa tambahan; mereka membelanjakan masa itu di dalam jentera ask/tell mereka sendiri.

Kedua — dan inilah bahagian yang mengekalkan kejujuran cerita ini — tiada kaedah menemui keputusan out-of-sample yang positif. Setiap nilai TEST adalah negatif. Dalam rejim single-timeframe, strategi kami sememangnya tidak mempunyai edge OOS yang berdaya tahan, jadi "kaedah mana yang menang" bukanlah persoalan tentang keuntungan akhir; ia adalah persoalan tentang kecekapan carian. Dan dari segi kecekapan carian pada bajet penilaian yang tetap, kaedah 'bodoh' menang secara mutlak: Sobol dan rawak mencapai nombor held-out yang sama atau lebih baik berbanding sampler pintar sambil hanya membelanjakan 1/20 daripada wall-clock.

Sekarang balikkan perbandingan itu mengikut cara pengamal sebenarnya mengalaminya — tetapkan wall-clock, bukan bilangan penilaian. Jika anda berikan setiap kaedah 15.8 saat yang diperlukan ASHA untuk 1,500 penilaiannya, Sobol tidak berhenti pada 1,500. Ia terus berjalan, sehingga kira-kira 45,000 konfigurasi. Dalam rejim murah, persoalannya bukan sekali-kali "sampler mana yang menempatkan 1,500 titik dengan paling baik" — sebaliknya "adakah anda lebih suka mempunyai 1,500 titik yang ditempatkan secara bijak atau 45,000 titik scrambled, apabila setiap titik hampir percuma?" Dengan penilaian yang hampir percuma, keluasan (breadth) menang. Liputan tiga puluh kali ganda lebih luas ke atas ruang 7-dimensi mengatasi model yang lebih baik bagi ruang itu.

Cukai ask/tell

Ke mana perginya 20x itu? Bukan ke dalam backtest — itu adalah sama di semua kaedah. Ia pergi ke dalam pembukuan per-titik sampler itu, dijalankan dalam Python, di dalam gelung:

  • TPE memasangkan sepasang anggaran ketumpatan kernel (trial baik lawan buruk) pada setiap ask, dan kosnya meningkat mengikut sejarah trial. TPE multivariate memasangkannya secara bersama merentasi dimensi — lebih banyak permodelan, lebih banyak Python.
  • CMA-ES mengemas kini dan mengambil sampel daripada matriks kovarians pada setiap generasi. Lebih murah daripada TPE di sini (ia berjalan pada ~850 cfg/s), tetapi masih satu order magnitud overhead lebih tinggi berbanding menghasilkan satu titik Sobol.
  • ASHA menanggung pembukuan promosi/rung pemangkas (pruner), dan, dalam reka bentuk folds-as-fidelity kami, menanggung prakomputasi penunjuk (indicator) tetap sebelum ia boleh memangkas apa-apa — jadi penilaian yang "dijimatkannya" menjimatkan lebih sedikit daripada yang disarankan oleh perakaunan itu.

Ini semua bukanlah kritikan terhadap algoritma-algoritma itu. Inilah intinya: kos ask/tell adalah bilangan milisaat yang secara kasar tetap bagi setiap titik, dan apabila penilaian yang dibungkusnya juga beberapa milisaat, kos tetap itu tiba-tiba menjadi 90% daripada bajet anda. Sampler pintar membelanjakan sembilan-persepuluh daripada wall-clocknya untuk berfikir tentang di mana hendak mencari dan satu-persepuluh untuk benar-benar mencari. Jujukan Sobol scrambled membelanjakan kesemuanya untuk mencari. Apabila mencari itu murah, mencari itu menang.

Kami sengaja tidak membanding-aras pengoptimum Bayesian proses-Gaussian (Gaussian-process) yang penuh di sini, dan atas sebab yang sama: surogat GP adalah O(n3)O(n^3) dari segi bilangan trial. Berbanding dengan penilaian yang berkos milisaat, memasangkan surogat itu akan menghabiskan keseluruhan bajet carian sebelum ia sempat menilai sebahagian bererti ruang itu. Dalam rejim murah, GP-BO didiskualifikasikan oleh aritmetik semata-mata.

Rejim mahal: titik persilangan berbalik

Titik persilangan: apabila satu penilaian menjadi semakin mahal, kedua-dua lengkung kaedah bersilang — Sobol yang buta merosot manakala sampler pintar yang peka-kos memanjat melepasinya, menjadi satu-satunya kaedah yang menyeberang ke wilayah out-of-sample yang positif

Sekarang kita jadikan satu backtest mahal. Strategi multi-timeframe menyusun satu timeframe tinggi, satu sederhana, dan satu rendah (triple-TF), masing-masing menyumbang satu laluan penunjuk dan ambang (threshold) sendiri, semuanya diskor merentasi walk-forward multi-lipatan yang sama. Satu penilaian tunggal kini berkos pada tahap 0.1-0.5 saat berbanding 0.3 milisaat — satu lonjakan tiga order magnitud. Kos penilaian telah beralih daripada sebutan ralat-pembundaran dalam penyebut kami kepada sebutan yang dominan. Menurut tesis itu, cukai ask/tell sepatutnya berhenti menjadi penting dan kepintaran sepatutnya mula memberi hasil. Dan memang begitu.

Kami menjalankan setiap kaedah di bawah bajet wall-clock tetap ~150 saat ke atas masalah triple-TF (ruang 18-parameter), membiarkan setiap satu membelanjakan bajet itu mengikut cara sampler masing-masing menentukan, dan menilai konfigurasi terbaik tunggal yang dikembalikannya pada tetingkap ujian held-out:

Kaedah (triple-TF, 150 s) Penilaian TEST Held-out Keputusan
sobol (QMC) 349 −673 kalah
cascade (sobol²×64) 20,864 −585 kalah
asha (folds) 292 eff. −239 kalah
tpe-mv+sobol 455 −43 kalah
sobol→cmaes 15,239 +226 satu-satunya OOS-positif

TEST ialah objektif walk-forward yang sama seperti sebelum ini. Hanya satu kaedah yang melepasi sifar.

Baseline Sobol 'bodoh' yang mendominasi rejim murah kini berada paling akhir, pada −673. Persampelan low-discrepancy yang buta ke atas ruang 18-dimensi, dengan hanya 349 penilaian untuk dibelanjakan kerana setiap satu mahal, tidak pernah berjaya melokalkan apa-apa. Kaedah pintar, sobol→cmaes — 30% daripada bajet pada Sobol untuk menyemai (seed) satu lembangan (basin), kemudian penghalusan CMA-ES daripada benih terbaik — adalah satu-satunya kaedah yang menghasilkan keputusan out-of-sample yang positif langsung. Pada holdout akhir yang tidak disentuh, juara itu memulangkan +2.62% (19 dagangan, ~6.6% pendedahan modal) di atas tetingkap ujian yang memulangkan +16.35% (46 dagangan, ~15.7% pendedahan). Juara setiap pesaing lain rugi wang out-of-sample.

Itulah titik persilangan, diukur pada keluarga strategi yang sama, objektif yang sama, mesin yang sama: jangan ubah apa-apa selain kos satu penilaian, dan kedudukan ranking kaedah carian terbalik. Dalam rejim murah Sobol menang dan sampler pintar adalah pembaziran 20x; dalam rejim mahal sampler pintar adalah satu-satunya yang berfungsi dan Sobol pula adalah pembaziran.

Mengapa 'pintar' menang di sini — dan ia bukan hanya kecekapan sampel

Eksploitasi peka-kos ke atas ruang parameter dua-paksi: paksi penunjuk yang mahal dipegang tetap manakala sampler pintar membanjiri paksi ambang yang murah pada isyarat cached, menukar wall-clock yang sama kepada lebih banyak penilaian dan penilaian yang lebih baik penempatannya

Versi kemas cerita ini ialah "penilaian yang mahal memberi ganjaran kepada kecekapan sampel, jadi kaedah yang menempatkan lebih sedikit tetapi lebih baik titiknya yang menang." Itu separuh benar, dan data itu memaksa separuh yang lain yang lebih jujur dan lebih menarik.

Lihat semula bilangan penilaian. sobol→cmaes tidak menang dengan menilai lebih sedikit titik berbanding Sobol yang buta — ia menilai 15,239 berbanding 349 milik Sobol, empat puluh kali lebih banyak, dalam 150 saat yang sama. Bagaimana? Kerana kos penilaian multi-TF kami adalah berstruktur, bukan seragam. Terdapat dua paksi: paksi penunjuk yang mahal (tempoh timeframe dan panjang HMA, 30-500 ms setiap satu untuk dikira, kerana ia memaksa pengiraan semula penunjuk) dan paksi ambang yang murah (tahap pemisahan entry/exit, ~1-2 ms setiap satu pada isyarat cached). Jurang antara kedua-duanya ialah 30-100x.

Sobol yang buta mengabaikan struktur ini. Setiap titik yang dijananya menggegar paksi penunjuk yang mahal, memaksa pengiraan semula yang segar — jadi ia membayar harga penuh pada kesemua 349 penilaian. sobol→cmaes, sebaik sahaja CMA-ES melokalkan satu kawasan yang menjanjikan, cenderung mengekalkan struktur penunjuk yang kasar secara relatifnya tetap dan mengganggu (perturb) ambang yang berterusan, yang mendarat pada isyarat cached dan berkos hampir sifar. Kaedah pintar itu menukar wall-clock yang sama kepada kedua-dua titik yang lebih baik penempatannya dan jauh lebih banyak jumlahnya, kerana menjadi adaptif di sini bermaksud menjadi peka-kos: kekal pada paksi yang murah selepas paksi yang mahal dipegang tetap. Eksploitasi cascade(sobol²×64) eksplisit kami melakukan ini dengan paling agresif — 20,864 penilaian dengan mengumpul (batching) ambang murah pada isyarat cached — dan walaupun ia kalah pada ujian triple-TF, dalam varian dua-timeframe ia memenangi tetingkap ujian secara mutlak pada +20.2% (sebelum gagal pada holdoutnya sendiri — lebih lanjut tentang ini di bawah).

Jadi pernyataan yang lebih tajam bagi titik persilangan ini: dalam rejim mahal, cukai ask/tell menjadi boleh diabaikan, yang membebaskan anda untuk menjadi pintar — dan 'pintar' bermaksud menyesuaikan diri dengan struktur kos objektif, bukan hanya bentuknya. Persampelan yang buta tidak boleh melakukan kedua-duanya. Inilah tepatnya struktur dua-paksi yang direka untuk dieksploitasi oleh enjin adaptive-resolution drill-down kami, dan inilah sebabnya kaedah multi-fidelity tergolong dalam rejim mahal — dengan syarat satu keadaan dipenuhi.

Fideliti: prasyarat tersembunyi untuk pruning

Kaedah multi-fidelity — Hyperband, ASHA, mana-mana pemangkas early-stopping — bergantung pada satu andaian: bahawa penilaian murah, separa meranking konfigurasi dengan cara yang sama seperti penilaian mahal, penuh akan lakukan. Jika satu konfigurasi yang kelihatan baik pada satu lipatan walk-forward cenderung kelihatan baik pada kesemuanya, anda boleh membunuh yang kalah lebih awal dan membelanjakan bajet yang terselamat itu pada yang menang. Jika fideliti murah itu meranking secara rawak, early stopping hanyalah membuang konfigurasi baik secara balingan syiling (coin-flip).

Jadi sebelum mempercayai mana-mana pemangkas, kami mengukur andaian itu secara langsung. Fideliti kami ialah bilangan lipatan walk-forward (nilai pada r lipatan secara murah, atau kesemua K lipatan pada kos penuh), dan gerbang fideliti (fidelity gate) mengira korelasi ranking Spearman ρ antara objektif r-lipatan yang murah dengan objektif penuh merentasi satu sampel konfigurasi rawak. ρ@1 ialah korelasi apabila anda menilai pada satu lipatan sahaja — fideliti paling agresif dan paling murah. Berikut adalah apa yang dilaporkan oleh gerbang itu merentasi kedua-dua rejim:

Fideliti (bilangan lipatan digunakan) ρ Single-TF ρ Multi-TF
ρ@1 (1 lipatan) ~0.03 0.43
ρ@2 0.67
ρ@3 0.78
ρ@4 0.82
ρ@5 0.91

Dalam rejim single-timeframe, satu lipatan meranking konfigurasi dengan korelasi ~0.03 berbanding kebenaran — secara statistik tidak dapat dibezakan daripada rawak. Ini bukan suatu kebetulan; ia adalah fakta yang sama seperti "tiada kaedah menemui edge OOS." Apabila satu strategi tidak mempunyai isyarat yang berdaya tahan, prestasi per-lipatannya kebanyakannya adalah nasib, jadi mana-mana lipatan tunggal adalah cabutan yang hampir rawak dan pruning fideliti-rendah akan membunuh konfigurasi yang baik serta mempromosikan yang bertuah. Multi-fidelity tidak selamat dalam rejim murah di sini — bukan kerana kaedah itu buruk, tetapi kerana isyarat murah itu adalah hingar (noise). (Gerbang kami mengesan ini dan enggan memangkas secara agresif.)

Dalam rejim multi-timeframe, satu edge sebenar wujud, dan gambaran fideliti itu berubah: ρ@1 meningkat kepada 0.43, dan menjelang lima lipatan ρ memanjat kepada 0.91. Kini satu lipatan membawa maklumat ranking yang sebenar dan lima lipatan membawa hampir kesemuanya. Early stopping menjadi selamat — konfigurasi yang kalah pada beberapa lipatan pertama benar-benar berkemungkinan menjadi yang kalah. Inilah sebab kedua mengapa kaedah multi-fidelity tergolong dalam rejim mahal: bukan sahaja kerana penilaian yang mahal menjadikan pruning berbaloi, tetapi kerana rejim mahal itulah tempat fideliti murah akhirnya meranking seperti yang mahal.

Peraturan yang diberikan oleh ini kepada anda adalah terus-terang dan murah untuk dijalankan: ukur ρ sebelum anda memangkas. Korelasi fideliti adalah pengiraan dua-baris ke atas beberapa ratus konfigurasi rawak, dan ia adalah perbezaan antara carian multi-fidelity yang mempercepatkan anda dengan carian multi-fidelity yang secara senyap-senyap menyabotaj anda.

Memenangi carian bukan bermakna terselamat daripadanya

Satu lagi nota kejujuran, kerana siri ini adalah tentang backtest yang berbohong. Juara triple-TF kami, sobol→cmaes, adalah satu-satunya kaedah yang mencatatkan holdout positif — +2.62%, di atas +16.35% dalam tetingkap ujian. Itulah berita baiknya. Ini pula amaran (caveat) nya: ia tidak terselamat daripada deflasi statistik.

Juara itu adalah yang terbaik daripada berpuluh-puluh ribu konfigurasi yang dicuba merentasi semua kaedah. Di bawah pengujian berganda (multiple testing) sebanyak itu, holdout +2.62% tidak semestinya sebenar secara automatik. Kami menjalankan gerbang overfitting yang menjadi sandaran keseluruhan siri ini — Deflated Sharpe Ratio dengan effective-N yang diperbetulkan untuk korelasi antara trial, dan PBO melalui cross-validation simetri-kombinatorik (combinatorially-symmetric cross-validation). Juara itu lulus PBO (0.12, selesa di bawah ambang 0.2 — rankingnya stabil merentasi pemisahan CSCV) tetapi Sharpe terdeflasinya runtuh kepada sifar (gerbang menuntut ≥ 0.95). Keputusan: tidak terselamat.

Baca itu dengan teliti, kerana itulah inti keseluruhan latihan ini. Keputusan titik persilangan itu adalah sebenar: carian pintar memenangi carian dalam rejim mahal, secara meyakinkan, dan Sobol kalah. Tetapi memenangi carian adalah satu pernyataan tentang pengoptimum, bukan tentang strategi. Konfigurasi terbaik yang boleh ditemui oleh pengoptimum yang baik daripada ruang tanpa-edge masih tetap tanpa-edge — deflasi itulah yang memberitahu anda konfigurasi mana yang sedang anda pegang. Memilih kaedah carian yang betul memberikan anda jawapan terbaik yang ada secara cekap; ia tidak mencipta edge yang tidak pernah wujud. Pengoptimum dan gerbang overfitting adalah instrumen yang berbeza yang mengukur perkara yang berbeza, dan anda memerlukan kedua-duanya.

Satu peraturan keputusan yang benar-benar boleh anda gunakan

Anda tidak perlu menjalankan semula penanda aras (benchmark) kami untuk memilih pengoptimum. Anda hanya memerlukan satu nombor: berapa lama satu backtest mengambil masa? Ukur masa satu penilaian tunggal objektif anda — satu laluan walk-forward penuh, semua lipatan — dan bacakan rejimnya.

  • Penilaian murah (≲ ~10 ms/backtest): beli throughput. Gunakan Sobol/QMC scrambled atau rawak. Cukai ask/tell pada TPE/CMA-ES/ASHA akan mengos anda 10-30x bilangan titik anda untuk penempatan yang tidak diberi ganjaran oleh penilaian yang hampir percuma. Jangan bersusah payah dengan pruning multi-fidelity — dan jika anda tergoda, semak ρ@1 dahulu; dalam rejim murah edge-rendah ia berkemungkinan hampir sifar, yang bermaksud pruning itu hanyalah balingan syiling. Belanjakan masa kejuruteraan yang dijimatkan itu untuk meluaskan carian, bukan menyempitkannya.
  • Penilaian mahal (≳ ~100 ms-saat/backtest): beli kecekapan sampel. Gunakan CMA-ES, TPE, atau hibrid CMA-ES yang disemai Sobol (Sobol-seeded); overhead sampler kini adalah ralat pembundaran berbanding penilaian itu. Jika kos penilaian anda berstruktur (satu paksi penunjuk yang perlahan dan satu paksi ambang yang pantas, seperti dalam multi-TF), utamakan kaedah yang mengeksploitasi struktur itu — cascade, drill-down, apa-apa yang peka-kos — berbanding kaedah yang menganggap setiap dimensi sama mahalnya.
  • Di antara kedua-duanya, atau tidak pasti: hibrid yang disemai Sobol (sobol→cmaes) adalah lalai (default) yang teguh. Ia berkelakuan seperti Sobol breadth-first pada awalnya (murah, tiada model untuk dipasangkan) dan seperti penghalus pintar pada kemudiannya, jadi ia merosot secara anggun dalam rejim mana sekalipun anda berada — itulah tepatnya sebab ia menjadi juara rejim-mahal kami.
  • Sebelum mana-mana pemangkas, ukur fideliti. Kira ρ Spearman antara fideliti murah dan objektif penuh ke atas beberapa ratus konfigurasi rawak. Jika ρ@1 rendah, jangan memangkas pada satu lipatan; naikkan sumber minimum sehingga ρ melepasi ~0.5. Ini hanya berkos dua baris kod dan menghalang pemecut (accelerator) anda daripada membuang konfigurasi terbaik anda secara senyap-senyap.
  • Apa sahaja yang memenangi carian, jalankan gerbang deflasi. Pemenang pengoptimum itu adalah objek yang paling terdedah kepada overfit yang akan anda hasilkan sepanjang minggu itu. DSR dan PBO, bukan skor pengoptimum, yang menentukan sama ada ia boleh didagangkan.

Ke mana ini berhubung

Keputusan ini terletak di tengah-tengah beberapa benang yang telah ditarik oleh siri ini:

  • Ia mengandaikan enjin di bawahnya jujur. Keseluruhan kelebihan rejim-murah wujud kerana enjin numba dalam-proses kami mencapai ribuan konfigurasi per saat tanpa IPC — tangga kelajuan itulah yang meletakkan anda dalam rejim throughput-menang sejak awal lagi. Enjin yang perlahan dan dicukai oleh framework akan meletakkan setiap masalah dalam rejim mahal secara lalai, dan anda tidak akan sekali-kali melihat titik persilangan itu.
  • Eksploitasi rejim-mahal itu adalah struktur kos dua-paksi yang menjadi asas reka bentuk enjin adaptive-resolution drill-down kami: lokalkan pada paksi yang kasar dan mahal, kemudian eksploitasi paksi yang halus dan murah.
  • Setiap kaedah di sini hanya boleh dipercayai kerana enjinnya leak-free. Satu carian merentasi berpuluh-puluh ribu trial adalah mesin paling cekap yang mungkin untuk mencari dan mengeksploitasi pepijat look-ahead — "pemenangnya" akan menjadi konfigurasi mana sahaja yang paling bersandar kuat pada kebocoran itu. Betulkan jam dahulu, kemudian barulah cari.
  • Dan nasib juara itu — memenangi carian, gagal deflasi — adalah keseluruhan hujah untuk menganggap carian parameter dan kawalan overfitting sebagai peringkat yang berasingan dengan instrumen yang berasingan.

Latar belakang akademik itu adalah sama seperti yang sentiasa dikembali oleh bidang ini: Bergstra & Bengio (2012) tentang sebab carian rawak mengatasi grid search; Hyperband oleh Li et al. (2018) dan susulan ASHA (2020) tentang multi-fidelity; dan Bailey & López de Prado (2014) tentang sebab pemenang mana-mana carian besar mesti dideflasikan sebelum dipercayai. Tiada satu pun daripada mereka menetapkan satu pengoptimum terbaik, kerana tiada yang sedemikian — yang ada hanyalah satu rejim, dan satu kos yang memilihnya.

Kesimpulan Utama

  1. Titik persilangan antara carian rawak dan carian pintar ditentukan oleh kos penilaian, bukan oleh algoritma. Kami membalikkan ranking setiap kaedah dengan mengubah tidak lebih daripada berapa mahal satu backtest itu.
  2. Penilaian murah → Sobol 'bodoh' menang dari segi throughput. Pada enjin single-TF kami (~3-4k cfg/s), TPE dan ASHA berjalan 18-30x lebih perlahan untuk bilangan penilaian yang sama — ~95-154 cfg/s berbanding ~2,830 untuk Sobol. Pada wall-clock yang sama, keluasan (breadth) mengatasi model ruang yang lebih baik apabila setiap titik hampir percuma.
  3. Penilaian mahal → kaedah pintar menang dari segi kecekapan. Pada masalah triple-TF, sobol→cmaes adalah satu-satunya kaedah yang menemui keputusan out-of-sample yang positif (+16.35% ujian, +2.62% holdout); Sobol yang buta selesai paling akhir.
  4. Dalam rejim mahal, 'pintar' bermaksud peka-kos. Pemenang itu mengeksploitasi jurang 30-100x antara paksi penunjuk yang mahal dengan paksi ambang yang murah — ia membuat lebih banyak penilaian dan menempatkannya dengan lebih baik, dengan kekal pada paksi murah sebaik sahaja paksi mahal itu dipegang tetap.
  5. Fideliti adalah prasyarat untuk pruning. Korelasi ranking satu-lipatan meningkat daripada ρ@1 ≈ 0.03 (single-TF, pada dasarnya rawak) kepada 0.43 (multi-TF), mencapai 0.91 menjelang lima lipatan. Multi-fidelity/ASHA hanya memberi hasil sebaik sahaja fideliti murah meranking seperti fideliti mahal — jadi ukur ρ sebelum anda memangkas.
  6. Memenangi carian bukan bermakna terselamat daripadanya. Juara itu lulus PBO tetapi gagal gerbang Deflated Sharpe. Pilih pengoptimum mengikut kos penilaian; tentukan kebolehdagangan (tradability) dengan gerbang deflasi. Kedua-duanya adalah instrumen yang berbeza, dan anda memerlukan kedua-duanya.

Pilih pengoptimum anda berdasarkan berapa kos satu backtest. Kemudian ingat bahawa jawapan terbaik yang boleh ditemui oleh pengoptimum dalam ruang tanpa-edge masih tetap tanpa-edge — dan biarkan gerbang itu, bukan carian, yang memberitahu anda konfigurasi mana yang sedang anda pegang.

Penafian: Maklumat yang disediakan dalam artikel ini adalah untuk tujuan pendidikan dan maklumat sahaja dan bukan merupakan nasihat kewangan, pelaburan, atau dagangan. Dagangan mata wang kripto melibatkan risiko kerugian yang ketara.

Pengarang

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

Kekal Mendahului Pasaran

Langgan surat berita kami untuk pandangan dagangan AI eksklusif, analisis pasaran, dan kemas kini platform.

Kami menghormati privasi anda. Berhenti melanggan pada bila-bila masa.