目录
一、模型介绍
以价格逻辑进行交易,并生成基本的收益统计,其中,交易信号 :
价格超过20天最高价,买入
价格跌破60日均线,卖出
if data_high_pre[k][-2] > max(data_high[k][:-2]):
buy[k] = 1 #昨天价格超过20日最高价,给买入字典赋值1(加入买入备选)
elif data_high_pre[k][-2] < np.mean(data_close60[k][:-2]):
sell[k] = 1 #低于60日均线,加入卖出备选
二、可学习部分
1.记录买点,得出当前市值
order_shares(k,order[k]*100,'fix',tmp[k][-1],ContextInfo,ContextInfo.accountID) #开盘价下单
ContextInfo.buypoint[k] = tmp[k][-1] #把最近开盘价给买点字典
ContextInfo.money_distribution[k] -= 0.0003*order[k]*100*tmp[k][-1]
#计算市值,要买的初始资金-手续费
2.统计利润
profit = sum(ContextInfo.money_distribution.values())/ContextInfo.capital - 1
#所有市值加起来/初始市值就是现在净值了
3. 计算持仓股,在图中输出基本统计值
ttt = 0
for v in list(ContextInfo.holdings.values()):
if v > 0: #持有股数不为零
ttt += 1
ContextInfo.paint('收益',profit,-1,0)
ContextInfo.paint('对冲收益',profit-net_hs300-1,-1,0)
ContextInfo.paint('对冲收益净值',profit+1-net_hs300,-1,0)
ContextInfo.paint('个股',ttt,-1,0)