สารบัญบทความ

หลักฐานและขอบเขต

เอกสารแพลตฟอร์มและสไลด์ของ Brian Shannon อธิบายการคำนวณ การเลือกจุดยึด และการย่อกลับ แต่ไม่ได้ให้ชุดผลตอบแทนที่ผ่านการตรวจสอบอย่างอิสระสำหรับอัลกอริทึมที่เสนอดังต่อไปนี้ การที่ราคาแตะ VWAP ไม่ได้ทำให้รายการซื้อขายมีกำไรโดยอัตโนมัติ [1] [2] [3]

ข้อมูลและตลาดราคาและปริมาณการซื้อขายที่สม่ำเสมอ โดยควรมีความละเอียดระดับการซื้อขายรายบุคคล OHLCV ร่วมกับ HLC3 จะให้ค่าประมาณ จำเป็นต้องมีปฏิทินเซสชันและเวลาประทับการเผยแพร่เหตุการณ์สำหรับกฎแองเคอร์ที่เกี่ยวข้อง
กรอบเวลาที่ใช้วิจัยเวอร์ชันรายวันและเวอร์ชันระหว่างวันต้องใช้การทดสอบแยกกัน ความยาวของหน้าต่างในบทความนี้เป็นการตั้งค่าสำหรับการวิจัย ไม่ใช่คำแนะนำที่เหมาะสมที่สุด
ราคาจำลองปรับตัวลงมายังบริเวณอ้างอิง AVWAP และฟื้นตัวขึ้น เส้นประเป็นราคาอ้างอิง ณ เหตุการณ์ ราคาจริง AVWAP จะเปลี่ยนแปลงไปตามปริมาณการซื้อขายที่เข้ามาเปิดภาพประกอบขนาดเต็ม
ภาพประกอบจำลองต้นฉบับ ราคาจำลองดึงกลับไปยังบริเวณอ้างอิง AVWAP ที่ใช้เป็นตัวอย่าง แล้วฟื้นตัวขึ้น เส้นประเป็นเส้นอ้างอิง ณ เหตุการณ์ ราคาจริง AVWAP จะเปลี่ยนแปลงไปตามปริมาณการซื้อขายที่เข้ามา

ขั้นตอนปฏิบัติ

ขั้นตอนสำหรับ VWAP และ Anchored VWAP: การเลือกจุดยึดเชิงสาเหตุ
ขั้นตอนทั้งหมดอธิบายไว้ด้านล่าง ทุกขั้นต้องบันทึกเหตุผลที่คัดออกเมื่อข้อมูลไม่ครบหรือเงื่อนไขไม่ผ่าน
  1. กำหนดจุดยึดกฎที่กำหนดไว้และเวลาที่ระบุความพร้อมใช้งานจะต้องปรากฏก่อนสัญญาณ
  2. เลือกข้อมูลระบุว่าจะใช้รายการซื้อขายแต่ละรายการเพื่อคำนวณตรง หรือใช้ HLC3 เป็นค่าประมาณรายแท่ง
  3. สะสมข้อมูลที่ทราบแล้วตามเวลาใช้ข้อมูลราคาและปริมาณจนถึงจุดตัดการตัดสินใจเท่านั้น
  4. รอการตอบสนองของราคาต้องมีการฟื้นตัวหลังจากดึงกลับ ไม่ใช่แค่แตะเบาๆ
  5. ตรวจสอบความถูกต้องทีละขั้นตอนเปรียบเทียบโอกาสซื้อขายชุดเดียวกันโดยรวมต้นทุนการส่งคำสั่งและจับคู่ที่สมจริง

ราคาซื้อขายเฉลี่ย ไม่ใช่ราคาแนวรับที่รับประกัน

การซื้อขายที่แม่นยำ VWAP จะหารผลรวมของราคาซื้อขายคูณด้วยปริมาณด้วยปริมาณทั้งหมด การใช้งานกราฟหลายๆ แบบจะแทนที่การซื้อขายแต่ละรายการด้วย HLC3 ของแต่ละแท่งราคาคูณด้วยปริมาณ การประมาณค่านี้อาจเปลี่ยนแปลงได้เมื่อช่วงเวลาของแท่งราคาเปลี่ยนไป เอกสารของ TradingView แสดงการคำนวณตามแท่งราคาและช่วงเวลาการรีเซ็ตที่เลือกได้ [1]

