598 浏览
0

2月9日这个交易日算出来的平均值为100左右,实际上通过其他平台模拟计算为 -99左右,代码如下:

# 设置初始资金,信易账号,模拟模式,回测模式和时间,web_gui开启
api = TqApi(acc, backtest=TqBacktest(start_dt=date(2023, 2, 10), end_dt=date(2023, 2, 24)),

#设置品种
bean = ‘DCE.b2304’
soy_meal = ‘DCE.m2305’
soy_oil = ‘DCE.y2305’

one_day_ks = api.get_kline_serial([bean, soy_meal, soy_oil], 60, 345) #获取一天的分钟级K线图

def compute_mean_std(bean_ks, meal_ks, oil_ks):
#计算价差
spread = meal_ks * 0.8 + oil_ks * 0.2 – bean_ks
spread_mean = np.mean(spread)
sigma = np.std(spread)
spread_1_std = spread_mean + sigma
spread_minus_std = spread_mean – sigma

return spread_mean, sigma, spread_1_std, spread_minus_std

spread_mean, sigma, spread_1_std, spread_minus_std = compute_mean_std(one_day_ks.close, one_day_ks.close1, one_day_ks.close2)
print(“The mean:%0.2f, std: %0.2f, +1sigma:%0.2f, -1sigma: %0.2f”%(spread_mean, sigma, spread_1_std, spread_minus_std))

李思恒 已回答的问题 2023年3月7日
0

回测中的日期是可以取到的,你可以试一下取一个日K然后打印下时间戳看看,记得把时间戳转换下用time_to_str函数,不然可能不可读

李思恒 已回答的问题 2023年3月7日