Kategori
Kinerja
Tingkat
Menengah
Digunakan pada
BacktestingDesain strategiEvaluasi EA

Overfitting

Overfitting adalah menyetel parameter EA terlalu presisi pada data historis sehingga strategi tampak bagus di backtest tetapi buruk pada data yang belum pernah dilihat, karena ia mengeksploitasi derau alih-alih pola pasar yang nyata.

juga: curve-fitting, over-optimisasi, bias penambangan data

Diperbarui · Ditinjau

Dengan bahasa sederhana

Menyetel aturan sampai begitu pas dengan masa lalu hingga yang dipelajarinya adalah kebetulan-kebetulannya, bukan polanya. Backtest membaik sementara strateginya memburuk, dan tidak ada satu pun bagian laporan yang membedakan keduanya.

Mengapa ini penting

Overfitting adalah mode kegagalan yang menghasilkan bukti indah, dan justru karena itu ia lolos dari peninjauan yang tidak akan dilewati strategi buruk. Setiap putaran optimasi memperbaiki hasil yang dilaporkan, terlepas dari apakah ia memperbaiki strateginya; proses yang hanya melihat hasil laporan tidak bisa membedakan keduanya.

  • Ia menjelaskan kekecewaan EA yang paling umum: backtest luar biasa, akun riil biasa saja atau merugi, tanpa bug yang bisa ditemukan. Tidak ada yang rusak — penyetelan itu sedang mengukur sampel.
  • Ia makin parah justru saat Anda bekerja lebih keras. Lebih banyak parameter, lebih banyak putaran optimasi, dan lebih banyak strategi kandidat sama-sama menaikkan peluang bahwa pemenangnya menang karena mengikuti derau.
  • Ia tidak bisa dideteksi dari run pemenang. Satu-satunya bukti yang memisahkan keunggulan nyata dari keunggulan hasil setelan adalah kinerja pada data yang tidak pernah dilihat proses penyetelan, dan data itu harus disisihkan sebelum penyetelan dimulai.

Memakainya untuk memvalidasi strategi

Di mana dipakai

  • Menilai apakah backtest yang dipublikasikan sebuah EA adalah bukti keunggulan atau bukti penyetelan.
  • Menentukan berapa banyak parameter yang boleh dimiliki strategi sebelum ia dioptimasi sama sekali.
  • Menafsirkan selisih antara hasil in-sample dan out-of-sample dalam run walk-forward.
  • Menjelaskan mengapa strategi yang memimpin tabel optimasi memburuk begitu dijalankan.

Seperti apa hasil yang tepercaya

  • Jendela yang dilaporkan mencakup data yang tidak tersentuh saat parameter dipilih.
  • Strategi punya sedikit parameter, dan tiap parameter sesuai dengan sesuatu yang bisa dijelaskan trader tanpa merujuk backtest.
  • Nilai parameter di sekitarnya berkinerja serupa. Keunggulan yang hanya bertahan pada satu setelan adalah sifat sampel.
  • Aturan bekerja, dengan setelan yang sama, pada instrumen dan periode yang tidak dipakai untuk memilihnya.
  • Jumlah strategi yang dicoba sebelum yang ini diketahui, karena pemenang pencarian besar memang diperkirakan terlihat bagus secara kebetulan.

Tanda bahaya

  • Parameter dengan presisi yang tidak masuk akal — rata-rata 37 periode, stop 23,7 pip — padahal nilai bulat akan berkinerja hampir sama jika keunggulannya nyata.
  • Win rate di atas 90 % atau Sharpe di atas 3 pada backtest bertahun-tahun tanpa catatan forward.
  • Hasil yang hanya ditampilkan pada satu instrumen dan satu jendela tempat parameter itu dipilih.
  • Permukaan kinerja dengan satu puncak tajam yang menyendiri alih-alih dataran luas.
  • Tidak disebutkan berapa banyak varian yang diuji sebelum yang ini dipublikasikan.

