- #3
- # 设置回测条件
- def set_backtest():
- print '设置回测条件'
- # 设定沪深 300 作为基准, 就是基准收益
- set_benchmark('000300.XSHG')
- # 开启动态复权模式 (真实价格)
- set_option('use_real_price', True)
- # 输出内容到日志 log.info()
- log.info('初始函数开始运行且全局只运行一次')
- # 过滤掉 order 系列 API 产生的比 error 级别低的 log
- # log.set_level('order', 'error')
- ### 股票相关设定 ###
- # 股票类每笔交易时的手续费是: 买入时佣金万分之三, 卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣 5 块钱
- set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')
- ## 运行函数 (reference_security 为运行时间的参考标的; 传入的标的只做种类区分, 因此传入'000300.XSHG'或'510300.XSHG'是一样的)
- # 开盘前运行
- run_daily(before_market_open, time='before_open', reference_security='000300.XSHG')
- # 开盘时运行
- run_daily(market_open, time='every_bar', reference_security='000300.XSHG')
- # 收盘后运行
- run_daily(after_market_close, time='after_close', reference_security='000300.XSHG')
- log.set_level('order','error') # 设置报错等级
'''
================================================================================
每天开盘前
================================================================================
2, 每天开盘前选股策略 (下面策略, 发现这种股, 不容错过)
2.1, 设置手续费
2.2, 设置可行股票池, 比如过滤当日停牌股票
2.3, 筛选上市满一年的全部 A 股
2.4, 筛选上市发生向上缺口的时点
定义为: 今日最低价 > 昨日最高价, 删除涨停的个股
涨幅 > 5%
2.5, 筛选前期盘整阶段, 比如 20-30 个交易日, 最高价 - 最低价 / 最低价 < 15% 或者标准差较少的
2.6, 缺口当日成交量 > 前 20 个交易日平均成交量的 50%, 也就是 15 倍以上.
'''
- ## 开盘前运行函数
- def before_market_open(context):
- # 输出运行时间
- log.info('函数运行时间 (before_market_open):'+str(context.current_dt.time()))
来源: http://www.bubuko.com/infodetail-3108593.html