python统计套利_基于python的统计套利实战(四)之策略实现

一、交易对象选取

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

相关性检验

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

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

import urllib.request as urllib2

import json

def 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()

fa53e331a0c660bfcd0565492745537d.png

从价格的走势图中,可以看出 rb1903 和 rb1904 以及 rb1908 和 rb1907 的走势上存在很强的相关性,下面画出它们之间的相关矩阵。

sns.heatmap(df.corr(), annot=True, square=True)

plt.show()

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值