Portafogli ponderati per capitalizzazione di mercato
Al contrario, quando le grandi aziende vanno bene, i portafogli ponderati per capitalizzazione di mercato (o "market cap") tendono a sovraperformare. Questo perché i pesi maggiori vengono assegnati alle aziende più grandi, cioè a quelle con la capitalizzazione più elevata.
Di seguito trovi una tabella con le capitalizzazioni di mercato delle aziende nel tuo portafoglio poco prima di gennaio 2017:
| Company Name | Ticker | Market Cap ($ Billions) |
|---|---|---|
| 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 |
Questo esercizio fa parte del corso
Introduzione alla gestione del rischio di portafoglio in Python
Istruzioni dell'esercizio
- Completa la definizione dell’array
market_capitalizationscon le capitalizzazioni di mercato in miliardi secondo la tabella sopra. - Calcola l’array
mcap_weightsin modo che ogni elemento sia il rapporto tra la market cap dell’azienda e la market cap totale di tutte le aziende. - Usa il metodo
.mul()sumcap_weightse sui returns per calcolare i rendimenti del portafoglio ponderato per capitalizzazione di mercato. - Infine, osserva il grafico dei rendimenti cumulati nel tempo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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'])