5.4 Mengapa kita membutuhkan tes di luar sampel

Penulis:Kebaikan, Dibuat: 2019-05-10 09:13:53, Diperbarui:

Ringkasan

Dalam bagian sebelumnya, kami menunjukkan kepada Anda cara membaca laporan kinerja strategi backtesting dengan berfokus pada beberapa indikator kinerja penting. sebenarnya, tidak sulit untuk menulis strategi yang menghasilkan keuntungan dalam laporan kinerja backtesting. sulit untuk mengevaluasi apakah strategi ini akan terus efektif di pasar nyata di masa depan. jadi hari ini saya akan menjelaskan tes off-sample dan pentingnya.

Backtesting tidak sama dengan pasar nyata

Banyak pemula yang mudah yakin dengan strategi trading mereka dan siap untuk menerapkan pemikiran mereka dengan laporan kinerja atau kurva dana yang terlihat bagus. Memang, hasil backtesting ini sangat sesuai dengan keadaan pasar tertentu yang mereka amati, tetapi begitu strategi trading dimasukkan ke dalam pertempuran jangka panjang, mereka akan menemukan bahwa strategi sebenarnya tidak efektif.

Saya telah melihat banyak strategi trading, dan tingkat keberhasilan dapat mencapai hingga 50% ketika backtesting. Di bawah premis tingkat kemenangan yang tinggi, masih ada memiliki rasio keuntungan dan kerugian yang lebih tinggi dari 1: 1. Namun, setelah strategi ini dipraktekkan, mereka semua kehilangan uang. Ada banyak alasan untuk ini. Di antara alasan ini, sampel data terlalu kecil adalah yang utama, yang menyebabkan penyimpangan data.

Namun, perdagangan adalah hal yang sangat rumit, dan sangat jelas setelahnya, tetapi jika kita kembali ke aslinya, kita masih merasa kewalahan. Ini melibatkan akar penyebab kuantifikasi - keterbatasan data sejarah. jadi, jika kita hanya menggunakan data sejarah terbatas untuk menguji strategi perdagangan, sulit untuk menghindari masalah Mengemudi sesuai dengan melihat cermin belakang.

Apa itu tes off-sampel?

Bagaimana cara memanfaatkan data terbatas untuk menguji secara ilmiah strategi trading ketika data terbatas? Jawabannya adalah metode uji off-sample. Selama backtesting, data historis dibagi menjadi dua segmen sesuai urutan waktu. Segmen data sebelumnya digunakan untuk optimasi strategi, yang disebut training set, dan segmen data terakhir digunakan untuk uji off-sample, yang disebut test set.

Jika strategi Anda selalu valid, maka optimalkan beberapa set parameter terbaik dalam data training set, dan terapkan set parameter ini ke data test set untuk backtest lagi. Idealnya, hasil backtest harus hampir sama dengan training set, atau perbedaannya berada dalam kisaran yang wajar. Maka dapat dikatakan bahwa strategi ini relatif efektif.

Tapi jika strategi berkinerja baik dalam training set, tapi test set berkinerja buruk, atau banyak berubah, dan ketika digunakan parameter lain tetap sama, maka strategi mungkin memiliki bias migrasi data.

Sebagai contoh, misalkan Anda ingin melakukan backtest rebar futures komoditas. Sekarang rebar tersebut memiliki data selama sekitar 10 tahun (2009~2019), Anda dapat menggunakan data dari tahun 2009 hingga 2015 sebagai set pelatihan, dari tahun 2015 hingga 2019, digunakan sebagai set uji. Jika parameter terbaik yang ditetapkan dalam set pelatihan adalah (15, 90), (5, 50), (10, 100)... maka kita memasukkan set parameter ini ke dalam set uji. Dengan membandingkan kedua laporan kinerja backtest dan kurva dana ini, tentukan apakah perbedaan mereka berada dalam kisaran yang wajar.

Jika Anda tidak menggunakan tes off-sample, hanya langsung menggunakan data dari tahun 2009 hingga 2019 untuk menguji strategi. Hasilnya mungkin laporan kinerja backtest yang baik karena terlalu sesuai dengan data historis, tetapi hasil backtest semacam itu memiliki sedikit makna untuk pasar nyata dan tidak memiliki efek panduan, terutama strategi dengan lebih banyak parameter.

Tes lanjutan di luar sampel

Seperti yang disebutkan di atas, di bawah premis kurangnya data historis, adalah ide yang baik untuk membagi data menjadi dua bagian untuk membentuk data dalam dan luar sampel.

Prinsip dasar dari tes rekursif: gunakan data sejarah panjang sebelumnya untuk melatih model, dan kemudian gunakan data yang relatif pendek untuk menguji model, dan kemudian terus-menerus memindahkan jendela waktu untuk mengambil data, ulangi langkah-langkah pelatihan dan pengujian.

  • Data pelatihan: 2000-2001, data pengujian: 2002;

  • Data pelatihan: 2001-2002, data pengujian: 2003;

  • Data pelatihan: 2002 sampai 2003, data uji: 2004;

  • Data pelatihan: 2003 sampai 2004, data pengujian: 2005;

  • Data pelatihan: 2004-2005, data pengujian: 2006;

...dan seterusnya...

