投资组合回报

Python 投资组合分析入门

Charlotte Werger

Data Scientist

什么是投资组合权重?

  • 权重是某资产在投资组合中的占比
  • 所有权重之和必须为 100%
  • 权重与分散化(少量大额投资 vs. 多项小额投资)

加密组合的最优权重

Python 投资组合分析入门

计算投资组合权重

$$

  • 通过"单个证券价值 ÷ 组合总价值"计算
  • 等权组合,或市值加权组合
  • 权重决定投资策略,可用于优化风险与预期回报

投资组合权重计算

Python 投资组合分析入门

投资组合回报

  • 随时间的价值变化

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

投资组合与标普500指数回报

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 投资组合分析入门

Passons à la pratique !

Python 投资组合分析入门

Preparing Video For Download...