Backtest vs perdagangan nyata

  • Akun riil adalah uji out-of-sample yang pertama benar-benar sejati, karena itulah penurunannya muncul seketika alih-alih bertahap.
  • Strategi hasil setelan biasanya turun ke arah titik impas dikurangi biaya, bukan ke kerugian dramatis, sehingga mudah dijelaskan sebagai periode buruk.
  • Besarnya selisih antara in-sample dan akun riil itulah pengukurannya. Penurunan sedang wajar bagi strategi mana pun; menembus titik impas adalah tanda tangannya.
  • Mengoptimasi ulang setelah penurunan akan memulihkan backtest dan mengulang siklusnya — persis jebakan yang diciptakan proses itu sendiri.

Metode validasi yang disarankan

  1. 1Sisihkan jendela out-of-sample sebelum menyentuh satu parameter pun, dan lihat sekali saja, di akhir.
  2. 2Pilih sedikit parameter yang maknanya bisa dipertanggungjawabkan daripada banyak parameter dengan hasil lebih bagus.
  3. 3Periksa daerah sekitarnya, bukan puncaknya: ambil tengah dataran luas alih-alih ujung sebuah tonjolan.
  4. 4Uji ulang setelan final pada instrumen dan periode lain tanpa menyesuaikannya.
  5. 5Gunakan analisis walk-forward bila strategi memang perlu disetel ulang seiring waktu, sehingga penyetelan ulang itu menjadi bagian dari yang diuji.

Contoh

Sebuah optimizer melaporkan sepuluh set parameter terbaik untuk suatu strategi. Baris teratas adalah yang dipublikasikan; bentuk tabel di sekitarnyalah yang sebenarnya memberi tahu apakah keunggulan itu nyata.

Setelan in-sample terbaik (periode 37)
PF 2,41
Setelan tetangga (periode 35–39)
PF 0,94–1,06
Satu langkah saja menghancurkan hasilnya — puncak itu tonjolan, bukan dataran.
Setelan sama, jendela out-of-sample yang tak tersentuh
PF 0,88

Keunggulan nyata memudar perlahan saat parameter menjauh dari optimum. Keunggulan hasil setelan jatuh dari tebing, dan tebing itu sudah terlihat sebelum satu pun data out-of-sample dibelanjakan.

Perhitungan 2,41 in-sample → 0,88 out-of-sample, sementara tetangganya duduk di titik impas

Hasil Angka 2,41 itu sifat jendelanya, bukan sifat aturannya

Cara membacanya

Overfitting didiagnosis dari proses yang menghasilkan hasil itu, bukan dari hasilnya. Tanyakan apa yang disetel, atas dasar apa, dan apa yang disisihkan.

Rentang Artinya
Satu jendela, semua parameter dioptimasi, tidak ada yang disisihkan Laporan itu tidak punya nilai pembuktian untuk masa depan. Ia menggambarkan seberapa jauh aturan bisa dibengkokkan ke satu sampel.
Jendela out-of-sample dilaporkan tetapi dipakai ulang setiap kali ada penyesuaian Cadangannya sudah habis. Begitu hasilnya kembali memberi umpan ke penyetelan, ia pun jadi in-sample.
Satu jendela out-of-sample yang tak tersentuh, dilihat sekali Standar minimum. Tafsirkan selisihnya, bukan levelnya.
Walk-forward dengan dataran parameter yang luas dan pemeriksaan lintas instrumen Bukti terkuat yang tersedia sebelum dijalankan riil, karena penyetelan ulangnya sendiri ikut diuji.
  • Hitung strategi yang dicoba, bukan hanya parameternya. Menguji dua ratus ide lalu menerbitkan yang terbaik adalah pencarian yang pemenangnya memang diperkirakan terlihat bagus karena keberuntungan.
  • Bulatkan parameter yang dipublikasikan lalu jalankan ulang. Jika hasilnya sebagian besar bertahan, presisi itu kosmetik; jika ambruk, presisi itulah keunggulannya.
  • Nilai permukaan parameternya, bukan puncaknya. Keluasan adalah sifat yang berpindah ke data yang belum pernah dilihat.

Listing mt5depot mencantumkan jendela data, model tester, dan jumlah transaksinya, sehingga pembaca bisa mengajukan pertanyaan di atas alih-alih memercayai kurvanya begitu saja.

Kesalahan umum

Memakai ulang jendela out-of-sample

Setiap kali hasil dari jendela cadangan memandu penyesuaian berikutnya, jendela itu menjadi bagian data pelatihan. Setelah beberapa putaran tidak ada lagi yang out-of-sample, dan prosesnya terasa lebih ketat sambil membuktikan lebih sedikit.

