White Reality Check vs. Hansen SPA untuk Aturan Trading
Pahami perbandingan Reality Check dan SPA saat memilih aturan trading dari banyak kandidat, termasuk bootstrap, asumsi, dan keterbatasannya.
Dalam panduan iniMengapa pemenang backtest perlu diuji dengan cara berbeda
Ringkasan singkat
White Reality Check dan Hansen Superior Predictive Ability (SPA) test menanyakan apakah setidaknya satu aturan dalam keluarga kandidat yang ditelusuri mengungguli benchmark yang ditetapkan sebelumnya menurut satu ukuran kinerja. Keduanya memperhitungkan pemilihan kandidat terbaik setelah hasil diamati, tetapi tidak mengesahkan aturan tertentu atau menjamin keuntungan di masa depan.
Mengapa pemenang backtest perlu diuji dengan cara berbeda
Jika satu strategi ditetapkan sebelum melihat sampel, uji perbandingan tunggal mungkin menjawab pertanyaan yang terbatas. Namun, jika banyak aturan dan pengaturan dicoba, hasilnya diperiksa, lalu hanya pemenang yang diuji seolah-olah sejak awal ia satu-satunya pilihan, proses pencarian diabaikan. Bahkan ketika tidak ada aturan yang benar-benar memiliki keunggulan, nilai sampel terbesar dari banyak estimasi yang berisik dapat positif karena kebetulan.
Reality Check (RC) dan SPA menguji pertanyaan pada tingkat keluarga: setelah pencarian dalam sekumpulan alternatif yang ditentukan diperhitungkan, adakah bukti bahwa setidaknya satu strategi memiliki kinerja harapan yang lebih baik daripada benchmark? Keluarga itu dapat berisi aturan teknikal, model prakiraan, atau strategi lain. White memperkenalkan kerangka pengujian data snooping pada 2000; Sullivan, Timmermann, dan White menerapkannya pada kumpulan luas aturan trading teknikal pada 1999. Makalah White dan studi penerapan aturan trading adalah sumber primer. Masukkan alternatif yang ikut menghasilkan pilihan akhir, bukan hanya pemenangnya.
Tetapkan benchmark, keluarga kandidat, dan arah selisih kinerja
Misalkan k menunjukkan satu aturan kandidat dalam keluarga yang diuji K, sedangkan t menunjukkan tanggal evaluasi yang sama untuk kandidat dan benchmark. Dalam contoh berbasis imbal hasil, selisih tiap periode dapat didefinisikan sebagai:
d(k,t) = imbal hasil neto kandidat k pada waktu t − imbal hasil neto benchmark
Nilai positif menguntungkan kandidat. Untuk perbandingan akurasi prakiraan, balik urutan kerugiannya: kerugian benchmark dikurangi kerugian kandidat, sehingga angka positif berarti kandidat memiliki kerugian yang lebih kecil. Jangan mengubah tanda pengurangan antar-kandidat atau tanggal.
Misalkan μ(k) = E[d(k,t)] adalah selisih kinerja harapan kandidat k. Hipotesis keluarga adalah:
H0: nilai maksimum μ(k) untuk seluruh kandidat di K tidak lebih dari nol H1: ada setidaknya satu kandidat di K dengan μ(k) > 0
H0 tidak menyatakan bahwa selisih harapan setiap aturan tepat nol; aturan yang diperkirakan lebih buruk daripada benchmark juga termasuk dalam null. Ini adalah satu uji gabungan atas maksimum kinerja relatif seluruh keluarga, bukan serangkaian uji individual yang dapat dibaca secara terpisah. Karena itu, tetapkan benchmark, tanggal, definisi imbal hasil, daftar kandidat, dan kriteria kinerja dengan jelas. Jika pertanyaannya tentang kinerja setelah penyesuaian risiko, selisih rata-rata imbal hasil saja tidak mewakili kriteria tersebut.
Reality Check mengambil maksimum dari seluruh keluarga
Tuliskan d̄(k) sebagai rata-rata selisih kandidat k sepanjang n periode evaluasi. Dalam pengaturan sederhana yang memakai rata-rata selisih, statistik RC adalah:
T_RC = nilai maksimum sqrt(n) × d̄(k) untuk seluruh k di K
RC mengambil hasil sampel terbaik di antara kandidat, lalu membandingkannya dengan distribusi bootstrap di bawah null. Untuk hipotesis komposit ini, White memakai konfigurasi null yang paling tidak menguntungkan hipotesis alternatif: distribusi null menganggap selisih harapan setiap kandidat sama dengan nol, padahal kandidat dengan selisih harapan negatif juga memenuhi H0. Akibatnya, nilai kritis dapat menjadi lebih besar ketika keluarga berisi banyak alternatif yang lemah.
Maksimum itu penting. Pertanyaannya bukan, “Apakah pemenang yang terlihat di sampel lolos uji satu aturan?” Pertanyaannya adalah, “Jika pencarian yang sama dilakukan dalam keluarga yang ditetapkan, seberapa jarang maksimum setidaknya sebesar ini?” Menguji pemenang saja dengan distribusi acuan untuk satu aturan yang ditetapkan sebelumnya menjawab pertanyaan pertama, tetapi mengabaikan proses pemilihan. Perhitungan uji tunggal yang benar pun tidak mengoreksi seleksi setelah melihat hasil.
Contoh 240 varian hipotetis menunjukkan luasnya pencarian
Untuk aritmetika saja, anggap peneliti mencoba 12 periode lookback, 4 filter masuk, dan 5 pengaturan keluar. Jika semua kombinasi diuji, hasilnya adalah 12 × 4 × 5 = 240 varian aturan trading hipotetis. Ini hanya hitungan kombinasi, bukan hasil studi terbitan atau klaim imbal hasil nyata. Jangan membuat p-value atau menyatakan keuntungan berdasarkan contoh ini.
Jika kombinasi terbaik dipilih setelah memeriksa hasil dari 240 varian, uji yang disesuaikan harus mengulang pencarian maksimum tersebut dalam setiap sampel bootstrap. Pada setiap replikasi, hitung lagi ukuran kinerja semua varian, lalu ambil nilai tertingginya. Bandingkan maksimum dari sampel asli dengan distribusi maksimum bootstrap. Menghitung ulang hanya statistik pemenang pada tiap replikasi menjawab pertanyaan lain karena pemilihan dari 240 hasil tidak ikut diuji.
Koreksi hanya berguna bila uraian keluarga mencerminkan proses riset. Jika pengaturan, pasar, horizon kepemilikan, atau aturan keluar memengaruhi pilihan tetapi tidak dimasukkan, efek pencariannya tidak ikut dihitung. Sebaliknya, menambahkan alternatif yang tidak relevan setelah melihat hasil juga bukan pendekatan yang tepat. Catat seluruh himpunan pencarian yang menghasilkan pilihan, termasuk kandidat yang tidak menang.
Resampling seluruh vektor waktu bersama-sama
Pada tanggal yang sama, aturan-aturan tersebut menggunakan informasi pasar yang sama sehingga selisih kinerjanya dapat saling berkorelasi. Ketergantungan serial juga dapat terjadi antar-observasi berdekatan. Bootstrap sebaiknya mengambil sampel vektor selisih seluruh kandidat untuk tiap tanggal secara bersama dan mempertahankan segmen waktu yang berurutan. Dengan begitu, replikasi tetap mencerminkan hubungan serentak antaraturan dan sebagian struktur waktunya. Meresampling setiap aturan secara terpisah merusak kovarians lintas aturan dan mengubah distribusi maksimum; mengacak hari satu per satu juga dapat menghilangkan ketergantungan temporal.
Metode blok seperti stationary bootstrap dapat digunakan untuk RC dan SPA. Metode ini menyusun deret semu dengan menyambungkan blok berurutan yang panjangnya bervariasi; dalam konstruksi standar Politis dan Romano, panjang blok mengikuti distribusi geometrik dan nilai harapan panjangnya ditetapkan terlebih dahulu. Makalah stationary bootstrap mereka merupakan sumber primer metode tersebut. Menggunakan indeks waktu yang sama untuk setiap strategi menjaga gerak pasar harian yang mereka bagi bersama.
Resampling tidak otomatis membuat setiap deret cocok. Hasil asimtotik memerlukan kondisi keteraturan, seperti proses yang stabil dan memiliki ketergantungan lemah yang memadai. Perubahan struktural atau nonstasioneritas kuat tidak diperbaiki oleh bootstrap. Blok yang terlalu pendek dapat menghilangkan persistensi penting, sedangkan blok terlalu panjang menyisakan sedikit potongan yang benar-benar berbeda. Sebutkan metode dan panjang blok, lalu periksa apakah kesimpulan berubah pada pilihan yang masuk akal. Null bootstrap juga harus mewakili hipotesis yang diuji, dengan maksimum dihitung ulang pada setiap replikasi. Block bootstrap untuk interval kepercayaan sebuah statistik tetap dari strategi yang sudah dipilih sebelumnya tidak otomatis mengoreksi pencarian seluruh keluarga. Panduan block bootstrap imbal hasil strategi membahas pertanyaan terpisah tentang ketidakpastian statistik tetap dan ketergantungan waktu.

