Kelas Advance: Membangun Edge

🔴 Kelas Advance · Lesson 10 / 12

Backtesting: Menguji Sistem dengan Jujur

Data historis, aturan entry/exit, biaya, slippage, win rate, rata-rata untung/rugi, expectancy, max drawdown.

10 / 12

0 dari 12 lesson di level ini sudah Anda selesaikan

🎯 Yang akan Anda kuasai — setelah lesson ini, Anda bisa:

  • Menjalankan backtest manual sederhana dari daftar transaksi.
  • Menghitung win rate, rata-rata untung/rugi, expectancy, dan max drawdown.
  • Memasukkan biaya dan slippage ke hasil.
  • Menghindari jebakan backtest yang membuat hasil terlalu indah.

Konsep Utama

Backtest

Menjalankan aturan sistem pada data masa lalu seolah-olah Anda tidak tahu apa yang terjadi berikutnya, lalu mencatat setiap transaksi.

Metrik inti

Win rate (persentase transaksi untung), rata-rata untung dan rata-rata rugi (dalam R), expectancy (rata-rata hasil per transaksi), dan max drawdown (penurunan terdalam dari puncak).

Biaya & slippage

Fee beli-jual ±0,4% bolak-balik ditambah selisih harga eksekusi. Untuk sistem jangka pendek dengan target kecil, biaya bisa menghapus seluruh edge.

Look-ahead bias

Memakai informasi yang belum tersedia saat keputusan — misalnya entry di harga pembukaan memakai sinyal dari harga penutupan hari yang sama.

Survivorship bias

Hanya menguji saham yang masih ada sekarang; saham yang delisting atau bangkrut hilang dari data sehingga hasil terlihat lebih baik.

Overfitting & out-of-sample

Mengutak-atik parameter sampai hasil masa lalu sempurna. Obatnya: kembangkan di satu periode data, uji sekali di periode lain yang belum pernah dilihat (out-of-sample).

🧪

Analoginya

Backtest seperti uji klinis obat. Peneliti tidak boleh hanya memilih pasien yang sembuh (survivorship), tidak boleh mengintip hasil sebelum memberi obat (look-ahead), dan harus menguji ulang pada kelompok pasien baru sebelum obat diedarkan (out-of-sample). Obat yang hanya "berhasil" pada data yang dipilih-pilih bukan obat — itu kebetulan.

Visual

Ilustrasi — bukan data harga riil

Hasil 10 transaksi (dalam R)

#HasilKumulatif
1+2,0R+2,0
2−1,0R+1,0
3−1,0R0,0
4+3,0R+3,0
5−1,0R+2,0
6+1,5R+3,5 (puncak)
7−1,0R+2,5
8−1,0R+1,5
9+2,5R+4,0
10−1,0R+3,0

Kurva ekuitas (dalam R)

puncak +3,5Rlembah +1,5R

Max drawdown = 3,5 − 1,5 = 2R. Dengan risiko 1%/transaksi, itu ±2% modal.

5 jebakan backtest

🔮Look-ahead
Memakai data yang belum ada saat keputusan.
🪦Survivorship
Saham yang delisting tidak ikut diuji.
🧩Overfitting
Parameter dipaskan dengan masa lalu.
💸Biaya diabaikan
Fee & slippage menghapus edge tipis.
🔢Sampel kecil
Puluhan transaksi belum membuktikan apa-apa.
🏷️Pelabelan keliru
Mis. menghitung WIN padahal TP & SL tersentuh di candle sama.

Contoh Angka

Menghitung metrik dari 10 transaksi di atas

  1. 1Untung: 4 transaksi (2 + 3 + 1,5 + 2,5 = 9R) → win rate 40%, rata-rata untung 2,25R
  2. 2Rugi: 6 transaksi (6 × −1R) → rata-rata rugi 1R
  3. 3Expectancy = 0,4 × 2,25 − 0,6 × 1 = 0,9 − 0,6 = +0,3R per transaksi
  4. 4Biaya ±0,1R per transaksi → expectancy bersih +0,2R
  5. 5Max drawdown = 2R
Hasil positif — tetapi 10 transaksi terlalu sedikit untuk menyimpulkan edge. Perlu ratusan transaksi di berbagai kondisi pasar, dan uji out-of-sample.

Contoh saham · Win rate yang menipu

