พอร์ตโฟลิโอแบบถ่วงน้ำหนักด้วย Market Cap
ในทางกลับกัน เมื่อบริษัทขนาดใหญ่มีผลการดำเนินงานที่ดี พอร์ตโฟลิโอแบบ market capitalization หรือ "market cap" weighted มักจะให้ผลตอบแทนที่สูงกว่า เนื่องจากน้ำหนักที่มากที่สุดจะถูกจัดสรรให้กับบริษัทที่มี market cap สูงที่สุด
ด้านล่างคือตาราง market capitalization ของบริษัทต่าง ๆ ในพอร์ตโฟลิโอก่อนเดือนมกราคม 2017:
| ชื่อบริษัท | Ticker | Market Cap (พันล้านดอลลาร์) |
|---|---|---|
| Apple | AAPL | 601.51 |
| Microsoft | MSFT | 469.25 |
| Exxon Mobil | XOM | 349.5 |
| Johnson & Johnson | JNJ | 310.48 |
| JP Morgan | JPM | 299.77 |
| Amazon | AMZN | 356.94 |
| General Electric | GE | 268.88 |
| FB | 331.57 | |
| AT&T | T | 246.09 |
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน
คำแนะนำการฝึกหัด
- กำหนดค่าใน array
market_capitalizationsให้ครบถ้วนตามตารางด้านบน โดยใช้หน่วยเป็นพันล้านดอลลาร์ - คำนวณ array
mcap_weightsโดยให้แต่ละสมาชิกเป็นอัตราส่วนของ market cap ของแต่ละบริษัทต่อ market cap รวมของทุกบริษัท - ใช้เมธอด
.mul()กับmcap_weightsและค่า returns เพื่อคำนวณผลตอบแทนของพอร์ตโฟลิโอแบบถ่วงน้ำหนักด้วย market capitalization - สุดท้าย ดูกราฟแสดงผลตอบแทนสะสมตามช่วงเวลา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create an array of market capitalizations (in billions)
market_capitalizations = np.array([601.51, 469.25, 349.5, 310.48, 299.77, 356.94, 268.88, 331.57, ____])
# Calculate the market cap weights
mcap_weights = ____
# Calculate the market cap weighted portfolio returns
StockReturns['Portfolio_MCap'] = StockReturns.iloc[:, 0:9].mul(____, axis=1).sum(axis=1)
cumulative_returns_plot(['Portfolio', 'Portfolio_EW', 'Portfolio_MCap'])