Saturday 11 June 2016

สัญญา ฟิวเจอร์ส อย่างต่อเนื่อง สำหรับ backtesting วัตถุประสงค์






+

สัญญาฟิวเจอร์สอย่างต่อเนื่องสำหรับ Backtesting วัตถุประสงค์ โดยไมเคิลฮอลล์มัวร์เมื่อวันที่ 29 มกราคม 2014 ในบทความก่อนหน้านี้ QuantStart เราตรวจสอบวิธีการดาวน์โหลดข้อมูลที่ฟิวเจอร์สฟรีจาก Quandl ในบทความนี้เราจะไปพูดคุยลักษณะของสัญญาซื้อขายล่วงหน้าที่นำเสนอความท้าทายข้อมูลจากจุด backtesting ในมุมมองของ โดยเฉพาะอย่างยิ่งความคิดของ "สัญญาอย่างต่อเนื่อง" และ "ผลตอบแทนกลิ้ง" เราจะร่างปัญหาหลักของฟิวเจอร์สและให้การดำเนินงานในหลามกับหมีแพนด้าที่บางส่วนสามารถบรรเทาปัญหาที่เกิดขึ้น ภาพรวมคร่าวๆของสัญญาฟิวเจอร์ส ฟิวเจอร์สเป็นรูปแบบของสัญญาวาดขึ้นระหว่างสองฝ่ายในการซื้อหรือขายปริมาณของหลักทรัพย์อ้างอิงในวันที่ระบุในอนาคต วันนี้เป็นที่รู้จักกันส่งมอบหรือหมดอายุ เมื่อวันนี้ถึงผู้ซื้อจะต้องส่งมอบพื้นฐานทางกายภาพ (หรือเทียบเท่าเงินสด) ให้แก่ผู้ขายในราคาที่ตกลงกันไว้ ณ วันที่ทำสัญญาก่อ ฟิวเจอร์สในการปฏิบัติที่มีการซื้อขายในตลาดหุ้น (เมื่อเทียบกับ Over The Counter - ซื้อขาย OTC) สำหรับปริมาณที่ได้มาตรฐานและคุณภาพของพื้นฐาน ราคามีการทำเครื่องหมายในการทำตลาดทุกวัน ฟิวเจอร์สมีสภาพคล่องอย่างไม่น่าเชื่อและมีการใช้อย่างหนักเพื่อการเก็งกำไร ในขณะที่ฟิวเจอร์สที่มักจะถูกนำมาใช้เพื่อป้องกันความเสี่ยงของราคาสินค้าเกษตรหรืออุตสาหกรรมที่เป็นสัญญาซื้อขายล่วงหน้าที่สามารถเกิดขึ้นบนพื้นฐานใด ๆ ที่มีตัวตนหรือไม่มีตัวตนเช่นดัชนีตลาดหุ้นอัตราดอกเบี้ยของค่าเงินตราต่างประเทศ รายการรายละเอียดของทุกรหัสสัญลักษณ์ที่ใช้สำหรับสัญญาซื้อขายล่วงหน้าผ่านการแลกเปลี่ยนต่างๆสามารถพบได้บนเว็บไซต์ข้อมูล CSI: ฟิวเจอร์เอกสาร ความแตกต่างที่สำคัญระหว่างการทำสัญญาฟิวเจอร์สและความเป็นเจ้าของทุนเป็นความจริงที่ว่าสัญญาซื้อขายล่วงหน้าที่มีหน้าต่างจำนวน จำกัด พร้อมใช้งานโดยอาศัยอำนาจตามวันหมดอายุ ที่คนใดคนหนึ่งได้ทันทีจะมีความหลากหลายของสัญญาซื้อขายล่วงหน้าบนพื้นฐานเดียวกันทั้งหมดที่มีวันหมดอายุที่แตกต่างกัน สัญญาที่มีวันหมดอายุที่ใกล้ที่สุดเป็นที่รู้จักกันเป็นสัญญาใกล้ ปัญหาที่เราเผชิญเป็นผู้ค้าเชิงปริมาณคือว่าที่จุดในเวลาใด ๆ ที่เรามีทางเลือกของการทำสัญญาหลายที่จะค้า ดังนั้นเราจะจัดการกับชุดที่ทับซ้อนกันของชุดเวลามากกว่ากระแสอย่างต่อเนื่องเช่นในกรณีของตราสารทุนหรือแลกเปลี่ยนเงินตราต่างประเทศ เป้าหมายของบทความนี้คือการร่างวิธีการต่างๆที่จะสร้างกระแสอย่างต่อเนื่องของสัญญาจากชุดของหลายชุดนี้และที่จะเน้นความสมดุลที่เกี่ยวข้องกับแต่ละเทคนิค ขึ้นรูปฟิวเจอร์สสัญญาอย่างต่อเนื่อง ปัญหาหลักที่มีความพยายามที่จะสร้างสัญญาต่อเนื่องมาจากสัญญาที่อ้างอิงกับการส่งมอบที่แตกต่างกันก็คือว่าสัญญาไม่ได้มักจะซื้อขายในราคาเดียวกัน ดังนั้นสถานการณ์ที่เกิดขึ้นที่พวกเขาไม่ได้ให้ต่อกันได้อย่างราบรื่นจากที่หนึ่งไปยังอีก นี่คือสาเหตุที่ contango และผลกระทบ backwardation มีวิธีการแก้ปัญหาต่างๆให้กับปัญหานี้ซึ่งตอนนี้เราหารือ แนวทางร่วมกัน แต่น่าเสียดายที่ไม่มีเดียว "มาตรฐาน" วิธีการสำหรับการเข้าร่วมสัญญาซื้อขายล่วงหน้ากันในอุตสาหกรรมการเงิน ในที่สุดวิธีการเลือกที่จะขึ้นอย่างมากเมื่อกลยุทธ์ที่สัญญาจ้างและวิธีการดำเนินการ แม้จะมีความจริงที่ว่าไม่มีวิธีการเดียวที่มีอยู่มีบางวิธีการที่เหมือนกัน: กลับ / ส่งต่อ ("ปานามา") การปรับ วิธีนี้จะบรรเทา "ช่องว่าง" ทั่วหลายสัญญาโดยขยับแต่ละสัญญาดังกล่าวว่าการส่งมอบแต่ละคนเข้าร่วมในลักษณะที่เรียบสัญญาที่อยู่ติดกัน ดังนั้นการเปิด / ปิดทั่วสัญญาก่อนที่หมดอายุตรง ปัญหาที่สำคัญด้วยวิธีปานามารวมถึงการแนะนำของการมีอคติแนวโน้มที่จะแนะนำดริฟท์ขนาดใหญ่ราคา นี้สามารถนำไปสู่​​ข้อมูลเชิงลบสำหรับสัญญาประวัติศาสตร์พอ นอกจากนี้ยังมีการสูญเสียของราคาที่แตกต่างเมื่อเทียบเนื่องจากการเปลี่ยนแปลงแน่นอนในค่า ซึ่งหมายความว่าผลตอบแทนที่มีความซับซ้อนในการคำนวณ (หรือเพียงแค่ธรรมดาไม่ถูกต้อง) การปรับสัดส่วน วิธีการปรับสัดส่วนจะคล้ายกับวิธีการปรับตัวในการจัดการแบ่งหุ้นในตลาดหุ้น มากกว่าการการเปลี่ยนแปลงแน่นอนในสัญญาต่อเนื่อง, อัตราส่วนของชำระเก่า (ปิด) ราคาราคาเปิดใหม่จะใช้ในการปรับราคาตามสัดส่วนของสัญญาประวัติศาสตร์ นี้จะช่วยให้กระแสอย่างต่อเนื่องโดยไม่หยุดชะงักของการคำนวณผลตอบแทนร้อยละที่ ปัญหาหลักที่มีการปรับสัดส่วนคือกลยุทธ์การซื้อขายใด ๆ ที่พึ่งพาในระดับราคาที่แน่นอนยังจะต้องมีการปรับเปลี่ยนในทำนองเดียวกันในการที่จะดำเนินการที่ถูกต้องสัญญาณ นี้เป็นกระบวนการที่มีปัญหาและข้อผิดพลาดได้ง่าย ดังนั้นชนิดของกระแสอย่างต่อเนื่องนี้มักจะเป็นเพียงมีประโยชน์สำหรับสรุปการวิเคราะห์ทางสถิติเมื่อเทียบกับการวิจัย backtesting โดยตรง โรลโอเวอร์ / ตลอดซีรีส์ สาระสำคัญของวิธีนี้คือการสร้างสัญญาอย่างต่อเนื่องของสัญญาต่อเนื่องโดยการถ่วงน้ำหนักเส้นตรงสัดส่วนของแต่ละสัญญามากกว่าจำนวนวันเพื่อให้แน่ใจว่าการเปลี่ยนแปลงที่นุ่มนวลระหว่างกัน ยกตัวอย่างเช่นพิจารณาห้าวันให้เรียบ ราคาในวันที่ 1, $ P_1 $ เท่ากับ 80% ของราคาตามสัญญาไกล ($ F_1 $) และ 20% ของราคาสัญญาใกล้ ($ n_1 $) ในทำนองเดียวกันในวันที่ 2 เป็นราคาที่ $ P_2 = 0.6 \ times F_2 + 0.4 \ times n_2 $ โดยวันที่ 5 เรามี P_5 $ = 0.0 \ times F_5 + 1.0 \ times N_5 = N_5 $ และสัญญาแล้วก็จะกลายเป็นความต่อเนื่องของราคาใกล้ ดังนั้นหลังจากที่ห้าวันที่สัญญามีการเปลี่ยนแปลงได้อย่างราบรื่นจากไกลไปใกล้ ปัญหาที่เกิดขึ้นด้วยวิธีการแบบโรลโอเวอร์ก็คือว่ามันต้องมีการซื้อขายในทุกห้าวันซึ่งสามารถเพิ่มต้นทุนการทำธุรกรรม มีวิธีการอื่น ๆ ที่พบได้น้อยกว่าในการแก้ไขปัญหาที่มี แต่เราจะหลีกเลี่ยงพวกเขาที่นี่ สร้างม้วนกลับในหลามและนุ่น ส่วนที่เหลือของบทความจะมีสมาธิในการดำเนินการตามวิธีการชุดตลอดเช่นนี้เป็นที่เหมาะสมที่สุดสำหรับ backtesting มันเป็นวิธีที่มีประโยชน์ในการดำเนินกลยุทธ์การวิจัยท่อ พวกเราจะไปด้วยกันปักครอสติน้ำมันดิบ WTI "ใกล้" และ "ไกล" สัญญาซื้อขายล่วงหน้า (สัญลักษณ์ CL) เพื่อสร้างชุดราคาอย่างต่อเนื่อง ในขณะที่เขียนนี้ (มกราคม 2014) สัญญาใกล้เป็น CLF2014 (มกราคม) และการทำสัญญาให้ห่างไกลเป็น CLG2014 (กุมภาพันธ์) เพื่อที่จะดำเนินการดาวน์โหลดข้อมูลฟิวเจอร์สที่ผมได้ทำให้การใช้ปลั๊กอิน Quandl ให้แน่ใจว่าจะตั้งค่าสภาพแวดล้อมเสมือนงูหลามที่ถูกต้องในระบบของคุณและติดตั้งแพคเกจ Quandl โดยการพิมพ์ต่อไปนี้เข้ากับขั้วต่อ: ตอนนี้ที่เป็นแพคเกจ Quandl intalled เราต้องการที่จะทำให้การใช้งานของ NumPy และหมีแพนด้าเพื่อที่จะดำเนินการก่อสร้างม้วนผลตอบแทน หากคุณไม่ได้มี NumPy หรือหมีแพนด้าติดตั้งโปรดปฏิบัติตามกวดวิชาของฉันที่นี่ สร้างไฟล์ใหม่และใส่งบนำเข้าต่อไปนี้: งานหลักที่จะดำเนินการในการทำงาน futures_rollover_weights มันต้องมีวันที่เริ่มต้น (วันแรกของสัญญาอันใกล้), พจนานุกรมของวันครบสัญญา (expiry_dates) เป็นสัญลักษณ์ของสัญญาและจำนวนวันที่จะม้วนสัญญามากกว่า (ผิดนัดถึงห้า) ความเห็นดังต่อไปนี้อธิบายรหัส: ตอนนี้ที่เมทริกซ์น้ำหนักที่ได้รับการผลิตก็เป็นไปได้ที่จะใช้นี้เพื่ออนุกรมเวลาของแต่ละบุคคล ฟังก์ชั่นหลักดาวน์โหลดสัญญาใกล้และไกลที่สร้าง DataFrame เดียวสำหรับทั้งสองสร้างเมทริกซ์น้ำหนักแบบโรลโอเวอร์และแล้วในที่สุดผลิตซีรีส์อย่างต่อเนื่องของราคาทั้งถ่วงน้ำหนักที่เหมาะสม: การส่งออกจะเป็นดังนี้: จะเห็นได้ว่าชุดอยู่ในขณะนี้อย่างต่อเนื่องทั้งสองสัญญา ขั้นตอนต่อไปคือการดำเนินการนี​​้สำหรับการส่งมอบหลายในหลายปีที่ผ่านมาขึ้นอยู่กับความต้องการของคุณ backtesting อ้างอิง หากท่านต้องการรายละเอียดเพิ่มเติมในการสร้างซีรีส์อย่างต่อเนื่องของราคาฟิวเจอร์สแล้วโปรดดูที่การเชื่อมโยงต่อไปนี้: ไมเคิลฮอลล์มัวร์ ไมค์เป็นผู้ก่อตั้ง QuantStart และได้รับการมีส่วนร่วมในอุตสาหกรรมการเงินเชิงปริมาณสำหรับในช่วงห้าปีที่ผ่านมาส่วนใหญ่เป็นนักพัฒนา quant และต่อมาเป็นที่ปรึกษาผู้ประกอบการ quant สำหรับกองทุนป้องกันความเสี่ยง




No comments:

Post a Comment