จุดยึดอาจเป็นจุดเริ่มต้นของช่วงเวลาที่กำหนดไว้ เหตุการณ์ผลประกอบการที่เผยแพร่ไปแล้ว การทะลุแนวต้านที่ได้รับการยืนยัน หรือการแกว่งตัวที่ได้รับการยืนยัน สไลด์ของแชนนอนใช้จุดยึดและความชันที่มีความหมาย และไม่ได้ถือว่าทุกการสัมผัสเป็นการซื้อโดยอัตโนมัติ [3] ระยะห่างจากเส้นอธิบายตำแหน่งที่สัมพันธ์กับตัวอย่างที่เลือก ไม่ได้เปิดเผยต้นทุนพื้นฐานของกลุ่มผู้เข้าร่วมตลาดเฉพาะกลุ่มใดกลุ่มหนึ่ง

การกำหนดจุดอ้างอิง (Anchoring) เป็นการตัดสินใจในการสร้างแบบจำลอง จุดอ้างอิงช่วงเวลา (session anchor) ถามว่าโดยเฉลี่ยแล้วการซื้อขายในแต่ละวันเกิดขึ้นที่ใด จุดอ้างอิงเหตุการณ์ (event anchor) ถามว่าการซื้อขายเกิดขึ้นที่ใดนับตั้งแต่เหตุการณ์นั้นเกิดขึ้น ไม่มีจุดอ้างอิงใดเหนือกว่าจุดอ้างอิงอื่นเสมอไป และการหาค่าเฉลี่ยของจุดอ้างอิงที่ดูน่าสนใจหลายจุดไม่ได้สร้างหลักฐานที่เป็นอิสระ ระบุคำถามก่อนเลือกเวลาเริ่มต้น

เวลาเกิดเหตุการณ์และเวลาที่ข้อมูลพร้อมใช้

บันทึก event_at และ available_at แยกกัน จุดต่ำสุดที่เกิดขึ้นในวันจันทร์ แต่ต้องการแท่งเทียนรายวันอีกสองแท่งเพื่อยืนยัน จะกลายเป็นจุดอ้างอิงได้ก็ต่อเมื่อปิดตลาดในวันพุธเท่านั้น ณ จุดนั้น สามารถลากเส้นจากวันจันทร์ได้ แต่จะไม่สามารถจำลองการซื้อขายในวันจันทร์โดยใช้การยืนยันจากวันพุธได้

จุดอ้างอิงที่ได้มาจากข่าวสารจำเป็นต้องมีเวลาเผยแพร่ที่พร้อมใช้งานสำหรับกลยุทธ์นั้นๆ ไฟล์และป้ายกำกับที่แก้ไขหลังจากราคาเปลี่ยนแปลงไม่ถือเป็นหลักฐานที่เกิดขึ้นพร้อมกัน จุดอ้างอิงบนกราฟที่ลากได้อย่างอิสระมีประโยชน์สำหรับการสำรวจ แต่จำเป็นต้องมีกฎการเลือกที่ชัดเจนก่อนที่จะกลายเป็นอัลกอริทึม เครื่องมือวาดภาพของ TradingView จะบันทึกจุดเริ่มต้นที่ผู้ใช้เลือกไว้ [2]

กำหนดการแทนที่และการหมดอายุด้วย หากเกิดเบรกเอาต์ใหม่ จะเปลี่ยนจุดยึดเดิม สร้างโอกาสซื้อขายอิสระอีกชุด หรือคงรายการที่เปิดอยู่ไว้? ต้องตัดสินใจก่อนทดสอบ การเปลี่ยนจุดยึดทุกครั้งที่สถานะดูไม่สบายใจอาจขยายความเสี่ยงโดยไม่รู้ตัว และทำให้แนวรับในอดีตที่แสดงอยู่ไม่สามารถสร้างซ้ำได้

การคำนวณสะสมและเงื่อนไขที่ตรึงไว้

