วิธีการทดสอบ คู่ กลยุทธ์การซื้อขาย




วิธีการทดสอบคู่กลยุทธ์การซื้อขาย วิธีการทดสอบคู่กลยุทธ์การซื้อขาย? ทำไมฉันไม่ได้รับพล็อตใด ๆ กรุณาช่วยฉัน ด้วยความนับถือ # เราจะต้อง quantmod แพคเกจสำหรับการสร้างแผนภูมิและข้อมูลที่ดึง # คุณสามารถติดตั้งแพคเกจผ่าน: install. packages (packageName) # install. packages (ค (quantmod, TTR)) ห้องสมุด (quantmod) # KO ดึงข้อมูลหุ้น PEP จาก Yahoo! การคลัง tckr1 & lt; - KO tckr2 & lt; - PEP เริ่มต้น & lt; - Sys. Date () - 500 ท้าย & lt; - รูปแบบ (Sys. Date ()% Y-% m-% d) # ปปปปมม-DD getSymbols (tckr1 จากเริ่มต้น = = จะจบ) getSymbols (tckr2 จากเริ่มต้น = = จะจบ) #Calculate อัตราส่วนทั้งคู่ รา & lt; - Cl (KO) / Cl ​​(PEP) #Create ยาว (ขึ้นไป) สัญญาณ # ถ้าอัตราส่วนสภาพคล่องน้อยกว่า 2.7 * STD จากค่าเฉลี่ย sigup & lt; - ifelse (รา & lt;. ค่าเฉลี่ย (ระ) -2.7 * SD (ระ) 1, 0) # สร้างสั้น (DN) สัญญาณ # ถ้าอัตราส่วนปัจจุบันเป็นมากกว่า 0.5 * STD จากค่าเฉลี่ย sigdn & lt; - ifelse (รา & gt; เฉลี่ย (ระ) -0.5 * SD (ระ) -1, 0) sigup [is. na (sigup)] & lt; - 0 sigdn [is. na (sigdn)] & lt; - 0 # Lag สัญญาณเพื่อให้สอดคล้องกับวันในตลาด # วันสัญญาณไม่ได้ถูกสร้างขึ้น #sigup & lt; - Lag (sigup, 1) # ใช้ล่าช้า () เพื่อหลีกเลี่ยงข้อผิดพลาดของโทบี้ #sigdn & lt; - Lag (sigdn, 1) # ใช้ล่าช้า () เพื่อหลีกเลี่ยงข้อผิดพลาดของโทบี้ sigup & lt; - ความล่าช้า (sigup, 1) # หมายเหตุ k = 1 หมายถึงการย้ายไปข้างหน้า * * * * * * * * เกษียณ [1] & lt; - 0 # การคำนวณส่วนของเส้นโค้ง eq_up & lt; - cumprod (1 + เกษียณ * sigup) eq_dn & lt; - cumprod (1 + เกษียณ * * * * * * * * sigdn -1)