← Kembali ke artikel
July 4, 2026
5 menit baca

Random vs Smart Search: Titik Crossover Ada di Biaya Evaluasi, Bukan Algoritma

Random vs Smart Search: Titik Crossover Ada di Biaya Evaluasi, Bukan Algoritma
#algotrading
#backtest
#optimasi hyperparameter
#optimasi bayesian
#walk-forward
#overfitting
Part 7 of 10 · Collection
High-Performance Backtest Engines

Bagian dari seri "Backtests Without Illusions".

Ada semacam kebijaksanaan konvensional dalam optimasi hyperparameter: random search adalah baseline yang pada akhirnya akan kamu lampaui. Hasil klasik Bergstra & Bengio (2012) menetapkan bahwa random mengalahkan grid; lalu Bayesian optimization, TPE, CMA-ES, dan metode multi-fidelity seperti Hyperband/ASHA seharusnya pada gilirannya mengalahkan random. Jadi ketika kami duduk untuk melakukan benchmark metode pencarian parameter untuk trading engine kami sendiri, kami mengharapkan tangga hierarki yang biasa: random di posisi paling bawah, sampler pintar di posisi paling atas.

Yang kami dapatkan justru sebaliknya — dan kemudian kami juga mendapatkan jawaban khas buku teks. Strategi yang sama, ruang parameter yang sama, objektif yang sama, mesin yang sama. Satu-satunya hal yang kami ubah adalah seberapa mahal biaya satu backtest, dan peringkat metode pencarian terbalik. Ketika setiap evaluasi murah, urutan scrambled Sobol yang "bodoh" menghancurkan setiap sampler "pintar". Ketika kami membuat setiap evaluasi menjadi mahal, metode-metode pintar itu unggul dan menemukan satu-satunya konfigurasi yang bertahan out-of-sample.

Pelajarannya bukan "random dinilai terlalu rendah" atau "Bayesian dinilai terlalu tinggi". Melainkan bahwa titik crossover antara random dan smart search dikendalikan oleh biaya evaluasi, bukan oleh kecerdikan algoritma. Pilih optimizer-mu berdasarkan berapa biaya satu backtest, bukan berdasarkan reputasinya. Artikel ini mengukur secara tepat di mana titik crossover itu berada, mengapa ia berada di sana, dan satu prasyarat — fidelity — yang menentukan apakah trik-trik rezim mahal (early stopping, multi-fidelity pruning) aman digunakan sama sekali.

Semua yang di bawah ini berasal dari dua skrip di backtester kami: bench_search.py (v4, commit ee092f1) untuk rezim single-timeframe yang murah, dan bench_search_multitf.py (commit 102853c) untuk rezim multi-timeframe yang mahal. Keduanya leak-free — keputusan diambil pada close bar i, fill pada open[i+1] — dan keduanya menilai setiap metode dengan objektif walk-forward rolling multi-fold dengan jendela test held-out yang tidak pernah dilihat oleh proses pencarian.

Pertanyaannya: throughput atau sample-efficiency?

Anggaran pencarian sebagai satu pecahan — wall-clock dibagi biaya ask/tell ditambah biaya evaluasi — dengan suku biaya evaluasi pada penyebut yang menentukan apakah throughput mentah atau penempatan per-titik yang menang

Setiap metode pencarian menghabiskan anggaran wall-clock-nya untuk dua hal: memutuskan di mana harus mengambil sampel berikutnya (komputasi milik sampler itu sendiri) dan mengevaluasi sampel tersebut (menjalankan backtest). Sebut yang pertama biaya ask/tell dan yang kedua biaya evaluasi. Kekuatan pencarian efektif suatu metode dalam anggaran wall-clock yang tetap, kira-kira, adalah:

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 kualitas akhirnya adalah jumlah tersebut dikalikan seberapa tepat penempatan setiap titik. Dua kenop yang saling tarik-menarik:

  • Throughput — jumlah titik per detik. Sampler bodoh (random, scrambled Sobol/QMC) memiliki biaya ask/tell yang mendekati nol: mereka mengeluarkan satu titik low-discrepancy lalu lanjut. Mereka memaksimalkan jumlah.
  • Sample-efficiency — kualitas per titik. Sampler pintar (TPE, CMA-ES, ASHA) menghabiskan komputasi sungguhan untuk memodelkan objektif agar dapat menempatkan setiap titik dengan lebih baik. Mereka memaksimalkan penempatan, dengan mengorbankan throughput.

