เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

รันกลยุทธ์ของคุณ

ยินดีด้วยที่สร้างกลยุทธ์ใน quantstrat สำเร็จ! ทบทวนกันสักครั้ง กลยุทธ์นี้ใช้ indicator 3 ตัวและ signal 5 ตัวแยกกัน โดยกำหนดให้ค่า DVO_2_126 ต้องต่ำกว่า 20 และ SMA50 ต้องมากกว่า SMA200 พร้อมกัน และจะขายเมื่อ DVO_2_126 ข้ามขึ้นเหนือ 80 หรือ SMA50 ข้ามลงต่ำกว่า SMA200

กลยุทธ์นี้ใช้ signal ทั้งหมด 5 ตัว ได้แก่

  1. sigComparison สำหรับเงื่อนไขที่ SMA50 มากกว่า SMA200
  2. sigThreshold โดยตั้ง cross เป็น FALSE สำหรับ DVO_2_126 น้อยกว่า 20
  3. sigFormula เพื่อรวมเงื่อนไขทั้งสองเข้าด้วยกันและตั้ง cross เป็น TRUE
  4. sigCrossover สำหรับกรณีที่ SMA50 ข้ามลงต่ำกว่า SMA200
  5. sigThreshold โดยตั้ง cross เป็น TRUE สำหรับ DVO_2_126 มากกว่า 80

กลยุทธ์นี้ลงทุน $100,000 (ค่า initeq ของคุณ) ในแต่ละการซื้อขาย และอาจมีการถัวเฉลี่ยต้นทุนเล็กน้อยหาก DVO_2_126 แกว่งตัวรอบระดับ 20 แต่ผลกระทบโดยรวมถือว่าน้อยมากเมื่อเทียบกับเงินลงทุนเริ่มต้น

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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเทรดหุ้นด้วย R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ applyStrategy() เพื่อนำกลยุทธ์ (strategy.st) ไปใช้กับพอร์ตโฟลิโอ (portfolio.st) แล้วบันทึกผลลัพธ์ไว้ในออบเจกต์ out
  • รันฟังก์ชันที่จำเป็นเพื่อบันทึกผลของกลยุทธ์ ได้แก่ updatePortf() พร้อมกำหนด daterange รวมถึง updateAcct() และ updateEndEq()
  • จากข้อมูลที่ได้ ลองดูว่าคุณสามารถหาวันที่ของการซื้อขายครั้งล่าสุดได้หรือไม่

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Use applyStrategy() to apply your strategy. Save this to out
out <- applyStrategy(strategy = ___, portfolios = ___)

# Update your portfolio (portfolio.st)
updatePortf(___)
daterange <- time(getPortfolio(___)$summary)[-1]

# Update your account (account.st)
updateAcct(___, daterange)
updateEndEq(___)
แก้ไขและรันโค้ด