ถ้าราคาเป็นดอลลาร์สหรัฐต่อเหรียญ และปริมาณเป็นจำนวนเหรียญ ตัวเศษถ่วงน้ำหนักมีหน่วยเป็นดอลลาร์สหรัฐ ส่วนผลหารกลับเป็นดอลลาร์สหรัฐต่อเหรียญ การแทนจำนวนเหรียญด้วยมูลค่าซื้อขายในสกุลเงินอ้างอิงเปลี่ยนวิธีถ่วงน้ำหนัก เมื่อปริมาณสะสมเป็นศูนย์ ให้คืน NA บัฟเฟอร์ ATR และเงื่อนไขด้านล่างเป็นกฎทดลองที่เสนอ ไม่ใช่การจำลองระบบของ Shannon ทั้งหมด

คำนวณจากข้อมูลที่ได้รับภายในเวลาตัดสินใจเท่านั้น ข้อมูลแก้ไขที่มาทีหลังต้องมีนโยบายเป็นลายลักษณ์อักษรว่าจะใช้ข้อมูลตามที่ทราบในแต่ละเวลาอย่างไร เก็บประเภทราคา รุ่นของกฎจุดยึด หน่วยปริมาณ และเวลาตัดข้อมูลเพื่อเทียบกราฟกับระบบจับคู่คำสั่ง เงื่อนไขแนวโน้มตัวอย่างเป็นเพียงตัวกรอง การเข้าซื้อขายยังต้องมีเหตุการณ์ราคาแยกต่างหาก

ในการหาความชัน ให้คำนวณทั้งค่าปัจจุบันและค่าห้าแท่งก่อนหน้าจากจุดยึดเดียวกัน ห้ามใช้ค่าที่บันทึกไว้จากจุดยึดอื่น ปริมาณสะสมถึงห้าแท่งก่อนหน้าต้องเป็นบวกด้วย การสร้างช่วงก่อนหน้าขึ้นใหม่หลังทราบจุดยึดใช้ตัดสินใจในปัจจุบันได้ แต่ไม่อนุญาตให้สร้างสัญญาณย้อนหลัง

ในรหัสเทียม t และ a คือดัชนีแท่งเทียน start_bar_index คือแท่งเทียนแรกที่เลือกโดยกฎแองเคอร์ ในขณะที่ available_at คือการประทับเวลา สำหรับข่าวที่เผยแพร่ภายในแท่งเทียน เวอร์ชัน OHLCV จะเริ่มต้นด้วยแท่งเทียนที่สมบูรณ์แท่งแรกที่เริ่มต้นในหรือหลังเหตุการณ์นั้น เวอร์ชันที่อิงตามการซื้อขายสามารถเริ่มต้นที่การประทับเวลาของเหตุการณ์ได้อย่างแม่นยำ โปรดแยกข้อกำหนดเหล่านี้ออกจากกัน

anchor = first_confirmed_event(rule, data_asof=bar_close_time(t))
if anchor is None: return NO_SIGNAL
a, known_at = anchor.start_bar_index, anchor.available_at
if bar_close_time(t) < known_at: return NO_SIGNAL
pv = sum(((H[i]+L[i]+C[i])/3)*V[i] for i in a..t)
vol = sum(V[i] for i in a..t)
if vol <= 0: return INSUFFICIENT_DATA
avwap_now = pv / vol
trend_ok = False
if t >= a+5:
    past_vol = sum(V[i] for i in a..t-5)
    if past_vol > 0:
        past_pv = sum(((H[i]+L[i]+C[i])/3)*V[i] for i in a..t-5)
        avwap_lag = past_pv / past_vol
        trend_ok = C[t] > avwap_now and avwap_now > avwap_lag
# Both values use this same anchor; only emit a decision now.
# The trade trigger remains separate from this example filter.

การคำนวณด้วยมือและตัวอย่างความล้มเหลวสองกรณี

พิจารณาการซื้อขายสังเคราะห์สามรายการ: 10 หน่วยที่ราคา 100, 20 หน่วยที่ราคา 102 และ 10 หน่วยที่ราคา 99 ค่า VWAP เท่ากับ (1000 + 2040 + 990)/40 = 100.75 ค่าเฉลี่ยไม่ถ่วงน้ำหนักอยู่ที่ประมาณ 100.333 ส่วนราคาล่าสุดคือ 99 ค่าทั้งหมดตอบคนละคำถาม หากรวมการซื้อขายเป็นแท่งเดียวที่มี H=102, L=99 และ C=99 ค่า HLC3 จะเป็น 100 ซึ่งต่างจาก VWAP ที่คำนวณจากการซื้อขายจริงทุกครั้งอยู่ 0.75

