22 กันยายน 2026 · ฟิวเจอร์ส

กราฟฟิวเจอร์สต่อเนื่องของคุณคือสัญญาที่ไม่มีใครเทรดได้จริง

กราฟฟิวเจอร์สต่อเนื่องของคุณคือสัญญาที่ไม่มีใครเทรดได้จริง

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

ลองดูตัวอย่างที่เห็นภาพชัดเป็นพิเศษ: น้ำมันดิบ WTI ของ NYMEX ในวันที่ 20 เมษายน 2020 สัญญาเดือนพฤษภาคมชำระราคาที่ติดลบ 37.63 ดอลลาร์ต่อบาร์เรล ส่วนเดือนมิถุนายนชำระราคาที่บวก 20.43 ดอลลาร์ ราคาทั้งสองเป็นราคาจริง และส่วนต่าง 58.06 ดอลลาร์ก็เป็นตัวเลขจริงเช่นกัน แต่การเปลี่ยนกราฟจากเดือนพฤษภาคมไปเป็นเดือนมิถุนายนไม่ได้ทำให้สถานะซื้อได้กำไรเท่าส่วนต่างนั้น

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

CLK20 และ CLM20: รหัสสัญญาที่หายไปจากกราฟ

รายการสัญญาเดือนพฤษภาคมสัญญาเดือนมิถุนายน
รหัสสัญญาCLK20CLM20
เดือนส่งมอบพฤษภาคม 2020มิถุนายน 2020
ราคาชำระวันที่ 20 เมษายน ดอลลาร์ต่อบาร์เรล−37.6320.43
ขนาดสัญญา1,000 บาร์เรล1,000 บาร์เรล

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

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

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

1,000 บาร์เรล: ตัวคูณเบื้องหลังราคาทุกจุด

สัญญาฟิวเจอร์ส WTI มาตรฐานของ NYMEXมีขนาด 1,000 บาร์เรล ดังนั้นราคาที่เปลี่ยน 1 ดอลลาร์จะทำให้มูลค่าของสถานะซื้อหนึ่งสัญญาเปลี่ยน 1,000 ดอลลาร์ ส่วนการขยับหนึ่งช่องที่ 0.01 ดอลลาร์มีมูลค่า 10 ดอลลาร์

สำหรับสถานะในสัญญาเดียวที่ไม่เปลี่ยนแปลง คำนวณเบื้องต้นได้ดังนี้:

gross_pnl = contracts × 1,000 × (ending_price − starting_price)

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

58.06 ดอลลาร์: จุดที่ราคาขาดตอนตรงรอยต่อ

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

invented_pnl = 1 × 1,000 × (20.43 − (−37.63))
             = $58,060

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

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

การหัก 58,060 ดอลลาร์ออกไปโดยอ้างว่าเป็น “ต้นทุนการโรล” ที่จ่ายเป็นเงินสดก็ไม่ได้แก้แบบจำลองเช่นกัน ฟิวเจอร์สไม่ได้ซื้อด้วยการจ่ายเงินสดเต็มมูลค่าตามราคาที่เสนอ การปิดสัญญาหนึ่งแล้วเปิดอีกสัญญาทำให้สถานะเปลี่ยน เกิดกำไรขาดทุนที่รับรู้หรือชำระแล้ว ค่าธรรมเนียม ผลจากการส่งคำสั่ง และข้อกำหนดมาร์จิน ส่วนต่างระหว่างระดับราคาของทั้งสองสัญญาไม่ได้กลายเป็นเงินที่ต้องจ่ายออกโดยอัตโนมัติ

+58.06: การปรับย้อนหลังที่เขียนทับประวัติ

วิธีสร้างชุดราคาต่อเนื่องที่ใช้กันทั่วไปวิธีหนึ่งคือบวกส่วนต่างตอนโรลเข้ากับราคาก่อนหน้า ภายใต้วิธีนี้ ราคาเดือนพฤษภาคมที่ −37.63 จะกลายเป็น 20.43 ทำให้ราคาต่อเนื่องกับเดือนมิถุนายนโดยไม่มีจังหวะกระโดด ข้อมูลก่อนหน้าในช่วงประวัติเดียวกันก็ขยับขึ้น 58.06 เช่นกัน

