策略思想
上证3000点以下买入沪深300ETF 3300点以后卖出 买入债券ETF
#初始化账户
def init(context):
g.index='510300.SH'
g.index1='000001.SH'
g.index2='511010.SH' # 国债ETF
set_benchmark('510300.SH') # 纳指
def handle_bar(context,bar_dict):
close = history(g.index, ['close'], 60, '1d', False, fq = 'pre', is_panel=0)
close1 = history(g.index1, ['close'], 1, '1d', False, is_panel=0).values[-1]
close2= history(g.index2, ['close'], 1, '1d', False, is_panel=0).values[-1]
log.info(close1)
MA5 = close['close'].values[-5:].mean()
#计算二十日均线价格
MA20 = close['close'].values[-20:].mean()
MA60 = close['close'].values.mean()
#设置交易信号
trade_signal=0
if (close1<3000):
#清仓已有证券
order_target_percent(g.index2,0)
#使用所有现金买入证券
order_target_percent(g.index,1)
#记录本次买入
log.info("全仓买入{0}".format(g.index))
#记录买入信号
trade_signal=1
#如果五日均线小于二十日均线
if close1>3300 :
#卖出所有证券
order_target_percent(g.index,0)
#记录本次卖出
log.info("全仓卖出{0}".format(g.index))
#记录卖出信号
trade_signal=-1
#买入债券
order_target_percent(g.index2,1)
log.info(trade_signal)
record(trade_signal=trade_signal)
年化14% 蛮好