ราคา 101 ที่สูงกว่า VWAP 100.75 ไม่ได้สร้างผลตอบแทนที่คาดหวังเป็นบวกสำหรับการซื้อที่ 101 เส้นทางความล้มเหลวเส้นหนึ่งเคลื่อนจาก 101 ผ่าน 100.75 ไปยัง 99 ในแนวโน้มขาลง การซื้อทุกครั้งที่แตะระดับนั้นเป็นการพยายามซ้ำๆ เพื่อจับจังหวะการลดลง ความล้มเหลวประการที่สองคือการเลือกจุดยึดหลังจากเห็นว่าเส้นแนวโน้มในอนาคตนั้นสอดคล้องกับการดีดตัวขึ้นที่น่าสนใจหลายครั้ง

แผนภูมิใช้ระดับอ้างอิงคงที่เพื่อแสดงลำดับอย่างชัดเจน ข้อมูล AVWAP จริงจะอัปเดตเมื่อมีปริมาณการซื้อขายใหม่เข้ามา อย่านำระดับแนวนอนที่วาดไว้ไปใช้ราวกับว่าเป็นชุดข้อมูล VWAP ในอดีตทั้งหมด บทบาทของมันคือการอธิบายตำแหน่งที่เป็นไปได้ การดึงกลับ และการฟื้นตัวในภายหลัง

การย่อกลับต้องมีเงื่อนไขฟื้นตัวและยกเลิก

รูปแบบฝั่งซื้อที่เสนอแบบหนึ่งต้องผ่านเงื่อนไขแนวโน้มก่อนเกิดการย่อกลับ การย่อครั้งแรกเข้าบริเวณ AVWAP ±0.15 ATR จากนั้นภายในสามแท่งถัดไป ราคาปิดต้องสูงกว่าจุดสูงของแท่งทดสอบและปิดเหนือ AVWAP ตรึง ATR เมื่อสร้างโอกาสซื้อขาย ตั้งจุดตัดขาดทุนต่ำกว่าจุดต่ำของการย่อกลับลบด้วยบัฟเฟอร์ และเข้าที่เหตุการณ์ถัดไปที่จับคู่คำสั่งได้จริงโดยรวมสเปรดและสลิปเพจ

ยกเลิกโอกาสซื้อขายที่ยังไม่จับคู่ หากราคาปิดต่ำกว่าบริเวณที่อนุญาตก่อนยืนยัน หรือเมื่อหมดเวลาที่กำหนด กลยุทธ์ที่บังคับให้ทุกแท่งของการย่ออยู่เหนือ VWAP อาจตัดการทดสอบชั่วคราวที่ตั้งใจศึกษาออกไป แยกสภาวะแนวโน้มก่อนย่อออกจากเงื่อนไขการฟื้นตัว

สำหรับการเกิดครอสโอเวอร์ ให้เปรียบเทียบราคาปิดของเมื่อวานกับ VWAP ของเมื่อวาน และราคาปิดของวันนี้กับ VWAP ของวันนี้ การเปรียบเทียบราคาปิดทั้งสองกับเส้นเคลื่อนที่ของวันนี้จะเปลี่ยนคำจำกัดความของเหตุการณ์ เมื่อเปิดสถานะแล้ว ให้คงจุดหยุดขาดทุนตามโครงสร้างที่กำหนดไว้ล่วงหน้า หรือกฎการหยุดขาดทุนตามหลังที่ระบุไว้แยกต่างหาก อย่าเลื่อนจุดยึดเพื่อปรับจุดหยุดขาดทุนให้กว้างขึ้น

เป้าหมายการกลับสู่ค่าเฉลี่ยต้องมีกติกาชัดเจนด้วย เป้าหมาย VWAP ที่ตรึง ณ เหตุการณ์ต่างจากเป้าหมาย VWAP ที่เคลื่อนตลอดเวลา กรณีหลังต้องระบุว่าปรับคำสั่งหลังรับข้อมูลแต่ละครั้งหรือไม่ และสะท้อนเวลาจับคู่ที่ตามมา การที่เส้นเคลื่อนผ่านระดับคำสั่งลิมิตที่รออยู่ในภายหลังไม่ใช่หลักฐานว่าคำสั่งจับคู่แล้ว