Kenop mana yang menang sepenuhnya bergantung pada penyebutnya. Ketika biaya evaluasi kecil, biaya ask/tell mendominasi penyebut, sehingga apa pun yang menaikkannya — model surrogate, estimasi kernel density, pembaruan kovarians — secara langsung mengurangi jumlah titik yang bisa kamu jelajahi. Ketika biaya evaluasi besar, biaya ask/tell menjadi kesalahan pembulatan yang tidak berarti, sehingga kepintaran menjadi praktis gratis dan kamu sebaiknya membelinya sebanyak mungkin.

Itulah keseluruhan tesisnya dalam satu kalimat: pajak ask/tell bersifat tetap, tetapi signifikansinya ditentukan oleh biaya evaluasi yang menjadi pembaginya. Sekarang mari kita lihat bagaimana ini terjadi.

Rezim murah: Sobol yang bodoh menang di throughput

Dalam rezim murah, aliran scrambled Sobol membanjiri ribuan evaluasi yang hampir gratis ke seluruh ruang parameter, sementara TPE dan ASHA tertahan di belakang mesin ask/tell mereka sendiri, menghabiskan sebagian besar anggarannya untuk berpikir alih-alih mencari

Strategi single-timeframe kami adalah aturan pemisahan HMA/HMA3 yang leak-free pada ruang 7-parameter, dievaluasi oleh eval_batch numba in-process yang menjalankan prange di seluruh konfigurasi tanpa overhead antar-proses. Pada mesin ini, satu backtest hampir gratis — kernel mentahnya mengevaluasi konfigurasi pada kecepatan sekitar 3-4k cfg/s. Inilah rezim murah, dan di sinilah trading berbeda tajam dari setting deep-learning tempat sebagian besar cerita rakyat HPO berasal: "fungsi objektif" kami bukan proses training GPU selama 6 jam, melainkan satu pass array 0.3 milidetik.

Kami memberikan setiap metode anggaran yang sama — 1.500 evaluasi — dan mencatat wall-clock yang dibutuhkan masing-masing untuk menghabiskan evaluasi tersebut, plus objektif test held-out yang ditemukannya. Karena anggaran evaluasi tetap, kolom wall-clock secara langsung mencerminkan overhead masing-masing sampler:

Metode Evaluasi 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 adalah objektif walk-forward (PnL-per-active-time yang disetahunkan × confidence jumlah trade) pada jendela held-out yang tidak pernah disentuh oleh pencarian; semakin tinggi semakin baik.

Ada dua fakta yang langsung mencolok. Pertama, lihat kolom throughput. Scrambled Sobol berjalan pada ~2.830 cfg/s — mendekati batas atas mesin. TPE berjalan pada ~154 cfg/s dan ASHA pada ~95. Itu adalah perlambatan 18-30x untuk melakukan jumlah evaluasi yang identik. Sampler pintar tidak mengevaluasi sesuatu yang ekstra; mereka menghabiskan waktu itu di dalam mesin ask/tell mereka sendiri.

