Filter CUSUM: pengambilan sampel peristiwa di pasar keuangan
Pelajari cara filter CUSUM simetris mengubah log-return menjadi timestamp peristiwa, memilih ambang tetap atau dinamis, dan menghindari kebocoran informasi.
Dalam panduan iniPertanyaan yang dijawab oleh filter CUSUM
Ringkasan singkat
Filter CUSUM menandai waktu ketika penyimpangan log-return yang berturut-turut dan searah telah terakumulasi melewati ambang. Hasilnya adalah waktu peristiwa untuk membangun sampel, bukan ramalan arah harga, label hasil, atau jaminan bahwa pasar sedang stasioner.
Pertanyaan yang dijawab oleh filter CUSUM
Jika sebuah model diberi satu baris untuk setiap sesi, periode tanpa perubahan berarti dapat mendominasi data. Filter CUSUM menawarkan cara berbasis aturan untuk memilih waktu ketika gerak searah yang terakumulasi cukup besar. Setiap return tetap diperiksa; hanya bar yang memenuhi kondisi pemicu yang dicatat sebagai peristiwa. Istilah “filter” di sini berarti penyaring waktu observasi, bukan sinyal beli atau jual.
Gagasan cumulative sum (CUSUM) berasal dari pemantauan statistik berurutan. E. S. Page membahas skema inspeksi berkelanjutan dalam artikel tahun 1954. Dalam konteks data keuangan, Bab 2 Advances in Financial Machine Learning menempatkan pengambilan sampel sebagai bagian dari pembentukan struktur data. Dokumentasi mlfinpy lalu memperkenalkan filter CUSUM simetris untuk memilih bar yang dipicu oleh pergerakan kumulatif.
Bentuk dua akumulator dari log-return
Untuk harga penutupan positif (P_t), hitung log-return (r_t=\ln(P_t/P_{t-1})). Filter memelihara dua jumlah dari nol: jumlah positif dan jumlah negatif. Bentuk rekursifnya adalah S+_t = max(0, S+_(t-1) + r_t) dan S-_t = min(0, S-_(t-1) + r_t). Jumlah positif hanya mempertahankan akumulasi di atas nol; jumlah negatif hanya mempertahankan akumulasi di bawah nol.
Dengan ambang simetris (h>0), catat waktu (t) jika S+_t > h atau S-_t < -h. Setelah pemicu naik, reset S+ ke nol; setelah pemicu turun, reset S- ke nol. Return baru terus diproses setelah setiap reset. Ini berbeda dari sekadar memicu saat satu return melampaui ambang: beberapa return kecil dengan tanda searah dapat terkumpul menjadi satu peristiwa.
Aturan tepat pada batas harus ditetapkan dengan sengaja. Uraian dokumentasi mlfinpy menyebut pemicu ketika jumlah mencapai atau melewati ambang, sedangkan implementasi yang dirujuk memakai perbandingan ketat > dan <. Untuk (S=h) persis, kedua konvensi memberi jawaban berbeda. Pilih dan dokumentasikan konvensinya; jangan menganggap istilah “CUSUM” selalu berarti perilaku batas yang sama.
Ikuti contoh lintasan harga hipotetis
Anggap harga penutupan berturut-turut adalah 100,00 → 100,20 → 100,40 → 100,60 → 100,40 → 100,20 → 100,00 dan (h=0,005) dalam satuan log-return, setara dengan 0,5%. Harga dan hasil berikut hanya ilustrasi, bukan data pasar atau harga eksekusi.
Selama kenaikan, perubahan kumulatif dari titik awal ke 100,60 adalah ln(100,60 / 100,00) = 0,005982, sekitar 0,598%. Akumulator positif melewati ambang pada penutupan 100,60 sehingga timestamp itu menjadi peristiwa naik dan akumulator positif direset. Return berikutnya menurunkan harga. Setelah seluruh jalur turun kembali ke 100,00, jumlah log-return sejak reset turun menjadi ln(100,00 / 100,60) = -0,005982. Akumulator negatif melewati -h dan 100,00 menjadi peristiwa turun.
Kedua peristiwa adalah hasil aturan sampling. Kenaikan pertama tidak berarti filter meramalkan kenaikan lanjutan; penurunan berikutnya juga bukan rekomendasi untuk menjual. Untuk memeriksa kode, hitung return dan akumulator satu bar demi satu bar, lalu pastikan timestamp yang dihasilkan mengikuti kebijakan batas serta reset yang dipilih.
Pilih ambang yang sebanding dengan skala pasar
Ambang tetap mudah diaudit: setiap akumulasi dibandingkan dengan nilai (h) yang sama. Namun, gerak 0,5% dapat sangat besar pada pasar tenang dan biasa saja saat volatilitas tinggi. Ambang dinamis dapat mengikuti skala volatilitas, misalnya h_t = k × σ_(t-1), dengan (k) sebagai pengali yang dipilih dan (sigma) sebagai ukuran volatilitas return.
Untuk menghindari lookahead, tetapkan kapan (sigma) tersedia. Jika keputusan sampling dibuat setelah penutupan (t), ambang yang sudah dihitung dari data sampai (t-1) merupakan pilihan kausal yang jelas. Estimator, jendela, skala tahunan atau per bar, penanganan lonjakan, dan aturan nilai yang hilang juga perlu tetap konsisten. Jangan memilih (k) hanya karena menghasilkan pola historis yang tampak menarik; pilihan itu harus diuji di luar sampel.
Ambang terlalu rendah akan menghasilkan banyak event, termasuk gerak kecil yang mungkin tenggelam oleh noise, spread, komisi, dan slippage. Ambang terlalu tinggi memberi event lebih sedikit dan dapat melewatkan gerakan yang relevan. Tidak ada nilai universal. Bandingkan jumlah event, jarak waktu antar-event, kestabilan antarperiode, dan biaya sampel atau transaksi hilir untuk beberapa parameter yang masuk akal.
Jaga definisi harga dan waktu tetap kausal
Log-return memerlukan harga yang positif. Instrumen yang dapat memiliki harga nol atau negatif tidak dapat langsung diproses dengan log harga; alternatif seperti return sederhana atau transformasi lain mengubah skala dan karakteristik filter, sehingga perlu didefinisikan serta diuji ulang. Periksa juga penyesuaian pemecahan saham dan dividen. Harga penutupan yang disesuaikan hanya untuk pemecahan saham tidak sama dengan total-return series; kontrak berjangka yang disambung dapat menunjukkan loncatan roll yang bukan gerak satu kontrak yang dapat diperdagangkan.
Sampel yang terpicu pada penutupan hanya diketahui setelah harga penutupan itu tercatat. Model boleh membentuk fitur dari informasi yang benar-benar tersedia pada atau sebelum timestamp tersebut, tetapi backtest tidak boleh menganggap order sudah dieksekusi pada penutupan yang memicu event kecuali aturan eksekusi dan data pasar mendukungnya. Banyak sistem memakai harga atau kuotasi setelah pemicu, lalu memasukkan spread, slippage, dampak pasar, pendanaan, dan komisi.
Filter mengembalikan timestamp peristiwa; ia tidak mengubah keseluruhan riwayat menjadi interval waktu yang teratur. Sesi non-event tetap penting untuk menghitung fitur berbasis waktu, volatilitas, atau kondisi pasar. Jangan menerapkan rumus yang mengasumsikan sampel berjarak sama—termasuk annualisasi statistik—tanpa memeriksa interval aktual dan definisi horizon.
Pisahkan sampling, uji stabilitas, dan label hasil
Nama yang sama kerap digunakan untuk prosedur berbeda. Filter CUSUM harga di sini menjumlahkan log-return terarah untuk memilih event. Uji CUSUM ekonometrika seperti uji CUSUM untuk stabilitas regresi dan residu rekursif memeriksa pola residu terhadap asumsi parameter regresi stabil; ia bukan aturan event-sampling harga ini. Keduanya juga tidak membuat data atau proses menjadi stasioner hanya karena suatu batas dilampaui.
Filter tidak menentukan target pembelajaran. Setelah waktu event dipilih, fitur harus hanya memakai informasi yang tersedia saat itu. Target (y) dibangun terpisah dari hasil di masa depan dengan definisi yang dinyatakan dengan jelas. Metode triple barrier untuk pelabelan event keuangan menjawab pertanyaan hasil yang berbeda: batas mana yang pertama tersentuh setelah event. Event CUSUM tidak secara otomatis menghasilkan label tersebut, memprediksi arah, atau menjamin likuiditas maupun keuntungan.
Dalam evaluasi, buat kembali setiap ambang hanya dari data yang tersedia pada saat itu, pertahankan urutan waktu, dan cegah interval label yang tumpang tindih membocorkan informasi ke validasi. Uji juga spread bid-ask, biaya, pendanaan, slippage, kapasitas, serta jeda antara sinyal dan eksekusi. Jumlah event yang lebih sedikit bukan bukti strategi lebih baik; metrik dan asumsi fill harus menjawab pertanyaan penerapan yang sama.
Pertanyaan umum
Q1Apakah CUSUM filter sama dengan uji CUSUM ekonometrika?
Tidak. Filter pada artikel ini mengakumulasi log-return harga untuk memilih event. Uji CUSUM regresi menggunakan residu rekursif untuk menguji kestabilan model di bawah asumsi dan nilai kritis tertentu.
Q2Apakah ambang 0,5% cocok untuk setiap pasar?
Tidak. Ambang tetap bisa terlalu sering atau terlalu jarang memicu bergantung pada volatilitas, frekuensi bar, dan aset. Bandingkan parameter tetap dan dinamis dengan informasi yang tersedia secara kausal serta evaluasi biaya hilir.
Q3Apakah timestamp CUSUM berarti strategi akan mengisi order pada harga penutupan?
Tidak. Timestamp baru diketahui saat harga penutupan tersedia. Simulasikan pengiriman dan fill setelah pemicu dengan data serta asumsi biaya yang sesuai.
Sumber dan bacaan lanjutan
Laporkan masalah
Kami akan menyiapkan email berisi tautan artikel ini. Mark menerima laporan setelah Anda mengirimkannya
Cek cepat
Sudah membaca panduannya? Uji diri dengan 3 pertanyaan
Pertanyaan 01
Apa yang membuat filter CUSUM mencatat sebuah bar sebagai event?
Pilih jawaban untuk melihat penjelasannya
Glosarium opsi
The current IV's position between a lookback-period low and high; one outlier can distort it, so it should not be read as a standalone signal.
Baca panduan lengkapIV percentileThe percentage of observations in a lookback window below the current IV; the result depends on the data series, window, and treatment of missing or extreme values.
Baca panduan lengkapVIXA constant 30-day expected-volatility measure for the S&P 500 calculated from a strip of SPX option prices; it is not the IV of an individual stock or contract.
Baca panduan lengkap