เพิ่มเงื่อนไขปริมาณซื้อขายโดยไม่ซ้ำข้อมูลเดิม

VWAP ใช้ปริมาณการซื้อขายเพื่อถ่วงน้ำหนักตำแหน่งราคาอยู่แล้ว RVOL อาจเพิ่มข้อมูลได้อีก เนื่องจากวัดการมีส่วนร่วมที่ผิดปกติเมื่อเทียบกับเส้นฐาน แต่ต้องวัดค่าส่วนเพิ่มด้วย ควรทดสอบการหดตัวในช่วงการปรับตัวลงและการขยายตัวในช่วงการฟื้นตัวแยกกันก่อนที่จะนำมารวมกัน

สำหรับแบนด์ VWAP ให้ระบุว่าความแปรปรวนใช้การซื้อขายหรือตัวแทนแท่งเทียน วิธีที่ปริมาณการซื้อขายส่งผลต่อการถ่วงน้ำหนัก และเมื่อใดที่การประมาณค่าจะถูกรีเซ็ต ระยะห่างสองส่วนเบี่ยงเบนมาตรฐานไม่ได้หมายความโดยอัตโนมัติว่า 95% มีความน่าจะเป็นของการกลับตัวหรือกลับสู่ค่าเฉลี่ย แนวโน้ม ความสัมพันธ์ และการกระจายตัวของข้อมูลทำให้ทางลัดนั้นใช้ไม่ได้ผล

ตัวชี้วัดสองตัวที่ดูสอดคล้องกันไม่ได้หมายความว่าเป็นการสังเกตทางสถิติที่เป็นอิสระต่อกัน ตัวอย่างเช่น ราคาที่อยู่เหนือ VWAP ที่กำลังเพิ่มขึ้น และราคาที่อยู่เหนือค่าเฉลี่ยเคลื่อนที่ อาจให้ข้อมูลที่คล้ายคลึงกันมาก ควรใช้การเปรียบเทียบแบบควบคุม แทนที่จะใช้คะแนนแบบสุ่มที่ให้คะแนนความเชื่อมั่นเพิ่มขึ้นกับแต่ละเงื่อนไขที่สัมพันธ์กัน

ทดสอบกฎเลือกจุดยึด ไม่ใช่เส้นที่ดูดีที่สุด

ลงทะเบียนกฎจุดยึดกลุ่มเล็กล่วงหน้า เช่น เวลาเริ่มเซสชัน เบรกเอาต์ที่ยืนยันแล้ว และพิวอตที่ยืนยันแล้ว เปรียบเทียบบนโอกาสซื้อขายจากราคาชุดเดียวกันระหว่างไม่ใช้ VWAP ใช้ตำแหน่งราคาอย่างเดียว ใช้ตำแหน่งพร้อมความชัน และเพิ่มตัวกรองปริมาณซื้อขาย รายงานความไวของค่าประมาณ HLC3 ต่อกรอบเวลาและจำนวนโอกาสที่เสียไปเพราะจุดยึดพร้อมใช้ช้า

ตรวจสอบว่าสัญญาณเดิมไม่เปลี่ยนเมื่อเพิ่มข้อมูลต่อท้าย: คำนวณถึงเวลาตัดข้อมูลในอดีต เพิ่มข้อมูลหลังจากนั้น และตรวจว่าสัญญาณที่ออกไปแล้วคงเดิม การเปลี่ยนเส้นในอดีตที่แสดงหลังยืนยันสวิงต้องไม่เขียนทับบันทึกสัญญาณ เก็บ anchor_rule_version, event_at, available_at, แหล่งปริมาณซื้อขาย และ price_type

สุดท้าย จำลองการคำนวณอีกครั้งเมื่อข้อมูลมาล่าช้าและการจับคู่คำสั่งสมจริง รายงานค่าคาดหวังสุทธิ ความถี่รายการ ดรอว์ดาวน์ และโอกาสที่ถูกปฏิเสธ หากผลงานพึ่งการจับคู่ตรงราคาปิดหรือการเลือกจุดยึดใหม่สำหรับแต่ละตัวอย่างที่ชนะ ผลที่มีประโยชน์คือคำเตือนด้านการนำไปใช้ ไม่ใช่ความได้เปรียบที่พร้อมใช้ซื้อขายจริง

