Ada satu soalan yang setiap backtest cuba elak: adakah kod yang sama, disuap pasaran yang sama secara langsung, akan bertindak dengan cara yang sama? Anda tidak boleh menjawabnya dengan menambah backtest. Jawapannya hanya datang apabila strategi dijalankan terhadap data langsung dengan semantik pelaksanaan sebenar, kemudian disemak — dagangan demi dagangan — bahawa kedua-dua dunia itu sepakat. Kami membuat semakan ini setiap hari, secara automatik, dan ia menjadi pemburu pepijat paling produktif dalam platform ini.
Hari pertama: bina cerminnya
Setiap strategi yang dinaikkan taraf berjalan dalam nod langsung tersendiri yang terasing, menggunakan strim bursa sebenar: sebut harga langsung untuk pengisian, spread sebenar, waktu sesi sebenar. Tiada keadaan dikongsi antara strategi (kami belajar tentang ini dengan cara yang pahit — nod berkongsi menyebabkan pertanyaan posisi satu strategi meresap ke dalam strategi lain). Setiap pengisian direkodkan bersama nilai isyarat yang menghasilkannya.
Setiap pagi: main semula dan banding
Satu kerja harian mengambil tetingkap kertas setiap strategi, menjalankan kod yang serupa melalui enjin backtest bagi tempoh yang sama atas data katalog, dan memadankan pengisian satu lawan satu: sisi yang sama, toleransi cap masa yang sama, saiz yang sama. Hasilnya bukan korelasi atau rasa hati. Ia sebuah jadual: dipadankan, kertas sahaja, main semula sahaja. Strategi yang sihat berada pada 54 daripada 55 dipadankan. Strategi yang tidak sihat memberitahu anda dengan tepat dagangan mana yang menyimpang dan bila.
Apa yang rosak, mengikut urutan ia rosak
- Pengisian semasa pemanasan. Nod langsung menyuap sejarah untuk memanaskan penunjuk — dan strategi dengan pengendali bar tersuai dengan senang hati berdagang atasnya. Backtest tidak pernah melihat kemasukan hantu itu. Penyelesaiannya ialah pengawal di lapisan penghantaran, bukan pembetulan pada strategi, kerana kalau tidak setiap strategi akan mewarisi pepijat yang sama.
- Pemanasan berbilang kaki secara berjujukan. Satu strategi keratan rentas memanaskan satu instrumen pada satu masa; setiap kaki melihat adik-beradiknya kosong dan sauh tidak pernah dimulakan. Secara langsung, ia langsung tidak berdagang; apabila dimain semula, ia berdagang dengan elok. Sifar dagangan dipadankan — tetapi hanya perbandingan itu yang menyebutnya dengan lantang.
- Gelung ranap ketepatan tick. Tick aggTrade langsung tiba pada ketepatan yang berbeza daripada yang dijangka oleh instrumen sandbox. Nod itu ranap berulang kali pada satu penegasan yang tidak mungkin dicetuskan oleh backtest, kerana bar katalog sudah pun dinormalkan.
- Amnesia mula semula. Proses yang dimulakan semula mencetuskan semula logik kemasukan pada posisi yang sudah sedia ada — bagi strategi pengimbangan semula, mula semula senyap-senyap bertukar menjadi satu pengimbangan semula. Dalam dagangan sebenar itu bukan sekadar nota kaki pariti; itu bendera merah yang ada wang terikat padanya.
Perhatikan coraknya: tiada satu pun daripadanya pepijat isyarat. Semuanya pepijat sempadan pelaksanaan — pemanasan, keadaan, ketepatan, mula semula. Itulah tepatnya kelas kegagalan yang backtest secara strukturnya buta terhadapnya, kerana enjin backtest itu sendiri ialah sempadan pelaksanaan di dalam sebuah backtest.
Ketaksimetrian yang sengaja kami kekalkan
Kedua-dua dunia ini memang sengaja tidak serupa. Backtest mengenakan separuh spread bermodel campur impak punca kuasa dua di dalam PnL; kertas membayar spread sebenar dalam harga pengisian dan tiada model impak. Menambah spread bermodel pada kertas (atau spread sebenar pada backtest) akan mengira dua kali. Pariti bermaksud keputusan yang sama, pengisian yang sama dalam had toleransi — bukan PnL yang sama bit demi bit. Mengetahui perbezaan mana yang berprinsip dan mana yang pepijat itulah sebahagian besar disiplinnya.
Backtest ialah hipotesis. Dagangan kertas ialah eksperimennya. Pariti main semula ialah buku nota makmal yang menangkap anda sedang menipu diri sendiri.
Jika anda menjalankan strategi tetapi tidak membandingkan tingkah laku langsung dengan tingkah laku yang dimain semula secara berjadual, ada satu kategori pepijat yang anda tidak pernah lihat. Kami menemuinya lebih kurang setiap dua minggu, dan setiap satunya tidak kelihatan dari dalam backtest.
← Semua catatan
