华贯AI,反馈某只持仓股票达到止盈价但未进行卖出。
华贯AI,反馈某只持仓股票达到止盈价但未进行卖出。设置止盈参数106%,即最新价大于14.176卖出,该股票4.25的最新价有超过14.176。
1、检查4.25的trade_norm.log日志,每分钟策略执行时未打印"分钟策略执行开始",说明AI的handle_data未运行;
2、检查user_operations_log.csv日志,用户的交易是4.20(周六)的12:37启动的;
3、目前非交易日全天、交易日凌晨0-8点,无法开启AI实盘交易, 此时间开启的交易,交易运行异常,状态虽然是开启状态,但是实际交易不运行,所以客户的持仓股票达到止盈价但未进行卖出;
4、老引擎不计划修改,客户需要重启该交易,并且注意开启交易生效的时间,开启交易后观察是否打印"分钟策略执行开始",有则说明AI的handle_data是正常运行的。
服务器连接建立失败,正在尝试重连..
PTrade终端登录量化界面报错:登录失败,错误信息:服务器连接建立失败,正在尝试重连..
1、检查jupyterhub.log日志,发现存在报错:ERROR:连接建立失败{'error_info': 'init_connection创建连接超时,请稍后再试', 'error_no': -90000};
2、检查/home/fly/sim_backtest/t2connect/ptrade_t2connect文件夹,发现无t2sdk.ini文件;
3、经排查,发现目前量化机器使用的是备机nfs数据;
4、备机nfs数据中无t2sdk.ini文件;
5、查看主机与备机nfs的同步服务,发现nfs同步路径错误,目前主机同步到备机的nfs_bk下的数据,但实际挂载脚本是使用的备机nfs路径下数据,所以主机nfs数据正常,但备机nfs数据异常;
临时方案:修复量化的nfs挂载,恢复主nfs挂载。
关于仿真nfs数据同步路径错误问题修复步骤:
1、nfs_rsync_all.sh脚本中目标路径修改为nfs
2、删除备机的nfs_bk数据。
3、等待nfs_rsync_all.sh同步后,查看备机的nfs数据是否同步正常。
get_fundamentals获取财务数据,取到688开头的代码就会获取失败?
客户反馈通过get_fundamentals获取一些代码的财务数据,前面的代码能获取到,取到688开头的代码就会获取失败?提示:获取688XXX.SS数据为空,请查看争取拿代码是否正确或联系管理员!
1、使用get_fundamentals获取客户报错代码的财务数据,发现都可以正常获取到;
2、客户策略是遍历32只代码获取到688开头的会获取失败,尝试使用客户代码在客户运行的环境获取40只代码并且包含688开头的代码的财务数据,发现能正常获取到,并且在客户反馈的盘前9:15获取不到时也是能正常获取到的;
3、后续客户反馈有时能获取到688开头代码的财务数据,有时获取不到。这是因为get_fundamentals接口为http在线获取,该接口可能会因网络拥堵等原因导致应答失败的情况;同时该接口也有流量限制,每秒不得调用超过100次,单次最大调用量是500条数据,每一条数据的定义为:一个股票对应一个表的一个字段,相当于最大不超过5万条。所以是超过了流量限制或者网络拥堵,导致有时获取到688开头代码的财务数据为空。
后续量化会对get_fundamentals接口取数进行优化,对财务数据进行落地,需求编号202302244068。目前客户可以在财务数据返回为空时尝试多次获取,代码示例如下:
#获取财务数据尝试5次
while count < 5:
if get_df(context):
log.info('本次获取财务数据成功')
flag = True
break
else:
count +=1
time.sleep(60)
if not flag:
g.handle_data_flag = False
log.info('本次获取财务数据不成功,请检查数据')
else:
g.handle_data_flag = True