Nasihat lazimnya begini: jika anda mahukan backtest yang jujur, dapatkan data tick. Pada saya, nasihat itu salah bagi kebanyakan strategi, dan mengikutinya biasanya menjadikan backtest lebih buruk, bukannya lebih baik. Bukan kerana data tick tidak tepat — itulah data paling tepat yang boleh anda dapatkan — tetapi kerana cara kebanyakan orang menggunakannya menggantikan ketelitian dengan resolusi, sedangkan kedua-duanya bukan perkara yang sama.
Beginilah masalahnya berlaku. Seorang penyelidik membina strategi menggunakan bar 1-minute, mendapat Sharpe yang memuaskan, lalu seseorang — mentor, hantaran forum atau keraguan yang terus mengganggu fikirannya — memberitahu bahawa backtest itu tidak jujur kerana dibina menggunakan bar. Jadi mereka membina semula seluruh saluran pemprosesan menggunakan data tick: setiap dagangan, setiap kemas kini sebut harga, dengan cap masa hingga ke mikrosaat. Backtest menjadi lebih lambat, kodnya tiga kali lebih rumit, dan Sharpe... hampir tidak berubah, atau berubah ke arah yang tiada siapa dapat jelaskan. Mereka tetap melancarkannya kerana data tick terasa lebih teliti, sedangkan rasa teliti tidak sama dengan ketelitian sebenar.
Apa yang sebenarnya diberikan oleh resolusi tick
Data tick memberitahu anda urutan dan harga setiap dagangan serta (jika anda membayarnya) setiap kemas kini buku pesanan. Itu maklumat yang berguna. Data ini membolehkan anda membina semula kedudukan dalam barisan, menganggarkan kebarangkalian pesanan diisi pada paras harga tertentu, dan melihat pemilihan songsang — sama ada pasaran bergerak menentang anda sejurus selepas pengisian hipotetikal anda. Semua ini amat penting jika tempoh pegangan anda dikira dalam saat dan kelebihan anda diukur dalam pecahan tick.
Namun, kebanyakan strategi yang kami lihat di Stratmill — dan kebanyakan strategi yang benar-benar dijalankan oleh penyelidik runcit dan separa profesional — memegang posisi selama beberapa minit hingga beberapa hari. Pada jangka masa itu, kejujuran backtest anda tidak ditentukan oleh sama ada anda memodelkan dagangan ke-40 dalam sesuatu minit. Yang penting ialah sama ada anda memodelkan spread, kadar pendanaan, lengkung gelinciran harga, dan hakikat bahawa pesanan had anda beratur di belakang pesanan orang lain. Anda boleh tersilap tentang keempat-empat perkara ini menggunakan data tick, dan memodelkan keempat-empatnya dengan betul menggunakan bar 1-minute. Resolusi dan kejujuran tidak berkait secara langsung.
Angka terakhir itu sering dipandang ringan. Backtest pada peringkat tick bukan sekadar “backtest yang sama dengan lebih banyak baris.” Di kebanyakan bursa, dagangan tiba di luar turutan berbanding cap masa pengingesan, dibetulkan secara retrospektif, dipecahkan antara berbilang serpihan enjin padanan, dan — di beberapa platform yang datanya kami peroleh — kadangkala diduplikasi atau hilang sepenuhnya apabila sambungan dibuat semula. Membina saluran data tick yang benar-benar lebih tepat daripada saluran bar yang dibina dengan baik, bukan sekadar lebih terperinci, ialah projek sistem yang besar. Kebanyakan pasukan tidak melaksanakannya. Mereka menghalakan backtester kepada fail tick vendor dan menganggap kerja selesai. Maknanya, mereka menukar set anggaran yang diketahui dan didokumenkan (OHLCV) dengan set yang tidak diketahui dan tidak didokumenkan (apa sahaja yang dilakukan oleh logik penyelarasan tick vendor pada hari yang bermasalah).
Hingar yang anda dapat bersama data itu
Ada kos kedua yang lebih berkaitan dengan statistik berbanding kejuruteraan. Rekod dagangan individu berayun antara bida dan tawar — itulah lantunan bida-tawar, kesan yang sudah lama diketahui dalam kajian struktur mikro pasaran sejak 1980-an. Jika isyarat anda beroperasi pada sela masa lebih pantas daripada beberapa saat, backtest peringkat tick boleh membuatkan anda nampak corak yang sebenarnya cuma lantunan itu. Saya pernah melihat seorang penyelidik menemui corak purata kembali yang menakjubkan dalam data setiap dagangan, tetapi corak itu lenyap sebaik sahaja data diagregatkan menjadi bar 5 saat pun, kerana corak tersebut hanyalah lantunan.
Seorang quant yang saya kenal — bekas pembuat pasaran, kini mengendalikan buku kripto kecil — pernah menjelaskannya begini: “Data tick ialah kanta pembesar. Halakannya pada kelebihan anda, bagus. Halakannya pada hingar anda, dan anda akan menghabiskan enam bulan memodelkan hingar itu dengan sangat terperinci.” Kini dia menggunakan bar 1 saat atau 1-minute untuk hampir semua backtest, dan hanya beralih kepada data tick untuk menjawab soalan khusus, “adakah pesanan had ini benar-benar akan diisi?” Itu soalan tentang kebarangkalian pengisian, bukannya soalan tentang isyarat.
Pembahagian itu menunjukkan pertimbangan yang tepat, dan inilah yang sering terlepas pandang oleh penyokong data tick. Penggunaan data tick secara jujur bukanlah menjalankan seluruh strategi anda dengannya — sebaliknya, gunakan secara khusus untuk satu atau dua soalan yang benar-benar tidak dapat dijawab oleh data bar.
Bila pengkritik memang betul
Walau bagaimanapun, ada strategi yang memang memerlukan data tick, dan saya akan melebih-lebihkan hujah ini jika berpura-pura sebaliknya. Jika anda menjalankan strategi yang menyerupai pembuatan pasaran — memberikan sebut harga pada kedua-dua belah, mengurus inventori tick demi tick, mengambil kira kedudukan anda dalam barisan pada paras harga tertentu — data bar langsung tidak dapat mewakili masalah anda. Keseluruhan ekonomi strategi itu berlaku dalam satu minit, bukannya merentasi beberapa minit. Begitu juga dengan arbitraj statistik sensitif kependaman antara platform, yang persoalannya benar-benar “dagangan mana berlaku dahulu,” serta pembuatan pasaran opsyen dalam saiz besar, yang keseluruhan strategi bergantung pada pemilihan songsang selama beberapa ratus milisaat selepas rekod dagangan. Dalam keadaan ini, backtest menggunakan bar bukanlah pemudahan; itu kesilapan kategori — anda bukan menguji versi strategi anda yang beresolusi lebih rendah, tetapi menguji strategi lain yang kebetulan berkongsi nama dengan strategi sebenar.
| Jangka masa strategi | Perkara yang tidak ditunjukkan oleh data bar | Perlu data tick? |
|---|---|---|
| Pembuatan pasaran / berasaskan barisan | Kebarangkalian pengisian, pemilihan songsang, kedudukan dalam barisan | Ya — wajib |
| Kependaman / arbitraj rentas platform | Turutan dagangan, platform yang bergerak dahulu | Ya |
| Momentum intrahari, purata kembali (minit–jam) | Masa pengisian dalam bar, kos spread | Hanya untuk soalan kebarangkalian pengisian, bukan isyarat |
| Dagangan ayunan / berbilang hari, dagangan arah opsyen | Hampir tiada perkara penting | Tidak — data bar mencukupi dan selalunya lebih bersih |
Jadi, dakwaan saya bukanlah “data tick itu buruk.” Maksudnya, usaha mendapatkannya sering menjadi cara untuk mengelak soalan yang lebih sukar dan kurang menarik: adakah model kos saya betul? Adakah andaian pengisian saya betul? Adakah pesanan ini benar-benar akan diisi, atau saya mengandaikan ia diisi pada harga yang sebenarnya tidak pernah ditawarkan oleh buku pesanan? Soalan-soalan ini boleh dijawab menggunakan bar 1-minute atau malah 1 saat, jika anda mengambil kira kedudukan dalam barisan dan spread dengan jujur. Data tick membolehkan anda menjawabnya dengan lebih tepat, pada kos kejuruteraan beberapa kali ganda lebih tinggi, bagi strategi yang kesimpulannya tidak berubah pun dengan ketepatan tambahan itu. Tumpukan usaha tambahan pada strategi yang benar-benar memerlukannya berdasarkan jangka masanya, dan abaikannya untuk strategi lain — itu penggunaan masa pasukan penyelidikan yang lebih baik daripada terus memilih data paling terperinci hanya kerana perincian terasa lebih teliti.
← Semua catatan


