วิธีการทดสอบคู่กลยุทธ์การซื้อขาย วิธีการทดสอบคู่กลยุทธ์การซื้อขาย? ทำไมฉันไม่ได้รับพล็อตใด ๆ กรุณาช่วยฉัน ด้วยความนับถือ # เราจะต้อง quantmod แพคเกจสำหรับการสร้างแผนภูมิและข้อมูลที่ดึง # คุณสามารถติดตั้งแพคเกจผ่าน: install. packages (& quot; packageName & quot;) # install. packages (ค (& quot; quantmod & quot; & quot; & quot TTR;)) ห้องสมุด (quantmod) # Pull & quot; & quot KO ;, & quot; PEP & quot; ข้อมูลหุ้นจาก Yahoo! การคลัง tckr1 & lt; - & quot; KO & quot; tckr2 & lt; - & quot; PEP & quot; เริ่มต้น & lt; - Sys. Date () - 500 ท้าย & lt; - รูปแบบ (Sys. Date () & quot;% Y-% m-% d & quot;) # ปปปปมม-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)
No comments:
Post a Comment