经常听见tick数据,回测的时候也用过,但是还真的没有自己去处理过tick数据,据说tick数据有很多坑,所以打算自己研究一下。首先的第一步就是先拿正常的tick数据来生成bar,从而能够理解一些细节,然后就是自己用ctp去接收tick数据,看看ctp有没有坑。
这里,完美的tick数据是wind上的。
这是wind上面导出来的,看起来还是比较正常的,反正一秒两个数据嘛。毕竟我们知道,咱们交易所给我们的数据不是真正的tick,而是snapshot,说白了就是500毫秒一次切片。一切的行情软件,其实都是根据tick数据来实现的。
tick数据当然还有别的东西,比如ask、bid但是,最重要的还是last_price和volume。last price当然可以理解,切片时候的成交价格嘛,至于volume,我们来看一下曲线:
所以,tick数据的volume是累计成交量,而一天的开始是九点的夜盘开始。当然没有夜盘的品种当然就是第二天早上九点了。
那么怎么变成分钟数据呢?也就是tick变成bar。
#encoding=utf-8
import pandas as pd
from matplotlib import pyplot as plt
import matplotlib.finance as mpf
from matplotlib.pylab import date2num
tick_df = pd.read_hdf('rb_tick.h5')
class mBar(object):
def __init__(self):
"""Constructor"""
self.open = None