参数估计

Python 中的定量风险管理

Jamsheed Shorish

Computational Economist

分布族

  • 损失分布:并不确定
  • 可能的分布"类别"?
    • 设分布族为 $f(x; \theta)$
    • $x$ 为损失(随机变量)
    • $\theta$ 为未知参数向量
  • 示例:正态分布
    • 参数:$\theta = (\mu, \sigma)$,均值 $\mu$、标准差 $\sigma$
  • 参数估计:给定数据求"最佳" $\theta^\star$
  • 损失分布:$f(x,\theta^\star)$
Python 中的定量风险管理

分布拟合

  • 按误差最小化准则拟合分布
    • 示例:scipy.stats.norm.fit(),将正态分布拟合到数据
      • 结果:最优均值与标准差
  • 优点:
    • 可用直方图"可视化"数据与估计的差异
    • 可提供"拟合优度"检验
Python 中的定量风险管理

拟合优度

  • 估计的分布与数据匹配得如何?
  • 可视化:绘制投资组合损失直方图

损失直方图

Python 中的定量风险管理

拟合优度

  • 估计的分布与数据匹配得如何?
  • 可视化:绘制投资组合损失直方图
  • norm.fit() 拟合正态分布

带正态分布的损失直方图

Python 中的定量风险管理

拟合优度

  • 估计的分布与数据匹配得如何?
  • 可视化:绘制投资组合损失直方图
  • 示例:
    • norm.fit() 拟合正态分布
    • t.fit() 拟合Student t分布
    • 直方图不对称?

带正态分布的损失直方图

Python 中的定量风险管理

Anderson–Darling检验

  • 拟合优度的统计检验
    • 原假设:数据服从正态分布
    • 统计量大于 critical_values 则拒绝正态分布
  • 导入 scipy.stats.anderson
  • loss 数据计算检验结果
from scipy.stats import anderson

anderson(loss)
AndersonResult(statistic=11.048641503898523,
critical_values=array([0.57 , 0.649, 0.779, 0.909, 1.081]),
significance_level=array([15. , 10. ,  5. ,  2.5,  1. ]))
Python 中的定量风险管理

偏度

  • 偏度:数据分布的不对称程度
    • 正态分布:对称

正态分布

Python 中的定量风险管理

偏度

  • 偏度:数据分布的不对称程度
    • 正态分布:对称
    • Student t分布:对称

正态与t分布

Python 中的定量风险管理

偏度

  • 偏度:数据分布的不对称程度
    • 正态分布:对称
    • Student t分布:对称
  • 偏态正态分布:不对称
    • 将正态作为特例
    • 对投资组合数据有用,如亏损比盈利更常见
    • scipy.stats 中为 skewnorm

正态、t与偏态正态分布

Python 中的定量风险管理

偏度检验

  • scipy.stats.skewtest 检验偏度
  • 原假设:无偏度
  • scipy.stats 导入 skewtest
  • loss 数据上计算检验
    • 若显著,则使用含偏度的分布族
from scipy.stats import skewtest

skewtest(loss)
SkewtestResult(statistic=-7.786120875514511,
pvalue=6.90978472959861e-15)
Python 中的定量风险管理

Passons à la pratique !

Python 中的定量风险管理

Preparing Video For Download...