g.security = '600570.SS'
def initialize(context):
pass
def handle_data(context, data):
security = g.security
sid = symbol(g.security)
# 取得过去五天的平均价格
average_price = data[sid].mavg(5)
# 取得上一时间点价格
current_price = data[sid]['close']
# 取得当前的现金
cash = context.portfolio.cash
# 如果上一时间点价格高出五天平均价1%, 则全仓买入
if current_price > 1.01*average_price:
# 用所有 cash 买入股票
order_value(symbol(g.security), cash)
log.info('buy %s' % g.security)
# 如果上一时间点价格低于五天平均价, 则空仓卖出
elif current_price < average_price and context.portfolio.positions[sid].amount > 0:
# 卖出所有股票,使这只股票的最终持有量为0
order_target(symbol(g.security), 0)
log.info('sell %s' % g.security)
# 画出上一时间点价格
record(stock_price=current_price)