【发布时间】:2014-07-16 12:58:38
【问题描述】:
我通过以下方式计算了两种证券收益的最小方差对冲比率 (MVHR):
1. 使用样本计算最优 h* = Cov(S,F) / Var(F)
2.运行OLS回归并获得beta值
两个值略有不同,例如我得到 h* = 0.9547 和 beta = 0.9537。但它们应该是相同的。为什么会这样?
下面是我的代码:
import numpy as np
import statsmodels.api as sm
var = np.var(secRets, ddof = 1)
cov_denom = len(secRets) - 1
for i in range (0, len(secRets)):
cov_num += (indexRets[i] - indexAvg) * (secRets[i] - secAvg)
cov = cov_num / cov_denom
h = cov / var
ols_res = sm.OLS(indexRets, secRets).fit()
beta = ols_res.params[0]
print h, beta
indexRets 和 secRets 分别是指数和证券(期货)的每日收益列表。
【问题讨论】:
标签: python numpy statsmodels