Skip to content

投资组合与证券市场线

两种资产放在一起之后,收益和风险都不再是各自原来的数。这一章学习:给定目标收益,两种资产该怎么配;再用股票和指数的收益估计 β,在证券市场线上读出期望收益。

学完后,应能写出权重、组合标准差和 β,并说明相关系数、无风险利率是你给定的还是从数据里估的。例子见 examples/fintech/portfolio.py。

两种资产的目标收益

资产 1 的期望收益是 mu1,标准差是 s1。资产 2 同样有 mu2、s2。两者收益的相关系数是 rho,介于 -1 和 1 之间。

权重 w 放在资产 1 上,资产 2 就是 1 - w。组合的期望收益是:

mu = w * mu1 + (1 - w) * mu2

只有两种资产时,目标收益一旦定了,权重就被定死,没有别的配法:

def weight_for_target(mu1, mu2, target):
    return (target - mu2) / (mu1 - mu2)

数字:mu1 = 0.10,mu2 = 0.04,目标 0.07。

w = (0.07 - 0.04) / (0.10 - 0.04)

w 是 0.5。一半资金在资产 1,一半在资产 2。

组合方差还要加上两者一起波动的那一项:

def portfolio_sigma(w, s1, s2, rho):
    var = (
        w**2 * s1**2
        + (1 - w) ** 2 * s2**2
        + 2 * w * (1 - w) * rho * s1 * s2
    )
    return var**0.5

s1 = 0.20,s2 = 0.10,rho = 0.20 时,标准差是 0.1204。它小于资产 1 的 0.20,因为有一部分钱放在波动更小、又没有完全同步的资产 2 上。

三种以上资产时,同一个目标收益可以有很多种配法,才需要专门找方差最小的那一组权重。两种资产先把公式算对。

β

β 描述这只股票的收益跟着市场收益走多紧。市场涨 1%,这只股票平均跟着涨 β%。

用同一段时期的股票收益 r 和市场收益 m:

beta = 协方差(r, m) / 方差(m)

样本只有 4 周时也可以手算。收益写成小数:

r = [0.02, -0.01, 0.03, 0.01]
m = [0.01, -0.02, 0.04, 0.02]

样本协方差和方差都除以 n - 1。算出来 β 是 0.6267:市场动 1%,这只股票平均动大约 0.63%。周数太少时,这个数不稳定。作业用至少 60 个交易日的日收益,市场用对应的指数收益,两边日期对齐。

证券市场线

证券市场线给出 β 对应的期望收益。rf 是无风险利率,premium 是市场收益高出无风险利率的那一段:

expected = rf + beta * premium

rf = 0.02,premium = 0.06,β 用上面的 0.6267,期望收益是 0.0576,也就是 5.76%。

图上横轴是 β,纵轴是期望收益。β 为 0 时纵轴是 rf,β 为 1 时纵轴是 rf + premium。把自己估计的 β 代进去,就得到线上的一个点。

课堂练习

  1. 把目标收益改成 0.08,重算权重和组合标准差。
  2. 把 rho 改成 0 和 1,看标准差怎么变。
  3. 用自己的股票和指数,估计 β,并在证券市场线上读出期望收益。写明无风险利率和市场溢价是你假设的数。