การจำลองพอร์ตโฟลิโอ - ส่วนที่ I
ในแบบฝึกหัดชุดนี้ คุณจะคำนวณผลตอบแทนที่คาดหวังของพอร์ตโฟลิโอหุ้น และวิเคราะห์ความไม่แน่นอนที่เกี่ยวข้อง
สมมติว่าลงทุน $10,000 ในพอร์ตโฟลิโอที่ประกอบด้วยหุ้นหลายตัว และต้องการประเมินผลการดำเนินงานของพอร์ตโฟลิโอในช่วง 10 ปี โดยสามารถปรับอัตราผลตอบแทนที่คาดหวังและค่าความผันผวน (ส่วนเบี่ยงเบนมาตรฐานของอัตราผลตอบแทน) ได้ตามต้องการ กำหนดให้อัตราผลตอบแทนเป็นไปตามการแจกแจงแบบปกติ
ขั้นแรก ให้เขียนฟังก์ชันที่รับค่าเงินต้น (เงินลงทุนเริ่มต้น) จำนวนปี อัตราผลตอบแทนที่คาดหวัง และค่าความผันผวนเป็น input จากนั้นคืนค่าของพอร์ตโฟลิโอทั้งหมดหลังจาก 10 ปี
เมื่อทำแบบฝึกหัดนี้เสร็จ คุณจะมีฟังก์ชันสำหรับประเมินประสิทธิภาพของพอร์ตโฟลิโอพร้อมใช้งาน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจำลองทางสถิติด้วย Python
คำแนะนำการฝึกหัด
- ในการกำหนดฟังก์ชัน ให้รับอาร์กิวเมนต์ 4 ตัว ได้แก่ จำนวนปี
yrsอัตราผลตอบแทนที่คาดหวังavg_returnค่าความผันผวนsd_of_returnและเงินต้น (เงินลงทุนเริ่มต้น)principal - จำลอง
ratesของผลตอบแทนสำหรับแต่ละปีในรูปตัวแปรสุ่มแบบปกติ - กำหนดค่าเริ่มต้นของ
end_returnให้เท่ากับprincipalที่รับมา จากนั้นในforloop ให้ปรับend_returnโดยคูณกับอัตราผลตอบแทนของแต่ละปี - ใช้
portfolio_return()เพื่อคำนวณและแสดงผลresult
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# rates is a Normal random variable and has size equal to number of years
def portfolio_return(____):
np.random.seed(123)
rates = ____(loc=avg_return, scale=sd_of_return, size=yrs)
# Calculate the return at the end of the period
end_return = ____
for x in rates:
end_return = end_return*(1+____)
return end_return
result = portfolio_return(yrs = 5, avg_return = 0.07, sd_of_return = 0.15, principal = 1000)
print("Portfolio return after 5 years = {}".format(____))