Kedua — dan inilah bagian yang membuat cerita ini tetap jujur — tidak ada metode yang menemukan hasil out-of-sample yang positif. Setiap nilai TEST negatif. Dalam rezim single-timeframe, strategi kami memang tidak memiliki edge OOS yang tahan lama, sehingga "metode mana yang menang" bukan pertanyaan tentang profit akhir; melainkan pertanyaan tentang efisiensi pencarian. Dan dalam hal efisiensi pencarian pada anggaran evaluasi yang tetap, metode-metode bodoh menang telak: Sobol dan random mencapai angka held-out yang sama atau lebih baik dibanding sampler pintar sambil hanya menghabiskan 1/20 dari wall-clock.

Sekarang balikkan perbandingannya seperti yang benar-benar dialami seorang praktisi — tetapkan wall-clock, bukan jumlah evaluasi. Jika kamu memberi setiap metode 15,8 detik yang dibutuhkan ASHA untuk 1.500 evaluasinya, Sobol tidak berhenti di 1.500. Ia terus berjalan, hingga kira-kira 45.000 konfigurasi. Dalam rezim murah, pertanyaannya tidak pernah "sampler mana yang menempatkan 1.500 titik dengan terbaik" — melainkan "apakah kamu lebih memilih 1.500 titik yang ditempatkan dengan cerdik atau 45.000 titik yang tersebar acak, ketika setiap titik hampir gratis?" Dengan evaluasi yang hampir gratis, keluasan (breadth) yang menang. Cakupan tiga puluh kali lebih luas atas ruang 7-dimensi mengalahkan model yang lebih baik atasnya.

Pajak ask/tell

Ke mana perginya 20x itu? Bukan ke dalam backtest — itu identik di semua metode. Ia pergi ke pembukuan per-titik milik sampler, yang dijalankan dalam Python, di dalam loop:

  • TPE memasang sepasang estimasi kernel-density (trial bagus vs buruk) pada setiap ask, dan biayanya bertambah seiring riwayat trial. TPE multivariat memasangnya secara bersamaan di seluruh dimensi — lebih banyak modeling, lebih banyak Python.
  • CMA-ES memperbarui dan mengambil sampel dari matriks kovarians di setiap generasi. Lebih murah daripada TPE di sini (ia berjalan pada ~850 cfg/s), tetapi tetap memiliki overhead satu orde besaran di atas sekadar mengeluarkan satu titik Sobol.
  • ASHA membayar pembukuan promotion/rung milik pruner-nya dan, dalam desain folds-as-fidelity kami, membayar precompute indikator tetap sebelum bisa melakukan pruning apa pun — sehingga evaluasi yang "dihemat" menghemat lebih sedikit daripada yang tampak dari perhitungan.

Ini semua bukan kritik terhadap algoritma-algoritma tersebut. Justru inilah intinya: biaya ask/tell adalah kira-kira sejumlah milidetik yang tetap per titik, dan ketika evaluasi yang dibungkusnya juga hanya beberapa milidetik, biaya tetap itu tiba-tiba menjadi 90% dari anggaranmu. Sampler pintar menghabiskan sembilan persepuluh wall-clock-nya untuk berpikir ke mana harus melihat dan sepersepuluhnya lagi benar-benar melihat. Urutan scrambled Sobol menghabiskan seluruhnya untuk melihat. Ketika melihat itu murah, melihat yang menang.

Kami sengaja tidak melakukan benchmark terhadap optimizer Bayesian Gaussian-process penuh di sini, dan alasannya sama: surrogate GP bersifat O(n3)O(n^3) terhadap jumlah trial. Berhadapan dengan evaluasi yang berbiaya milidetik, memasang surrogate tersebut akan menghabiskan seluruh anggaran pencarian sebelum sempat mengevaluasi porsi ruang yang berarti. Dalam rezim murah, GP-BO didiskualifikasi oleh aritmetika semata.

Rezim mahal: titik crossover berbalik

Titik crossover: seiring satu evaluasi menjadi mahal, kedua kurva metode saling berpotongan — Sobol yang buta menurun sementara sampler pintar yang cost-aware naik melampauinya, menjadi satu-satunya metode yang berhasil masuk ke wilayah out-of-sample yang positif

