均值、方差与正态分布

Python 投资组合风险管理入门

Dakota Wixom

Quantitative Analyst | QuantCourse.com

分布的矩

概率分布具有以下矩:

  • 1) 均值($ \mu $)
  • 2) 方差($ \sigma ^ 2 $)
  • 3) 偏度
  • 4) 峰度
Python 投资组合风险管理入门

分布有多种类型:有的为正态,有的为非正态。服从高斯分布的随机变量被称为正态分布

正态分布的性质:

  • 均值 = $ \mu $
  • 方差 = $ \sigma ^ 2 $
  • 偏度 = 0
  • 峰度 = 3

Python 投资组合风险管理入门

标准正态分布

当满足以下条件时,标准正态分布是正态分布的特例:

  • $ \sigma $ = 1
  • $ \mu $ = 0
Python 投资组合风险管理入门

与正态分布对比

  • 正态分布的偏度接近0,峰度接近3。
  • 金融回报通常不服从正态分布
  • 金融回报可能具有较高峰度
Python 投资组合风险管理入门

与正态分布对比

Python 投资组合风险管理入门

在 Python 中计算平均回报

要计算日均回报,使用 np.mean()

import numpy as np
np.mean(StockPrices["Returns"])
0.0003

按一年252个交易日计算年化平均回报:

import numpy as np
((1+np.mean(StockPrices["Returns"]))**252)-1
0.0785
Python 投资组合风险管理入门

标准差与方差

标准差(波动率)

  • 方差 = $ \sigma ^ 2 $
  • 常用记号为 $ \sigma $,也称为"波动率"
  • $ \sigma $ 越高,投资风险越高
  • 度量回报的离散程度

Python 投资组合风险管理入门

在 Python 中计算标准差与方差

假设已在 StockData 对象中预载了股票回报数据。计算期间回报的标准差:

import numpy as np
np.std(StockPrices["Returns"])
0.0256

计算方差,只需将标准差平方:

np.std(StockPrices["Returns"])**2
0.000655
Python 投资组合风险管理入门

波动率缩放

  • 波动率随时间的平方根缩放
  • 一年通常按252个交易日、一个月按21个交易日计算

Python 投资组合风险管理入门

在 Python 中进行波动率缩放

假设已在 StockData 对象中预载了股票回报数据。计算回报的年化波动率:

import numpy as np
np.std(StockPrices["Returns"]) * np.sqrt(252)
0.3071
Python 投资组合风险管理入门

让我们来练习!

Python 投资组合风险管理入门

Preparing Video For Download...