21 Oktober 2026 · riset

Strategi Anda Menjalani 240 Uji Coba. Berapa Banyak Backtest yang Sebenarnya Anda Jalankan?

Strategi Anda Menjalani 240 Uji Coba. Berapa Banyak Backtest yang Sebenarnya Anda Jalankan?

Kami menguji 240 set parameter. Hasil terbaik menunjukkan rasio Sharpe 2.1; mediannya 0.1; dan hanya 17 yang melampaui 1.0. Angka-angka itu terdengar seperti sebuah temuan, sampai Anda tahu bahwa pencarian seluas ini bisa menghasilkan kandidat terbaik yang tampak meyakinkan secara kebetulan, bahkan ketika tak satu pun strategi memiliki keunggulan yang nyata.

Angka yang mengejutkan adalah 240. Laporan backtest biasanya memperlakukan strategi terpilih seolah-olah muncul sendirian. Padahal, riset tidak berjalan seperti itu. Setiap penyesuaian parameter, penggantian fitur, perubahan semesta aset, dan pengulangan setelah hasil yang buruk memberi noise kesempatan lagi untuk tampak seperti sinyal.

Mengapa mencoba lebih banyak strategi menaikkan Sharpe terbaik?

Bayangkan 240 strategi independen tanpa keunggulan nyata, dengan estimasi Sharpe yang bising. Sebagian besar estimasi berada dekat nol, tetapi nilai maksimumnya cenderung positif. Semakin banyak kandidat yang Anda periksa, semakin jauh nilai maksimum itu bisa menyimpang dari nilai sebenarnya.

Sebagai gambaran kasar, anggap galat standar estimasi Sharpe setiap kandidat adalah 0.5. Dengan 240 pengambilan independen, estimasi tertinggi bisa mencapai sekitar 1.4 galat standar di atas rata-rata, atau kira-kira Sharpe 0.7, hanya karena seleksi. Kandidat strategi di dunia nyata saling berkorelasi, jadi perhitungan ini bukan koreksi yang bisa langsung Anda masukkan ke laporan. Ini menunjukkan mengapa “kandidat terbaik mengungguli nol” merupakan bukti yang lemah setelah pencarian luas.

Dan pencarian itu jarang terbatas pada kisi parameter. Anda mungkin sudah mencoba tiga kelompok sinyal, membuang dua setelah melihat kurvanya, mengubah semesta aset yang diperdagangkan, lalu menjalankan ulang kandidat yang tersisa dengan jadwal penyeimbangan ulang berbeda. Jika pilihan-pilihan itu dipengaruhi oleh kinerja, semuanya termasuk dalam riwayat riset.

Apa yang dihitung sebagai uji coba backtest?

Hitung sebuah keputusan sebagai uji coba jika hasilnya bisa memengaruhi strategi yang Anda pilih. Ini mencakup proses yang tidak Anda publikasikan dan varian yang Anda hentikan lebih awal karena kurva ekuitasnya tampak buruk. Kegagalan kompilasi bukan uji kinerja; proses yang menghasilkan Sharpe mengecewakan biasanya termasuk.

Tindakan risetBiasanya dihitung?Alasan
Mengubah lookback dari 20 menjadi 30 setelah meninjau hasilYaHasil pertama menjadi masukan bagi kandidat berikutnya
Menjalankan strategi tetap yang sama pada rentang tanggal baru yang sudah ditetapkan sebelumnyaBiasanya bukan uji seleksi baruAturannya ditetapkan sebelum bukti itu dilihat
Mengubah semesta aset setelah melihat aset mana yang unggulYaPemilihan semesta aset dapat memperbaiki hasil yang tampak
Memperbaiki kesalahan sintaks lalu menjalankan ulang kode tanpa perubahanTidakTidak ada pilihan riset yang bergantung pada kinerja

Pembedanya adalah apakah Anda menggunakan hasil untuk membuat pilihan. Hal ini mungkin sulit direkonstruksi dari ingatan, sehingga catatan eksperimen sebaiknya mencatat hipotesis, versi kode atau konfigurasi, jendela data, asumsi biaya, dan hasil untuk setiap proses.

Bisakah saya mengoreksi pengujian berganda?

Ada metode untuk memperkirakan bias seleksi atau menyesuaikan signifikansi berdasarkan banyaknya uji coba. Metode ini bisa berguna, tetapi memerlukan asumsi tentang hubungan antar kandidat dan perilaku return. Nilai p nominal atau satu estimasi Sharpe yang dikoreksi tidak dapat menyelamatkan pencarian yang riwayat sebenarnya sudah hilang.

Mulailah dari hal-hal yang bisa Anda kendalikan. Tetapkan spesifikasi akhir sebelum mengevaluasi periode yang benar-benar belum pernah disentuh. Tampilkan seluruh set kandidat. Saat menguji banyak varian yang saling terkait, kelompokkan berdasarkan keputusan yang melahirkannya, alih-alih berpura-pura bahwa masing-masing merupakan temuan independen. Laporkan proses pencarian bersama kandidat terbaik: jumlah uji coba, aturan seleksi, dan apakah evaluasi akhir memengaruhi perubahan berikutnya.

Uji yang berguna: Jika hasil holdout mengecewakan, apakah Anda akan mengubah strategi lalu menyebut periode yang sama sebagai holdout lagi? Jika ya, periode itu kini menjadi bagian dari riset. Anda memerlukan bukti baru untuk evaluasi berikutnya.

Apa yang sebaiknya dicatat oleh agen riset AI?

Agen dapat menghasilkan kandidat lebih cepat daripada kemampuan seseorang untuk mengingat semuanya. Karena itu, pencatatan uji coba harus menjadi bagian dari sistem riset, bukan sekadar pekerjaan pelaporan. Simpan setiap kandidat sebelum dijalankan, termasuk eksperimen induknya dan alasan kandidat itu dibuat. Simpan proses yang gagal dan yang dibuang. Catat kapan manusia atau agen memeriksa kinerja dan keputusan apa yang diambil sesudahnya.

Lalu, buat proses seleksi dapat direproduksi: dengan set kandidat dan aturan yang sama, proses itu harus memilih kandidat terbaik yang sama. Jika agen terus mengubah prompt, sasaran, atau batasannya setelah melihat hasil, perubahan itu juga merupakan bagian dari pencarian.

Sharpe 2.1 mungkin layak diteliti lebih lanjut. Maknanya bergantung pada proses yang menghasilkannya. Ketika catatan riset menunjukkan bahwa 240 kandidat bersaing untuk menjadi sorotan, Anda bisa mengajukan pertanyaan lanjutan yang tepat: bukti apa yang masih tersisa dan belum terpakai oleh semua pilihan tersebut?

pengujian bergandabacktestingoverfittingriset strategi
← Semua artikel