Bagaimana TSI dapat di-backtest secara bertanggung jawab?
Tentukan apa itu TSI sebelum Anda mengujinya
TSI (umumnya digunakan sebagai indikator tipe momentum) adalah aturan yang mengubah deret waktu menjadi keluaran dengan menggabungkan informasi perubahan harga di satu atau lebih pengaturan lookback. Backtesting kemudian merupakan proses penerapan aturan-aturan tersebut pada data historis untuk mengukur bagaimana perilaku indikator yang dihasilkan akan terlihat.
Titik awal yang bertanggung jawab adalah memisahkan dua lapisan:
- Mekanika yang stabil: bagaimana TSI dihitung dari deret input dan parameter yang dipilih.
- Kondisi yang bervariasi: rezim pasar, kualitas data, dan cara hasil akan diterjemahkan ke dalam eksekusi nyata.
Hanya setelah Anda jelas tentang kedua lapisan tersebut, Anda boleh membahas implikasinya.
Pilih input data dan asumsi yang dapat Anda jelaskan
Backtest hanya bermakna jika inputnya sesuai dengan tujuan penggunaan. Untuk TSI, tentukan pilihan-pilihan ini secara eksplisit:
- Deret harga: bidang apa yang digunakan (misalnya, harga tengah vs bid/ask). Jika Anda tidak dapat membenarkan suatu pilihan, perlakukan sebagai asumsi.
- Penanganan waktu: ukuran bar, rollover sesi, dan penyelarasan (misalnya, memastikan bahwa nilai indikator hanya menggunakan informasi yang tersedia pada saat itu).
- Pengaturan parameter: panjang lookback yang tepat dan langkah penghalusan apa pun.
- Pembersihan data: bagaimana bar yang hilang ditangani, dan apakah outlier dikoreksi atau dihapus.
Jika ada bagian dari pengaturan Anda yang ambigu, dokumentasikan dan jaga konsistensinya di semua pengujian. Ini membuat hasil Anda dapat diverifikasi secara independen.
Sertakan biaya dan efek eksekusi dalam model backtest
Pergerakan harga historis tidak sama dengan hasil yang dapat diperdagangkan. Bahkan jika Anda tidak menghasilkan sinyal trading, evaluasi Anda tetap harus mencerminkan bahwa implementasi memiliki friksi.
Kesenjangan pemodelan yang umum meliputi:
- Biaya transaksi: spread, komisi, dan biaya.
- Penundaan eksekusi: bertindak pada penutupan bar sambil menggunakan harga penutupan bisa tidak realistis.
- Slippage: perbedaan antara harga yang diharapkan dan harga yang dicapai.
Oleh karena itu, backtest yang bertanggung jawab menggunakan asumsi eksplisit untuk elemen-elemen ini. Contoh pendekatan (asumsi harus dinyatakan): gunakan biaya konstan per round-trip atau model spread sederhana, dan terapkan secara konsisten setiap kali logika backtest Anda berubah status (misalnya, setiap kali kondisi indikator berubah). Hindari menyesuaikan biaya sampai kinerja “terlihat benar.”
Kendalikan bias dan overfitting
Banyak kegagalan backtesting berasal dari bias, bukan dari desain indikator. Pengujian yang bertanggung jawab mencakup kontrol yang mencegah Anda “mempelajari masa depan”:
- Pratentukan ruang pencarian parameter: tentukan rentang untuk pengaturan TSI sebelum menjalankan optimasi.
- Gunakan pengujian walk-forward (bergulir): pilih parameter pada satu periode dan evaluasi pada periode berikutnya yang belum terlihat.
- Sisihkan holdout akhir: bahkan jika Anda mengulangi berkali-kali, sisihkan satu segmen yang tidak disentuh untuk pemilihan model.
Anda juga harus menguji ketahanan dengan mengukur sensitivitas: jika perubahan kecil pada pengaturan lookback secara drastis mengubah hasil, backtest tersebut kemungkinan rapuh.
Gunakan pemeriksaan out-of-sample yang sesuai dengan klaim yang dimaksud
Prinsip kunci: hubungan historis tidak menetapkan hasil masa depan. Jadi evaluasi Anda harus fokus pada apa yang dapat didukung oleh desain.
Pemeriksaan praktis dan bertanggung jawab meliputi:
- Perbandingan kinerja out-of-sample di beberapa jendela waktu.
- Stabilitas lintas rezim: uji pada periode tren, sideways, dan volatilitas tinggi vs volatilitas rendah (ditentukan oleh kriteria terukur Anda sendiri).
- Error bars dan pemeriksaan distribusi: lihat variabilitas hasil daripada satu angka ringkasan.
Jika tujuan Anda adalah memahami perilaku TSI daripada mengklaim investabilitas, Anda tetap dapat menerapkan pemeriksaan ini pada metrik Anda (misalnya, distribusi nilai indikator, karakteristik persistensi, atau perilaku mirip drawdown di bawah aturan evaluasi yang Anda pilih).
Keterbatasan material: backtest dapat memvalidasi pipeline, bukan masa depan
Satu mode kegagalan yang umum adalah membingungkan “backtest berjalan dengan benar” dengan “strategi akan berhasil.” Bahkan dengan penanganan data yang hati-hati dan pengujian out-of-sample, backtest yang bertanggung jawab masih dapat dirusak oleh:
- Non-stasioneritas: dinamika pasar berubah seiring waktu.
- Perbedaan implementasi tersembunyi: biaya yang diasumsikan, waktu eksekusi, dan penanganan order Anda mungkin tidak sesuai dengan kenyataan.
- Efek seleksi: iterasi ekstensif dapat menghasilkan hasil yang cocok dengan noise.
Oleh karena itu, interpretasi yang paling dapat dipertahankan biasanya tentang ketahanan perilaku yang diuji di bawah asumsi yang ditentukan, bukan tentang hasil yang dijamin.
Apa yang perlu diverifikasi selanjutnya
Jika Anda ingin melakukan backtest TSI secara bertanggung jawab, verifikasi pengaturan Anda langkah demi langkah:
- Konfirmasi bahwa input perhitungan TSI dan definisi parameter sesuai dengan interpretasi yang Anda maksud. 2. Konfirmasi asumsi waktu Anda (kapan informasi tersedia vs kapan ditindaklanjuti). 3.