ผู้เขียน: gpwr
Hodrick-Prescott Filter เป็นเครื่องมือที่นิยมใช้ในวงการเทรด เนื่องจากมันไม่มีการดีเลย์ในการคำนวณ โดยจะคำนวณจากการลดฟังก์ชันวัตถุ
F = Sum((y[i] - x[i])^2,i=0..n-1) + lambda*Sum((y[i+1]+y[i-1]-2*y[i])^2,i=1..n-2)
ที่ x[] คือราคาสินทรัพย์, y[] คือค่าที่กรองออกมา ด้านล่างนี้เป็นตัวอย่างการแสดงผลของฟิลเตอร์ (ดูได้จากไฟล์ HP.mq4 ที่แนบมาด้านล่าง)

ถ้า Hodrick-Prescott Filter สามารถมองเห็นอนาคตได้ มันจะแนะนำค่าที่คาดการณ์ไว้ในอนาคตอย่างไร? เพื่อตอบคำถามนี้ เราควรหาฟิลเตอร์ดิจิตอลที่มีความถี่ต่ำ โดยมีพารามิเตอร์ความถี่ที่คล้ายคลึงกับ Hodrick-Prescott Filter แต่คำนวณค่าจากค่าที่ผ่านมาเองของ "ทวินฟิลเตอร์" คือ
y[i] = Sum(a[k]*x[i-k],k=0..nx-1) - FIR filter
หรือ
y[i] = Sum(a[k]*x[i-k],k=0..nx-1) + Sum(b[k]*y[i-k],k=1..ny) - IIR filter
การเลือก "ทวินฟิลเตอร์" ที่มีการดีเลย์ที่ไม่ขึ้นกับความถี่ Тdel (ค่าดีเลย์กลุ่มคงที่) เป็นสิ่งที่ดีกว่า ฟิลเตอร์ IIR ไม่เหมาะสม สำหรับฟิลเตอร์ FIR เงื่อนไขของการดีเลย์ที่ไม่ขึ้นกับความถี่เป็นดังนี้:
a[i] = +/-a[nx-1-i], i = 0..nx-1
ฟิลเตอร์ FIR ที่ง่ายที่สุดที่มีดีเลย์คงที่คือ Simple Moving Average (SMA):
y[i] = Sum(x[i-k],k=0..nx-1)/nx
กรณีที่ nx เป็นเลขคี่, Тdel = (nx-1)/2. หากเราย้ายค่าของฟิลเตอร์ SMA ไปข้างหลังตามจำนวนบาร์ที่เท่ากับ Тdel ค่าของ SMA จะตรงกับค่าของ Hodrick-Prescott Filter อย่างแม่นยำ การคำนวณที่ถูกต้องไม่สามารถทำได้เนื่องจากความแตกต่างที่สำคัญในพารามิเตอร์ความถี่ของทั้งสองฟิลเตอร์ (ดูกราฟด้านล่าง):

เพื่อให้ได้ค่าที่ใกล้เคียงกันมากที่สุดระหว่างค่าฟิลเตอร์ ผมแนะนำให้ความกว้างของช่องสัญญาณคล้ายกัน (เช่น -6dB). ความกว้างของช่องสัญญาณของฟิลเตอร์ Hodrick-Prescott ที่ -6dB คำนวณได้ดังนี้:
wc = 2*arcsin(0.5/lambda^0.25).
ความกว้างของช่องสัญญาณที่ -6dB สำหรับฟิลเตอร์ SMA คำนวณได้จากการคำนวณเชิงตัวเลขตามสมการด้านล่าง:
|H(w)| = sin(nx*wc/2)/sin(wc/2)/nx = 0.5
กราฟด้านล่างเปรียบเทียบค่าของฟิลเตอร์ทั้งสองที่มีความกว้างช่องที่คล้ายกัน: สีแดง - ฟิลเตอร์ Hodrick-Prescott (FiltPer = 25), สีน้ำเงิน - SMA (Period = 15, Shift = -7). โปรดสังเกตว่าไม่มีข้อมูล SMA สำหรับ 7 บาร์สุดท้าย เพราะมันต้องการข้อมูลราคาที่จะเกิดขึ้นในอนาคต ในทางกลับกัน ฟิลเตอร์ Hodrick-Prescott (สีแดง) แสดงค่าบางอย่าง หาก SMA ที่ถูกย้ายไปข้างหลังซ้ำค่าของฟิลเตอร์ Hodrick-Prescott ใน 7 บาร์สุดท้ายหลังจากที่ราคาที่เกิดขึ้นในอนาคตปรากฏแล้ว ค่าที่จะเป็นอย่างไร?

