跳转到内容

收益率的定义

给定价格序列 PtP_t简单收益率定义为

rt=PtPt1Pt1,r_t = \frac{P_t - P_{t-1}}{P_{t-1}},

对数收益率定义为

t=lnPtPt1=ln(1+rt).\ell_t = \ln \frac{P_t}{P_{t-1}} = \ln(1 + r_t).

两者在 rt|r_t| 很小时近似相等。对数收益在时间上可加:t1tn=tt\ell_{t_1 \to t_n} = \sum_{t} \ell_t;简单收益在截面上可加:组合收益是成分简单收益的加权和。因此时间序列分析用对数收益,组合归因用简单收益

若一年有 NN 个观测期(日频取 252),平均对数收益的年化为 NˉN \bar{\ell};波动率年化为 Nσ\sqrt{N}\,\sigma

returns.py
import numpy as np
import pandas as pd
def to_returns(prices: pd.Series, log: bool = False) -> pd.Series:
if log:
return np.log(prices).diff().dropna()
return prices.pct_change().dropna()