量化合约对冲交易软件开发源代码(支持二开)

150 阅读1分钟

定义一个计算累计回报的函数

def cum_return(df, split_value):

#该基准收益为‘Return’的总和*100
cum_return = df[split_value:]['Return'].cumsum()*100
#将计算结果进行返回
return cum_return

#再定义一个开发对接v+hkkf5566,计算使用策略交易的收益

def strategy_return(df, split_value):

#使用策略交易的收益为模型‘zgpa_Return’乘以模型预测的涨跌幅
df['Strategy_Return'] = df['Return']*df['Predict_Signal'].shift(1)
#将每日策略交易的收益加和并乘以100
cum_strategy_return = df[split_value:]['Strategy_Return'].cumsum()*100
#将计算结果进行返回
return cum_strategy_return

#定义一个绘图函数,用来对比基准收益和算法交易的收益

def plot_chart(cum_returns, cum_strategy_return, symbol):

#首先是定义画布的尺寸
plt.figure(figsize=(9,6))
#使用折线图绘制基准收益
plt.plot(cum_returns, '--',label='%s Returns'%symbol)
#使用折线图绘制算法交易收益
plt.plot(cum_strategy_return, label = 'Strategy Returns')
#添加图注
plt.legend()
plt.xticks(np.arange(0,286,36),rotation=20)
#显示图像
plt.show()

计算并且画图

首先来计算基准收益(预测集)

cum_returns = cum_return(df, split_value=len(X_train))

然后是计算使用算法交易带来的收益(同样只计算预测集)

cum_strategy_return = strategy_return(df, split_value=len(X_train))

用图像来进行对比

plot_chart(cum_returns, cum_strategy_return, 'zgpa')