使用聚宽API:
def initialize(context): g.security = '002043.XSHE' #获取股票代码 set_benchmark('000300'.XSHG) #设定卢深300作为基准 def handle_data(context,data): security = g.security close_data = attribute_history(security,5,'id',['close']) #获取收盘价 MA5 = close_data['close'].mean() #获取五日均价 current_price = close_data['close'][-1] #获取时间点价格 cash = context.porfolio.cash #获取当前现金 last_price = data[g.security].close # 获取昨日的收盘价 average_price = data[g.security].mavg(20, 'close') # 获取20日收盘价的平均价 if current_price > 1.01 * MA5: # 如果上一时间点价格高出五天平均价1%, 则全仓买入 order_value(g.security,cash) #用当前所有资金买入 log.info("Buying %s" %(security)) #记录这次买卖 elif current_price < MA5 and context.portfolio.positions[security].closeab le_amount > 0: #如果上一时间点价格低于五天平均价, 则空仓卖出 order_target(g.security,0) #将仓位调到0,全部卖出 log.info("Selling %s" % (security)) record(stock_price=current_price) #画出上一时间价格