Bagaimana Schaff Trend Cycle dapat di-backtest secara bertanggung jawab?
Definisikan konsep indikator sebelum mengukurnya
Schaff Trend Cycle (sering disingkat STC) adalah indikator pengikut tren yang mengubah pergerakan harga menjadi rangkaian bergaya osilator yang terikat. Backtest yang bertanggung jawab dimulai dengan memisahkan mekanika yang stabil dari kondisi yang bervariasi:
- Mekanika yang stabil: bagaimana indikator dihitung dari inputnya (rata-rata bergerak, penghalusan, dan pemetaan osilator apa pun).
- Kondisi yang bervariasi: periode pasar, sumber harga, metode eksekusi, dan lingkungan trading.
Bahkan jika Anda hanya peduli pada indikator, backtesting tetap membutuhkan definisi yang tepat tentang apa yang dimaksud dengan “hasil”. Misalnya, Anda dapat mengevaluasi apakah level STC tertentu atau perubahan arah sejalan dengan pergerakan harga berikutnya. Pilihan itu harus dinyatakan di awal, karena aturan evaluasi yang berbeda dapat menghasilkan hasil yang berbeda.
Tetapkan asumsi data dan asumsi biaya secara eksplisit
Backtest yang cermat bergantung pada alur data. Nyatakan asumsi ini sebelum melakukan perhitungan apa pun:
- Data harga: rangkaian apa yang Anda gunakan (mis., bid/ask vs mid/last) dan bagaimana stempel waktu yang hilang ditangani.
- Penyelarasan waktu: apakah nilai indikator pada waktu t dihitung hanya menggunakan informasi yang tersedia pada t.
- Resampling: apakah Anda menggunakan time bar asli atau melakukan resample, dan bagaimana batas-batasnya diselaraskan.
Biaya itu penting karena evaluasi berbasis indikator dapat terlihat menguntungkan ketika biaya diabaikan. Gunakan asumsi eksplisit untuk:
- Biaya transaksi: komisi, spread, atau keduanya (dinyatakan secara konsisten dengan rangkaian harga yang Anda pilih).
- Slippage: bagaimana harga eksekusi menyimpang dari harga referensi yang digunakan untuk backtest.
- Latensi: apakah Anda mengasumsikan eksekusi pada pembukaan bar berikutnya, penutupan, atau aturan lainnya.
Untuk mengendalikan ketidakpastian, jalankan backtest yang sama di bawah beberapa skenario biaya yang masuk akal (mis., slippage rendah/sedang/tinggi). Jika kesimpulannya berubah secara dramatis, itu adalah tanda peringatan tentang ketahanan.
Kontrol bias dengan pengujian di luar sampel dan pemeriksaan stabilitas parameter
Mode kegagalan yang umum dalam backtest indikator adalah overfitting: menyetel parameter dan aturan seleksi hingga periode historis terlihat bagus, tanpa menjamin kinerja di tempat lain. Anda dapat menguranginya dengan memisahkan tahapan alur kerja:
- Definisikan sekali: putuskan aturan evaluasi (peristiwa apa yang memicu metrik) dan batas kumpulan parameter sebelum melihat hasil.
- Setel dengan window pelatihan: jika Anda menyesuaikan parameter apa pun, lakukan hanya pada segmen pelatihan.
- Validasi di luar sampel: uji konfigurasi yang dipilih pada data selanjutnya yang tidak digunakan untuk penyetelan.
- Ulangi dengan beberapa pembagian: gunakan beberapa segmen bergulir atau walk-forward untuk mengurangi kemungkinan hasil berasal dari satu periode yang beruntung.
Kontrol bias yang praktis adalah stabilitas parameter: verifikasi bahwa perubahan parameter kecil tidak membalikkan kesimpulan. Misalnya, jika hasil bergantung pada rentang parameter yang sempit, hubungan tersebut kemungkinan tidak stabil.
Evaluasi setidaknya satu keterbatasan material atau mode kegagalan
Keberhasilan backtest historis tidak menetapkan hasil masa depan. Perlakukan metrik kinerja sebagai sesuatu yang bersyarat pada rezim dan asumsi eksekusi. Setidaknya, uji satu mode kegagalan material, seperti:
- Pergeseran rezim: indikator tren sering berperilaku berbeda pada periode range-bound dibandingkan dengan tren yang berkelanjutan.
- Keterlambatan indikator: penghalusan dapat menyebabkan respons yang terlambat; evaluasi apakah aturan evaluasi mengukur hasil setelah jeda informasi indikator.
- Sensitivitas terhadap biaya/eksekusi: jika indikator hanya “berfungsi” setelah menghilangkan spread atau mengasumsikan eksekusi yang tidak realistis, kesimpulannya rapuh.
Periksa juga kebocoran data: pastikan nilai indikator Anda dihitung hanya menggunakan data yang tersedia pada saat pengambilan keputusan. Kebocoran dapat membuat backtest osilator tampak akurat bahkan ketika mekanikanya tidak akan tersedia secara langsung.
Verifikasi dan pertanyaan berikutnya yang harus Anda ajukan
Proses verifikasi yang bertanggung jawab menjawab dua pertanyaan secara independen:
- Reproduksibilitas: Dapatkah Anda menjalankan ulang backtest dengan definisi data yang sama dan mendapatkan hasil yang sama?
- Validitas eksternal: Apakah kesimpulan bertahan di berbagai window di luar sampel dan skenario biaya?
Sebagai langkah berikutnya, perjelas aturan evaluasi dan metrik Anda. Misalnya, putuskan apakah Anda mengukur keselarasan arah, akurasi waktu berbasis peristiwa, atau profitabilitas aturan hipotetis. Kemudian ulangi proses di luar sampel setelah mengubah hanya satu elemen pada satu waktu. Jika hasil hanya bertahan di bawah satu pengaturan yang sempit, kesimpulan Anda harus dinyatakan sebagai “bersyarat pada asumsi”, bukan sebagai janji umum.
Menautkan halaman konsep juga dapat membantu Anda menjaga konsistensi antara perhitungan dan aturan pengujian.