วิธีสร้างชุดราคาสิ่งที่เกิดขึ้นตรงรอยต่อนี้ผลต่อการวิจัย
ไม่ปรับราคาส่วนต่าง 58.06 ยังคงอยู่อินดิเคเตอร์อาจตีความการเปลี่ยนสัญญาว่าเป็นการเคลื่อนไหวของตลาด
ปรับย้อนหลังแบบบวกส่วนต่างบวก 58.06 ให้ข้อมูลช่วงก่อนหน้าการเปลี่ยนแปลงราคาเป็นดอลลาร์ภายในช่วงเดิมยังคงเดิม แต่ระดับราคาในอดีตและการเปลี่ยนแปลงเป็นเปอร์เซ็นต์เปลี่ยนไป
ปรับย้อนหลังแบบคูณอัตราส่วนคูณข้อมูลช่วงก่อนหน้าด้วย 20.43 / −37.63 หรือประมาณ −0.543ตัวคูณติดลบกลับเครื่องหมายของการเปลี่ยนแปลงราคาในช่วงเดิม

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

การปรับแบบบวกส่วนต่างก็มีผลตามมาเช่นกัน สัญญาณที่ซื้อเมื่อราคาต่ำกว่าเกณฑ์คงที่ 30 ดอลลาร์อาจเปลี่ยนไปเมื่อการโรลในภายหลังเขียนทับระดับราคาในอดีต ส่วนสัญญาณค่าเฉลี่ยเคลื่อนที่เร็วลบช้าอาจไม่เปลี่ยนเมื่อมีการเลื่อนราคาทุกจุดด้วยจำนวนเท่ากัน ตราบใดที่หน้าต่างทั้งสองช่วงได้รับการเลื่อนเท่ากัน แต่หน้าต่างที่คร่อมจุดปรับราคาต้องตรวจแยกต่างหาก

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

รายการคำสั่งสองรายการที่กราฟต่อเนื่องทำหายไป

นี่คือตัวอย่างบัญชีที่ตั้งใจทำให้ง่ายขึ้น สมมติว่ามีการประเมินมูลค่าสัญญาเดือนพฤษภาคมหนึ่งสัญญาที่ −30.00 ก่อนโรล สมมติว่าปิดสัญญาเดือนพฤษภาคมและเปิดสัญญาเดือนมิถุนายนที่ราคาชำระจริงด้านบน จากนั้นประเมินมูลค่าสัญญาเดือนมิถุนายนที่ 21.00 ราคาที่ใช้สมมตินี้มีไว้แสดงวิธีบันทึกบัญชี

รายการในบัญชีวิธีคำนวณกำไรขาดทุนขั้นต้น
ปิดสถานะซื้อสัญญาเดือนพฤษภาคมหนึ่งสัญญาที่ −37.631,000 × (−37.63 − (−30.00))−$7,630
เปิดสถานะซื้อสัญญาเดือนมิถุนายนหนึ่งสัญญาที่ 20.43ไม่มีการเปลี่ยนแปลงราคา ณ จุดเข้าซื้อ$0
ประเมินมูลค่าสัญญาเดือนมิถุนายนที่ 21.001,000 × (21.00 − 20.43)+$570
รวมก่อนหักต้นทุนการส่งคำสั่งและค่าธรรมเนียม−$7,060

ส่วนต่าง 58.06 ไม่ได้ปรากฏเป็นรายรับหรือค่าใช้จ่ายแยกต่างหาก มาร์จินผันแปรรายวันเป็นตัวกำหนดว่ากำไรขาดทุนจากฟิวเจอร์สจะเปลี่ยนเป็นเงินสดเมื่อใด แต่มันไม่ได้ทำให้กำไรขาดทุนก้อนเดิมเกิดซ้ำอีกครั้ง

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

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

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

ฟิวเจอร์สต่อเนื่องการทดสอบย้อนหลังการโรลสัญญาฟิวเจอร์สข้อมูลตลาดการบันทึกบัญชีกำไรขาดทุน
แชร์XLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← บทความทั้งหมด