def initialize(context):
# 初始化策略
run_daily(period, time='every_bar') # 每日定时运行
g.security = '000001.XSHE' # 设置交易标的为平安银行
log.info("策略初始化完成,交易标的为:%s" % g.security)
def period(context):
# 获取当前日期
current_date = context.current_dt.strftime('%Y-%m-%d')
# 判断是否是 2018-03-01,执行买入操作
if current_date == '2018-03-01':
order(g.security, 100) # 买入 100 股
log.info("日期:%s,买入 100 股 %s" % (current_date, g.security))
# 判断是否是 2018-03-21,执行卖出操作
if current_date == '2018-03-21':
order(g.security, -100) # 卖出 100 股
log.info("日期:%s,卖出 100 股 %s" % (current_date, g.security))
#运行结果:
2018-02-01 00:00:00 - INFO - 策略初始化完成,交易标的为:000001.XSHE
2018-03-01 09:30:00 - INFO - order StockOrder(entrust_id=1738281499 security=000001.XSHE mode=OrderAmount: _amount=100 style=MarketOrderStyle: _limit_price=0.0 side=long action=open margin=False entrust_time=2018-03-01 09:30:00 cancel_time=None finish_time=None comment= error=) trade price: 9.94, amount:100, commission: 5.0
2018-03-01 09:30:00 - INFO - 订单已委托:StockOrder(entrust_id=1738281499 security=000001.XSHE mode=OrderAmount: _amount=100 style=MarketOrderStyle: _limit_price=0.0 side=long action=open margin=False entrust_time=2018-03-01 09:30:00 cancel_time=None finish_time=2018-03-01 09:30:00 comment= error=)
2018-03-01 09:30:00 - INFO - 日期:2018-03-01,买入 100 股 000001.XSHE
2018-03-21 09:30:00 - INFO - order StockOrder(entrust_id=1738281500 security=000001.XSHE mode=OrderAmount: _amount=-100 style=MarketOrderStyle: _limit_price=0.0 side=long action=close margin=False entrust_time=2018-03-21 09:30:00 cancel_time=None finish_time=None comment= error=) trade price: 9.94, amount:100, commission: 5.994
2018-03-21 09:30:00 - INFO - 订单已委托:StockOrder(entrust_id=1738281500 security=000001.XSHE mode=OrderAmount: _amount=-100 style=MarketOrderStyle: _limit_price=0.0 side=long action=close margin=False entrust_time=2018-03-21 09:30:00 cancel_time=None finish_time=2018-03-21 09:30:00 comment= error=)
2018-03-21 09:30:00 - INFO - 日期:2018-03-21,卖出 100 股 000001.XSHE
2025-01-31