Akhirnya, hasil pengujian (2002, 2003, 2004, 2005, 2006...) dianalisis secara statistik untuk mengevaluasi kinerja strategi secara komprehensif.

Diagram berikut dapat menjelaskan prinsip uji rekursif secara intuitif:

img

Gambar di atas menunjukkan dua metode pengujian rekursif.

Tipe pertama: jumlah kecil tetapi uji berkali-kali

Tipe kedua: jumlah besar tetapi tes kurang kali

Dalam aplikasi praktis, beberapa tes dapat dilakukan dengan mengubah panjang data uji untuk menentukan stabilitas model dalam menanggapi data non-stasioner.

Prinsip dasar dari uji silang: membagi semua data menjadi N bagian, menggunakan bagian N-1 untuk melatih setiap kali, dan menggunakan bagian yang tersisa untuk menguji.

Dari tahun 2000 sampai 2003, hal ini dibagi menjadi empat bagian sesuai dengan pembagian tahunan.

  • Data pelatihan: 2001-2003, data pengujian: 2000;

  • Data pelatihan: 2000-2002, data pengujian: 2003;

  • Data pelatihan: 2000, 2001, 2003, data pengujian: 2002;

  • Data pelatihan: 2000, 2002, 2003, data pengujian: 2001;

img

Seperti yang ditunjukkan pada gambar di atas: Keuntungan terbesar dari tes cross-check adalah memanfaatkan sepenuhnya data yang terbatas, dan setiap data pelatihan juga merupakan data tes.

  • Ketika data harga tidak stabil, hasil pengujian model seringkali tidak dapat diandalkan. Misalnya, gunakan data 2008 untuk pelatihan dan data 2005 untuk pengujian. Sangat mungkin bahwa lingkungan pasar pada tahun 2008 telah banyak berubah dibandingkan dengan tahun 2005, sehingga hasil pengujian model tidak dapat dipercaya.

  • Sama seperti yang pertama, dalam tes cross-check, jika model dilatih dengan data terbaru dan model diuji dengan data lama, ini tidak terlalu logis itu sendiri.

Selain itu, ketika menguji model strategi kuantitatif, baik tes rekursif dan tes cross-check telah mengalami masalah tumpang tindih data.

Dalam mengembangkan model strategi trading, sebagian besar indikator teknis didasarkan pada data historis periode tertentu. misalnya, menggunakan indikator tren untuk menghitung data historis selama 50 hari terakhir, tetapi untuk hari perdagangan berikutnya, yang lagi-lagi dihitung dari data untuk 50 hari pertama hari perdagangan, data untuk menghitung kedua indikator adalah sama selama 49 hari. ini akan menghasilkan perubahan yang sangat tidak signifikan dalam indikator untuk setiap dua hari yang berdekatan.

img

Data tumpang tindih dapat memiliki efek berikut:

  • Perubahan lambat pada hasil yang diprediksi oleh model mengarah pada perubahan posisi yang lambat, yang merupakan histeresis dari indikator yang sering kita katakan.

  • Beberapa nilai statistik untuk pengujian hasil model tidak tersedia. Karena korelasi urutan yang disebabkan oleh data berulang, hasil dari beberapa tes statistik tidak dapat diandalkan.

Sebuah strategi perdagangan yang baik harus menguntungkan di masa depan. pengujian off-sample, selain secara obyektif mendeteksi strategi perdagangan, lebih efisien dalam menghemat waktu bagi pedagang kuantitatif. Dalam kebanyakan kasus, sangat berbahaya untuk menggunakan parameter optimal dari semua sampel secara langsung.

Jika semua data historis sebelum titik waktu untuk optimasi parameter dibedakan, dan data dibagi menjadi data dalam sampel dan data di luar sampel, parameter dioptimalkan dengan menggunakan data dalam sampel, dan kemudian sampel di luar sampel digunakan untuk tes di luar sampel. kesalahan akan terdeteksi, dan pada saat yang sama dapat diuji apakah strategi yang dioptimalkan cocok untuk pasar masa depan.

Untuk meringkas

Sama seperti perdagangan itu sendiri, kita tidak pernah bisa kembali ke masa lalu dan membuat keputusan yang benar untuk diri kita sendiri. jika Anda memiliki kemampuan untuk melakukan perjalanan waktu, Anda tidak perlu melakukan perdagangan sama sekali. setelah semua, kita semua manusia, kita harus memverifikasi strategi kita dalam data historis.

Namun, bahkan dengan data sejarah yang sangat besar, di depan masa depan yang tak ada habisnya dan tidak dapat diprediksi, sejarah sangat langka. Oleh karena itu, sistem perdagangan yang didasarkan pada sejarah akhirnya akan tenggelam dari waktu ke waktu. Karena sejarah tidak dapat menghabiskan masa depan. Oleh karena itu, sistem perdagangan harapan positif yang lengkap harus didukung oleh prinsip dan logika yang melekat.

Percaya, tapi verifikasi. - Presiden Reagan.

Latihan setelah sekolah

  1. Apa fenomena dalam kehidupan nyata yang menjadi bias Survivor?

  2. Gunakan platform FMZ Quant untuk membandingkan backtest dalam dan luar sampel.


Lebih banyak