Secara umumnya, berdagang tanpa backtest yang sewajarnya adalah seperti bermain di kasino. Anda mungkin menang beberapa kali, tetapi dalam jangka masa panjang, anda akan mengalami kerugian besar. Puncanya ialah sebelum anda mula mengambil risiko, perkara paling penting adalah memperhalusi strategi dagangan anda. Ia perlu memberikan prestasi yang agak stabil dalam pelbagai keadaan pasaran. Artikel ini akan membantu anda memahami cara backtest strategi dagangan, kaedah backtest manakah yang paling berkesan, cara menilai keputusan ujian, dan yang paling penting — bilakah anda bersedia untuk memasuki pasaran dan mula berdagang.
Apakah itu backtest?
Backtest ialah kaedah menganalisis prestasi strategi dagangan semasa dalam tempoh masa lampau tertentu. Backtest strategi dagangan membantu anda menilai tingkah lakunya dalam senario pasaran selepas kejadian, serta mengenal pasti kekuatan dan kelemahannya. Ia adalah alat penting yang membantu anda mengesahkan model dagangan secara retrospektif.
Tujuan backtest adalah untuk membantu menjana keputusan serta menilai risiko dan keuntungan tanpa perlu mempertaruhkan sebarang wang sebenar. Bayangkan berenang dengan memakai jaket keselamatan — anda boleh merasai airnya, tetapi anda tidak akan lemas.
Backtest bagi pedagang adalah seperti latihan bagi atlet profesional. Mereka menghabiskan berjam-jam menyempurnakan teknik mereka sebelum keluar bersaing dengan orang lain. Dengan cara ini, mereka menjadi lebih baik berdasarkan ujian, data dan analisis yang banyak, sekali gus membina keyakinan.
Asas
Kita boleh menggunakan pelbagai perisian berbeza untuk backtest. Pilihan termasuk Microsoft Excel, platform pihak ketiga yang sedia ada, atau membinanya dari awal. Firma dagangan algoritma terkemuka menggunakan bahasa komputer yang berbeza untuk menulis perisian backtest. Bahasa-bahasa ini termasuk C++, C#, Python atau R (untuk projek yang kurang kompleks), malah teknologi AI yang popular pada masa kini juga boleh digunakan untuk backtest.
Selain itu, anda juga boleh menggunakan TradingView untuk backtest dagangan. Ia merupakan alat carta yang sangat profesional dan berkuasa, menawarkan fungsi melihat harga yang mudah, dan membenarkan pengguna melihat keputusan backtest strategi secara grafik. Hampir semua backtest strategi adalah berasaskan data, dan penyedia data kewangan seperti Tonghuashun, Wind dan lain-lain juga mungkin menawarkan fungsi backtest yang berkaitan.
Untuk melakukan backtest yang betul, anda memerlukan data sejarah. Program ini akan mengambil spesifikasi strategi anda dan mengaplikasikannya kepada tempoh pasaran tertentu pada masa lampau, untuk menunjukkan kepada anda prestasi strategi tersebut pada ketika itu.
Berdasarkan keputusan backtest, pedagang atau penganalisis akan menentukan sama ada strategi itu perlu diperhalusi atau sudah cukup baik untuk diaplikasikan seadanya.
Idea backtest adalah berdasarkan teori bahawa pasaran kewangan bergerak secara kitaran. Jika sesuatu perkara berkesan pada masa lampau, ramai pedagang akan menganggap ia masih akan terpakai pada masa hadapan. Sebaliknya juga begitu — jika ia gagal pada masa lampau, maka ia mungkin juga tidak akan berjaya pada masa hadapan.
Mengapa anda perlu backtest strategi dagangan anda?
Dua tunjang utama dalam membina strategi dagangan atau pelaburan ialah risiko dan ganjaran serta hubungan antara keduanya. Backtest membantu anda mengukur kedua-dua faktor ini untuk menunjukkan keuntungan keseluruhan dan toleransi risiko strategi anda.
Anda perlu backtest strategi dagangan anda untuk memahami prestasinya dalam keadaan pasaran sebenar. Backtest membolehkan anda mensimulasikan idea dagangan anda menggunakan data sejarah dan menguji mekanisme pengurusan risikonya.
Backtest strategi dagangan boleh membantu anda menemui kelemahannya, menguji ketahanannya, dan menyerlahkan bahagian yang perlu diperhalusi, tanpa sebarang risiko. Dengan melakukan semua ini di atas kertas, anda boleh menghapuskan semua masalah, memperkukuh alat pengurusan risiko, dan yakin bahawa strategi dagangan anda cukup munasabah. Ini akan memastikan prestasi yang lebih memuaskan apabila dilaksanakan dalam senario pasaran sebenar.
Apakah yang diberitahu oleh backtest kepada anda?
Pada dasarnya, backtest akan memberikan anda jawapan penting kepada soalan-soalan asas berikut:
◎ Apakah tetapan dagangan yang paling sesuai dengan keperluan dan matlamat anda?
◎ Apakah risiko optimum bagi setiap dagangan?
◎ Pasaran manakah yang paling berkesan untuk strategi ini?
◎ Adakah pencetus entry dan exit anda telah dilaraskan dengan baik?
Satu lagi sebab asas mengapa anda perlu backtest strategi dagangan ialah pasaran pada hari ini dipacu oleh data. Data sejarah, penunjuk ke hadapan, model analisis ramalan — semuanya boleh membantu anda membina strategi dagangan yang munasabah. Tanpa menggabungkan data pasaran sebenar, anda tidak mungkin dapat memahami dengan tepat prestasi masa hadapan strategi dagangan anda dan sama ada ia boleh dilaksanakan dalam keadaan pasaran sebenar.
Dengan backtest strategi dagangan anda, anda boleh menemui prestasinya pada masa lampau. Jika prestasinya lemah, maka peluang untuk berjaya pada masa hadapan adalah kecil. Sebaliknya juga begitu.
Backtest strategi dagangan boleh memberikan anda kelebihan daya saing. Ia memberi anda pandangan yang boleh dilaksanakan tentang apa yang boleh anda jangkakan apabila bersaing dengan pedagang lain.
Apa yang anda perlukan sebelum backtest?
Yang paling penting adalah cuba mencari data yang tidak berat sebelah untuk mengelakkan herotan dalam prestasi model. Jika data yang berat sebelah digunakan, hampir tidak dapat dielakkan keputusan ujian akan terherot.
Walaupun mustahil untuk mengelakkan bias sepenuhnya, anda harus cuba mengurangkan kesannya sebanyak mungkin untuk mendapatkan keputusan yang telus dan boleh dipercayai. Terdapat beberapa jenis bias yang boleh menjejaskan data anda, seterusnya menjejaskan prestasi model.
Bias pengoptimuman
Pertama, bias pengoptimuman (juga dikenali sebagai curve fitting) menggambarkan keadaan di mana pedagang memperkenalkan parameter tambahan dan memenangi dagangan sehingga prestasi strateginya memenuhi jangkaan mereka. Atau — "menutup kelemahan sistem" dan menokok keputusan secara buatan. Walau bagaimanapun, satu-satunya tujuan berbuat demikian adalah untuk menipu diri sendiri dan menyebabkan prestasi buruk yang tidak dijangka apabila anda mula berdagang secara langsung.
Bias pandangan ke hadapan
Terdapat juga bias pandangan ke hadapan, iaitu apabila anda secara tidak sengaja memasukkan tarikh masa hadapan ke dalam simulasi. Kesilapan ini mungkin berpunca daripada pengiraan parameter yang tidak betul, kesilapan teknikal (terutamanya apabila menulis skrip backtest dari awal) dan lain-lain. Untuk mengelakkan ini, pastikan anda menyemak semula data dan kaedah backtest dengan teliti sebelum mula berdagang secara langsung. Jika tidak, strategi tersebut mungkin menunjukkan prestasi yang lemah dalam dagangan sebenar.
Bias lain
Terdapat juga jenis bias yang lain. Salah satunya ialah bias kemandirian (survivorship bias). Bias ini timbul apabila backtest strategi dilakukan ke atas set data yang tidak mewakili semua aset berkaitan yang anda minati. Satu lagi ialah bias toleransi psikologi. Bias ini berlaku apabila backtest dijalankan untuk jangka masa panjang bagi meningkatkan prestasi, sedangkan pada hakikatnya anda merancang untuk berdagang jangka pendek.
Selepas memastikan data dan kaedah backtest anda bebas daripada bias sebanyak mungkin, tiba masanya untuk memberi tumpuan kepada pemilihan perisian backtest. Jika anda berdagang melalui broker tertentu, kemungkinan besar mereka mempunyai fungsi backtest terbina dalam platform mereka. Sekurang-kurangnya broker yang paling popular ada. Dalam kes ini, kelebihannya ialah anda akan menggunakan penyelesaian yang telah diuji, mudah digunakan dan terbukti berkesan. Ia juga akan membantu anda menyelesaikan satu isu penting yang sering dipandang remeh oleh pedagang — memasukkan kos dagangan ke dalam model backtest. Walaupun ia kelihatan kecil, apabila terkumpul dalam dagangan jangka panjang, ia boleh menjejaskan keuntungan strategi anda.
Anda juga boleh melanggan platform backtest pihak ketiga. Walau bagaimanapun, perlu diingat bahawa backtest biasanya merupakan proses berterusan. Anda harus backtest strategi anda dari semasa ke semasa, atau jika anda merancang untuk mengembangkan portfolio, berdagang aset alternatif dan sebagainya. Ini bermakna anda perlu memperuntukkan bajet tertentu untuk membayar perisian backtest secara berkala.
Mereka yang mempunyai kemahiran teknikal boleh menulis skrip backtest dari awal menggunakan R, Python atau bahkan Excel. Anda juga boleh mengupah pengaturcara untuk menterjemah strategi anda kepada kod.
Selepas menemui kaedah dagangan yang sesuai dan perisian backtest yang sempurna, tiba masanya untuk menyingsing lengan baju dan mula bekerja.
Memilih strategi untuk backtest
Tiada had kepada strategi khusus yang boleh anda backtest. Kebanyakan pedagang mempunyai beberapa strategi dagangan, bergantung kepada keadaan pasaran (trend menurun/trend menaik), jenis aset, potensi risiko/keuntungan dan lain-lain. Sudah tentu, anda harus memastikan anda menguji semua strategi dan menilai prestasinya.
Pastikan anda backtest strategi sebelum mengaplikasikannya dalam dunia sebenar. Sebagai contoh, jika sesuatu strategi dagangan menunjukkan prestasi cemerlang dalam pasaran menurun pada suku pertama tahun lepas, ia mungkin menunjukkan prestasi yang lemah dalam pasaran menaik tahun ini. Kunci di sini adalah mengkontekstualisasikan maklumat.
Selain itu, backtest model dagangan dalam pelbagai keadaan pasaran juga amat penting. Walaupun pasaran tidak akan bergerak dengan cara yang sama sepenuhnya, dalam kebanyakan kes, aset dagangan menunjukkan corak yang serupa dengan sebelumnya.
Semakin banyak senario yang di-backtest, semakin mewakili dan boleh dipercayai keputusannya.
Memilih aset untuk backtest
Senario terbaik ialah menggunakan data daripada instrumen yang sama yang anda rancang untuk dagangkan secara langsung untuk backtest strategi anda. Sebagai contoh, jika anda merancang untuk mengaplikasikan kaedah anda kepada dagangan futures kacang soya, pastikan anda memuat turun data sejarah daripada CME atau DCE dan penyedia perkhidmatan lain, dan jalankan model anda ke atasnya.
Dengan cara ini, anda boleh memastikan keputusan hanya mengambil kira faktor khusus aset tersebut. Contohnya faktor bermusim, turun naik, penawaran dan permintaan, risiko luaran (iaitu keadaan cuaca buruk di kawasan pengeluar kacang soya terbesar).
Pastikan anda sentiasa backtest strategi anda menggunakan aset yang tepat yang anda ingin aplikasikan. Jika ini tidak mungkin (contohnya, data sejarah tidak dapat diperoleh), cari aset yang cukup serupa yang boleh mensimulasikan tingkah laku aset asal dengan tepat. Dalam kes ini, anda mungkin perlu membuat pelarasan kecil pada model backtest untuk memastikan keputusannya boleh dilaksanakan.
Jika anda merancang untuk berdagang sekumpulan saham, pastikan anda mengumpul sampel yang mewakili. Data harus merangkumi saham syarikat yang muflis dalam tempoh tertentu. Jangan kecualikan saham-saham ini kerana ia boleh menjejaskan prestasi strategi anda. Sebagai contoh, jika anda memilih saham semua syarikat yang masih wujud pada hari ini, maka apabila backtest sistem, anda akan mendapat pulangan yang tinggi secara buatan.
Cara backtest strategi dagangan
Tidak kira platform mana yang digunakan, prinsip backtest strategi dagangan pada dasarnya adalah serupa.
Langkah #1
Langkah pertama, anda mesti memberikan algoritma backtest data sejarah yang dipilih dengan teliti. Apabila menguji strategi dagangan dengan data sejarah, anda perlu menetapkan tempoh masa tertentu untuk set latihan (contohnya, kita ambil saham AS sebagai contoh, harga saham AAPL dari 2022 hingga 2023). Kemudian, anda memerlukan satu lagi set data untuk tempoh masa alternatif. Sebab menguji strategi pada tempoh masa yang berbeza adalah untuk mengesahkan kebolehpercayaannya dan mengurangkan peranan "kerawakan" dalam keseluruhan proses.
Langkah #2
Seterusnya, anda mesti menetapkan beberapa parameter, bergantung kepada tahap kerumitan model backtest anda. Parameter ini mungkin termasuk modal permulaan, modal risiko (%), saiz portfolio, komisen, spread beli jual purata, dan yang paling penting penanda aras (biasanya indeks S&P 500).
Anda juga harus menetapkan parameter khusus strategi dagangan. Ini termasuk arahan stop loss dan trailing stop, tahap take profit, bila untuk menutup kedudukan, jenis kedudukan pilihan dan lain-lain.
Langkah #3
Seterusnya, anda akan backtest set data ujian. Semua maklumat di atas akan digunakan untuk mensimulasikan dagangan dalam tempoh tertentu.
Selepas selesai backtest, anda harus menjalankan semula proses tersebut dengan set data yang lain (sekurang-kurangnya beberapa kali). Ini akan membantu memastikan sebarang bias berpotensi dan peranan faktor "rawak" dapat dihapuskan.
Kebanyakan perisian backtest juga menyokong fungsi pengoptimuman strategi automatik. Fungsi ini sangat berguna. Komputer boleh mengenal pasti input (atau kombinasi maklumat) yang paling sesuai untuk strategi anda. Dalam keadaan ideal, ia juga akan memberikan anda beberapa idea tentang cara memperhalusi model.
Kaedah backtest
Kaedah backtest yang paling popular bertujuan mengukur apa yang dipanggil "Value-at-Risk (Nilai Berisiko)". Seperti namanya, VaR mendedahkan kemungkinan kerugian maksimum dalam tempoh pemeriksaan dan set data tertentu, serta kebarangkalian ia berlaku.
Dengan memahami nilai berisiko portfolio mereka, pengurus pelaburan atau pedagang boleh bersedia dengan lebih baik untuk senario terburuk.
Kita boleh menggunakan beberapa kaedah berbeza untuk memeriksa nilai berisiko. Sesetengah kaedah ini termasuk Simulasi Monte Carlo, Kaedah Varians-Kovarians dan lain-lain.
Persamaan semua kaedah backtest terletak pada kesimpulan mereka. Mereka akan memberitahu anda di mana strategi itu kurang baik dan di mana ia berprestasi baik, supaya anda boleh membuat pelarasan dan pengoptimuman yang betul untuk memastikan nisbah risiko/ganjaran yang optimum.
Bagaimana menilai keputusan?
Selepas selesai backtest, tiba masanya untuk mentafsir keputusan dan melihat prestasi strategi anda dalam tempoh pemerhatian.
Anda harus tahu bahawa tiada formula ajaib atau peraturan yang boleh menentukan sama ada strategi dagangan anda baik atau buruk. Untuk semua analisis yang anda jalankan, anda perlu sentiasa mengingati konteks yang diperlukan. Sesetengah konteks ini termasuk aset lain dalam portfolio anda, persekitaran pasaran, dan ciri unik strategi tersebut. Sebagai contoh, sesetengah strategi sememangnya lebih berisiko secara reka bentuk. Sudah tentu, ia juga akan menjana keuntungan yang lebih tinggi. Strategi lain lebih konservatif, menyebabkan nilai portfolio anda meningkat lebih rendah pada akhir backtest.
Cara terbaik untuk menilai keputusan strategi adalah dengan menetapkan toleransi risiko dan matlamat keuntungan anda. Selepas menjalankan backtest, periksa sama ada strategi menghasilkan keputusan yang selaras dengan matlamat anda. Selain itu, pastikan anda menambah penanda aras (contohnya indeks S&P 500 / indeks CSI 300 adalah penanda aras yang paling banyak digunakan). Selepas melaksanakan backtest, anda akan melihat prestasi strategi anda dalam pasaran.
Kaedah backtest akan menghasilkan keputusan untuk pelbagai metrik. Metrik ini termasuk keuntungan dan kerugian bersih, pulangan portfolio keseluruhan dalam tempoh masa tertentu, pulangan terlaras risiko, pendedahan risiko pasaran, turun naik dan lain-lain.
Akhirnya, perisian akan mengukur keputusan backtest bagi setiap langkah. Bergantung kepada perisian yang anda gunakan, carta juga boleh dijana dan keputusan backtest boleh divisualisasikan.
Apakah kriteria kejayaan?
Jangan membuat kesilapan memilih strategi hanya berdasarkan keuntungan. Walaupun keuntungan itu penting, tanpa konteks, keuntungan tidak memberikan sebarang maklumat yang berguna. Sebaliknya, keuntungan boleh memperdaya anda untuk memilih strategi berisiko tinggi.
Untuk mengelakkan terperangkap dalam perangkap ini, selain menganalisis risiko yang diambil, analisis juga pulangannya. Sudah tentu, strategi terbaik adalah yang mencapai pulangan memuaskan tanpa risiko yang besar. Atau, ia mempunyai nisbah Sharpe yang tinggi.
Selain itu, pastikan anda memantau turun naik. Jika selepas backtest anda mendapati portfolio anda mempunyai tempoh turun naik yang tinggi, anda harus sedar bahawa jika ini berlaku dalam dagangan sebenar, anda mungkin mencetuskan stop loss atau pesanan take profit. Itulah sebabnya menunggu dan melaraskan pesanan berdasarkan turun naik portfolio adalah amat penting.
Satu lagi faktor penting yang menentukan kejayaan anda ialah korelasi antara komponen. Jika korelasi antara aset adalah tinggi, ini bermakna portfolio anda tidak mempunyai ketahanan atau bantalan keselamatan yang mencukupi untuk menahan kejutan dan risiko khusus sektor. Atau, ia kurang kepelbagaian dan kurang lindung nilai. Ini menjadikannya lebih mudah terdedah kepada pelbagai risiko.
Kesimpulan
Sepuluh tahun yang lalu, backtest adalah hak eksklusif yang hanya dinikmati oleh pemain besar seperti dana lindung nilai, bank pelaburan, syarikat dagangan frekuensi tinggi dan lain-lain. Kini, berkat perkembangan teknologi, malah pedagang runcit dan pelabur berskala kecil pun boleh melakukan backtest. Pada hari ini, backtest bukan lagi satu kemewahan. Ia telah menjadi satu keperluan dan keperluan sebenar jika anda ingin berjaya menavigasi pasaran kewangan.
Dalam senario terbaik, berdagang tanpa backtest yang sewajarnya adalah seperti membuat tekaan berdasarkan maklumat. Backtest strategi dagangan adalah kerja wajib bagi setiap pedagang. Tanpa analisis awal dan penilaian risiko yang tepat, anda akan memasuki pasaran tanpa persediaan, mudah diserang, bukan sahaja oleh pasaran, tetapi juga oleh pedagang lain.
Ingatlah bahawa kebanyakan pedagang yang anda bersaing pada hari ini menggunakan backtest. Jika anda ingin mengelakkan kerugian dan memperoleh kelebihan daya saing, pastikan anda membuat kerja rumah anda.