Sekarang kita buat satu backtest menjadi mahal. Strategi multi-timeframe menumpuk timeframe tinggi, menengah, dan rendah (triple-TF), masing-masing menyumbangkan satu pass indikator dan threshold-nya sendiri, semuanya dinilai dengan walk-forward multi-fold yang sama. Satu evaluasi kini berbiaya sekitar 0.1-0.5 detik alih-alih 0.3 milidetik — lompatan tiga orde besaran. Biaya evaluasi telah berpindah dari suku kesalahan pembulatan dalam penyebut kita menjadi suku yang dominan. Menurut tesis kita, pajak ask/tell seharusnya berhenti berarti dan kepintaran seharusnya mulai membuahkan hasil. Dan memang begitu.

Kami menjalankan setiap metode dengan anggaran wall-clock tetap ~150 detik pada masalah triple-TF (ruang 18-parameter), membiarkan masing-masing menghabiskan anggaran tersebut sesuai arahan sampler-nya, dan mengevaluasi satu konfigurasi terbaik yang dikembalikannya pada jendela test held-out:

Metode (triple-TF, 150 s) Evaluasi TEST Held-out Vonis
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 yang OOS-positif

TEST adalah objektif walk-forward yang sama seperti sebelumnya. Hanya satu metode yang melewati nol.

Baseline Sobol yang bodoh, yang mendominasi rezim murah, kini berada di posisi paling buncit, di −673. Sampling low-discrepancy yang buta pada ruang 18-dimensi, dengan hanya 349 evaluasi untuk dibelanjakan karena masing-masing mahal, tidak pernah berhasil melokalisasi apa pun. Metode pintar, sobol→cmaes — 30% dari anggaran untuk Sobol guna menyemai satu basin, lalu penghalusan CMA-ES dari seed terbaik — adalah satu-satunya metode yang sama sekali menghasilkan hasil out-of-sample yang positif. Pada holdout final yang tidak pernah disentuh, sang juara mengembalikan +2.62% (19 trade, ~6.6% eksposur modal) di atas jendela test yang mengembalikan +16.35% (46 trade, ~15.7% eksposur). Juara dari setiap kompetitor lainnya merugi di out-of-sample.

Itulah titik crossover-nya, diukur pada keluarga strategi yang sama, objektif yang sama, mesin yang sama: jangan ubah apa pun kecuali biaya satu evaluasi, dan peringkat metode pencarian pun terbalik. Dalam rezim murah, Sobol menang dan sampler pintar adalah pemborosan 20x; dalam rezim mahal, sampler pintar adalah satu-satunya yang berfungsi dan Sobol-lah yang menjadi pemborosan.

Mengapa "pintar" menang di sini — dan bukan hanya soal sample-efficiency

Eksploitasi cost-aware pada ruang parameter dua sumbu: sumbu indikator yang mahal dipatok di tempatnya sementara sampler pintar membanjiri sumbu threshold yang murah pada sinyal yang di-cache, mengubah wall-clock yang sama menjadi baik lebih banyak evaluasi maupun evaluasi yang ditempatkan lebih baik

Versi rapi dari cerita ini adalah "evaluasi yang mahal memberi imbalan pada sample-efficiency, sehingga metode yang menempatkan lebih sedikit titik namun lebih baik yang menang." Itu setengah benar, dan datanya memaksa kita untuk jujur mengungkap setengah lainnya yang lebih menarik.

Lihat kembali jumlah evaluasinya. sobol→cmaes tidak menang dengan mengevaluasi titik yang lebih sedikit daripada Sobol yang buta — ia mengevaluasi 15.239 titik berbanding 349 milik Sobol, empat puluh kali lebih banyak, dalam 150 detik yang sama. Bagaimana bisa? Karena biaya evaluasi multi-TF kami terstruktur, bukan seragam. Ada dua sumbu: sumbu indikator yang mahal (periode timeframe dan panjang HMA, masing-masing 30-500 ms untuk dihitung, karena memaksa recompute indikator) dan sumbu threshold yang murah (level pemisahan entry/exit, masing-masing ~1-2 ms pada sinyal yang di-cache). Selisih di antara keduanya adalah 30-100x.

