598 / 691WFA

Walk-forward Analysis

Analisis dengan langkah waktu bertahap

Walk-forward Analysis memilih aturan berdasarkan masa lalu yang tersedia dan mengujinya pada segmen berikutnya. Proses berulang seiring waktu menurut protokol yang ditetapkan sebelumnya. Seluruh prosedur pemilihan dinilai, bukan pemenang yang ditemukan setelah kejadian; pemisahan segmen yang benar pun tidak menjamin imbal hasil mendatang.

Walk-forward Analysis adalah evaluasi kronologis atas prosedur yang memilih atau mengatur aturan menggunakan data terdahulu dan menerapkannya pada periode pengujian berikutnya. Peran pemilihan dan pengujian bergeser seiring waktu, sementara keputusan saat ini tidak boleh mengetahui hasil berikutnya.

Walk-forward Analysis memajukan simulasi historis sepanjang waktu: aturan dipilih atau diatur menggunakan data yang tersedia saat itu, lalu penggunaannya dinilai pada segmen berikutnya. QuantConnect menjelaskan optimisasi berkala pada jendela data masa lalu yang paling akhir. Pembedaan editorial kami: yang dinilai adalah prosedur pembaruan parameter yang telah ditentukan, bukan sekadar satu kumpulan parameter yang tetap. Aturan juga mencakup waktu pemilihan berikutnya, tujuannya dan kumpulan kandidat. Kecocokan lebih baik dengan data terbaru tidak dengan sendirinya membuktikan hasil mendatang yang lebih baik. [QuantConnect — Walk Forward Optimization]

QuantConnect mengingatkan bahwa periode yang digunakan untuk mencari parameter terbaik menjadi bagian dari data pengembangan. Menerapkan pemenang terpilih secara retrospektif pada periode itu bukan evaluasi jujur atas keputusan pada saat tersebut. Karena itu protokol kami menutup pemilihan sebelum segmen pengujian berikutnya dimulai. Data segmen itu tidak boleh memengaruhi pemenang saat ini. Setelah segmen berakhir dan informasinya benar-benar tersedia, informasi tersebut dapat masuk ke pemilihan berikutnya sesuai prosedur yang ditetapkan; ini tidak mengubah keputusan pengujian yang sudah dicatat. [QuantConnect — Optimization Parameters]

TimeSeriesSplit membuat indeks pelatihan dan pengujian yang berurutan secara waktu; secara bawaan, kumpulan pelatihan masa lalu bertambah dan ukurannya dapat dibatasi. Pembedaan kami: jendela bergulir mempertahankan panjang riwayat tertentu, sedangkan jendela meluas mempertahankan titik awal tetap. Panjang jendela dan frekuensi pembaruan merupakan bagian desain, bukan penyesuaian bebas setelah melihat hasil. Dokumentasi mensyaratkan jarak sampel yang sama agar metrik antarsegmen sebanding; data tidak teratur memerlukan perhatian pada rentang kalender sebenarnya. [scikit-learn — TimeSeriesSplit]

Parameter gap pada TimeSeriesSplit mengeluarkan sampel di akhir kumpulan pelatihan sebelum pengujian. Persyaratan metodologis kami adalah menentukan jeda yang diperlukan berdasarkan waktu ketersediaan masukan dan selesainya hasil target. Jika hasil suatu pengamatan pelatihan menggunakan harga dari periode pengujian, mengurutkan baris saja tidak menghilangkan kebocoran. Karena itu panjang jeda tidak boleh dipilih hanya demi kurva menarik. Bahkan jeda yang sesuai tidak membuktikan independensi periode bersebelahan atau menghilangkan semua bentuk bias pemilihan. [scikit-learn — TimeSeriesSplit]

Dokumentasi scikit-learn mengingatkan bahwa normalisasi, pengisian nilai hilang atau pemilihan fitur dapat memindahkan informasi pengujian ke dalam model. Parameter transformasi tersebut harus dipelajari hanya dari bagian pelatihan lalu diterapkan pada bagian pengujian. Pemeriksaan kami mengulang pemisahan ini pada setiap pergeseran jendela. Menghitung rata-rata seluruh kumpulan terlebih dahulu tidak diperbaiki dengan membagi tabel yang sudah jadi setelahnya. Versi data dan waktu ketersediaannya yang sebenarnya juga harus disimpan. [scikit-learn — Common Pitfalls: Data Leakage]

QuantConnect membedakan model yang menentukan harga serta kuantitas eksekusi dan dapat memasukkan spread maupun Slippage. Persyaratan kami untuk menyambung segmen pengujian adalah perlakuan konsisten terhadap modal, posisi terbuka dan biaya perubahan aturan. Laba pelatihan tidak ditambahkan ke hasil pengujian berikutnya, dan periode pengujian yang bertumpang tindih tidak boleh dihitung berulang tanpa penjelasan. Jika posisi diteruskan, transisi antarkonfigurasi harus dijelaskan. Sebaliknya, model kami di bawah mengakhiri setiap periode tanpa posisi. [QuantConnect — Trade Fills: Key Concepts]