Win rate sangat tinggi bisa muncul dari cara pelabelan, bukan dari keunggulan sistem — misalnya menganggap transaksi "WIN" ketika target dan stop tersentuh di candle yang sama, atau mengukur entry dari harga awal tren padahal sinyal baru tampil belakangan. Selalu periksa definisi WIN/LOSS dan harga entry yang realistis sebelum memercayai angka win rate.

Angka bersifat ilustrasi/dibulatkan untuk belajar — cek data terbaru di menu Analisa Saham.

Cara Membaca — Checklist Praktis

  • Tulis aturan sebelum melihat data uji.
  • Gunakan harga eksekusi yang realistis (mis. open candle berikutnya).
  • Masukkan biaya dan slippage di setiap transaksi.
  • Kumpulkan sampel besar dari berbagai kondisi pasar; sertakan saham yang delisting bila memungkinkan.
  • Pisahkan data pengembangan dan data out-of-sample; uji out-of-sample sekali saja.

Kesalahan Umum

✗

Hanya melihat win rate

Win rate tanpa rata-rata untung/rugi tidak berarti apa-apa.

✗

Mengoptimalkan sampai sempurna

Parameter yang terlalu pas biasanya gagal di data baru.

✗

Menguji di masa bull saja

Sistem long yang diuji hanya di pasar naik akan terlihat hebat.

⚠️ Reality Check

Yang tidak boleh Anda simpulkan dari materi ini:

  • ⚠Backtest yang bagus tidak menjamin hasil masa depan.
  • ⚠Win rate tinggi bisa merupakan artefak pelabelan atau harga entry yang tidak realistis.
  • ⚠Hasil out-of-sample yang lebih buruk dari in-sample adalah hal normal; yang penting tetap positif setelah biaya.

Latihan

Kerjakan, jangan cuma dibaca — centang yang sudah selesai

Praktik di Analisa Saham → Chart— telusuri chart historis untuk backtest manual

Quiz

4 soal — klik jawaban untuk melihat pembahasan

1. Win rate 50%, rata-rata untung 1,2R, rata-rata rugi 1R. Expectancy?

2. Entry di harga open memakai sinyal dari close hari yang sama adalah contoh…

3. Kurva ekuitas: puncak +12R, lalu turun ke +5R, lalu naik ke +15R. Max drawdown?

4. Cara terbaik mengurangi overfitting adalah…

Case Study

Win rate 88%

Sebuah grup mempromosikan sistem dengan "win rate 88% dalam 3 bulan". Detail yang Anda temukan: 50 transaksi, target +2%, stop −8%, biaya belum dihitung, diuji hanya pada saham yang sekarang masih aktif, periode IHSG naik terus.

Pertanyaan untuk Anda analisis

  1. Hitung expectancy kasar sebelum biaya (dalam %).
  2. Hitung ulang setelah biaya 0,4% per transaksi.
  3. Sebutkan bias yang mungkin ada dan kesimpulan Anda.
Lihat pembahasan (coba jawab dulu sendiri)

Expectancy = 0,88 × 2% − 0,12 × 8% = 1,76% − 0,96% = +0,8% per transaksi.

Setelah biaya 0,4%: +0,4% — separuh edge hilang. Satu-dua kerugian tambahan saja bisa membuatnya nol.

Bias: sampel kecil (50), periode hanya bull, survivorship bias, biaya diabaikan, dan stop jauh lebih besar dari target (satu kekalahan menghapus 4 kemenangan). Kesimpulan: belum terbukti — butuh uji di periode bear/sideways, data lengkap, dan biaya realistis.

Takeaway

  • ★Backtest = menjalankan aturan pada masa lalu tanpa mengintip masa depan.
  • ★Nilai sistem dari expectancy dan drawdown, bukan win rate.
  • ★Biaya, slippage, dan bias bisa mengubah hasil drastis.
  • ★Uji out-of-sample dan sampel besar sebelum percaya.

Yang sekarang sudah bisa Anda lakukan

  • Melakukan backtest manual dan menghitung metrik inti.
  • Mengenali jebakan look-ahead, survivorship, dan overfitting.
  • Menilai klaim win rate secara kritis.

Berikutnya

Expectancy positif belum cukup: Anda harus bertahan melewati masa-masa buruknya. Berikutnya: expectancy, drawdown, dan risk of ruin.