Sobol yang buta mengabaikan struktur ini. Setiap titik yang diambilnya menggoyangkan sumbu indikator yang mahal, memaksa recompute baru — sehingga ia membayar harga penuh pada seluruh 349 evaluasinya. sobol→cmaes, begitu CMA-ES telah melokalisasi satu region yang menjanjikan, cenderung mempertahankan struktur indikator yang kasar itu kira-kira tetap dan mengganggu threshold yang kontinu, yang mendarat pada sinyal yang di-cache dan hampir tidak berbiaya apa pun. Metode pintar mengubah wall-clock yang sama menjadi baik titik yang ditempatkan lebih baik maupun jumlahnya yang jauh lebih banyak, karena menjadi adaptif di sini berarti menjadi cost-aware: tetap berada di sumbu murah setelah sumbu mahal telah dipatok. Eksploitasi cascade(sobol²×64) eksplisit kami melakukan ini paling agresif — 20.864 evaluasi dengan mem-batch threshold murah pada sinyal yang di-cache — dan meskipun kalah pada test triple-TF, dalam varian dua-timeframe ia memenangkan jendela test secara telak di +20.2% (sebelum gagal pada holdout-nya sendiri — lebih lanjut tentang ini di bawah).

Jadi pernyataan yang lebih tajam mengenai titik crossover ini: dalam rezim mahal, pajak ask/tell menjadi dapat diabaikan, yang membebaskan kamu untuk menjadi pintar — dan "pintar" berarti beradaptasi dengan struktur biaya objektif, bukan sekadar bentuknya. Sampling yang buta tidak bisa melakukan keduanya. Inilah tepatnya struktur dua-sumbu yang dirancang untuk dieksploitasi oleh engine adaptive-resolution drill-down kami, dan inilah mengapa metode multi-fidelity berada di rezim mahal — asalkan satu kondisi terpenuhi.

Fidelity: prasyarat tersembunyi untuk pruning

Metode multi-fidelity — Hyperband, ASHA, pruner early-stopping apa pun — bertumpu pada satu asumsi: bahwa evaluasi yang murah dan parsial memberi peringkat pada konfigurasi dengan cara yang sama seperti evaluasi yang mahal dan penuh. Jika suatu konfigurasi yang tampak bagus pada satu fold walk-forward cenderung tampak bagus di semua fold, kamu bisa membunuh yang kalah lebih awal dan membelanjakan anggaran para penyintas itu pada yang menang. Jika fidelity murah memberi peringkat secara acak, early stopping hanyalah membuang konfigurasi bagus dengan lempar koin.

Jadi sebelum mempercayai pruner apa pun, kami mengukur asumsi tersebut secara langsung. Fidelity kami adalah jumlah fold walk-forward (mengevaluasi pada r fold secara murah, atau seluruh K fold dengan biaya penuh), dan fidelity gate menghitung korelasi peringkat Spearman ρ antara objektif r-fold yang murah dan objektif penuh, di seluruh sampel konfigurasi acak. ρ@1 adalah korelasi ketika kamu menilai pada satu fold saja — fidelity yang paling agresif dan paling murah. Berikut yang dilaporkan gate tersebut di kedua rezim:

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

