BIKENZO

Backtesting: Apa yang Boleh Ditunjukkannya dan Bagaimana Ia Mengelirukan

Backtesting menjalankan sesuatu peraturan dagangan terhadap data sejarah untuk melihat bagaimana ia akan berkelakuan, tetapi backtest yang kelihatan bagus tidak meramalkan hasil masa hadapan — overfitting dan bias tersembunyi kerap menjadikan strategi kelihatan jauh lebih baik di atas kertas berbanding prestasi sebenarnya secara langsung.

Backtesting ialah amalan mengambil satu set peraturan dagangan yang ditetapkan dan menerapkannya pada data harga lampau untuk mengukur bagaimana peraturan tersebut akan berprestasi. Ia merupakan salah satu alat paling lazim dalam dagangan kuantitatif dan budi bicara, dan ia boleh benar-benar berguna untuk memahami tingkah laku sesuatu strategi. Ia juga merupakan salah satu alat yang paling mudah untuk memperdaya diri sendiri. Artikel ini menerangkan, dengan bahasa yang mudah, apa yang sebenarnya diukur oleh sesuatu backtest, dari mana datangnya hasilnya, dan cara-cara khusus — terutamanya overfitting — yang boleh menyebabkan sesuatu backtest mengelirukan. Tiada apa-apa di sini yang merupakan nasihat dagangan atau saranan; ia adalah latar belakang supaya anda boleh membaca hasil backtest dengan keraguan yang sewajarnya.

Apa sebenarnya backtesting itu

Sesuatu backtest mengambil satu set peraturan tetap — contohnya, syarat masuk, syarat keluar, dan saiz kedudukan — dan memainkannya semula pada set data sejarah seperti harga Bitcoin (BTC) lampau. Ia merekodkan dagangan apa yang akan dihasilkan oleh peraturan tersebut dan menghasilkan statistik seperti jumlah pulangan, kadar kemenangan (win rate), pengeluaran maksimum (drawdown), dan bilangan dagangan.

Idea terasnya mudah: jika sesuatu peraturan tidak mempunyai struktur yang berguna, ia sepatutnya tidak berkelakuan lebih baik daripada rawak pada data lampau. Backtesting ialah cara untuk memeriksa tingkah laku sejarah sesuatu peraturan secara boleh diukur dan boleh diulang, dan bukannya bergantung pada ingatan atau gerak hati tentang 'apa yang biasanya berlaku.'

Apa yang secara sah boleh ditunjukkan oleh sesuatu backtest

Sesuatu backtest paling boleh dipercayai sebagai alat deskriptif dan diagnostik, bukannya alat ramalan. Ia boleh mendedahkan berapa kerap sesuatu peraturan akan berdagang, berapa besar pengeluaran sejarah terburuknya, sejauh mana hasilnya sensitif terhadap kos, dan sama ada logiknya berjalan tanpa ralat pun.

Ia juga berguna untuk penyingkiran. Sesuatu peraturan yang berprestasi buruk sepanjang sejarah yang panjang dan pelbagai — atau yang hanya berkesan dalam satu tempoh yang sempit — jelas tidak menunjukkan keteguhan. Menyingkirkan idea selalunya merupakan penggunaan backtesting yang lebih jujur berbanding cuba mengesahkan bahawa idea kegemaran 'berkesan.'

Overfitting: perangkap utama

Overfitting berlaku apabila sesuatu strategi ditala begitu rapat dengan keanehan satu set data sejarah sehingga ia menangkap hingar (noise) dan bukannya sebarang corak yang tahan lama. Jika anda menguji ratusan gabungan parameter dan mengekalkan yang mempunyai pulangan lampau terbaik, kemungkinan besar anda telah memilih nasib, bukan kemahiran — beberapa gabungan memang sentiasa akan kelihatan bagus secara kebetulan.

Tanda-tanda amaran sudah biasa: banyak parameter yang boleh ditala, hasil yang runtuh apabila sesuatu tetapan dianjak sedikit, prestasi hebat yang tertumpu pada beberapa dagangan, dan peraturan yang berulang kali dilaraskan sehingga keluk ekuiti kelihatan menarik. Strategi yang overfit cenderung berprestasi jauh lebih buruk di luar sampel — pada data yang tidak digunakan untuk menalanya — dan lebih buruk lagi dalam dagangan langsung.

Bias lain yang menggelembungkan hasil backtest

Overfitting bukanlah satu-satunya masalah. Bias pandang ke hadapan (look-ahead bias) menggunakan maklumat yang tidak akan tersedia pada saat dagangan dibuat. Bias kemandirian (survivorship bias) hanya menguji aset yang masih wujud, mengabaikan yang telah gagal. Bias mengintai data (data-snooping bias) terkumpul apabila ramai orang menguji banyak idea pada sejarah yang sama dan hanya yang menang dilaporkan.

Geseran praktikal juga mudah ditinggalkan. Kos dagangan, yuran, gelinciran (slippage), spread, pembiayaan, dan kesukaran memenuhi pesanan besar dalam pasaran yang nipis boleh menukar peraturan yang menguntungkan di atas kertas menjadi peraturan yang merugikan. Sesuatu backtest yang mengandaikan pemenuhan sempurna pada harga ideal sedang mengukur pasaran yang tidak wujud.

