30 Agustus 2026 · statistik

Berapa banyak trade yang dibutuhkan backtest sebelum Sharpe berarti?

Berapa banyak trade yang dibutuhkan backtest sebelum Sharpe berarti?

Inilah pertanyaan yang paling sering saya dapatkan, dengan berbagai cara, dari orang-orang yang baru saja menyelesaikan strategi pertama mereka: berapa banyak trade yang saya butuhkan sebelum hasilnya bisa dipercaya? Biasanya ada angka yang menyertainya. "Saya punya 1.200 trade, itu cukup, kan?" Dan jawaban jujurnya membuat semua orang kesal, karena jumlah trade sama sekali bukan jawabannya.

Ini inti jawabannya dalam satu baris, lalu saya akan menghabiskan sisa tulisan ini untuk menjelaskan kenapa rasanya tidak enak.

1/√Tstandard error Sharpe yang dianualisasi, T dalam tahun
±0.88rentang 95% di sekitar Sharpe 5 tahun mana pun
1.4Sharpe yang ditunjukkan strategi derau paling beruntung dari 100 strategi selama 5 tahun yang sama

Berapa standard error rasio Sharpe?

Untuk Sharpe yang dihitung dari n return periodik, dengan asumsi return tersebut independen dan kira-kira berdistribusi normal, galat sampling-nya adalah:

SE(s) ≈ √((1 + s²/2) / n)

dengan s sebagai Sharpe yang diukur pada frekuensi yang sama. Anualisasikan kedua sisi, dan kita mendapatkan sesuatu yang sederhana. Dengan k observasi per tahun dan T tahun, Sharpe yang dianualisasi S memiliki:

SE(S) ≈ √((1 + S²/(2k)) / T)

Perhatikan 2k di penyebutnya. Untuk return harian, k = 252, jadi bahkan Sharpe sebesar 2 hanya menyumbang 4/504 ≈ 0.008 pada pembilang. Seluruh suku itu menyusut menjadi 1. Standard error Sharpe yang dianualisasi kira-kira 1/√T, dengan T adalah jumlah tahun kalender data Anda. Nilainya hampir tidak bergantung pada Sharpe itu sendiri, tidak bergantung pada frekuensi sampling Anda, dan sama sekali tidak bergantung pada jumlah trade yang Anda lakukan.

Jadi:

Tahun dataSE(Sharpe)CI 95% jika hasil pengukuran Anda 1.5
11.00−0.46 hingga 3.46
20.710.11 hingga 2.89
30.580.37 hingga 2.63
50.450.62 hingga 2.38
100.320.88 hingga 2.12

Backtest yang menunjukkan Sharpe 1.5 selama dua tahun data historis tidak bisa membedakan hasilnya secara statistik dari lemparan koin pada tingkat 95%. Inilah kondisi dasar bagi sebagian besar riset kripto, karena data bersih yang sudah dikoreksi terhadap survivorship dan akurat dalam menghitung biaya kebanyakan orang baru dimulai sekitar 2022, sementara separuh simbol yang menarik belum ada sebelum 2023.

Tapi saya punya 40.000 trade. Bukankah itu mengatasi masalahnya?

Tidak, dan inilah kesalahpahaman yang paling ingin saya luruskan.

Jumlah trade dan panjang sampel adalah besaran yang berbeda, dan hanya satu yang masuk ke dalam rumus. Jika strategi Anda menghasilkan 40.000 trade selama enam bulan, berarti T = 0.5 dan SE ≈ 1.41. Interval 95% untuk Sharpe terukur sebesar 2.0 berkisar dari −0.8 hingga 4.8. Dengan 40.000 trade, kesimpulan jujurnya tetap "bisa jadi bagus, bisa jadi negatif."

Alasannya, 40.000 trade itu bukan 40.000 taruhan independen pada 40.000 kondisi pasar yang berbeda. Semuanya adalah 40.000 sampel dari sekitar 180 hari perilaku pasar; hari-harinya saling berkorelasi, dan rezim-rezim di dalamnya juga saling berkorelasi. Buku mean reversion frekuensi tinggi yang menghasilkan uang setiap hari selama empat bulan sebenarnya hanya memasang satu taruhan — bahwa pembalikan dalam horizon pendek bertahan pada rezim likuiditas ini — dan mengamati taruhan itu teruji mungkin hanya beberapa kali secara independen.

Cara saya menggantinya dalam pikiran: hitung rezim, bukan fill. Berapa banyak kondisi pasar yang benar-benar berbeda yang berhasil dilewati strategi ini? Strategi funding carry yang berjalan selama satu periode panjang dengan basis positif baru mengalami n = 1, seberapa banyak pun rebalancing per jam yang dicatatnya.

Diagnosis cepat: lakukan block bootstrap pada P&L harian Anda dengan panjang blok 20 hari, lalu amati sebaran Sharpe hasil resampling. Jika persentil ke-5 berada di bawah nol, jumlah trade Anda tidak relevan. Caranya hanya butuh sekitar sembilan baris numpy, dan pemeriksaan ini sudah membuat saya membatalkan lebih banyak strategi dibanding pemeriksaan tunggal lainnya.

Apakah rumus ini berlaku untuk strategi nyata?

Tidak sepenuhnya, dan kekeliruannya mengarah ke sisi yang tidak Anda sukai. Hasil 1/√T mengasumsikan return normal IID. Return strategi nyata memiliki autokorelasi dan kemencengan, dan kemencengannya biasanya negatif untuk apa pun yang menyerupai carry, short vol, atau mean reversion. Koreksi Mertens memasukkan kembali momen-momen tersebut:

