ฟังก์ชันวัตถุประสงค์แบบกำหนดเอง
จุดเด่นอย่างหนึ่งของ PortfolioAnalytics คือชื่อของ objective สามารถเป็นฟังก์ชัน R ที่ใช้งานได้จริง แพ็กเกจนี้ออกแบบมาให้มีความยืดหยุ่นและเป็นโมดูล ซึ่งฟังก์ชันวัตถุประสงค์แบบกำหนดเองเป็นตัวอย่างที่ดีของแนวคิดนี้ มีแนวทางบางประการที่ควรปฏิบัติตามเมื่อกำหนดฟังก์ชัน moment แบบกำหนดเอง:
- ฟังก์ชันวัตถุประสงค์ต้องคืนค่าตัวเลขค่าเดียว เพื่อให้ optimizer สามารถนำไปหาค่าต่ำสุดหรือสูงสุดได้
- แนะนำอย่างยิ่งให้ใช้
Rสำหรับผลตอบแทนของสินทรัพย์ และweightsสำหรับน้ำหนักของพอร์ตโฟลิโอ
ชื่อ argument เหล่านี้จะถูกตรวจจับโดยอัตโนมัติและจัดการอย่างมีประสิทธิภาพ argument อื่น ๆ ของฟังก์ชันวัตถุประสงค์สามารถส่งผ่านในรูปแบบ named list ไปยัง arguments ในฟังก์ชัน add.objective()
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์พอร์ตโฟลิโอระดับกลางใน R
คำแนะนำการฝึกหัด
- กำหนดฟังก์ชันวัตถุประสงค์แบบกำหนดเองเพื่อคำนวณส่วนเบี่ยงเบนมาตรฐานรายปีของพอร์ตโฟลิโอ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Custom annualized portfolio standard deviation
pasd <- function(___, ___, sigma, scale = 12){
sqrt(as.numeric(t(___) %*% ___ %*% ___)) * sqrt(scale)
}