pandas计算对冲比率

编程入门 行业动态 更新时间:2024-10-09 04:26:51

pandas计算对冲<a href=https://www.elefans.com/category/jswz/34/1762959.html style=比率"/>

pandas计算对冲比率

前置条件:

1. 以黄金白银主力合约为例

2. 数据

AU黄金数据:

链接: 
提取码:92l6

AG白银数据:

链接: 
提取码:r0oj

-------------------------------------------

对冲比率计算方法:

对冲比率 = 【黄金和白银的协方差】/【黄金的方差】

对冲比率 = Cov(黄金收益率,白银收益率)/Var(黄金收益率)

计算过程:

1. 将AG_main_pe.csv 和 AU_main_pe.csv 放到一个目录下

2. 在该目录下打开 jupyter notebook, 读入数据文件并根据日期对齐

import numpy as np
import pandas as pdag_file_path = r'./AG_main_pe.csv'
au_file_path = r'./AU_main_pe.csv'
ag_df = pd.read_csv(ag_file_path,encoding='utf-8')
au_df = pd.read_csv(au_file_path,encoding='utf-8')
ag_df = ag_df.loc[:,['date','ag_close','ag_pe']]
au_df = au_df.loc[:,['date','au_close','au_pe']]
ag_df['date'] = pd.to_datetime(ag_df['date'])
au_df['date'] = pd.to_datetime(au_df['date'])
two_df0 = pd.merge(ag_df,au_df,how='inner',on='date')
two_df0.sort_values(by='date',ascending=True,inplace=True)

3. 计算对冲比率

# 计算 AG和AU 的协方差
res_cov = two_df0.au_pe.cov(two_df0.ag_pe)
# 计算 AU 的方差
au_var = two_df0.au_pe.var()
# 对冲比率
final_res = res_cov/au_var
print('AG和AU的协方差',res_cov)
print('AU的方差',au_var)
print('对冲比率',final_res)
# 打印结果
# AG和AU的协方差 0.00011104459160659251
# AU的方差 8.258266462241457e-05
# 对冲比率 1.3446477189166988

至此,对冲比率计算完毕。

附加:

使用OLS计算对冲比率,OLS中所得的系数即是对冲比率。

在上面的代码中继续:

import statsmodels.api as sm
two_df0.dropna(inplace=True)
model01 = sm.OLS(two_df0['ag_pe'],sm.add_constant(two_df0['au_pe'])).fit()
model01.summary()

单独打印系数:

model01.params[1]
# 1.3440849961596375

更多推荐

pandas计算对冲比率

本文发布于:2024-02-13 13:15:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1758624.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:比率   对冲   pandas

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!