Apa yang dimaksud dengan Praktik Backtesting
Praktik backtesting adalah proses menerapkan serangkaian aturan keputusan pada data harga historis untuk melihat bagaimana aturan tersebut seharusnya berkinerja di masa lalu. Kata kuncinya adalah simulasikan: backtesting mereproduksi apa yang akan terjadi sesuai metodologi yang dipilih, bukan apa yang benar-benar terjadi dalam kondisi live.
Seorang pemula sebaiknya memisahkan tiga gagasan:
- Mekanik metode: bagaimana Anda mengubah aturan menjadi aksi simulasi (waktu entry/exit, ukuran posisi, periode holding, dan apakah aturan dapat berubah di tengah perdagangan).
- Input dan asumsi: data harga apa yang Anda gunakan, bagaimana Anda menangani data yang hilang, serta asumsi Anda untuk biaya transaksi dan eksekusi.
- Interpretasi: apa yang dapat dan tidak dapat diberitahukan oleh hasil backtest tentang hasil di masa depan.
Cara kerja prosesnya (bagian yang harus didefinisikan)
Backtesting hanya bermakna jika Anda bisa menjelaskan seluruh rantai dari input hingga hasil.
- Aturan: logika entry dan exit yang jelas. Ambiguitas di sini menciptakan perilaku yang tidak konsisten antar-sesi pengujian.
- Timeframe dan data: periode historis mana, timeframe (misalnya bar menit vs bar harian), dan apakah Anda hanya menggunakan bar yang sudah selesai.
- Timing kejadian: bagaimana Anda memutuskan bahwa suatu kondisi menjadi benar dan kapan sebuah order akan terisi (pada pembukaan bar berikutnya, pada harga tertentu, dll.). Ini penting karena simulasi mungkin secara implisit mengasumsikan timing yang sempurna.
- Biaya dan eksekusi: asumsi tentang spread, komisi, slippage, dan probabilitas order terisi. Bahkan perbedaan biaya yang “kecil” dapat mendominasi hasil dalam banyak perdagangan.
- Risiko dan efek portofolio: apakah simulasi mengasumsikan Anda selalu memperdagangkan ukuran yang sama, apakah Anda membatasi eksposur, dan bagaimana Anda memperlakukan posisi yang saling tumpang tindih.
Cara praktis untuk tetap akurat adalah mencatat asumsi bersama setiap kali menjalankan pengujian. Jika Anda tidak bisa mencantumkan asumsi, Anda tidak bisa memverifikasi apakah orang lain akan mereproduksi hasil yang sama.
Bukti dan contoh: dari mana kesimpulan biasanya berasal
Backtest sering menghasilkan metrik seperti return, drawdown, win rate, atau rata-rata hasil perdagangan. Namun, pemula sebaiknya memperlakukan metrik ini sebagai deskripsi dari satu sejarah simulasi.
Skenario yang realistis adalah aturan yang terlihat menguntungkan pada satu periode tetapi bergantung pada perilaku pasar tertentu. Jika Anda kemudian menjalankan aturan yang sama pada periode historis atau timeframe yang berbeda, performa bisa berubah. Ini bukan bukti bahwa idenya tidak berguna; ini bukti bahwa hasil bergantung pada hubungan antara aturan dan kondisi pasar selama sampel yang diuji.
Batasan yang material: overfitting
Overfitting adalah mode kegagalan ketika aturan disetel agar terlalu dekat dengan data masa lalu. Tanda-tanda umum meliputi:
- Hasil membaik setelah banyak penyesuaian parameter.
- Performa turun ketika Anda mengubah jendela waktu.
- Aturannya menjadi kompleks dibandingkan gagasan awal.
Overfitting mengurangi kemungkinan bahwa logika akan berperilaku serupa di luar sampel pelatihan. Seorang pemula harus memahami bahwa “angka backtest yang bagus” bisa mencerminkan penghafalan, bukan efek yang stabil.
Keterbatasan dan risiko yang perlu diverifikasi secara independen
Hubungan historis tidak menetapkan hasil masa depan. Hasil backtesting bisa gagal dalam banyak cara:
- Bias data: dataset historis mungkin berbeda dari kondisi trading di masa depan (likuiditas, rezim volatilitas, atau mikrostruktur).
- Eksekusi yang tidak realistis: mengasumsikan order terisi pada harga ideal dapat melebih-lebihkan performa.
- Survivorship dan efek seleksi: memilih hanya periode yang terlihat bagus dapat menyesatkan Anda.
- Ketergantungan rezim: sebuah aturan mungkin hanya bekerja pada kondisi volatilitas atau tren tertentu.
Titik kendali dan verifikasi
Untuk memverifikasi klaim backtesting, fokus pada reproduktibilitas:
- Apakah orang lain bisa menjalankan logika yang sama pada data yang sama dan mendapatkan hasil yang mirip?
- Apakah biaya dan asumsi eksekusi dinyatakan dengan jelas?
- Apakah performa tetap mirip di berbagai jendela waktu yang berbeda dan tidak saling tumpang tindih?
Jika salah satu dari hal-hal ini tidak bisa dijawab, anggap backtest sebagai bukti yang belum lengkap.
Apa yang perlu ditanyakan selanjutnya
Seorang pemula dapat meningkatkan pemahamannya dengan mengajukan pertanyaan yang terarah: Aturan persis apa yang diuji? Asumsi apa yang dibuat tentang eksekusi dan biaya? Mode kegagalan mana yang paling mungkin untuk aturan tersebut (realisme eksekusi, bias data, atau overfitting)? Pertanyaan-pertanyaan ini tidak menjamin keberhasilan, tetapi membuat evaluasi lebih jujur dan bisa dicek secara independen.