ข้อผิดพลาดที่พบบ่อย

เลือกจุดยึดจากผลลัพธ์

การลองหลายจุดยึดบนชุดทดสอบสุดท้ายเพิ่มโอกาสเลือกเส้นที่ดูเข้ากันโดยบังเอิญ

แทนจำนวนสินทรัพย์ฐานด้วยมูลค่าซื้อขายในสกุลเงินอ้างอิง

การเปลี่ยนแปลงนี้จะส่งผลต่อการกำหนดน้ำหนักและต้องใช้คำจำกัดความคุณลักษณะที่แตกต่างออกไป

สมมติว่าจับคู่คำสั่งที่ราคาปิดซึ่งเพิ่งทราบ

ผลลัพธ์ที่ดูดีอาจเกิดจากการละเลยสเปรดและความล่าช้าในการตัดสินใจ

รายการตรวจสอบก่อนใช้วิธีนี้

ทำเครื่องหมายแต่ละข้อหลังตรวจสอบกับข้อมูลของคุณแล้ว ความคืบหน้าจะบันทึกในเบราว์เซอร์นี้ แต่ไม่ได้รับรองว่ากลยุทธ์ทำกำไรได้

0/8 ข้อ

คำถามที่พบบ่อย

VWAP หรือ AVWAP อันไหนดีกว่ากัน?

ความแตกต่างหลักอยู่ที่ช่วงเวลาที่เลือก เลือกจุดอ้างอิงเพื่อตอบคำถามเฉพาะเจาะจงและตรวจสอบความถูกต้องกับข้อมูลที่ต้องการ

ใช้จุดสูงหรือต่ำแบบสวิงในอดีตเป็นจุดยึดได้หรือไม่?

ได้ แต่เริ่มให้สัญญาณได้หลังจุดสวิงได้รับการยืนยันแล้วเท่านั้น การวาดเส้นย้อนกลับไปในอดีตไม่อนุญาตให้จำลองการซื้อขายย้อนหลังด้วยข้อมูลที่เพิ่งทราบ

แหล่งวิจัย

แต่ละแหล่งสนับสนุนคำจำกัดความหรือหลักฐานที่อธิบายไว้ข้างกัน รหัสเทียม ตัวอย่างสมมติ และพารามิเตอร์ที่เสนอต้องผ่านการตรวจสอบแยกต่างหาก

  1. Volume Weighted Average Price (VWAP)TradingView. การคำนวณ VWAP แบบแท่ง และช่วงเวลาการยึด/รีเซ็ต ตรวจสอบเมื่อ: .
  2. Anchored VWAP drawing toolTradingView. จุดเริ่มต้นที่ผู้ใช้เลือกสำหรับ VWAP ที่ยึดตรึงไว้ของเครื่องมือ ตรวจสอบเมื่อ: .
  3. Specific Anchored VWAP StrategiesBrian Shannon / CMT Association. สไลด์สาธารณะเกี่ยวกับจุดยึด ความลาดชัน และการดึงกลับ; ไม่ได้อ้างว่าได้อ่านหนังสือที่ต้องชำระเงินทั้งเล่ม ตรวจสอบเมื่อ: .

วิธีการที่เกี่ยวข้อง

หมายเหตุความเสี่ยง

เนื้อหานี้ใช้เพื่อการศึกษาและออกแบบงานวิจัย ไม่ใช่คำแนะนำทางการเงิน Backtest เป็นการจำลองข้อมูลในอดีต ไม่รับประกันผลในอนาคตและไม่ส่งคำสั่งซื้อขายจริง วิธีการในคลังนี้ไม่ได้หมายความว่ามีเป็นฟีเจอร์ในแอปทั้งหมด ดู ระเบียบวิธี และ ศูนย์การเรียนรู้.

ตรวจสอบกฎก่อนเสี่ยงด้วยเงินจริง

ตรวจสอบความสามารถของแอป ข้อมูล และแต่ละรายการซื้อขายจำลอง ตัวตรวจจับขั้นสูงอาจต้องพัฒนาแยกต่างหาก

ดาวน์โหลด Backtest บน App Store