第一个策略-买入&持有
万事开头难,这是一个最简单的策略:在回测开始的第一天买入资金量的100%的平安银行并且一直持有。
- # 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。
- def init(context):
- logger.info("init")
- context.s1 = "000001.XSHE"
- update_universe(context.s1)
- # 是否已发送了order
- context.fired = False
- context.cnt = 1
- def before_trading(context):
- logger.info("Before Trading", context.cnt)
- context.cnt += 1
- # 你选择的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新
- def handle_bar(context, bar_dict):
- context.cnt += 1
- logger.info("handle_bar", context.cnt)
- # 开始编写你的主要的算法逻辑
- # bar_dict[order_book_id] 可以拿到某个证券的bar信息
- # context.portfolio 可以拿到现在的投资组合状态信息
- # 使用order_shares(id_or_ins, amount)方法进行落单
- # TODO: 开始编写你的算法吧!
- if not context.fired:
- # order_percent并且传入1代表买入该股票并且使其占有投资组合的100%
- order_percent(context.s1, 1)
- context.fired = True