Dalam rezim single-timeframe, satu fold memberi peringkat pada konfigurasi dengan korelasi ~0.03 terhadap kebenarannya — secara statistik tidak dapat dibedakan dari acak. Ini bukan kebetulan; ini adalah fakta yang sama dengan "tidak ada metode yang menemukan edge OOS". Ketika suatu strategi tidak memiliki sinyal yang tahan lama, performa per-fold-nya sebagian besar adalah keberuntungan, sehingga fold tunggal mana pun adalah pengambilan yang hampir acak, dan pruning dengan fidelity rendah akan membunuh konfigurasi bagus dan mempromosikan yang beruntung. Multi-fidelity tidak aman dalam rezim murah di sini — bukan karena metodenya buruk, melainkan karena sinyal murahnya adalah noise. (Gate kami menandai hal ini dan menolak melakukan pruning secara agresif.)

Dalam rezim multi-timeframe, edge yang sungguhan ada, dan gambaran fidelity-nya berubah: ρ@1 naik menjadi 0.43, dan pada lima fold ρ naik menjadi 0.91. Kini satu fold membawa informasi peringkat yang sungguhan dan lima fold membawa hampir semuanya. Early stopping menjadi aman — konfigurasi yang kalah pada beberapa fold pertama memang benar-benar cenderung menjadi pecundang. Ini adalah alasan kedua mengapa metode multi-fidelity berada di rezim mahal: bukan hanya karena evaluasi yang mahal membuat pruning sepadan, tetapi juga karena rezim mahal adalah tempat di mana fidelity murah akhirnya memberi peringkat seperti fidelity mahal.

Aturan yang diberikan ini kepadamu bersifat blak-blakan dan murah untuk dijalankan: ukur ρ sebelum kamu melakukan pruning. Korelasi fidelity adalah komputasi dua baris pada beberapa ratus konfigurasi acak, dan itulah yang membedakan antara multi-fidelity search yang mempercepatmu dan multi-fidelity search yang diam-diam menyabotasemu.

Memenangkan pencarian bukan berarti bertahan darinya

Satu catatan kejujuran lagi, karena seri ini memang tentang backtest yang berbohong. Juara triple-TF kami, sobol→cmaes, adalah satu-satunya metode yang mencatatkan holdout positif — +2.62%, di atas +16.35% pada jendela test. Itu kabar baiknya. Berikut peringatannya: ia tidak bertahan dari deflasi statistik.

Sang juara adalah yang terbaik dari puluhan ribu konfigurasi yang dicoba di seluruh metode. Dengan multiple testing sebanyak itu, holdout +2.62% tidak otomatis nyata. Kami menjalankan overfitting gates yang menjadi sandaran seluruh seri ini — Deflated Sharpe Ratio dengan effective-N yang dikoreksi untuk korelasi antar-trial, dan PBO melalui combinatorially-symmetric cross-validation. Sang juara lolos PBO (0.12, cukup jauh di bawah ambang 0.2 — peringkatnya stabil di seluruh split CSCV) tetapi deflated Sharpe-nya runtuh menjadi nol (gate menuntut ≥ 0.95). Vonis: tidak bertahan.

Baca itu baik-baik, karena itulah inti dari seluruh latihan ini. Hasil crossover-nya nyata: smart search memenangkan pencarian dalam rezim mahal, secara meyakinkan, dan Sobol kalah di dalamnya. Tetapi memenangkan pencarian adalah pernyataan tentang optimizer-nya, bukan tentang strateginya. Konfigurasi terbaik yang bisa ditemukan optimizer yang baik dari ruang tanpa edge tetaplah tanpa edge — deflasi adalah yang memberitahumu mana yang sedang kamu pegang. Memilih metode pencarian yang tepat memberimu jawaban terbaik yang tersedia secara efisien; itu tidak menciptakan edge yang memang tidak pernah ada. Optimizer dan overfitting gates adalah instrumen berbeda yang mengukur hal yang berbeda, dan kamu membutuhkan keduanya.

Aturan keputusan yang benar-benar bisa kamu terapkan

