Portföy getirilerini hesaplama
Bir portföy oluşturup geriye dönük test (backtest) yapabilmek için, birden fazla varlığın getirileriyle tek bir nesne içinde rahatça çalışabilmelisin.
Bu egzersizde, birden fazla varlığın getirisini tutmak ve bir model portföyün getirisini hesaplamak için, değişken StockReturns olarak saklanan bir pandas DataFrame nesnesini kullanacaksın.
Model portföy, Ocak 2017'den hemen önce dünyanın en büyük şirketlerinden bazıları için önceden tanımlanmış ağırlıklarla oluşturulmuştur:
| Company Name | Ticker | Portfolio Weight |
|---|---|---|
| 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% |
| FB | 14% | |
| AT&T | T | 16% |
Not: Çoğu durumda portföy ağırlıklarının toplamı %100 olmalıdır
Bu egzersiz
Python ile Portföy Risk Yönetimine Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Tablodaki değerlere göre model
portfolio_weightsiçin numpy dizisini tanımlamayı tamamla. - Ağırlıklandırılmış hisse getirilerini elde etmek için
StockReturnsüzerindeportfolio_weightsdizisini satırlar boyunca çarpmak üzere.mul()yöntemini kullan. - Ardından, portföy getirilerini hesaplamak için
WeightedReturnsnesnesi üzerinde satırlar boyunca.sum()yöntemini kullan. - Son olarak, zaman içindeki kümülatif getiriler grafiğini incele.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()