SE(s) ≈ √((1 + s²/2 − γ₃·s + (γ₄−3)·s²/4) / n)

dengan γ₃ sebagai kemencengan dan γ₄ sebagai kurtosis. Kemencengan negatif membuat suku −γ₃·s bernilai positif sehingga memperlebar interval. Kurtosis berlebih memperlebarnya lebih jauh. Untuk P&L carry kripto yang lazim, dengan kemencengan sekitar −1.2 dan kurtosis sekitar 9, saya pernah melihat standard error terkoreksi 30–40% lebih besar daripada hasil perhitungan naif. Makalah Lo tahun 2002 membahas autokorelasi dan dampaknya searah: korelasi serial positif pada return membesarkan Sharpe naif dan mengecilkan galat yang tampak, kombinasi yang berbahaya.

Jadi, anggap 1/√T sebagai batas bawah ketidakpastian Anda. Itulah skenario terbaik.

Seberapa tinggi Sharpe yang dibutuhkan jika saya menguji 500 varian?

Sekarang kita sampai pada bagian yang penting bagi siapa pun yang menjalankan pipeline riset otomatis, situasi yang kami hadapi setiap hari di Stratmill: agen pembangkit tidak menghasilkan satu kandidat, melainkan ratusan.

Ekspektasi maksimum dari M pengambilan sampel distribusi normal standar kira-kira √(2 ln M). Kalikan dengan standard error, dan Anda mendapatkan Sharpe yang akan ditunjukkan strategi tak berguna yang paling beruntung dari M strategi.

Strategi yang diuji√(2 ln M)Sharpe terbaik dari derau, 5 thn (SE 0.45)Terbaik dari derau, 2 thn (SE 0.71)
102.150.961.52
1003.031.362.16
5003.531.582.50
5,0004.131.852.93

Baca baris kedua dari bawah. Jika Anda menghasilkan 500 kandidat berdasarkan data dua tahun dan pemenangnya menunjukkan Sharpe 2.4, Anda belum menemukan apa pun. Angka itu masih di bawah ambang derau. Sharpe terdeflasi dari Bailey dan López de Prado merumuskan hal ini dengan menggunakan varians Sharpe dari uji coba Anda sebagai pengganti pendekatan kasar √(2 ln M). Metode itu layak diterapkan dengan benar, tetapi versi kasarnya saja sudah cukup untuk mengubah perilaku mulai sekarang.

Ada dua hal yang membuat keadaan ini lebih buruk daripada yang ditunjukkan tabel. Pertama, M bukan jumlah strategi yang Anda simpan, melainkan jumlah strategi yang Anda evaluasi, termasuk setiap perubahan parameter, setiap "coba saja lookback 30 periode," dan setiap pengulangan setelah perbaikan bug. Tidak ada yang mencatat semuanya dengan jujur. Kedua, kandidat Anda bukan pengambilan sampel independen, jadi √(2 ln M) melebih-lebihkan keluasan efektif, meskipun uji coba yang berkorelasi juga berarti satu rezim yang menguntungkan bisa mengangkat seluruh kelompok strategi sekaligus.

Angka paling berbahaya dalam riset kuantitatif adalah angka yang tidak dicatat siapa pun: berapa kali Anda melihat hasilnya.

Jadi, apa yang sebenarnya saya lakukan?

Lima hal, sesuai urutan yang akan saya lakukan.

  1. Catat setiap evaluasi. Penghitung yang bertambah setiap kali backtest dijalankan, disimpan, dan tidak pernah direset. Jika Anda tidak bisa menyebutkan nilai M, Anda tidak bisa menentukan ambang Anda. Inilah satu jam kerja rekayasa yang paling bernilai dalam seluruh daftar ini.
  2. Selalu laporkan Sharpe beserta intervalnya. Jangan pernah menampilkan angka tanpa konteks. Laporan backtest kami menampilkan 1.72 ± 0.51 (2.9y, skew-adjusted) dan ± itu wajib ada. Hal ini mengubah cara seluruh tim membicarakan hasil.
  3. Tentukan ambang berdasarkan M dan T sebelum melihat hasilnya. Ambil angkanya dari tabel di atas dan catat. Ambang yang ditentukan setelah melihat hasil adalah cara orang membujuk diri sendiri agar menerima curve fit.
  4. Utamakan keluasan daripada frekuensi saat sampel Anda terbatas. Anda tidak bisa mempercepat waktu kalender, tetapi Anda bisa menjalankan sinyal yang sama pada 40 simbol yang tidak berkorelasi. Itu benar-benar meningkatkan n efektif, berbeda dengan menaikkan frekuensi trade. Namun, perhatikan korelasinya — 40 kontrak perpetual kripto pada satu jam risk-off ibarat satu instrumen.
  5. Lalu lakukan paper trading. Waktu out-of-sample bertambah satu hari setiap hari, dan tidak ada jalan pintas; justru karena itulah inilah satu-satunya sampel yang tidak bisa Anda overfit.

Semua ini tidak membuat sampel pendek bisa diandalkan. Ini membuat Anda jujur tentang kesimpulan yang bisa didukung sampel pendek, dan kesimpulannya jauh lebih terbatas daripada yang tersirat dalam kebanyakan laporan backtest. Sharpe 1.5 dari data dua tahun adalah hipotesis yang layak diuji lewat paper trading. Itu bukan temuan.

rasio Sharpeoverfittingbacktestingsignifikansi statistikriset kuantitatif
← Semua artikel