个人量化研究环境。
模块名/文件名: event,signal_sender
方法/函数: get_data
类名: HistoryDataHandler
对象: historyDataHandler
常量: CONSTANT_VARIABLE
变量: this_is_a_variable
''' 功能说明。
....
....
'''
实现BacktestEngine,根据策略编写其initilize方法与handle_data方法。BacktestEngine实例化对象实现start_backtest方法对回测进行封装。
backtest_data_initilizer 根据指定参数,初始化回测所需的交易数据。为回测提供数据接口。 context 共享backtest_data_initilizer的数据接口,与blotter进行交互。提供查询、下单、接收交易反馈的功能。 blotter 共享backtest_data_initilizer的数据接口,与context进行交互。提供根据交易数据进行撮合的功能,提供下单指令反馈,停牌判定。其共享数据提前context一个交易日(日间)。 recorder 对账户状况进行记录,对交易效果进行统计。 order 该对象提供对订单的描述。
提供基于tushare的数据库创建、维护、提取等功能的接口。数据库默认为MySQL.
calendar:提供交易日历
保存回测结果
保存live结果
日志。
进度:
- 完成了基于tushare的本地数据库搭建(股票基本信息、日前复权数据)
- 完成了大体的回测架构,使用buy_and_hold策略进行了测试,结果与优矿基本一致。
下一步的计划:
- 程序细节的增加与优化(策略回测统计结果、手续费精确化、涨停跌停判定、考虑滑点的影响、增加更多的order类型、停牌判定)
- 整体程序api的优化(优化各模块的功能与交互、加强易用性和可扩展性)
- 建立因子数据库(基于tushare)、增加日数据更新函数、增加因子数据库的更新函数、建立分钟线数据库
- 加入模拟交易的功能(基于tushare实时行情,加入日志功能与信号发送功能)
- python2.7(Anaconda)
- pymysql
- tushare