Portfele ważone kapitalizacją rynkową
Z kolei gdy duże spółki radzą sobie dobrze, portfele ważone kapitalizacją rynkową (ang. market cap) mają tendencję do osiągania lepszych wyników. Wynika to z faktu, że największe wagi przypisywane są największym spółkom – czyli tym o najwyższej kapitalizacji rynkowej.
Poniżej znajduje się tabela kapitalizacji rynkowych spółek w twoim portfelu tuż przed styczniem 2017 r.:
| Nazwa spółki | Ticker | Kapitalizacja rynkowa (mld USD) |
|---|---|---|
| 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 |
To ćwiczenie jest częścią kursu
Wprowadzenie do zarządzania ryzykiem portfela w Pythonie
Instrukcje do ćwiczenia
- Dokończ definiowanie tablicy
market_capitalizationsz kapitalizacjami rynkowymi w miliardach dolarów zgodnie z powyższą tabelą. - Oblicz tablicę
mcap_weightstak, aby każdy element był stosunkiem kapitalizacji rynkowej danej spółki do łącznej kapitalizacji rynkowej wszystkich spółek. - Użyj metody
.mul()namcap_weightsi stopach zwrotu, aby obliczyć zwroty portfela ważonego kapitalizacją rynkową. - Na koniec przejrzyj wykres skumulowanych zwrotów w czasie.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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'])