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

การคำนวณผลตอบแทนของพอร์ตโฟลิโอ

การสร้างและทดสอบพอร์ตโฟลิโอย้อนหลังนั้น จำเป็นต้องทำงานกับผลตอบแทนของสินทรัพย์หลายรายการในออบเจ็กต์เดียวได้อย่างคล่องแคล่ว

ในแบบฝึกหัดนี้ จะใช้ออบเจ็กต์ DataFrame ของ pandas ที่เก็บไว้ในตัวแปรชื่อ StockReturns เพื่อบันทึกผลตอบแทนของสินทรัพย์หลายรายการ และคำนวณผลตอบแทนของพอร์ตโฟลิโอจำลอง

พอร์ตโฟลิโอจำลองนี้ถูกสร้างขึ้นโดยกำหนดน้ำหนักล่วงหน้าสำหรับบริษัทที่ใหญ่ที่สุดในโลกก่อนเดือนมกราคม 2017 ดังนี้:

ชื่อบริษัท Ticker น้ำหนักในพอร์ตโฟลิโอ
Apple AAPL 12%
Microsoft MSFT 15%
Exxon Mobil XOM 8%
Johnson & Johnson JNJ 5%
JP Morgan JPM 9%
Amazon AMZN 10%
General Electric GE 11%
Facebook FB 14%
AT&T T 16%

โปรดสังเกตว่าน้ำหนักในพอร์ตโฟลิโอควรรวมกันได้ 100% ในกรณีส่วนใหญ่

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

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

ดูคอร์ส

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

  • กำหนดค่าใน numpy array ของ portfolio_weights ให้ครบถ้วนตามตารางด้านบน
  • ใช้เมธอด .mul() เพื่อคูณ portfolio_weights ข้ามแถวของ StockReturns เพื่อให้ได้ผลตอบแทนหุ้นแบบถ่วงน้ำหนัก
  • จากนั้นใช้เมธอด .sum() ข้ามแถวบนออบเจ็กต์ WeightedReturns เพื่อคำนวณผลตอบแทนของพอร์ตโฟลิโอ
  • สุดท้าย ตรวจสอบกราฟแสดงผลตอบแทนสะสมตามช่วงเวลา

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

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

# Finish defining the portfolio weights as a numpy array
portfolio_weights = np.array([0.12, 0.15, 0.08, 0.05, 0.09, 0.10, 0.11, ____, ____])

# Calculate the weighted stock returns
WeightedReturns = StockReturns.____(portfolio_weights, axis=____)

# Calculate the portfolio returns
StockReturns['Portfolio'] = WeightedReturns.____(axis=____)

# Plot the cumulative portfolio returns over time
CumulativeReturns = ((1+StockReturns["Portfolio"]).cumprod()-1)
CumulativeReturns.plot()
plt.show()
แก้ไขและรันโค้ด