Backtest lebih baik untuk menolak sebuah strategi daripada memilihnya. Begitu Anda menggunakan kinerja historis untuk memilih di antara banyak varian, backtest menjadi bagian dari eksperimen, dan pemenang yang tampak unggul mulai membawa biaya tersembunyi: bias seleksi.
Kedengarannya terbalik. Kita melakukan backtest karena ingin tahu strategi mana yang berhasil. Namun, setiap pilihan yang dipandu oleh riwayat data yang sama menghabiskan sebagian bukti yang tersedia. Ubah periode lookback, ambang batas, universe, hari rebalancing, atau aturan stop setelah melihat hasil, berarti Anda mengajukan pertanyaan lain kepada data. Lama-lama, data menerima cukup banyak pertanyaan hingga secara kebetulan memberikan jawaban yang meyakinkan.
Mengapa menguji lebih banyak strategi membuat hasil terbaik jadi kurang dapat dipercaya?
Bayangkan menguji 100 strategi yang tidak memiliki keunggulan nyata. Imbal hasilnya tetap akan berbeda-beda. Jika estimasi kinerjanya kira-kira independen dan noise terdistribusi normal, Sharpe terbaik di antara semuanya akan bernilai positif, meskipun Sharpe sebenarnya setiap strategi adalah nol.
Perkiraan kasar untuk nilai maksimum yang diharapkan dari 100 sampel normal standar independen adalah 2.5 simpangan baku di atas rata-rata. Anggap ini sebagai ilustrasi, bukan koreksi yang bisa langsung Anda tempelkan ke laporan: varian strategi nyata saling berkorelasi, estimasi Sharpe memiliki kesalahan sampling sendiri, dan imbal hasil jarang berperilaku seperti sampel normal yang rapi. Poin praktisnya tetap berlaku meski ada batasan tersebut. Semakin banyak kandidat yang Anda periksa, semakin besar kemungkinan skor tertinggi mencerminkan noise yang menguntungkan.
Dan “kandidat” bukan hanya backtest yang disimpan. Kandidat mencakup setiap pilihan yang dibuat setelah melihat hasil: memperluas universe karena grafik terlihat bergejolak, membuang tahun yang merugikan, atau mengubah asumsi biaya hingga kurva pulih. Keputusan itu tetap dihitung meski tak seorang pun memberinya nomor versi.
Buat catatan riset sebelum menjalankan varian berikutnya
Catat seluruh proses pencarian, termasuk gagasan yang dibuang dan alasan setiap perubahan dilakukan. Dengan begitu, Anda memiliki catatan yang lebih jujur tentang seberapa besar hasil dipilih, dan lebih sulit untuk hanya mengingat uji coba yang menarik.
| Catat | Contoh | Mengapa penting |
|---|---|---|
| Hipotesis | Reversal jangka pendek lebih kuat setelah pergerakan BTC perp yang luar biasa besar | Memisahkan gagasan dari pengaturan parameternya yang ditentukan kemudian |
| Varian dan stempel waktu | Sinyal 48 jam, 2026-10-09, run 014 | Menghitung jumlah pencarian dan mengaitkan hasil dengan kode serta data |
| Aturan seleksi | Pilih berdasarkan Sharpe neto; minimal 100 trade | Menunjukkan arti “terbaik” sebelum perbandingan dilakukan |
| Varian yang ditolak | Jendela 12, 24, 72 jam; semuanya tetap dicatat | Mencegah pemenang yang terlihat menghapus rekam jejak pesaingnya |
Catatan riset tidak membatalkan proses pencarian. Catatan itu membuat prosesnya terlihat jelas, yang merupakan langkah pertama untuk menilai seberapa besar kepercayaan yang layak diberikan kepada pemenang.
Sisihkan data yang tidak bisa terus ditinjau ulang dalam proses riset
Bagi data berdasarkan waktu, lalu lindungi periode terakhir. Kembangkan strategi pada satu rentang waktu, ambil keputusan menggunakan rentang validasi, lalu evaluasi strategi yang sudah dibekukan sekali saja pada data holdout di periode berikutnya. Misalnya, Anda bisa menggunakan 2018–2022 untuk pengembangan, 2023 untuk validasi, lalu menyisihkan 2024–2025. Tanggal tersebut hanya gambaran: pasar, horizon strategi, dan cakupan data seharusnya menentukan pembagiannya.
Tuliskan apa arti “dibekukan”: sinyal, universe, ukuran posisi, asumsi eksekusi, dan aturan apa pun untuk data yang hilang. Jika hasil holdout mengecewakan lalu Anda menyetel strategi berdasarkan data tersebut, periode itu telah menjadi data validasi. Evaluasi jujur berikutnya membutuhkan bukti baru.
Di sinilah sampel kecil bisa menjadi masalah. Strategi yang hanya melakukan 18 trade dalam periode holdout belum cukup untuk menghasilkan kesimpulan yang presisi. Laporkan jumlah trade dan ketidakpastiannya bersama statistik imbal hasil; satu nilai rata-rata bisa membuat sampel yang tipis tampak meyakinkan.
Apakah ini berarti backtest tidak berguna untuk memilih strategi?
Tidak. Kritik bahwa holdout yang ketat bisa boros memang benar: pasar berubah, riwayat data terbatas, dan periode yang tak tersentuh mungkin hanya mewakili satu rezim yang tidak biasa. Proses walk-forward yang dirancang dengan cermat dapat menunjukkan perilaku strategi saat riwayat yang tersedia terus bergulir. Namun, proses itu tidak membuat penyetelan berulang menjadi gratis. Jika Anda memeriksa setiap fold lalu merevisi strategi, fold tersebut telah memengaruhi riset.
Gunakan backtest untuk mengungkap titik kegagalan, membandingkan sejumlah kecil gagasan yang berlandaskan mekanisme pasar, dan menguji apakah hasil tetap bertahan dengan asumsi biaya, funding, impact, dan perubahan parameter yang masuk akal. Catat prosesnya. Sisihkan data holdout terakhir. Lalu bawa versi yang menjanjikan dan sudah dibekukan ke paper trading, tempat ketidaksesuaian operasional dapat terlihat.
Jawaban paling kuat dari sebuah backtest sering kali adalah, “Gagasan ini gagal dalam kondisi yang sudah bisa kita lihat.” Saat backtest mengatakan, “Inilah strategi terbaik,” tanyakan berapa banyak jawaban lain yang diminta darinya.
← Semua artikel