Mengapa backtest yang bagus bukan suatu ramalan

Malah backtest yang disusun dengan teliti dan dikawal biasnya sekalipun menggambarkan masa lampau di bawah satu set keadaan tertentu. Pasaran berubah: kecairan, kemeruapan, peserta, dan peraturan semuanya beralih dari semasa ke semasa, dan sesuatu peraturan yang sesuai untuk satu rejim mungkin gagal dalam rejim lain. Prestasi lampau tidak membawa sebarang jaminan tentang masa hadapan, dan backtest kerap dilebih-lebihkan.

Inilah sebabnya kaedah dagangan ramalan secara umum — corak carta, Gelombang Elliott, aras Fibonacci, dan penunjuk teknikal seperti RSI atau MACD — dipertikaikan dan subjektif. Melakukan backtest terhadapnya boleh menjadikannya kelihatan tepat, tetapi tidak boleh menjadikannya meramalkan harga secara boleh dipercayai. Dagangan berisiko tinggi, dan penyelidikan secara konsisten menunjukkan bahawa kebanyakan pedagang runcit kehilangan wang dari semasa ke semasa.

Membaca data pasaran dengan konteks

Oleh sebab backtest boleh mengampu sesuatu strategi, sesetengah orang lebih suka turut melihat konteks data pasaran yang lebih luas dan bukannya harga semata-mata. BIKENZO ialah terminal data dan analitik Bitcoin yang memaparkan maklumat seperti kecairan berbanding harga BTC; konteks itu boleh membantu anda mentafsir sama ada sesuatu pergerakan sejarah berlaku dalam pasaran yang dalam dan cair atau yang nipis.

Ini ialah konteks, bukan isyarat atau ramalan. BIKENZO tidak memberitahu anda apa yang akan berlaku, tidak menjana dagangan, dan bukan tempat untuk berdagang — ia adalah kanta untuk memahami data di sebalik harga. Sebarang keputusan, dan sebarang risiko, kekal sepenuhnya milik anda sendiri.

FAQ

Adakah backtest yang menguntungkan bermakna sesuatu strategi akan menghasilkan wang?
Tidak. Sesuatu backtest menggambarkan tingkah laku sejarah di bawah andaian tertentu; ia tidak menjamin hasil masa hadapan. Prestasi lampau yang kukuh boleh datang daripada overfitting, kos yang ditinggalkan, atau rejim pasaran yang tidak lagi wujud, dan hasilnya selalunya jauh lebih buruk dalam dagangan langsung.
Apakah overfitting dalam bahasa yang mudah?
Overfitting ialah apabila sesuatu strategi ditala begitu ketat pada satu set data sehingga ia menghafal hingar rawak dan bukannya sebarang corak sebenar. Strategi sebegini kelihatan cemerlang pada data yang menjadi rujukan penalaannya dan biasanya berantakan pada data baharu atau dalam dagangan sebenar.
Bagaimana orang cuba mengurangkan overfitting?
Amalan lazim termasuk menggunakan lebih sedikit parameter, menguji pada data yang tidak digunakan untuk menala peraturan (luar sampel), memeriksa sama ada hasilnya bertahan terhadap perubahan kecil pada tetapan, dan memasukkan kos serta gelinciran yang realistik. Ini mengurangkan risiko tetapi tidak pernah menghapuskannya — tiada backtest yang boleh membuktikan bahawa sesuatu strategi akan berkesan pada masa hadapan.
Bolehkah backtesting mengesahkan corak carta, Fibonacci, atau penunjuk seperti RSI dan MACD?
Tidak secara boleh dipercayai. Kaedah-kaedah ini subjektif dan dipertikaikan, dan sesuatu backtest boleh menjadikannya kelihatan lebih tepat daripada yang sebenarnya. Backtesting boleh menggambarkan bagaimana sesuatu peraturan berkelakuan secara sejarah, tetapi ia tidak boleh menukar kaedah yang dipertikaikan menjadi peramal harga yang boleh diharap.
Jadi, adakah backtesting tidak berguna?
Tidak. Jika digunakan secara jujur, ia bernilai untuk memahami tingkah laku sesuatu peraturan, mengukur pengeluaran sejarah, memeriksa kepekaan terhadap andaian, dan menyingkirkan idea yang rapuh. Bahayanya ialah menganggapnya sebagai bukti keuntungan masa hadapan dan bukannya sebagai alat diagnostik.
Bagaimana BIKENZO berkaitan dengan backtesting?
BIKENZO ialah terminal data dan analitik Bitcoin, bukan broker, bursa, atau enjin backtesting. Ia boleh menyediakan konteks data pasaran seperti kecairan berbanding harga BTC, yang mungkin membantu anda mentafsir pergerakan sejarah — tetapi ia tidak membuat sebarang ramalan dan tidak menawarkan sebarang isyarat dagangan.

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

Minta pratonton