Bagaimana Zero Lag Moving Average Dihitung? (Rumus, Parameter, dan Kebutuhan Data)
Jawaban langsung
Zero Lag Moving Average (ZLMA) dihitung dengan mengambil konsep moving average yang sudah ada (biasanya rata-rata tertimbang atau dihaluskan dari harga) dan memasukkannya ke dalam deret input yang telah dimodifikasi (“tanpa lag”). Dengan kata lain, ZLMA bukanlah kumpulan data baru yang ajaib: ia mengolah ulang jenis rata-rata yang sama sehingga rata-rata tersebut bereaksi lebih cepat terhadap perubahan terkini.
Untuk menghitungnya secara akurat dan memverifikasinya secara independen, Anda perlu menentukan empat hal terlebih dahulu:
- sumber harga (misalnya, harga penutupan),
- metode penghalusan yang digunakan di dalam indikator (seringkali EMA, tetapi definisi pastinya bervariasi),
- panjang lookback (biasanya ditulis sebagai L), dan
- aturan penyesuaian “tanpa lag” yang tepat yang mengubah deret harga asli menjadi input yang disesuaikan.
Karena definisi ZLMA berbeda-beda di setiap implementasi, bagian terpenting dari setiap perhitungan adalah menggunakan rumus yang sama dengan yang sedang Anda uji.
Mekanisme atau definisi
Moving average mengubah deret waktu (nilai harga dari waktu ke waktu) menjadi deret yang lebih halus dengan merata-ratakan observasi terkini. Trade-off-nya adalah lag: moving average standar cenderung merespons setelah perubahan yang mendasarinya terjadi.
Pendekatan “zero lag” mencoba mengurangi lag tersebut dengan memperkirakan apa yang mungkin terjadi pada deret harga tanpa penundaan yang disebabkan oleh penghalusan. Cara umum untuk mengekspresikan ide ini adalah dengan membuat deret input yang disesuaikan dengan menggabungkan harga saat ini dengan versi harga yang tertinggal (lagged), kemudian menerapkan filter penghalusan pada input yang disesuaikan tersebut.
Struktur edukasi yang banyak digunakan terlihat seperti ini:
- Pilih deret harga (P_t) (misalnya, harga penutupan pada waktu (t)).
- Pilih panjang (L).
- Hitung input tanpa lag (P^{*}_t) menggunakan aturan yang bergantung pada (L) (dan terkadang pada setengah panjang atau offset lag).
- Hitung output sebagai rata-rata yang dihaluskan dari (P^{*}_t), seperti penghalusan gaya EMA:
[\text{ZLMA}_t = \text{Smooth}(P^{*}_t, L)]
Varian ZLMA yang berbeda memilih bagian yang berbeda dari langkah (3) dan (4). Itulah sebabnya dua grafik berlabel “Zero Lag Moving Average” bisa terlihat berbeda: pelabelan mungkin merujuk pada konsep umum yang sama, tetapi rumus yang mendasarinya bisa berbeda.
Parameter yang harus Anda tentukan
Bahkan untuk perhitungan yang “mandiri”, Anda harus menentukan parameter indikator:
- Panjang (L): berapa periode yang dicakup oleh penghalusan.
- Sumber (P_t): harga mana yang dirata-ratakan (penutupan, harga tipikal, dll.).
- Metode penghalusan di dalam ZLMA: penghalusan mirip EMA, penghalusan mirip SMA, atau filter rekursif lainnya.
- Aturan tanpa lag: rumus penyesuaian yang tepat yang menghasilkan (P^{*}_t) dari (P_t) asli.
Jika Anda tidak mengunci definisi tersebut, verifikasi menjadi ambigu.
Bukti atau contoh
Di bawah ini adalah pendekatan yang ramah verifikasi yang dapat Anda terapkan tanpa bergantung pada data pasar langsung.
Struktur contoh (dengan asumsi yang dinyatakan dengan jelas)
Asumsikan:
- Sumber harga adalah penutupan: (P_t).
- Panjang penghalusan adalah (L = 10).
- Input tanpa lag dibuat menggunakan offset lag (d) yang diturunkan dari panjang.
- Output akhir adalah filter penghalusan yang diterapkan pada input tanpa lag.
Anda dapat menulis perhitungan dalam bentuk umum yang dapat diperiksa:
- Pilih (d) (misalnya, offset yang sebanding dengan (L)).
- Bangun input tanpa lag (P^{*}t) sebagai fungsi dari (P_t) dan (P{t-d}).
- Terapkan penghalusan:
- Jika penghalusannya mirip EMA, ia menggunakan faktor bobot (\alpha) berdasarkan (L) (biasanya (\alpha = 2/(L+1))) dan pembaruan rekursif.
Kemudian, untuk setiap langkah waktu (t) di mana riwayat yang cukup tersedia, Anda menghitung: [P^{}t = f(P_t, P{t-d}, L)] [\text{ZLMA}_t = \text{EMA-like-smooth}(P^{}_t, L)]
Apa yang harus Anda verifikasi secara numerik
Untuk memastikan bahwa ZLMA yang Anda hitung cocok dengan implementasi referensi, periksa poin-poin ini secara berurutan:
- Penyelarasan: pastikan indeks waktu t sama di kedua sisi (kesalahan off-by-one sering terjadi).
- Periode pemanasan: banyak perhitungan moving average memerlukan beberapa bar sebelum nilainya stabil.
- Definisi input: harga yang digunakan di dalam indikator harus cocok (penutupan vs harga lain).
- Pemetaan parameter: konfirmasikan bagaimana implementasi mengubah panjang menjadi (d) dan menjadi faktor penghalusan.
Jika salah satu dari poin tersebut berbeda, hasil Anda dapat menyimpang bahkan jika konsep tingkat tingginya sama.
Keterbatasan material yang diungkapkan oleh contoh
Bahkan dengan matematika yang benar, ZLMA tetap merupakan filter rata-rata. Dalam data yang berisik, penyesuaian tanpa lag dapat meningkatkan responsivitas dengan imbalan lebih banyak volatilitas pada output. Dalam pembalikan tajam, mengurangi lag dapat menyebabkan indikator “berbelok” lebih awal daripada moving average tradisional, yang dapat menyebabkan overshoot relatif terhadap perilaku harga selanjutnya.
Jadi, keterbatasannya bukanlah masalah pengkodean; ini adalah hal yang melekat pada filter “lebih sedikit lag” yang berinteraksi dengan keacakan dan perubahan rezim yang tiba-tiba.
Keterbatasan dan risiko
-
Definisi indikator tidak universal. Istilah “Zero Lag Moving Average” digunakan dengan aturan tanpa lag dan penghalusan yang berbeda. Jika Anda memilih varian yang berbeda dari yang ditampilkan di platform, perhitungan Anda tidak akan cocok.
-
Ini tetap merupakan filter, bukan prediktor. Metode penghalusan tanpa lag dapat mengurangi lag ke moving average dari data masa lalu, tetapi tidak menjamin bahwa harga masa depan akan mengikuti indikator.
-
Noise dapat diperkuat. Saat Anda menyesuaikan input agar merespons lebih cepat, Anda juga dapat meningkatkan sensitivitas terhadap fluktuasi jangka pendek.
-
Kebutuhan data itu penting. Anda memerlukan sampling historis yang konsisten. Bar yang hilang, jeda sesi yang berbeda, atau perubahan konstruksi candle dapat mengubah deret yang dihitung.
-
Perhitungan bergantung pada kondisi awal. Penghalusan rekursif (umum dalam perhitungan gaya EMA) membutuhkan nilai awal atau metode inisialisasi; inisialisasi yang berbeda dapat memengaruhi output awal.
Keterbatasan ini mendefinisikan mode kegagalan: ketidakcocokan dalam definisi varian, sensitivitas terhadap input yang berisik, dan efek pemanasan/inisialisasi.
Verifikasi atau pertanyaan lanjutan
Untuk memverifikasi ZLMA secara independen:
- Tuliskan varian rumus persis yang Anda gunakan, termasuk aturan tanpa lag (P^{*}_t) dan metode penghalusan.
- Pilih sumber harga tetap dan panjang (L).
- Hitung indikator dari data historis menggunakan pengindeksan waktu dan penanganan pemanasan yang sama.
- Bandingkan hasil poin demi poin setelah periode pemanasan.
Pertanyaan lanjutan yang berguna untuk mengurangi ambiguitas adalah: Definisi varian ZLMA mana yang tepat yang Anda gunakan (aturan tanpa lag dan langkah penghalusan)? Jika Anda membagikan rumus spesifik yang ingin Anda replikasi (atau pseudo-code yang tepat), perhitungan dapat diperiksa secara tepat terhadapnya.