ポートフォリオのリターン

Pythonで学ぶポートフォリオ分析入門

Charlotte Werger

Data Scientist

ポートフォリオのウェイトとは

  • ウェイトは、ポートフォリオ内の資産構成比
  • すべてのウェイトの合計は100%である必要がある
  • ウェイトと分散(少数高比率 vs 多数少額)

暗号資産ポートフォリオの最適ウェイト

Pythonで学ぶポートフォリオ分析入門

ポートフォリオ・ウェイトの計算

$$

  • 証券の価値をポートフォリオ総額で割って計算
  • 等ウェイト型、時価総額加重型など
  • ウェイトは投資戦略を決め、リスクと期待リターン最適化に用いる

ポートフォリオのウェイト計算

Pythonで学ぶポートフォリオ分析入門

ポートフォリオのリターン

  • 時間とともに変化する価値

  • $ Return_t = \frac{V_t - V_{t-1}}{V_{t-1}} $

ポートフォリオとS&P500のリターン

Pythonで学ぶポートフォリオ分析入門

ポートフォリオのリターン

$$

  • $ Return_t = \frac{V_t - V_{t-1}}{V_{t-1}} $
  • 期待リターンの計算に過去の平均リターンをよく使う
  • 注意: 平均リターン、累積リターン、超過リターン、年率換算リターンの違い
Pythonで学ぶポートフォリオ分析入門

価格データからリターンを計算

df.head(2)
              AAPL     AMZN      TSLA    
date                    
2018-03-25    13.88    114.74    92.48    
2018-03-26    13.35    109.95    89.79
# 各日のリターンを計算
returns = df.pct_change()
returns.head(2)
              AAPL          AMZN        TSLA    
date                
2018-03-25    NaN            NaN        NaN    
2018-03-26    -0.013772    0.030838    0.075705
Pythonで学ぶポートフォリオ分析入門

価格データからリターンを計算

weights = np.array([0, 0.50, 0.25])
# 各銘柄の平均リターンを計算
meanDailyReturns = returns.mean()
# ポートフォリオのリターンを計算
portReturn = np.sum(meanDailyReturns*weights)
print (portReturn)
0.05752375881537723

Pythonで学ぶポートフォリオ分析入門

累積リターンの計算

# 日次ポートフォリオ・リターンを計算
returns['Portfolio']= returns.dot(weights)
# 見てみましょう
returns.head(3)

                AAPL        AMZN        TSLA        Portfolio
date                    
2018-03-23    -0.020974    -0.026739    -0.029068   -0.025880
2018-03-26    -0.013772    0.030838     0.075705    0.030902
Pythonで学ぶポートフォリオ分析入門

累積リターンの計算

# パーセントリターンを時系列で複利化
daily_cum_ret=(1+returns).cumprod()
# 累積リターンをプロット
daily_cum_ret.Portfolio.plot()

Pythonで学ぶポートフォリオ分析入門

累積リターンのプロット

ポートフォリオの累積リターンのグラフ

Pythonで学ぶポートフォリオ分析入門

Let's practice!

Pythonで学ぶポートフォリオ分析入門

Preparing Video For Download...