Analisis & metrik

Backtesting

Backtesting mengevaluasi strategi tertentu pada data historis. Hasil berguna memerlukan linimasa informasi eksplisit, data andal, eksekusi dan biaya realistis, serta perlindungan dari bias look-ahead, bias seleksi dan overfitting. Pisahkan pengembangan dari evaluasi pada data belum dilihat; pemilihan aturan berulang setelah memeriksa holdout merusak independensinya. Kurva historis bagus tidak membuktikan profitabilitas mendatang, dan hasil lebih lemah pada data baru adalah peringatan untuk diselidiki, bukan bukti pasti satu penyebab. Jumlah bar bukan jumlah transaksi.
Contoh. Strategi hipotetis menunjukkan expectancy bruto +0.40R per transaksi dalam uji 500 bar; jumlah bar bukan jumlah transaksi selesai. Jika jarak stop 25 pip, model dengan spread satu pip serta eksekusi merugikan satu pip saat entri dan keluar berjumlah tiga pip, atau 0.12R. Dengan asumsi ukuran dan biaya sama, hasil menjadi +0.28R setelah biaya model tersebut, sebelum komisi atau pembiayaan tambahan. Jangan kurangi spread lagi jika harga eksekusi bid/ask nyata sudah memasukkannya. Jika separuh laba berasal dari hanya tiga kejadian sangat menguntungkan, kinerja pada data belum dilihat dapat jauh berbeda. Contoh menunjukkan sensitivitas asumsi, bukan persentase universal kelebihan estimasi setiap backtest. Hasil di luar sampel lemah mungkin akibat overfitting, perubahan rezim, kesalahan implementasi atau ketidakpastian sampel kecil; selidiki, jangan asumsikan satu sebab.

Spesifikasi yang dapat direproduksi

Catat instrumen, timeframe, sumber harga, versi aturan dan waktu tersedianya setiap masukan. Sinyal berbasis close tidak membenarkan eksekusi lebih awal pada bar itu. Jika OHLC tidak dapat menentukan urutan stop/target, gunakan konvensi terdokumentasi atau data lebih rinci alih-alih memilih hasil menguntungkan.

Ketahanan melampaui satu optimum

Bandingkan parameter berdekatan, jendela, biaya dan penghapusan transaksi ekstrem individual. Memilih varian terbaik setelah memeriksa holdout merusak independensinya. Simpan log seluruh varian diuji agar laporan tidak menyembunyikan seleksi.

Laporan siap untuk keputusan

Laporkan transaksi selesai, periode, expectancy neto, dispersi, drawdown dan posisi terbuka. Bedakan kurva saldo dan ekuitas. Arsip data, kode dan konfigurasi membantu memisahkan perubahan model kemudian dari kesalahan replikasi.

Pertanyaan umum

Apa perbedaan backtest dan forward test?
Backtest memakai data historis; forward test memakai data yang tiba setelah aturan ditetapkan. Forward test dapat memakai simulasi atau akun nyata. Eksekusi demo bukan eksekusi broker nyata, sedangkan pengujian nyata menimbulkan biaya serta risiko uang sebenarnya. Demo dapat menguji logika dan alur kerja. Tahap nyata bervolume kecil yang terpisah juga menghadapkan trader pada kondisi akun serta emosi uang sungguhan, tetapi tidak membuktikan mutu eksekusi pada posisi jauh lebih besar.
Biaya apa yang perlu dimasukkan backtest?
Modelkan spread, komisi, selisih eksekusi serta, jika berlaku, pembiayaan semalam dan biaya lain. Gunakan sisi kuotasi dan waktu realistis. Jangan kurangi spread sama dua kali jika model harga eksekusi sudah memasukkannya. Nyatakan apakah model mewakili harga pemicu atau harga eksekusi order dan cara menangani gap serta kekurangan likuiditas.
Apa itu overfitting dan bagaimana menyelidikinya?
Penyesuaian aturan atau parameter pada ciri kebetulan sampel pengembangan, bukan hubungan berulang. Gunakan holdout terlindungi, evaluasi walk-forward dan pemeriksaan ketahanan masuk akal. Hasil lebih lemah pada data baru adalah peringatan, tetapi sendiri bukan diagnosis pasti. Pemeriksaan mensyaratkan data evaluasi tidak dipakai ulang untuk optimasi. Perubahan rezim, sampel kecil dan kesalahan implementasi juga dapat melemahkan hasil data baru.
Berapa banyak data historis yang cukup?
Cukup untuk menilai ketidakpastian aturan tertentu dan kondisi pasar relevan. Ketergantungan, hasil langka dan jumlah varian diuji sama pentingnya dengan jumlah transaksi. Minimum universal 100 transaksi per jendela bukan jaminan, dan uji dalam satu rezim tidak membuktikan perilaku di rezim lain. Laporkan transaksi selesai terpisah dari jumlah bar dan kuantifikasi ketidakpastian estimasi.

← Kembali ke glosarium lengkap

Jarosław Wasiński

Pemimpin redaksi, ForexMechanics.com • Analis makro dan FX

Analis independen dan profesional dengan lebih dari 20 tahun pengalaman di pasar keuangan. Aktif di Forex sejak 2004, berfokus pada analisis fundamental, struktur pasar OTC, dan manajemen risiko modal yang disiplin.

  • Pendiri dan pemimpin redaksi MyBank.pl, menyediakan edukasi keuangan tepercaya sejak 2004.
  • Penulis ratusan komentar pasar mendalam, analisis struktural, dan materi edukasi untuk trader dan investor.
  • Pendukung transparansi pasar, mempromosikan edukasi berbasis data konkret dan laporan institusional (BIS, ESMA, CFTC).

Seluruh konten bersifat edukasi dan informasi semata – bukan merupakan saran investasi atau rekomendasi apa pun. Ingat: trading dengan leverage (Forex/CFD) memiliki risiko tinggi kehilangan modal dengan cepat.