python统计套利_「手把手教你」使用Python实现统计套利

文章转载自公众号 人工智能量化实验室 , 作者 Frankie的账号

一、交易对象选取

我们以商品期货市场的螺纹钢品种的跨期套利为例,选取两组不同到期月份的同种商品期货合约作为交易对象。

相关性检验

通过新浪财经的期货数据接口爬取螺纹钢rb1903到rb1908的六组数据,先看一下它们的走势:

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport urllib.request as urllib2import jsondef findPairs(): ids = ['rb1903', 'rb1904', 'rb1905', 'rb1906', 'rb1907', 'rb1908'] url_5m = 'http://stock2.finance.sina.com.cn/futures/api/json.php/IndexService.getInnerFuturesMiniKLine5m?symbol=' result = [] for id in ids: url = url_5m + id req = urllib2.Request(url) rsp = urllib2.urlopen(req) res = rsp.read() res_json = json.loads(res) result.append(res_json) close_result = [] for instrument in result: oneDay_list = [] for oneDay in instrument: oneDay_list.append(float(oneDay[-2])) close_result.append(np.array(oneDay_list)) close_result = np.array(close_result) close_result = close_result.T df = pd.DataFrame(data=close_result, columns=ids) df.plot() plt.show()

167423519_1_201908020810503

从价格的走势图中,可以看出 rb1903 和 rb1904 以及 rb1908 和 rb1907 的走势上存在很强的相关性,下面画出它们之间的相关矩阵。sns.heatmap(df.corr(), annot=True, square=True) plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值