Bailey dan rekan penulis menjelaskan risiko penemuan palsu yang meningkat akibat pencarian berulang pada data yang sama. Implikasi kami untuk Walk-forward Analysis: jika panjang jendela, tujuan atau kandidat diubah berdasarkan rangkaian hasil pengujian lalu seluruh proses diulang, rangkaian tersebut sudah memengaruhi pengembangan. Menamakannya independen saja tidak cukup. Laporan harus menyatakan semua protokol yang dicoba dan membedakan kemungkinan validasi lanjutan yang belum digunakan. Pergeseran waktu saja bukan perkiraan probabilitas overfitting ataupun jaminan statistik otomatis. [Bailey et al. — The Probability of Backtest Overfitting]

NFA menekankan bahwa hasil hipotetis tidak mencerminkan perdagangan nyata maupun seluruh dampak likuiditas, slippage dan perilaku saat mengalami kerugian nyata. Karena itu laporan Walk-forward Analysis kami menyimpan batas jendela, kandidat, skor pemilihan, konfigurasi terpilih dan hasil segmen berikutnya termasuk biaya. Jumlah total memerlukan konteks risiko, jumlah pengamatan dan perbandingan dalam kondisi sama. Contoh negatif yang kecil tidak membuktikan metode ini tidak berfungsi secara umum, sebagaimana total positif tidak membuktikan keunggulan perdagangan mendatang. [NFA — Use of Promotional Material Containing Hypothetical Performance Results]

ContohCONTOH · WFA

Pilih dari masa lalu, nilai hanya periode berikutnya

Model rekaan kami memakai enam periode sama panjang bernomor 1 hingga 6 dan dua varian A dan B yang ditentukan sebelumnya. Hasil bersihnya pada ukuran tetap yang sama adalah A [4, -1, 2, -3, 5, -2] USD dan B [1, 2, 1, 1, -2, 4] USD. Setiap hasil tersedia hanya setelah periode terkait selesai, mencakup semua biaya model dan berakhir tanpa posisi terbuka. Tidak ada biaya transisi tambahan, utang atau arus kas. Prosedur yang ditentukan sebelumnya selalu menjumlahkan tiga periode terakhir yang selesai, memilih jumlah lebih tinggi dan menerapkan pemenang hanya pada periode berikutnya; jika seri, A dipilih. Jendela pemilihan adalah [1, 2, 3], [2, 3, 4] dan [3, 4, 5], dengan pengujian berikutnya [4, 5, 6]. Jumlah pemilihan A adalah [5, -2, 4] USD dan B [4, 4, 0] USD, sehingga berturut-turut dipilih A, B dan A. Hanya [-3, -2, -2] USD masuk ke hasil pengujian gabungan, berjumlah -7 USD. Kas awal pengujian sebelum periode 4 adalah 1000 USD dan kas akhirnya 993 USD; ukuran tidak berubah mengikuti kas. Hasil pelatihan tidak ditambahkan ke rekening dan setiap segmen pengujian dihitung hanya sekali. Diagram menunjukkan pergeseran jendela pemilihan dan pengujian berikutnya, bukan riwayat pasar nyata atau probabilitas keberhasilan mendatang.

Untuk gambaran yang lebih utuh, baca entri ini bersama Backtesting, Overfitting, Look-ahead Bias, Trading Plan, Trading Journal. Entri ini juga dirujuk dari Backtesting, Overfitting, Look-ahead Bias, Survivorship Bias.

01Dapatkah periode pengujian lama masuk ke pelatihan kemudian?

Ya, jika periode itu sudah selesai, informasinya tersedia dan protokol yang ditentukan sebelumnya mengizinkan. Namun hal itu tidak boleh mengubah secara retrospektif pemilihan atau hasil yang telah dicatat untuk periode tersebut.

02Apakah Walk-forward Analysis menghilangkan overfitting?

Tidak otomatis. Panjang jendela, kandidat atau seluruh prosedur masih bisa dipilih berulang berdasarkan hasil yang sama. Riwayat percobaan harus diungkapkan, kebocoran informasi diperiksa dan perbedaan pengembangan dengan validasi lanjutan dipertahankan.

DOC · 001QuantConnect — Walk Forward OptimizationDokumentasi ↗DOC · 002QuantConnect — Optimization ParametersDokumentasi ↗DOC · 003scikit-learn — TimeSeriesSplitDokumentasi ↗DOC · 004scikit-learn — Common Pitfalls: Data LeakageDokumentasi ↗DOC · 005QuantConnect — Trade Fills: Key ConceptsDokumentasi ↗DOC · 006Bailey et al. — The Probability of Backtest OverfittingSumber primer ↗DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance ResultsDokumentasi ↗
Utamakan sumber · Bukan nasihat investasi