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

相关文章

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Pandas中多重索引技巧的实现

《Pandas中多重索引技巧的实现》Pandas中的多重索引功能强大,适用于处理多维数据,本文就来介绍一下多重索引技巧,具有一定的参考价值,感兴趣的可以了解一下... 目录1.多重索引概述2.多重索引的基本操作2.1 选择和切片多重索引2.2 交换层级与重设索引3.多重索引的高级操作3.1 多重索引的分组聚

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2