Kamu tidak perlu menjalankan ulang benchmark kami untuk memilih optimizer. Kamu hanya butuh satu angka: berapa lama satu backtest berjalan? Ukur waktu satu evaluasi objektifmu — satu pass walk-forward penuh, semua fold — dan baca rezimnya dari situ.

  • Evaluasi murah (≲ ~10 ms/backtest): belilah throughput. Gunakan scrambled Sobol/QMC atau random. Pajak ask/tell pada TPE/CMA-ES/ASHA akan mengorbankan 10-30x jumlah titikmu demi penempatan yang tidak diberi imbalan oleh evaluasi yang hampir gratis. Jangan repot-repot dengan multi-fidelity pruning — dan jika kamu tergoda, periksa dulu ρ@1; dalam rezim murah dengan edge rendah, nilainya kemungkinan mendekati nol, yang berarti pruning sama saja dengan lempar koin. Habiskan waktu engineering yang dihemat untuk memperlebar pencarian, bukan mempersempitnya.
  • Evaluasi mahal (≳ ~100 ms-detik/backtest): belilah sample-efficiency. Gunakan CMA-ES, TPE, atau hybrid CMA-ES yang di-seed Sobol; overhead sampler kini menjadi kesalahan pembulatan dibanding evaluasinya. Jika biaya evaluasimu terstruktur (sumbu indikator yang lambat dan sumbu threshold yang cepat, seperti pada multi-TF), pilih metode yang mengeksploitasi struktur itu — cascade, drill-down, apa pun yang cost-aware — dibanding metode yang memperlakukan setiap dimensi sebagai sama-sama mahal.
  • Di antara keduanya, atau tidak yakin: hybrid yang di-seed Sobol (sobol→cmaes) adalah default yang robust. Ia berperilaku seperti Sobol breadth-first di awal (murah, tidak ada model yang perlu dipasang) dan seperti penghalus yang pintar di akhir, sehingga ia terdegradasi secara graceful di rezim mana pun kamu berada — yang justru menjadi alasan mengapa ia menjadi juara rezim mahal kami.
  • Sebelum menggunakan pruner apa pun, ukur fidelity. Hitung ρ Spearman antara fidelity murah dan objektif penuh pada beberapa ratus konfigurasi acak. Jika ρ@1 rendah, jangan melakukan pruning pada satu fold; naikkan sumber daya minimum hingga ρ melewati ~0.5. Ini hanya berbiaya dua baris kode dan mencegah akselerator-mu diam-diam membuang konfigurasi terbaikmu.
  • Siapa pun yang memenangkan pencarian, jalankan deflation gates. Pemenang dari optimizer adalah objek yang paling rentan overfit yang akan kamu hasilkan sepanjang minggu itu. DSR dan PBO, bukan skor dari optimizer, yang menentukan apakah itu bisa ditradingkan.

Di mana ini terhubung

Hasil ini berada di pusat beberapa benang merah yang telah ditarik oleh seri ini:

  • Ini mengandaikan engine di baliknya jujur. Seluruh keunggulan rezim murah ada karena engine numba in-process kami mencapai ribuan konfigurasi per detik tanpa IPC — speed ladder-lah yang sejak awal menempatkanmu pada rezim throughput-menang. Engine yang lambat dan terbebani framework akan menempatkan setiap masalah pada rezim mahal secara default, dan kamu tidak akan pernah melihat titik crossover-nya.
  • Eksploitasi rezim mahal adalah struktur biaya dua-sumbu yang menjadi dasar rancangan engine adaptive-resolution drill-down kami: lokalisasi pada sumbu yang kasar dan mahal, lalu eksploitasi sumbu yang halus dan murah.
  • Setiap metode di sini hanya bisa dipercaya karena engine-nya leak-free. Pencarian atas puluhan ribu trial adalah mesin paling efisien yang mungkin untuk menemukan dan mengeksploitasi bug look-ahead — "pemenangnya" akan menjadi konfigurasi mana pun yang paling condong memanfaatkan kebocoran tersebut. Perbaiki dulu jamnya, baru cari.
  • Dan nasib sang juara — memenangkan pencarian, gagal deflasi — adalah keseluruhan argumen untuk memperlakukan pencarian parameter dan kontrol overfitting sebagai tahap-tahap yang terpisah dengan instrumen yang terpisah pula.

Latar belakang akademis di sini sama dengan yang terus-menerus didatangi kembali oleh bidang ini: Bergstra & Bengio (2012) tentang mengapa random mengalahkan grid; Hyperband dari Li et al. (2018) dan lanjutan ASHA-nya (2020) tentang multi-fidelity; dan Bailey & López de Prado (2014) tentang mengapa pemenang dari pencarian besar apa pun harus dideflasi sebelum dipercaya. Tidak satu pun dari mereka meresepkan satu optimizer terbaik tunggal, karena memang tidak ada — yang ada adalah rezim, dan biaya yang menentukan rezim tersebut.

Poin-poin penting

  1. Titik crossover antara random dan smart search ditentukan oleh biaya evaluasi, bukan oleh algoritmanya. Kami membalikkan peringkat setiap metode hanya dengan mengubah seberapa mahal biaya satu backtest.
  2. Evaluasi murah → Sobol yang bodoh menang di throughput. Pada engine single-TF kami (~3-4k cfg/s), TPE dan ASHA berjalan 18-30x lebih lambat untuk jumlah evaluasi yang sama — ~95-154 cfg/s berbanding ~2.830 untuk Sobol. Pada wall-clock yang sama, keluasan mengalahkan model ruang yang lebih baik ketika setiap titik hampir gratis.
  3. Evaluasi mahal → metode pintar menang di efisiensi. Pada masalah triple-TF, sobol→cmaes adalah satu-satunya metode yang menemukan hasil out-of-sample yang positif (+16.35% test, +2.62% holdout); Sobol yang buta berakhir di posisi paling buncit.
  4. Dalam rezim mahal, "pintar" berarti cost-aware. Sang pemenang mengeksploitasi selisih 30-100x antara sumbu indikator yang mahal dan sumbu threshold yang murah — ia melakukan lebih banyak evaluasi dan menempatkannya dengan lebih baik, dengan tetap berada di sumbu murah begitu sumbu mahal telah dipatok.
  5. Fidelity adalah prasyarat untuk pruning. Korelasi peringkat single-fold naik dari ρ@1 ≈ 0.03 (single-TF, pada dasarnya acak) menjadi 0.43 (multi-TF), mencapai 0.91 pada lima fold. Multi-fidelity/ASHA hanya membuahkan hasil begitu fidelity murah memberi peringkat seperti fidelity mahal — jadi ukur ρ sebelum kamu melakukan pruning.
  6. Memenangkan pencarian bukan berarti bertahan darinya. Sang juara lolos PBO tetapi gagal pada gate Deflated Sharpe. Pilih optimizer berdasarkan biaya evaluasi; tentukan kelayakan trading dengan deflation gates. Keduanya adalah instrumen yang berbeda, dan kamu membutuhkan keduanya.

Pilih optimizer-mu berdasarkan berapa biaya satu backtest. Lalu ingatlah bahwa jawaban terbaik yang bisa ditemukan optimizer dalam ruang tanpa edge tetaplah tanpa edge — dan biarkan gate, bukan pencariannya, yang memberitahumu mana yang sedang kamu pegang.

Penafian: Informasi yang disediakan dalam artikel ini hanya untuk tujuan edukasi dan informasi serta tidak merupakan nasihat keuangan, investasi, atau trading. Trading mata uang kripto mengandung risiko kerugian yang signifikan.

Penulis

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

Selangkah Lebih Maju dari Pasar

Berlangganan newsletter kami untuk wawasan AI trading eksklusif, analisis pasar, dan pembaruan platform.

Kami menghormati privasi Anda. Berhenti berlangganan kapan saja.