SPA menstandarkan statistik dan menyesuaikan null dengan sampel
SPA mempertahankan null pada tingkat keluarga serta selisih kinerja terhadap benchmark, tetapi mengubah dua bagian prosedur. Pertama, rata-rata selisih setiap kandidat dikalikan sqrt(n), lalu diskalakan dengan estimasi simpangan baku jangka panjang dari seri selisihnya:
T_SPA = max(0, max_k [sqrt(n) × d̄(k) / ω̂(k)])
ω̂(k) adalah estimasi simpangan baku jangka panjang dari seri selisih kandidat k, d(k,t); secara ekuivalen, ini merupakan simpangan baku asimtotik dari sqrt(n) × d̄(k). Nilai ini bukan SD atau standard error dari rata-rata sampel yang tidak diskalakan. Penyebut tersebut menangkap variabilitas jangka panjang seri, termasuk dependensi serial. Dengan demikian, perbandingan dinyatakan dalam skala ketidakpastian mean yang sebanding, sementara kovarians antarkandidat tetap penting saat distribusi maksimum dibangun.
Kedua, SPA menggunakan distribusi null yang bergantung pada informasi sampel. Dalam versi konsistennya, rata-rata sampel negatif dari kandidat yang tampak cukup buruk dibanding benchmark dipertahankan dalam pemusatan null. Kandidat yang masih mungkin berada dekat batas null dipusatkan pada nol. Cara ini mengurangi pengaruh alternatif lemah berdasarkan bukti sampel tanpa begitu saja menghapusnya. Jangan memilih kandidat mana yang dipertahankan setelah melihat hasil, karena hal itu dapat merusak validitas distribusi null.
Makalah Hansen tahun 2005 memperkenalkan dua perubahan tersebut: statistik yang distudentisasi dan distribusi null yang bergantung pada sampel. Dalam rancangan tertentu, perubahan itu dapat meningkatkan power dan mengurangi sensitivitas terhadap alternatif yang buruk atau tidak relevan, tetapi SPA tidak selalu mengungguli RC. Hansen mencatat bahwa kedua tes tidak mendominasi satu sama lain secara seragam. Sebagian implementasi melaporkan p-value SPA versi batas bawah, konsisten, dan batas atas; sebutkan versi dan implementasi yang digunakan. Makalah Hansen adalah sumber primer untuk statistik, pemusatan, dan bootstrap tersebut.
Penolakan pada tingkat keluarga tidak mengidentifikasi aturan pemenang
Jika null keluarga ditolak, kesimpulan terbatas yang didukung adalah bahwa, menurut kriteria kinerja dan asumsi yang ditentukan, setidaknya satu kandidat dalam keluarga yang dinyatakan mungkin memiliki kinerja harapan lebih tinggi daripada benchmark. Ini tidak membuktikan semua aturan menguntungkan, pemenang sampel signifikan secara individual setelah koreksi, atau ia akan tetap menjadi aturan terbaik dalam perdagangan langsung.
Tidak menolak null juga tidak membuktikan semua aturan tidak berguna atau setara. Artinya, sampel dan prosedur ini belum memberi bukti tingkat keluarga yang cukup bahwa salah satu kandidat unggul pada tingkat signifikansi yang dipakai. Sampel bisa pendek atau volatil, perbedaan kandidat bisa kecil, atau keunggulan sebenarnya lemah. “Belum menemukan bukti cukup untuk keunggulan” berbeda dari “membuktikan tidak ada keunggulan.”
Uji maksimum omnibus ini tidak memberi peringkat terkoreksi bagi setiap kandidat dan tidak memberi tahu aturan mana yang harus dipilih. Klaim terkoreksi tentang aturan tertentu memerlukan prosedur inferensi tingkat kandidat atau bertahap, lalu validasi terpisah pada data yang tidak ikut memilih aturan. Jangan mengubah penolakan keluarga menjadi rekomendasi investasi atau klaim bahwa hasil historis akan berulang.
Tetapkan kriteria dan keluarga kandidat sebelum membaca hasil
Koreksi hanya berlaku untuk keluarga kandidat yang dimasukkan. Catat lookback, filter, pasar, horizon kepemilikan, dan varian keluar yang memengaruhi pemilihan, termasuk percobaan yang gagal. Jika beberapa benchmark, definisi imbal hasil, atau jendela sampel dicoba lalu pilihan akhir ditentukan setelah melihat hasil, catat pencarian tersebut juga. Proses riset yang tidak didokumentasikan berada di luar koreksi formal.
Selaraskan semua imbal hasil kandidat pada tanggal yang sama. Sebelum membentuk selisih kinerja, tentukan apakah komisi, spread bid-ask, slippage, pendanaan, biaya pinjam, dan biaya rollover sudah masuk. Tetapkan kriteria sebelum memilih pemenang. Rata-rata imbal hasil neto, skor utilitas, dan ukuran yang disesuaikan dengan risiko menjawab pertanyaan berbeda; uji untuk satu ukuran tidak otomatis menjawab ukuran lain. Dalam perbandingan prakiraan bersarang atau rancangan khusus lain, asumsi tentang estimasi parameter dan distribusi null dapat berbeda, jadi jangan menerapkan resep RC/SPA generik secara mekanis.
Bedakan juga prosedur ini dari false discovery rate (FDR). FDR mengendalikan bagian false yang diharapkan di antara sejumlah keputusan individual; RC dan SPA menguji maksimum satu keluarga kandidat terhadap benchmark. Keduanya juga berbeda dari panduan block bootstrap untuk statistik tetap, yang mengukur ketidakpastian statistik yang telah ditentukan tetapi tidak mengulang pencarian maksimum seluruh kandidat dengan sendirinya. Panduan multiple testing dan FDR dalam keuangan membahas jenis koreksi lain.
Laporkan hasil beserta asumsi dan batasannya
Laporan yang berguna mencantumkan benchmark, keluarga kandidat, kriteria kinerja, rentang tanggal, frekuensi observasi, biaya yang dihitung, metode bootstrap, panjang blok, jumlah replikasi, statistik, serta jenis p-value yang tepat. Simpan berkas kandidat agar reviewer dapat memeriksa apakah keluarga yang menghasilkan pilihan sudah terwakili. Jika menggunakan holdout kronologis yang belum disentuh setelah pengujian, jangan menyetel ulang aturan dengan holdout itu lalu menyebutnya tetap belum disentuh.
P-value RC atau SPA merupakan bukti tentang null pada tingkat keluarga dengan syarat data, keluarga pencarian, statistik, dan asumsi yang ditetapkan. Nilai tersebut bukan probabilitas bahwa strategi tertentu akan menghasilkan uang, prakiraan imbal hasil masa depan, atau jaminan bahwa kinerja backtest bertahan setelah biaya dan perubahan rezim. Tes ini tidak otomatis memperbaiki look-ahead bias, survivorship bias, kesalahan data, market impact, atau catatan pencarian yang tidak lengkap. Panduan purged time-series cross-validation membahas masalah yang berbeda: kebocoran informasi antara data latih dan uji.
Pertanyaan umum
Q1Apakah SPA selalu lebih powerful daripada Reality Check?
Tidak. Perubahan Hansen dapat meningkatkan power dan mengurangi pengaruh alternatif lemah pada rancangan tertentu, tetapi tidak ada satu tes yang selalu mendominasi yang lain.
Q2Apakah hasil SPA yang signifikan memberi tahu aturan trading yang harus dipilih?
Tidak. Hasil itu mendukung kesimpulan tingkat keluarga bahwa suatu kandidat mungkin mengungguli benchmark menurut kriteria yang ditetapkan. Hasil tersebut tidak mengidentifikasi aturan tertentu; diperlukan prosedur tingkat kandidat dan validasi terpisah.
Q3Bolehkah varian backtest yang kalah dikeluarkan dari keluarga?
Jika varian itu ikut dalam pencarian yang menghasilkan aturan akhir, mengeluarkannya mengubah pertanyaan dan dapat mengecilkan efek seleksi. Tetapkan dan simpan keluarga yang relevan sebelum menafsirkan hasil yang sudah dikoreksi.
Sumber dan bacaan lanjutan
Laporkan masalah
Kami akan menyiapkan email berisi tautan artikel ini. Mark menerima laporan setelah Anda mengirimkannya
Cek cepat
Sudah membaca panduannya? Uji diri dengan 3 pertanyaan
Pertanyaan 01
Setelah mencoba banyak varian strategi, kandidat mana yang perlu dimasukkan dalam uji tingkat keluarga?
Pilih jawaban untuk melihat penjelasannya
Glosarium opsi
The probability of falsely rejecting at least one true null hypothesis within a predefined family of tests.
Baca panduan lengkapAssignment opsiProses ketika kewajiban memenuhi kontrak setelah pemberitahuan exercise dialokasikan kepada penjual opsi dan dapat menimbulkan penyerahan atau pembelian saham.
Baca panduan lengkap