Cara Menghitung DPO: Rumus, Input, dan Verifikasi

Rumus perhitungan DPO, input, asumsi, dan keterbatasan.

Cara Menghitung DPO: Rumus, Input, dan Verifikasi

Jawaban langsung

DPO (Detrended Price Oscillator) dihitung dengan mengambil nilai rangkaian harga dari “sekarang” dan mengurangkan nilai rata-rata bergerak yang digeser mundur dalam waktu. Hasil yang tepat bergantung pada dua parameter pilihan pengguna: panjang rata-rata bergerak dan offset pergeseran (sering kali diturunkan dari panjang rata-rata bergerak).

Cara umum untuk menyatakan mekanismenya adalah:

  • Hitung rata-rata bergerak dari rangkaian harga yang dipilih selama panjang tertentu, dilambangkan dengan L.
  • Hitung offset pergeseran, dilambangkan dengan offset (biasanya offset = floor(L/2) + 1 dalam banyak definisi DPO).
  • Untuk setiap indeks waktu t, hitung
    • DPO(t) = Harga(t) − MA(t − offset)

Secara sederhana: Anda membandingkan harga saat ini dengan di mana “referensi” rata-rata bergeraknya seharusnya berada pada waktu sebelumnya, secara efektif menghilangkan (melepaskan) komponen tren jangka panjang.

Mekanisme dan definisi

Apa arti “Detrended” di sini

“Detrended” dalam DPO tidak berarti Anda menjalankan regresi tren statistik. Sebaliknya, DPO menggunakan pengurangan dan pergeseran waktu. Rata-rata bergerak mewakili versi harga yang mulus selama panjang L. Dengan menggeser nilai rata-rata bergerak tersebut ke belakang, DPO mencoba mengisolasi komponen siklikal di sekitar nol.

Input yang harus Anda pilih

Untuk menghitung DPO, Anda memerlukan:

  1. Rangkaian harga: misalnya, harga penutupan dari setiap periode waktu. Perhitungan Anda bergantung pada harga mana yang Anda gunakan.
  2. Metode rata-rata bergerak: biasanya rata-rata bergerak sederhana (SMA), meskipun beberapa implementasi menggunakan rata-rata bergerak lainnya.
  3. Panjang rata-rata bergerak (L): jumlah periode yang digunakan untuk menghitung rata-rata bergerak.
  4. Offset pergeseran (offset): pergeseran waktu yang diterapkan pada rata-rata bergerak. Banyak deskripsi menggunakan offset = floor(L/2) + 1, tetapi implementasi bervariasi, jadi Anda harus mengonfirmasi definisi yang digunakan oleh data atau platform Anda.

Langkah demi langkah (dengan asumsi eksplisit)

Asumsikan Anda menggunakan:

  • Harga = Close(t)
  • Rata-rata bergerak = SMA selama L periode
  • Offset pergeseran = offset = floor(L/2) + 1

Maka:

  1. Hitung SMA(t) untuk setiap waktu t di mana riwayat yang cukup tersedia:
    • SMA(t) = (1/L) * sum_{i=0..L-1} Close(t − i)
  2. Untuk waktu tertentu t di mana SMA(t − offset) tersedia, hitung:
    • DPO(t) = Close(t) − SMA(t − offset)

Ini membuat persyaratan data menjadi eksplisit: Anda tidak dapat menghitung DPO sampai Anda memiliki setidaknya L + offset periode riwayat.

Bukti atau contoh (dapat diperiksa sendiri)

Contoh dengan kumpulan data hipotetis kecil

Misalkan:

  • L = 5
  • offset = floor(5/2) + 1 = 3
  • harga adalah Close
  • rata-rata bergerak adalah SMA

Pada indeks waktu t:

  • Anda menghitung SMA(t − 3) menggunakan harga penutupan dari (t − 3) kembali ke (t − 3 − 4), yaitu total 5 nilai.
  • Kemudian Anda mengurangkan SMA tersebut dari Close(t).

Jadi DPO bukan “Close(t) − SMA(t)”. Perbedaannya adalah pergeseran: Anda menggunakan SMA(t − offset).

Cara memverifikasi perhitungan Anda sendiri secara independen

Untuk memverifikasi implementasi DPO Anda tanpa mengandalkan keluaran platform apa pun:

  1. Pilih L dan definisi offset yang akan Anda gunakan.
  2. Hitung rangkaian rata-rata bergerak MA(t) langsung dari data harga Anda.
  3. Geser rata-rata bergerak tersebut ke belakang sebesar offset untuk membuat MA_shifted(t) = MA(t − offset).
  4. Hitung DPO(t) = Harga(t) − MA_shifted(t).

Jika hasil Anda cocok, Anda telah mengonfirmasi mekanisme perhitungannya.

Keterbatasan dan risiko (mode kegagalan material)

1) Perbedaan implementasi mengubah keluaran numerik

DPO mudah dihitung, tetapi aturan offset dan terkadang jenis rata-rata bergerak dapat berbeda di seluruh definisi. Bahkan jika rumusnya terlihat serupa, mengubah offset satu periode dapat mengubah osilator.

2) Ketersediaan data menciptakan periode “pemanasan”

Karena DPO menggunakan rata-rata bergerak yang digeser, Anda memerlukan cukup titik historis untuk menghitung MA(t − offset). Nilai awal tidak terdefinisi atau bergantung pada cara alat Anda menangani riwayat yang hilang.

3) DPO dapat berperilaku tidak terduga ketika asumsi siklus rusak

DPO sering ditafsirkan sebagai mengisolasi perilaku siklikal di sekitar nol. Namun, jika dinamika harga berubah (misalnya, rezim volatilitas berubah atau perilaku tren berubah), pengurangan-dan-pergeseran mungkin tidak lagi mengisolasi komponen yang sama. Hal ini dapat menyebabkan interpretasi yang menyesatkan tentang persilangan nol atau amplitudo osilasi.

4) Biaya pasar dan eksekusi dapat memengaruhi penggunaan lanjutan apa pun

Meskipun artikel ini tentang perhitungan, penting untuk dicatat mode kegagalan praktis: jika seseorang menggunakan DPO untuk keputusan, hasil dunia nyata dipengaruhi oleh biaya transaksi, spread bid/ask, dan eksekusi. Faktor-faktor tersebut bukan bagian dari matematika indikator dan dapat mendominasi sinyal yang tampak.

Verifikasi atau pertanyaan berikutnya

Langkah berikutnya yang berguna adalah membandingkan dua implementasi independen:

  • satu dihitung secara manual dari spreadsheet Anda menggunakan DPO(t) = Harga(t) − MA(t − offset)
  • dan satu dihasilkan oleh alat charting pilihan Anda

Kemudian periksa apakah alat Anda menggunakan bidang harga yang sama, jenis rata-rata bergerak yang sama, dan definisi offset yang sama. Jika hasil Anda berbeda, penyebab yang paling mungkin adalah ketidakcocokan definisi, bukan kesalahan matematika.

Jika Anda mau, Anda juga dapat memeriksa bagaimana nilai L yang berbeda mengubah waktu dan kehalusan osilator, karena perilaku DPO sangat bergantung pada parameter yang dipilih.

Perdagangan forex dan CFD memiliki risiko besar. Informasi FoxiForex bersifat edukatif dan bukan nasihat keuangan pribadi. Penempatan bersponsor diberi label dengan jelas.