อัลกอริธึมการทำนาย:
ตัวชี้วัดนี้มีวิธีการทำนายสองแบบ:
วิธีที่ 1:
- ตั้งความยาวของ SMA เป็น 3 และย้ายไปข้างหลัง 1 บาร์ ด้วยความยาวนี้ SMA ที่ถูกย้ายไปข้างหลังจะไม่มีอยู่สำหรับบาร์สุดท้าย (Bar = 0) เนื่องจากต้องการค่าของราคาปิดในอนาคต Close[-1].
- คำนวณความกว้างช่องของฟิลเตอร์ SMA โดยตั้งให้เท่ากับฟิลเตอร์ Hodrick-Prescott. หา lambda.
- คำนวณค่าฟิลเตอร์ Hodrick-Prescott ที่บาร์สุดท้าย HP[0] และสมมติว่า SMA[0] ที่มี Close[-1] ที่ไม่รู้จักให้ค่าเดียวกัน.
- หา Close[-1] = 3*HP[0] - Close[0] - Close[1]
- เพิ่มความยาวของ SMA เป็น 5. ทำการคำนวณทั้งหมดซ้ำและหา Close[-2] = 5*HP[0] - Close[-1] - Close[0] - Close[1] - Close[2]. ทำซ้ำจนกว่าจะคำนวณค่าราคาที่คาดการณ์ในอนาคตจำนวนที่ระบุ.
วิธีที่ 2:
- ตั้งความยาวของ SMA ให้เท่ากับ 2*FutBars+1 และย้าย SMA ไปข้างหลังตามจำนวน FutBars.
- คำนวณความกว้างช่องของฟิลเตอร์ SMA ให้เท่ากับฟิลเตอร์ Hodrick-Prescott. หา lambda.
- คำนวณค่าฟิลเตอร์ Hodrick-Prescott ที่บาร์สุดท้าย FutBars และสมมติว่า SMA จะมีพฤติกรรมคล้ายกันเมื่อราคาที่ใหม่เข้ามา.
- หา Close[-1] = (2*FutBars+1)*HP[FutBars-1] - Sum(Close[i],i=0..2*FutBars-1), Close[-2] = (2*FutBars+1)*HP[FutBars-2] - Sum(Close[i],i=-1..2*FutBars-2), เป็นต้น.
ตัวชี้วัดนี้มี การตั้งค่า:
- Method - วิธีการทำนาย
- LastBar - จำนวนบาร์สุดท้ายที่ตรวจสอบการทำนายจากราคาที่มีอยู่ (LastBar >= 0)
- PastBars - จำนวนบาร์ก่อนหน้าที่จะคำนวณฟิลเตอร์ Hodrick-Prescott (ยิ่งมากยิ่งดี หรืออย่างน้อย PastBars > 2*FutBars)
- FutBars - จำนวนค่าที่คาดการณ์ในอนาคต
ตัวชี้วัดจะเน้นค่าที่คาดการณ์ด้วยสีแดง วิธีที่ 1 ถูกใช้ในตัวอย่างด้านล่าง:

วิธีที่ 2:

วิธีที่สองมีความแม่นยำมากกว่า แต่บางครั้งมีการพุ่งของราคาที่คาดการณ์เป็นครั้งแรกสูงมาก วิธีการทำนายที่อธิบายสามารถพัฒนาได้โดยการค้นหาฟิลเตอร์ FIR ที่มีพารามิเตอร์ความถี่ใกล้เคียงกับฟิลเตอร์ Hodrick-Prescott เช่น Hanning, Blackman, Kaiser และฟิลเตอร์อื่น ๆ ที่มีดีเลย์คงที่แทน SMA.
ผู้เขียนขอขอบคุณผู้ใช้งาน Korey สำหรับตัวชี้วัดฟิลเตอร์ Hodrick-Prescott ดั้งเดิมที่โพสต์ในฟอรัมด้านล่าง (ภาษาอังกฤษ):
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- เครื่องมือ Master Tools - อินดิเคเตอร์สำหรับ MetaTrader 4
- Volume Profile + Range v6.0: เครื่องมือวิเคราะห์การซื้อขายใน MetaTrader 5
- FX Multi-Meter II: เครื่องมือช่วยเทรดที่ครบครันสำหรับนักลงทุน
- การวิเคราะห์สเปกตรัมเดี่ยว: ตัวชี้วัดแนวโน้มสำหรับ MetaTrader 5