投資組合報酬

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
# Calculate returns over each day
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])
# Calculate average return for each stock
meanDailyReturns = returns.mean()
# Calculate portfolio return 
portReturn = np.sum(meanDailyReturns*weights)
print (portReturn)
0.05752375881537723

Python 投資組合分析入門

計算累積報酬

# Calculate daily portfolio returns
returns['Portfolio']= returns.dot(weights)
# Let's see what it looks like
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 投資組合分析入門

計算累積報酬

# Compound the percentage returns over time 
daily_cum_ret=(1+returns).cumprod()
# Plot your cumulative return 
daily_cum_ret.Portfolio.plot()

Python 投資組合分析入門

累積報酬走勢圖

投資組合累積報酬圖

Python 投資組合分析入門

一起來練習吧!

Python 投資組合分析入門

Preparing Video For Download...