Pengoptimuman walk-forward mempunyai reputasi sebagai cara jujur untuk menala sesuatu strategi, dan reputasi itu memang berbaloi — berbanding mengoptimum pada keseluruhan data lalu mengagumi hasilnya. Tetapi teknik ini ada mod kegagalan yang senyap, dan setiap satunya menghasilkan artifak yang sama: laporan pengesahan yang berbunyi "kukuh" dikepilkan pada strategi yang sebenarnya tidak kukuh. Berikut tiga yang terpaksa kami reka bentuk pertahanan terhadapnya, disusun mengikut kemusnahan yang ditinggalkan.
Kegagalan pertama: tetingkap yang bocor
Cara yang salah: tala pada Januari–Jun, sahkan pada Julai, kemudian biarkan apa-apa daripada Julai mempengaruhi pusingan kedua — larian semula selepas melihat angka luar sampel, "pengubahsuaian kecil" pada grid parameter, atau ciri yang dinormalkan merentas keseluruhan siri. Setiap satu nampak tidak berdosa. Bergabung, semuanya menukar tetingkap luar sampel menjadi data dalam sampel yang tertangguh.
Kemusnahannya: Sharpe luar sampel yang secara misteri mengikut rapat Sharpe dalam sampel. Keputusan luar sampel yang sebenar itu bising dan mengecewakan; hubungan IS/OOS yang terlalu licin bermakna maklumat sedang mengalir ke belakang. Kami memantau nisbah itu secara eksplisit — dalam sampel melebihi 3x luar sampel akan menandakan larian tersebut, dan luar sampel pada atau bawah sifar membunuhnya tidak kira secantik mana pun angka dalam sampel.
Kegagalan kedua: memilih-milih metrik merentas tetingkap
Jalankan tiga tetingkap walk-forward, dapat tiga keputusan yang bising, kemudian rumuskan: purata Sharpe? Median? Buang tetingkap paling teruk atas alasan "perubahan rejim"? Setiap pilihan ialah satu darjah kebebasan, dan pengoptimum yang berkeras (sama ada manusia atau Bayesian) akan menemui rumusan yang membuatkan strategi ini kelihatan paling baik. Tujuh puluh lima percubaan Optuna setiap tetingkap ialah tujuh puluh lima peluang untuk memuatkan bunyi bising, didarab dengan seberapa banyak rumusan yang anda sanggup layan.
Kemusnahannya: strategi yang lulus pengesahan lalu memberikan prestasi tetingkap paling teruk apabila didagangkan, kerana tetingkap paling teruk itulah satu-satunya yang jujur. Peraturan kami: kaedah pengagregatan ditetapkan dalam config sebelum larian bermula, bajet percubaan ditetapkan, dan penganalisis membaca keputusan setiap tetingkap dengan serakan dipaparkan. Strategi yang memerlukan rumusan yang mesra untuk lulus, tidak lulus.
Kegagalan ketiga: holdout yang bukan lagi holdout
Holdout hanya berfungsi sekali sahaja. Kali kedua sesuatu strategi dinilai terhadapnya — selepas parameter disentuh sedikit, isyarat diubah suai, atau "kita cek sekejap je" — ia bukan lagi holdout; ia sudah menjadi set pengesahan yang perlahan. Lima belas hari yang tidak disentuh nampak remeh untuk dipelihara sehinggalah tekanan lelaran tiba dan menyemak semula terasa tidak memudaratkan.
Kemusnahannya halus: keputusan holdout yang bertambah baik merentas lelaran strategi yang sama. Data luar sampel yang segar tiada sebab untuk memberi ganjaran kepada lelaran ketiga berbanding lelaran pertama, dan apabila ia berlaku, holdout itu sudah dilombong. Kami menguatkuasakan sekali-sahaja secara mekanikal: holdout dinilai sekali setiap larian saluran paip, keputusannya ditulis ke rekod, dan strategi yang memerlukan percubaan lain mesti melalui semula keseluruhan ujian — tetingkap baharu dan segalanya. Ia mesti mengekalkan sekurang-kurangnya 70% daripada Sharpe luar sampel walk-forward, dan tiada lontaran dadu kedua.
Tanda yang bertahan terhadap ketiga-tiganya
Sebelum semua itu, kami menjalankan sapuan sensitiviti biasa: sentuh setiap parameter ±20% dan perhatikan metriknya. Kelebihan yang sebenar merosot secara beransur; kebetulan pula jatuh terjunam. Ini ujian termurah dalam saluran paip dan ia memveto strategi yang mungkin lulus dengan mudah semua ujian di atas — kerana tebing parameter itulah rupa overfitting sebelum anda memberinya peluang untuk bersembunyi dalam jentera pengesahan.
Tiada satu pun daripada ini menjadikan pengoptimuman selamat. Ia cuma menjadikan mod kegagalan itu lantang — dan itulah paling banyak yang boleh anda minta secara jujur daripada sesuatu proses pengesahan.
← Semua catatan