量化交易对我们而言,最重要的就是数据了。如何获取交易数据呢?我们准备写一个简单的爬虫,每天从交易所爬取最新的数据,这里介绍的不是日内级别的策略。所以我们只需要交易所的日数据就可以了。我们先从上期所开始介绍吧。因为我们准备使用ctp交易,上期所的ctp接口是没有什么错误的。通过ctp接口当然也可以获取每天的tick数据,但是因为没有历史的tick数据,对我们来说是不合适的。所以我们还是从上期所官网获取日级别的数据。
我们当然还需要一个交易日历,这个在交易所官网上也可以爬取,或者手工建好都可以。
ok,我们开始吧。
首先需要安装python环境,可以选择anaconda进行完整的安装。我的python版本是3.6.6,最好选择python 3吧。接下来的代码都在python 3上运行
我们使用resqests来获取行情。
很明显这是一个json结构体,我们用json来解码它
我们只需要instrument这个信息,这个dataframe还不是特别好,我们需要做一些清洗工作。
最后我们得到了一天的交易数据了。
# coding=utf8
import requests
import datetime as dt
import json
import pandas as pd
import time
def get_shfe_data(date):
while True:
try:
response=requests.get('http://www.shfe.com.cn/data/dailydata/kx/kx{date}.dat'\
.forma