Contoh penerapan backtesting (dengan asumsi yang eksplisit)

Pelajari praktik backtesting dengan contoh penerapan dan asumsi.

Jawaban langsung: apa itu contoh penerapan (worked example) dari backtesting practice

Contoh penerapan (worked example) dari praktik backtesting menunjukkan, langkah demi langkah, bagaimana Anda menerapkan sebuah aturan yang didefinisikan dengan jelas pada data historis untuk memperkirakan apa yang seharusnya terjadi. “Backtesting” di sini berarti Anda mensimulasikan keputusan menggunakan pengamatan masa lalu, tanpa mengasumsikan hasil masa depan akan sama dengan sejarah. “Practice” berarti Anda mencatat setiap asumsi agar orang lain dapat mereproduksi perhitungan yang sama dan memeriksa dari mana hasil tersebut berasal.

Mekanisme dan definisi: apa yang Anda lakukan dalam backtest

Praktik backtesting biasanya memiliki lima input:

  1. Aturan keputusan: tepat kapan Anda akan masuk/keluar (atau bagaimana Anda menghitung prediksi/skor).
  2. Dataset: deret waktu historis dengan timestamp yang konsisten.
  3. Model trading: bagaimana order terisi (misalnya, menggunakan open bar berikutnya) dan bagaimana Anda menangani spread.
  4. Model biaya: komisi, biaya, dan asumsi spread.
  5. Metrik: apa yang Anda ukur (misalnya, return kumulatif, drawdown, hit rate, atau return rata-rata per trade).

Mekanika yang stabil: alur kerja (definisikan aturan → pilih jendela data → simulasi pengisian → hitung metrik → dokumentasikan) tetap sama. Kondisi yang berubah: rezim pasar, kualitas data, detail eksekusi, dan biaya dapat berubah, dan semuanya bisa mendominasi hasil.

Contoh penerapan (skenario numerik) dengan asumsi yang eksplisit

Asumsikan tujuannya adalah mengevaluasi aturan sederhana untuk tujuan edukasi. Ini bukan rekomendasi, dan menggunakan penyederhanaan seperti sintetis untuk menjaga asumsi tetap eksplisit.

Aturan (yang “jika-maka”)

Untuk setiap hari, Anda menahan posisi tepat selama 1 hari. Posisi tersebut adalah “long” (mengambil eksposur) atau “flat” (tidak ada eksposur). Aturan keputusannya adalah:

  • Jika close hari sebelumnya lebih tinggi daripada close dua hari yang lalu, ambil eksposur long untuk hari berikutnya.
  • Jika tidak, flat untuk hari berikutnya.

Dataset (observasi historis)

Gunakan enam observasi harian berurutan (Day 0 sampai Day 5). Asumsikan close di bawah ini adalah “harga” historis yang “diketahui” untuk backtesting:

  • Day 0 close: 100
  • Day 1 close: 102
  • Day 2 close: 101
  • Day 3 close: 103
  • Day 4 close: 104
  • Day 5 close: 102

Kita akan menghitung keputusan untuk Days 2–5 karena aturan membutuhkan Day t-2.

Asumsi eksekusi dan biaya

Asumsi-asumsi ini menentukan return yang disimulasikan.

  • Harga entry: open hari berikutnya sama dengan close hari itu (penyederhanaan). Ini menghilangkan ketidakpastian intraday.
  • Harga exit: close hari berikutnya sama dengan close hari berikutnya (karena periode holding adalah 1 hari).
  • Spread dan komisi: total biaya trading adalah biaya tetap 0.1% dari notional setiap hari Anda long. Jika flat, biaya adalah 0%.
  • Tidak ada batas leverage, tidak ada bunga margin, dan tidak ada slippage di luar model biaya.

Definisi metrik

Hitung “net daily return” pada notional:

  • Jika long pada hari t: net return = (Close(t) / Close(t-1)) − 1 − 0.001
  • Jika flat: net return = 0

Simulasi langkah demi langkah

Keputusan:

  • Untuk keputusan Day 2: bandingkan close Day 1 (102) dengan close Day 0 (100). 102 > 100 → long pada Day 2.
  • Untuk keputusan Day 3: bandingkan close Day 2 (101) dengan close Day 1 (102). 101 > 102 adalah salah → flat pada Day 3.
  • Untuk keputusan Day 4: bandingkan close Day 3 (103) dengan close Day 2 (101). 103 > 101 → long pada Day 4.
  • Untuk keputusan Day 5: bandingkan close Day 4 (104) dengan close Day 3 (103). 104 > 103 → long pada Day 5.

Hitung net returns:

  • Day 2 (long): Close(2)/Close(1) − 1 − 0.001 = 101/102 − 1 − 0.001 ≈ −0.0098039 − 0.001 = −0.0108039 (≈ −1.08%)
  • Day 3 (flat): net = 0
  • Day 4 (long): 104/101 − 1 − 0.001 = 0.0297029 − 0.001 ≈ 0.0287029 (≈ +2.87%)
  • Day 5 (long): 102/104 − 1 − 0.001 = −0.0192308 − 0.001 ≈ −0.0202308 (≈ −2.02%)

Jumlah kumulatif sederhana (karena contoh ini memakai angka kecil dan bersifat ilustratif): total net return ≈ −1.08% + 0% + 2.87% − 2.02% ≈ −0.23% selama periode yang dievaluasi.

Apa yang diajarkan oleh contoh penerapan: hasil dihasilkan secara mekanis dari aturan Anda, data Anda, serta asumsi eksekusi/biaya yang Anda nyatakan.

Keterbatasan dan mode kegagalan (apa yang bisa salah)

  1. Overfitting: jika aturan terlalu disetel agar cocok dengan data masa lalu (banyak pengatur, banyak pengujian), ia mungkin terlihat bagus secara historis tetapi gagal di tempat lain. 2) Realisme eksekusi: mengasumsikan pengisian yang sempurna atau harga yang disederhanakan dapat melebih-lebihkan hasil.
Perdagangan forex dan CFD memiliki risiko besar. Informasi FoxiForex bersifat edukatif dan bukan nasihat keuangan pribadi. Penempatan bersponsor diberi label dengan jelas.