Menganggap Sharpe atau win rate tinggi sebagai bukti bukan overfitting

Justru itulah angka-angka yang digelembungkan oleh penyetelan. Sharpe in-sample di atas 3 pada EA ritel lebih mungkin gejala daripada jaminan.

Percaya bahwa sedikit parameter membuat strategi aman

Jumlah parameter adalah satu jalur; pemilihan strategi adalah jalur lain. Memilih yang terbaik dari dua ratus strategi sederhana pada jendela yang sama mengepaskan sampel sama efektifnya dengan menyetel satu strategi rumit.

Mengoptimasi ulang saat kinerja riil mengecewakan

Itu memulihkan backtest dan mengulang kegagalan, karena setelan baru lahir dari proses yang sama dengan yang lama. Pertanyaan pertama yang harus dijawab adalah apakah keunggulan aslinya pernah out-of-sample.

Penjelasan lengkap

Apa yang bisa dan tidak bisa diputuskan empat belas backtest yang dipublikasikan

Untuk 14 EA yang dipublikasikan di siniNilai
Profit factor in-sample1,27–1,52
Listing dengan profit factor di bawah 1,000
Yang melaporkan blok out-of-sample11
Imbal hasil out-of-sample−0,57 % sampai +3,01 %
Blok out-of-sample yang merugi2
Run terverifikasi pada akun uang sungguhan0

Baca baris terakhir sebelum baris pertama. Backtest bergulir tetap berjalan di atas riwayat yang bisa saja sudah dilihat seseorang, jadi tidak ada satu pun di atas yang out-of-sample dalam arti yang memutuskan sesuatu — dan tiga EA sudah mengumumkan tanggal mulai cadangan lalu tidak menerbitkan hasil apa pun sejak itu, dan begitulah rupa bias pelaporan bila dilihat dari dalam.

Kelemahannya ada pada ukuran, bukan tandanya. Catatan in-sample median di sini adalah 362 transaksi tertutup; blok cadangan median berisi 21. Run sependek itu tidak bisa memisahkan keunggulan dari satu kuartal yang tenang, karena itulah angka negatif kecil (−0,57 %, −0,47 %) tidak membawa vonis lebih besar daripada yang positif.

Menu Forward pada Strategy Tester (No, 1/2, 1/3, 1/4, Custom) membagi intervalnya untuk Anda. Ia tidak bisa mencegah Anda membaca ulang paruh depan setelah tiap putaran optimasi, dan pembacaan ulang itulah yang menghabiskannya. Setel Forward ke Custom dengan tanggal saat Anda berhenti melihat — 2026-04-01 untuk sepuluh blok di atas — dan cadangan itu hanya bernilai sebesar isi yang jatuh di dalamnya: 142 transaksi untuk Cairn, 40 untuk yang terbesar berikutnya, angka satu digit untuk dua lainnya.

Pertanyaan yang sering diajukan

Bagaimana tahu sebuah EA overfitting sebelum membelinya?
Lihat prosesnya, bukan kurvanya. Tanyakan apakah ada jendela yang disisihkan saat parameter dipilih, apakah setelannya bulat atau presisinya tidak masuk akal, apakah nilai parameter di sekitarnya berkinerja serupa, dan apakah aturannya pernah diuji pada instrumen yang tidak dipakai untuk memilihnya. Pertanyaan yang tidak dijawab di sini sudah merupakan jawabannya.
Apakah memakai lebih sedikit parameter mencegah overfitting?
Membantu, tetapi tidak mencegah. Memilih strategi berkinerja terbaik dari banyak kandidat pada data yang sama tetap mengepaskan data itu meski tiap kandidat sederhana, jadi jumlah ide yang dicoba sama pentingnya dengan jumlah tombol pada salah satunya.
Apakah optimasi selalu buruk?
Tidak — strategi memang harus diberi setelan, dan memilihnya dari data historis itu masuk akal. Yang memisahkan optimasi dari overfitting adalah apakah ada yang disisihkan untuk menguji pilihan itu, dan apakah setelan terpilih berada di dataran luas alih-alih di sebuah tonjolan.