Backtesting, Optimasi, dan Tahap Validasi
Cara hasil diperoleh dengan biaya nyata, cara parameter dipilih di luar sampel, dan cara strategi memenuhi syarat untuk dipromosikan.
Biaya dan ongkos bursa yang sebenarnya
Backtest menerapkan biaya maker dan taker yang dipublikasikan tiap venue, pembayaran funding pada kontrak berjangka perpetual, biaya pinjaman untuk posisi short, spread, serta model dampak pasar pada setiap pengisian order. Ekuitas dinilai berdasarkan harga pasar pada setiap bar, dan posisi berleverage dapat dilikuidasi saat mencapai margin pemeliharaan venue. Tidak ada hasil yang dilaporkan sebelum dikurangi biaya.
Ukuran posisi dan leverage
Strategi Forex menentukan ukuran posisi dalam satuan mata uang dasar utuh relatif terhadap ekuitas akun. Mesin menerapkan batas leverage FX yang dikonfigurasi, persyaratan margin, dan konversi mata uang kuotasi. Ukuran lot bawaan broker memerlukan pemetaan tervalidasi secara terpisah.
Cara kerja optimisasi
Optimisasi menggunakan seluruh riwayat strategi yang tersedia. Bagian paling baru disisihkan sebagai holdout. Sisanya, yaitu periode pengembangan, dibagi menjadi serangkaian jendela walk-forward: parameter dicari pada rentang pelatihan setiap jendela dan dinilai pada rentang pengujian setelahnya, sehingga setiap hasil out-of-sample berasal dari data yang tidak pernah dilihat dalam pencarian.
Parameter akhir kemudian dipilih satu kali berdasarkan seluruh periode pengembangan dan diuji tepat satu kali pada holdout. Statistik sensitivitas, stabilitas, dan signifikansi dilaporkan bersama hasilnya, dan gate promosi menggunakan bukti out-of-sample dan holdout, bukan kecocokan in-sample.
Holdout
Holdout adalah bagian terakhir dari riwayat: setidaknya 20% dari riwayat, setidaknya 15 hari, dan cukup panjang untuk memperkirakan sekitar 20 transaksi, hingga 35% dari riwayat. Holdout yang mencapai batas 35% diberi label kurang memadai. Holdout tidak pernah digunakan untuk memilih parameter, dan agen hanya melihat hasil sampai awal periode holdout, sehingga keputusan mereka tidak dapat disesuaikan dengan data tersebut. Sebagai pemilik, Anda dapat melihat seluruh riwayat di halaman strategi.
Jendela walk-forward bertingkat
Ukuran jendela walk-forward ditentukan berdasarkan jumlah transaksi, bukan hanya waktu: setiap jendela pengujian diperpanjang hingga dapat memperkirakan sekitar 20 transaksi. Jendela bergeser setiap bulan, atau setiap kuartal untuk riwayat yang panjang, dengan jeda singkat antara pelatihan dan pengujian. Pencarian di dalam setiap rentang pelatihan dilakukan secara bertingkat: rentang tersebut dibagi lagi dengan rasio 70/30 agar parameter dipilih menggunakan data validasi internal. Setidaknya 3 jendela dan cakupan out-of-sample yang memadai diperlukan untuk memperoleh hasil konklusif; jika tidak, hasil ditandai sebagai tidak konklusif karena jumlah transaksi kurang.
Pencarian parameter dan fit ulang akhir
Parameter dicari dengan optimisasi Bayesian, sekitar 30 percobaan untuk setiap parameter yang dapat disetel pada setiap jendela, dengan jumlah keseluruhan antara 30 dan 150. Alih-alih memilih satu percobaan terbaik, metode pemilihan mengutamakan parameter yang juga menghasilkan skor baik pada nilai-nilai di sekitarnya, dengan tetap mematuhi batasan risiko strategi. Penyesuaian akhir menerapkan metode pemilihan yang sama pada seluruh periode pengembangan; kemudian holdout menguji parameter tersebut tepat satu kali. Setiap optimisasi memiliki batas waktu, dan pencarian panjang dapat dijalankan pada komputasi jarak jauh.
Sensitivitas dan plateau
Setiap parameter numerik digeser sebesar 10%, 25%, dan 50% ke kedua arah, sedangkan parameter bilangan bulat digeser satu dan dua langkah. Plateau menunjukkan seberapa jauh suatu parameter dapat berubah sebelum rasio Sharpe turun lebih besar daripada ketidakpastian statistiknya; penurunan yang lebih tajam dilaporkan sebagai jurang. Plateau yang lebar merupakan bukti yang meyakinkan, sedangkan jurang adalah peringatan. Ini adalah laporan, bukan gerbang keputusan.
参数稳定性
Stabilitas membandingkan seberapa besar variasi parameter yang dipilih dari satu jendela ke jendela berikutnya dengan variasi yang mungkin terjadi jika parameter dipilih secara acak. Parameter yang tetap berdekatan diberi label stabil; parameter yang berubah-ubah diberi label tidak stabil. Ini merupakan peringatan yang ditampilkan bersama hasil, dan tidak pernah menjadi gate tersendiri. Pemutaran ulang parameter akhir per jendela juga ditampilkan, dengan label sebagian in-sample karena parameter tersebut dipilih menggunakan data yang sama.
Signifikansi dan rasio Sharpe terdeflasi
Imbal hasil out-of-sample diuji menggunakan uji-t yang memperhitungkan autokorelasi, serta rasio Sharpe terdeflasi. Rasio Sharpe terdeflasi menilai apakah hasil melampaui capaian terbaik dari banyak percobaan acak, dengan memperhitungkan jumlah efektif percobaan: varian out-of-sample yang benar-benar diuji, termasuk setiap revisi tambahan setelah peninjauan. Percobaan pencarian internal tidak dihitung terhadap strategi, karena percobaan tersebut tidak pernah melihat data out-of-sample.
Validasi silang kombinatorial dan probabilitas overfitting backtest dihitung pada data pelatihan sebagai diagnostik. Hasilnya menjadi bahan pertimbangan analis, tetapi tidak lagi menentukan promosi secara mandiri.
Jendela imbal hasil dan cakupan pasar
Strategi lambat mungkin terlalu jarang bertransaksi untuk memenuhi jendela berbasis jumlah transaksi. Strategi tersebut kemudian dinilai menggunakan jendela waktu berdasarkan imbal hasil per periode, dengan pengujian yang memperhitungkan autokorelasi. Uji cakupan pasar menjalankan aturan yang sama tanpa perubahan pada 5 atau lebih pasar terkait: hasil yang konsisten di berbagai pasar dapat mengubah hasil tidak konklusif menjadi lulus, sedangkan kegagalan di pasar lain dapat mengubah status lulus menjadi peringatan.
Hasil dengan keyakinan rendah
Ketika bukti belum cukup kuat untuk menghasilkan kesimpulan, tetapi tidak ada kegagalan langsung dan analis tetap merekomendasikan promosi, strategi dapat memasuki paper trading dengan label keyakinan rendah, belum terbukti secara statistik. Label ini ditampilkan pada halaman strategi dan paper trading serta dalam notifikasi. Strategi dengan keyakinan rendah belum siap untuk live trading sampai catatan paper trading-nya sendiri mencapai signifikansi.
Gerbang promosi
Batas promosi diberlakukan dalam kode berdasarkan file kriteria yang dipublikasikan. Syarat keras yang tidak dapat dikesampingkan meliputi: riwayat yang memadai, menghasilkan profit pada sebagian besar tahun kalender dengan eksposur, imbal hasil rata-rata per transaksi yang menutup biaya pulang-pergi, penggunaan margin yang tidak berlebihan, hasil out-of-sample dan holdout tersedia serta tidak ditolak secara statistik, drawdown dalam batas yang terdaftar, serta pencatatan akuntansi yang lengkap dan konsisten.
Gate lunak dan pengabaian
Gerbang lunak mencakup drawdown terhadap batas milik strategi itu sendiri, rasio Calmar, profit factor, win rate beserta payoff, durasi kepemilikan posisi, holdout yang dibandingkan dengan hasil walk-forward, deflated Sharpe ratio, konsentrasi keuntungan pada satu tahun, biaya dampak pasar, dan kerugian pada periode volatilitas tinggi. Analis hanya dapat mengesampingkan gerbang lunak dengan alasan tertulis yang menyebutkan metrik terkait. Pengesampingan tersebut disimpan pada run, Risk Officer dapat menolaknya, dan Portfolio Manager akan memeriksanya kembali.
Membaca hasil backtest dengan cermat
Bandingkan kurva ekuitas dengan penurunan maksimum, periksa jumlah transaksi yang menjadi dasar hasil, dan bandingkan imbal hasil rata-rata per transaksi dengan biaya pulang-pergi. Imbal hasil tinggi dari segelintir transaksi, atau rasio Sharpe yang menghilang di luar sampel, adalah peringatan, bukan hasil yang dapat diandalkan.