1. Learn
  2. /
  3. कोर्स
  4. /
  5. การวิเคราะห์พอร์ตโฟลิโอระดับกลางใน R

Connected

अभ्यास

การ Optimization แบบช่วงเวลาเดียว

มีฟังก์ชันสำหรับรัน optimization อยู่ 2 ฟังก์ชัน ได้แก่ optimize.portfolio() และ optimize.portfolio.rebalancing() แบบฝึกหัดนี้จะเน้นการ optimization แบบช่วงเวลาเดียว ส่วนแบบฝึกหัดถัดไปจะใช้ optimize.portfolio.rebalancing() สำหรับการ optimization แบบปรับสมดุลตามรอบ optimize.portfolio() รองรับการ optimization แบบช่วงเวลาเดียว อาร์กิวเมนต์หลักได้แก่ R สำหรับผลตอบแทนของสินทรัพย์, portfolio สำหรับออบเจกต์ที่กำหนดสเปกพอร์ตโฟลิโอ และ optimize_method สำหรับระบุวิธีการ optimization ที่ใช้แก้ปัญหา ในหลายกรณี การกำหนด trace = TRUE จะเป็นประโยชน์ เนื่องจากจะจัดเก็บข้อมูลเพิ่มเติมในแต่ละรอบการวนซ้ำ/ทดลองของการ optimization

วิธีการ optimization ที่รองรับมีดังนี้:

  • DEoptim: Differential evolution
  • random: Random portfolios
  • GenSA: Generalized Simulated Annealing
  • pso: Particle swarm optimization
  • ROI: R Optimization Infrastructure สำหรับ linear และ quadratic programming solvers

ควรเลือกวิธีการ optimization ตามประเภทของปัญหาที่กำลังแก้ไข ตัวอย่างเช่น ปัญหาที่สามารถกำหนดในรูปแบบ quadratic programming ควรแก้ด้วย quadratic programming solver ในขณะที่ปัญหาแบบ non-convex ควรแก้ด้วย global solver เช่น DEoptim

ในแบบฝึกหัดนี้ จะกำหนดปัญหา portfolio optimization เพื่อให้ได้ผลตอบแทนเฉลี่ยสูงสุด และลด standard deviation ของพอร์ตโฟลิโอให้น้อยที่สุด โดยใช้ standard deviation risk budget ที่กำหนดให้เปอร์เซ็นต์ความเสี่ยงต่ำสุดอยู่ที่ 5% และสูงสุดอยู่ที่ 10% ภายใต้ข้อจำกัดการลงทุนเต็มจำนวนและการถือครองสินทรัพย์เชิงบวกเท่านั้น เนื่องจาก risk budget objective ต้องใช้ global solver ปัญหานี้จึงจะถูกแก้ด้วย random portfolios โดยชุด random portfolios ที่ชื่อ rp ถูกสร้างขึ้นโดยใช้ 500 permutations สำหรับแบบฝึกหัดนี้

निर्देश

100 XP

สเปกพอร์ตโฟลิโอถูกสร้างไว้แล้วและตั้งชื่อว่า port_spec นอกจากนี้ใน workspace ยังมีข้อมูลผลตอบแทน asset_returns อยู่ด้วย

  • รัน optimization แบบช่วงเวลาเดียวโดยกำหนด trace เป็น TRUE และใช้ "random" เป็นวิธีการ optimization จากนั้นกำหนดผลลัพธ์ของการ optimization ให้กับตัวแปรชื่อ opt
  • แสดงผลลัพธ์ของการ optimization