- 1、初始运行信息
- 2、编写策略的逻辑
- 3、策略的一个分析
-
起止日期:在历史数据,回测区间(5-10年)
-
初始资金:有多少钱用于策略的投资,用于投资的总资金
-
回测的频率:每日交易判断 / 每分钟交易判断(市场中性,判断周期可能更长,一个月等等)
有两种选择,日回测 / 分钟回测
做股票量化选择日回测即可。
-
init 策略初始化逻辑
-
before_trading 每日开盘之前的操作,
比如获取历史行情做一些数据预处理、获取当前账户资金等。
-
handle_bar 包括交易信号的参数,订单的创建
运行顺序1、init
2、before_trading
3、handle_bar
都有一个context对象、用于函数之间的内容传递
自动生成说明
# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。
# 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。
def init(context):
# 在context中保存全局变量
context.s1 = "000001.XSHE"
# 实时打印日志
logger.info("RunInfo: {}".format(context.run_info))
# before_trading此函数会在每天策略交易开始前被调用,当天只会被调用一次
def before_trading(context):
pass
# 你选择的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新
def handle_bar(context, bar_dict):
# 开始编写你的主要的算法逻辑
# bar_dict[order_book_id] 可以拿到某个证券的bar信息
# context.portfolio 可以拿到现在的投资组合信息
# 使用order_shares(id_or_ins, amount)方法进行落单
# TODO: 开始编写你的算法吧!
order_shares(context.s1, 1000)
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次
def after_trading(context):
pass



