pandas计算对冲比率

2023-11-20 15:10
文章标签 计算 pandas 比率 对冲

本文主要是介绍pandas计算对冲比率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前置条件:

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

2. 数据

AU黄金数据:

链接:https://pan.baidu.com/s/1GfSWSvygp7lrAeckXK4ypw 
提取码:92l6

AG白银数据:

链接:https://pan.baidu.com/s/13RGpZmGyTQbONbOMlUnW5g 
提取码: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计算对冲比率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/m0_37967652/article/details/122494140
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/395491

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

Pandas进行周期与时间戳转换的方法

《Pandas进行周期与时间戳转换的方法》本教程将深入讲解如何在pandas中使用to_period()和to_timestamp()方法,完成时间戳与周期之间的转换,并结合实际应用场景展示这些方法的... 目录to_period() 时间戳转周期基本操作应用示例to_timestamp() 周期转时间戳基

pandas DataFrame keys的使用小结

《pandasDataFramekeys的使用小结》pandas.DataFrame.keys()方法返回DataFrame的列名,类似于字典的键,本文主要介绍了pandasDataFrameke... 目录Pandas2.2 DataFrameIndexing, iterationpandas.DataF

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Pandas利用主表更新子表指定列小技巧

《Pandas利用主表更新子表指定列小技巧》本文主要介绍了Pandas利用主表更新子表指定列小技巧,通过创建主表和子表的DataFrame对象,并使用映射字典进行数据关联和更新,实现了从主表到子表的同... 目录一、前言二、基本案例1. 创建主表数据2. 创建映射字典3. 创建子表数据4. 更新子表的 zb

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl