MATLAB คู่กลยุทธ์การซื้อขาย การสาธิตนี้ใช้ MATLAB และการวิเคราะห์ทางเทคนิค (TA) กล่องเครื่องมือสำหรับนักพัฒนาในการสร้างและทดสอบกลยุทธ์การซื้อขายคู่ ท่ากล่องเครื่องมือพัฒนาเติมเต็ม toolboxes คำนวณทางการเงินที่มีอยู่โดยการเพิ่มฟังก์ชันการทำงานขั้นสูงเช่น backtesting backtesting ผลงานของตัวชี้วัดการคำนวณการซื้อขายที่ได้มาตรฐานและมีอินเตอร์เฟซผู้ใช้แบบกราฟิกแบบโต้ตอบที่ช่วยให้การใช้ชี้วัดทางเทคนิคผ่าน drapdrop ตัวอย่าง: ออสเตรเลีย - แคนาดาการแพร่กระจาย นี้ขั้นตอนแรกในการสร้างกลยุทธ์การซื้อขายคู่สองคือการเลือกเครื่องมือทางการเงินที่มีความสัมพันธ์ในอดีต กลยุทธ์การซื้อขายเป็นคู่จะได้ประโยชน์จากความแตกต่างสั้นโดยการป้อนตำแหน่งสั้นในตราสารและยาวนานในตำแหน่งอื่น ๆ กลยุทธ์ที่สันนิษฐานว่าทั้งคู่จะมาบรรจบกันในระยะยาว โดยเป็นหนึ่งในระยะสั้นและระยะยาวเครื่องมือในตราสารที่มีลักษณะร่วมกลยุทธ์นี้เป็นตลาดที่เป็นกลาง ตัวอย่างเช่นถ้าตลาดหุ้นเกิดปัญหาผลกำไรจากการลัดวงจรหนึ่งที่ใช้ในการชดเชยความสูญเสียที่ควรจากตำแหน่งยาว ในการสาธิตนี้เราใช้ความจริงที่ว่าออสเตรเลียและแคนาดาเป็นสองประเทศที่อุดมไปด้วยทรัพยากรที่มีความสัมพันธ์ทางเศรษฐกิจและทางสถิติตามที่อธิบายไว้ที่นี่: การดาวน์โหลดข้อมูล สำหรับกลยุทธ์การซื้อขายคู่เราใช้ iShares MSCI ดัชนีออสเตรเลีย (EWA) เป็นพร็อกซี่สำหรับเศรษฐกิจออสเตรเลียและ iShares MSCI ดัชนีแคนาดา (EWC) เป็นพร็อกซี่สำหรับเศรษฐกิจแคนาดา ข้อมูลที่สามารถดาวน์โหลดได้จาก Yahoo การเงินโดยใช้สคริปต์ getyahoo10.m จากการแลกเปลี่ยนไฟล์ MATLAB getyahoo10.m ดาวน์โหลด 10 ปีของข้อมูลทุกวันตั้งแต่การเงิน Yahoo และบันทึกไฟล์ที่ดาวน์โหลดในไดเรกทอรีที่ระบุ ข้อมูลที่ดาวน์โหลดมานั้นจะสามารถนำเข้ามาในกล่องเครื่องมือพัฒนา TA ตามที่อธิบายไว้ที่นี่: การสร้างกลยุทธ์ใหม่มไฟล์ กลยุทธ์การซื้อขายประกอบด้วยฟังก์ชั่น MATLAB มีพารามิเตอร์เดียวที่เรียกว่า SYS พารามิเตอร์ SYS มีข้อมูลเช่นระบบการซื้อขายที่เปิดสูงในราคาที่ต่ำและใกล้ชิดของหุ้นหรือในอนาคตได้ เราจะเพิ่มกฎรายการและการค้าออกจากกลยุทธ์การซื้อขายนี้มไฟล์ ไม่มีการเขียนเพิ่มเติมรหัส backtesting จะต้อง การประเมินผล backting และประสิทธิภาพการทำงานเป็นสิ่งที่จัดการโดยการวิเคราะห์ทางเทคนิค (TA) กล่องเครื่องมือสำหรับนักพัฒนา กลยุทธ์การซื้อขายที่ว่างเปล่าจะมีลักษณะคล้ายนี้และเซิร์ฟเวอร์ที่เป็นจุดเริ่มต้นสำหรับทุกกลยุทธ์การซื้อขาย การกำหนดสัญลักษณ์ประถมศึกษาและมัธยมศึกษา ในกลยุทธ์การซื้อขายของเราที่เราเริ่มต้นด้วยการกำหนดชื่อสัญลักษณ์ของตราสารหลักและรองเช่นเดียวกับการเฝ้าดูชื่อที่ได้รับการคัดเลือกในระหว่างการนำเข้าข้อมูล ใส่ค่าตัวแปรเหล่านี้ในการช่วยให้การปรับกลยุทธ์ได้อย่างง่ายดายเพื่อคู่อื่น ๆ ในภายหลัง พารามิเตอร์การซื้อขาย พารามิเตอร์เทรดดิ้งสามารถนำมาใช้ในการกวาดพารามิเตอร์ ถ้าเราไม่ได้ทำงานกวาดพารามิเตอร์พารามิเตอร์เหล่านี้จะเริ่มต้นกับพารามิเตอร์ที่สองส่งผ่านไปยังฟังก์ชั่น 'GetTradingParameter' การคำนวณและวางแผนอัตราส่วนค่าเฉลี่ยส่วนเบี่ยงเบนมาตรฐานและ Z-คะแนน อัตราส่วนระหว่างหลัก (EWA) และมัธยมศึกษา (EWC) ส่วนเบี่ยงเบนมาตรฐาน คำนวณ Z-คะแนนและพล็อตเกณฑ์ Z-คะแนนแสดงให้เห็นว่าหลายมาตรฐานเบี่ยงเบนสังเกตอยู่เหนือหรือต่ำกว่าค่าเฉลี่ย รายการระดับประถมศึกษาและสัญญาณออกจาก เริ่มต้น ZScoreUpper 1.5 และค่าเริ่มต้น ZScoreLower 1 ดังนั้นเราใส่ตำแหน่งสั้นในหลัก (EWA) เมื่อ Z-คะแนนเกิน 1.5 ส่วนเบี่ยงเบนมาตรฐาน (สายสีแดงบน) และออกจากตำแหน่งสั้นเมื่อตก Z-คะแนนต่ำกว่า 1 มาตรฐาน เบี่ยงเบน (สายสีเขียวบน) เพิ่มตำแหน่งยาวเมื่อ Z-คะแนนต่ำกว่า -1.5 ส่วนเบี่ยงเบนมาตรฐาน (สายสีแดงล่าง) และตำแหน่งนานทางออกเมื่อ Z-คะแนนเพิ่มขึ้นเหนือ -1 ค่าเบี่ยงเบนมาตรฐาน (ต่ำกว่าเส้นสีเขียว) รายการมัธยมศึกษาและสัญญาณออกจาก สลับไปที่บริบทรอง (EWC) ฟังก์ชั่นทั้งหมดเรียกว่าหลังจาก 'SwitchSymbol' จะดำเนินการที่สัญลักษณ์ secordary จน 'RestoreSymbol' เรียกว่า backtesting กลยุทธ์ที่ ประเภท 'tadeveloper' ลงในคำสั่ง MATLAB จะเปิด TA พัฒนาอินเตอร์เฟซผู้ใช้แบบกราฟิก คลิกแฟ้ม & gt; เปิดจากเมนูและเรียกดูตำแหน่งที่คุณบันทึกกลยุทธ์ PairsTradingStrategy. m และเปิดไฟล์ ก่อนที่จะดำเนินกลยุทธ์ที่เราต้องตั้งค่าพารามิเตอร์ไม่กี่ครั้งแรก ในมุมขวาด้านล่างเป็นหน้าต่างที่เรียกว่าคุณสมบัติ หน้าต่างนี้จะมีการดำเนินการที่สำคัญพารามิเตอร์ เราจะตั้งทุนเริ่มต้นสำหรับการจำลองการ 100000 ชนิดตำแหน่งที่มีการตั้งค่าที่ 'ร้อยละและจำนวนตำแหน่งที่ถูกตั้งไว้ที่ 50 ซึ่งหมายความว่า 50% ของเงินทุนที่มีอยู่ถูกนำมาใช้ต่อการค้า ตรวจสอบให้แน่ใจโหนดรากเฝ้าดูจะถูกเลือกในหน้าต่างสัญลักษณ์ คุณควรจะเห็นแผง backtest กดปุ่มเล่นสีเขียวเริ่มการจำลอง การประเมินผลงาน เมื่อกลยุทธ์ที่ได้ดำเนินการประสบความสำเร็จในแท็บ 'สถิติ' จะกลายเป็นใช้ได้ มันแสดงให้เห็นตัวชี้วัดการค้าต่างๆเช่นผลตอบแทนต่อปีอัตราส่วนชาร์ปอัตราส่วน Sortino ดัชนีแผลในกระเพาะอาหารจำนวนของการค้าและอื่น ๆ อีกมากมาย ตัวชี้วัดเหล่านี้จะถูกแบ่งออกเป็น 'ทั้งหมด' (สำหรับการซื้อขายจำลองทั้งหมด) 'ยาว' (การซื้อขายนานเท่านั้น) และ 'สั้น' (การซื้อขายระยะสั้นเท่านั้น) นอกจากนี้ตัวชี้วัดที่หน้ารายการของธุรกิจการค้าดำเนินการและส่วนโค้งจะถูกคำนวณและแสดง กวาดพารามิเตอร์ จนถึงขณะนี้เราใช้ 1.5 เป็นเกณฑ์บนและ 1 เป็นเกณฑ์ที่ต่ำกว่าสำหรับ Z-คะแนนในการเข้าและออกจากตำแหน่งการแพร่กระจายของเรา MATLAB ทำให้ง่ายต่อการดำเนินการกวาดพารามิเตอร์ที่จะวิ่งผ่านจำนวนของค่าการกำหนดค่าพารามิเตอร์ที่เหมาะสม ขั้นตอนในการทำงานกวาดพารามิเตอร์มีการอธิบายที่นี่ MATLAB อัลโกเทรดดิ้งภายใต้หัวข้อย่อย 'Parmeter เพิ่มประสิทธิภาพ' เราวิ่งกวาดพารามิเตอร์และกำหนดช่วงสำหรับเกณฑ์ขอบล่าง 0-1 และช่วงสำหรับเกณฑ์ขอบเขตตอนบนตั้งแต่ 1 ถึง 2 ในฐานะที่เป็นตัวแปรในการเพิ่มประสิทธิภาพเราเลือกอัตราส่วนชาร์ป แต่ตัวชี้วัดอื่น ๆ (เช่นการรวมกำไร , Sortino อัตราส่วน ฯลฯ ) สามารถนำมาใช้ ผลที่สามารถเห็นได้ในพื้นผิว / พล็อต Contour ด้านล่าง MATLAB คู่กลยุทธ์การซื้อขาย การสาธิตนี้ใช้ MATLAB และการวิเคราะห์ทางเทคนิค (TA) กล่องเครื่องมือสำหรับนักพัฒนาในการสร้างและทดสอบกลยุทธ์การซื้อขายคู่ ท่ากล่องเครื่องมือพัฒนาเติมเต็ม toolboxes คำนวณทางการเงินที่มีอยู่โดยการเพิ่มฟังก์ชันการทำงานขั้นสูงเช่น backtesting backtesting ผลงานของตัวชี้วัดการคำนวณการซื้อขายที่ได้มาตรฐานและมีอินเตอร์เฟซผู้ใช้แบบกราฟิกแบบโต้ตอบที่ช่วยให้การใช้ชี้วัดทางเทคนิคผ่าน drapdrop ตัวอย่าง: ออสเตรเลีย - แคนาดาการแพร่กระจาย นี้ขั้นตอนแรกในการสร้างกลยุทธ์การซื้อขายคู่สองคือการเลือกเครื่องมือทางการเงินที่มีความสัมพันธ์ในอดีต กลยุทธ์การซื้อขายเป็นคู่จะได้ประโยชน์จากความแตกต่างสั้นโดยการป้อนตำแหน่งสั้นในตราสารและยาวนานในตำแหน่งอื่น ๆ กลยุทธ์ที่สันนิษฐานว่าทั้งคู่จะมาบรรจบกันในระยะยาว โดยเป็นหนึ่งในระยะสั้นและระยะยาวเครื่องมือในตราสารที่มีลักษณะร่วมกลยุทธ์นี้เป็นตลาดที่เป็นกลาง ตัวอย่างเช่นถ้าตลาดหุ้นเกิดปัญหาผลกำไรจากการลัดวงจรหนึ่งที่ใช้ในการชดเชยความสูญเสียที่ควรจากตำแหน่งยาว ในการสาธิตนี้เราใช้ความจริงที่ว่าออสเตรเลียและแคนาดาเป็นสองประเทศที่อุดมไปด้วยทรัพยากรที่มีความสัมพันธ์ทางเศรษฐกิจและทางสถิติตามที่อธิบายไว้ที่นี่: การดาวน์โหลดข้อมูล สำหรับกลยุทธ์การซื้อขายคู่เราใช้ iShares MSCI ดัชนีออสเตรเลีย (EWA) เป็นพร็อกซี่สำหรับเศรษฐกิจออสเตรเลียและ iShares MSCI ดัชนีแคนาดา (EWC) เป็นพร็อกซี่สำหรับเศรษฐกิจแคนาดา ข้อมูลที่สามารถดาวน์โหลดได้จาก Yahoo การเงินโดยใช้สคริปต์ getyahoo10.m จากการแลกเปลี่ยนไฟล์ MATLAB getyahoo10.m ดาวน์โหลด 10 ปีของข้อมูลทุกวันตั้งแต่การเงิน Yahoo และบันทึกไฟล์ที่ดาวน์โหลดในไดเรกทอรีที่ระบุ ข้อมูลที่ดาวน์โหลดมานั้นจะสามารถนำเข้ามาในกล่องเครื่องมือพัฒนา TA ตามที่อธิบายไว้ที่นี่: การสร้างกลยุทธ์ใหม่มไฟล์ กลยุทธ์การซื้อขายประกอบด้วยฟังก์ชั่น MATLAB มีพารามิเตอร์เดียวที่เรียกว่า SYS พารามิเตอร์ SYS มีข้อมูลเช่นระบบการซื้อขายที่เปิดสูงในราคาที่ต่ำและใกล้ชิดของหุ้นหรือในอนาคตได้ เราจะเพิ่มกฎรายการและการค้าออกจากกลยุทธ์การซื้อขายนี้มไฟล์ ไม่มีการเขียนเพิ่มเติมรหัส backtesting จะต้อง การประเมินผล backting และประสิทธิภาพการทำงานเป็นสิ่งที่จัดการโดยการวิเคราะห์ทางเทคนิค (TA) กล่องเครื่องมือสำหรับนักพัฒนา กลยุทธ์การซื้อขายที่ว่างเปล่าจะมีลักษณะคล้ายนี้และเซิร์ฟเวอร์ที่เป็นจุดเริ่มต้นสำหรับทุกกลยุทธ์การซื้อขาย การกำหนดสัญลักษณ์ประถมศึกษาและมัธยมศึกษา ในกลยุทธ์การซื้อขายของเราที่เราเริ่มต้นด้วยการกำหนดชื่อสัญลักษณ์ของตราสารหลักและรองเช่นเดียวกับการเฝ้าดูชื่อที่ได้รับการคัดเลือกในระหว่างการนำเข้าข้อมูล ใส่ค่าตัวแปรเหล่านี้ในการช่วยให้การปรับกลยุทธ์ได้อย่างง่ายดายเพื่อคู่อื่น ๆ ในภายหลัง พารามิเตอร์การซื้อขาย พารามิเตอร์เทรดดิ้งสามารถนำมาใช้ในการกวาดพารามิเตอร์ ถ้าเราไม่ได้ทำงานกวาดพารามิเตอร์พารามิเตอร์เหล่านี้จะเริ่มต้นกับพารามิเตอร์ที่สองส่งผ่านไปยังฟังก์ชั่น 'GetTradingParameter' การคำนวณและวางแผนอัตราส่วนค่าเฉลี่ยส่วนเบี่ยงเบนมาตรฐานและ Z-คะแนน อัตราส่วนระหว่างหลัก (EWA) และมัธยมศึกษา (EWC) ส่วนเบี่ยงเบนมาตรฐาน คำนวณ Z-คะแนนและพล็อตเกณฑ์ Z-คะแนนแสดงให้เห็นว่าหลายมาตรฐานเบี่ยงเบนสังเกตอยู่เหนือหรือต่ำกว่าค่าเฉลี่ย รายการระดับประถมศึกษาและสัญญาณออกจาก เริ่มต้น ZScoreUpper 1.5 และค่าเริ่มต้น ZScoreLower 1 ดังนั้นเราใส่ตำแหน่งสั้นในหลัก (EWA) เมื่อ Z-คะแนนเกิน 1.5 ส่วนเบี่ยงเบนมาตรฐาน (สายสีแดงบน) และออกจากตำแหน่งสั้นเมื่อตก Z-คะแนนต่ำกว่า 1 มาตรฐาน เบี่ยงเบน (สายสีเขียวบน) เพิ่มตำแหน่งยาวเมื่อ Z-คะแนนต่ำกว่า -1.5 ส่วนเบี่ยงเบนมาตรฐาน (สายสีแดงล่าง) และตำแหน่งนานทางออกเมื่อ Z-คะแนนเพิ่มขึ้นเหนือ -1 ค่าเบี่ยงเบนมาตรฐาน (ต่ำกว่าเส้นสีเขียว) รายการมัธยมศึกษาและสัญญาณออกจาก สลับไปที่บริบทรอง (EWC) ฟังก์ชั่นทั้งหมดเรียกว่าหลังจาก 'SwitchSymbol' จะดำเนินการที่สัญลักษณ์ secordary จน 'RestoreSymbol' เรียกว่า backtesting กลยุทธ์ที่ ประเภท 'tadeveloper' ลงในคำสั่ง MATLAB จะเปิด TA พัฒนาอินเตอร์เฟซผู้ใช้แบบกราฟิก คลิกแฟ้ม & gt; เปิดจากเมนูและเรียกดูตำแหน่งที่คุณบันทึกกลยุทธ์ PairsTradingStrategy. m และเปิดไฟล์ ก่อนที่จะดำเนินกลยุทธ์ที่เราต้องตั้งค่าพารามิเตอร์ไม่กี่ครั้งแรก ในมุมขวาด้านล่างเป็นหน้าต่างที่เรียกว่าคุณสมบัติ หน้าต่างนี้จะมีการดำเนินการที่สำคัญพารามิเตอร์ เราจะตั้งทุนเริ่มต้นสำหรับการจำลองการ 100000 ชนิดตำแหน่งที่มีการตั้งค่าที่ 'ร้อยละและจำนวนตำแหน่งที่ถูกตั้งไว้ที่ 50 ซึ่งหมายความว่า 50% ของเงินทุนที่มีอยู่ถูกนำมาใช้ต่อการค้า ตรวจสอบให้แน่ใจโหนดรากเฝ้าดูจะถูกเลือกในหน้าต่างสัญลักษณ์ คุณควรจะเห็นแผง backtest กดปุ่มเล่นสีเขียวเริ่มการจำลอง การประเมินผลงาน เมื่อกลยุทธ์ที่ได้ดำเนินการประสบความสำเร็จในแท็บ 'สถิติ' จะกลายเป็นใช้ได้ มันแสดงให้เห็นตัวชี้วัดการค้าต่างๆเช่นผลตอบแทนต่อปีอัตราส่วนชาร์ปอัตราส่วน Sortino ดัชนีแผลในกระเพาะอาหารจำนวนของการค้าและอื่น ๆ อีกมากมาย ตัวชี้วัดเหล่านี้จะถูกแบ่งออกเป็น 'ทั้งหมด' (สำหรับการซื้อขายจำลองทั้งหมด) 'ยาว' (การซื้อขายนานเท่านั้น) และ 'สั้น' (การซื้อขายระยะสั้นเท่านั้น) นอกจากนี้ตัวชี้วัดที่หน้ารายการของธุรกิจการค้าดำเนินการและส่วนโค้งจะถูกคำนวณและแสดง กวาดพารามิเตอร์ จนถึงขณะนี้เราใช้ 1.5 เป็นเกณฑ์บนและ 1 เป็นเกณฑ์ที่ต่ำกว่าสำหรับ Z-คะแนนในการเข้าและออกจากตำแหน่งการแพร่กระจายของเรา MATLAB ทำให้ง่ายต่อการดำเนินการกวาดพารามิเตอร์ที่จะวิ่งผ่านจำนวนของค่าการกำหนดค่าพารามิเตอร์ที่เหมาะสม ขั้นตอนในการทำงานกวาดพารามิเตอร์มีการอธิบายที่นี่ MATLAB อัลโกเทรดดิ้งภายใต้หัวข้อย่อย 'Parmeter เพิ่มประสิทธิภาพ' เราวิ่งกวาดพารามิเตอร์และกำหนดช่วงสำหรับเกณฑ์ขอบล่าง 0-1 และช่วงสำหรับเกณฑ์ขอบเขตตอนบนตั้งแต่ 1 ถึง 2 ในฐานะที่เป็นตัวแปรในการเพิ่มประสิทธิภาพเราเลือกอัตราส่วนชาร์ป แต่ตัวชี้วัดอื่น ๆ (เช่นการรวมกำไร , Sortino อัตราส่วน ฯลฯ ) สามารถนำมาใช้ ผลที่สามารถเห็นได้ในพื้นผิว / พล็อต Contour ด้านล่าง