您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

WH3-019版的模型开发方面为何越来越慢,真受不了!!! [赢顺期货]

  • 咨询内容:

    如题,“WH3-019版的模型开发方面为何越来越慢”主要表现在:

     

    1.效果预览调入数据(胶指数5分钟数据20090518-20120120),如果含有资金管理函数,提示计算量较大、耐心等待。我的模型是非过滤模型,使用了虚拟资金、开仓量、平所有仓等函数,以及几个软件提示含有的所谓回溯函数,但没使用跨周期、未来函数。但是,往往等了几十分钟也没有动静,后来反而出现“未响应”需要关闭。这种现象出现了很多次,让我白费了很多时间。

     

    2.有一次效果预览调入数据过程出现“未响应”而关闭软件后,重启软件,竟然提示沪胶指数的“数据区无数据”,到程序化数据管理调入该指数1分钟数据时,提示“该数据已损坏是否需要删除?”。重新下载数据过程中卡在一半数据附近,竟然也出现“无响应”而退出软件。幸好自己以前保存过该数据,只得拷回该品种的1分钟数据才得以重新搞效果测试。

     

    3.收益率测算的“指令价”测试以及带有资金管理函数的非过滤模型测试等等情况实在太慢了,曾经还发生过收益率测试完成后,回去看效果预览图无响应的错误。“带有资金管理函数的非过滤模型收益率测试”为何没有“收盘价、指令价”的选择选项?

     

    4.参数优选方面,新版比017实盘版至少要多费时1-2倍的时间(在同样的模型、数据起止时间、3个参数且范围均在2-200以内)。为何会这样???真是百思不得其解!

     

    上述使用过程中遇到的“太慢了”“无响应”关闭等等的问题,使我想起了去年刚用Mytrader09版测试及优化异常慢的情形。感觉,WH3在这方面是越升级越倒退了!! 

     

    太慢、太费事、太费时,真有点受不了了!!!!!   不知道其他朋友是否也有此感受?

     

  • 赢顺技术人员:

    你说的问题,我们查一下

     

    感谢反馈!

     

  • 赢顺客服:

    1楼问题继续:(本ID是1楼ID的模拟帐号)

     

    对于问题1、2、3,另有几点感觉:

     

    1.效果预览后的数据载入完成后,换一个模型或从“收益率测算”回到预览界面时,数据和信号又会重载一遍似的,所以会导致又一次次的“无响应”现象,而且很慢。尤其是数据已经载入了,就应该与已经有的数据相关联进行测算(相当于静态分析),只需要根据模型的算法计算每根k线的交易信号而已,怎么会这么出奇的慢呢?

     

    2.软件在平时的交易工作时段时,模型的开发测试又会慢许多,“无响应”现象也就更多,尤其是信号质量不好或偶尔断线的时候,模型开发测试就明显停滞。既然是多线程、多核处理机制,应该是各管各的,相对独立的功能应该不受影响的。

     

    3.系统在处理含有回溯函数,开平仓、虚拟资金等资金函数,以及EMA、BARSLAST(REF(DATE,1)<>DATE)这样的函数时,为何特别的慢?慢也就慢了,关键是竟然等了半天(有时候是几个小时),中间没有其他任何提示最后却“无响应”需要关闭系统。这就很是令人费解。

     

    4.最后问一个问题,将过滤模型改由非过滤模型来管理,在初始化时,原有仓位应该如何处理?模组会按照分配的资金计算出仓量,根据当前信号、当前账户持仓等进行自动加载管理吗?新建模组时,只有“继续运行”或“重新运行”的选择。不知道这两种选择的工作机制是怎样的?  请仔细给予说明。

     

  • 网友回复:

    胶指数5分钟数据20090518-20120120,也就是说你的数据根数是 45 × 大概600个交易日 = 27000根

     

    不是系统速度变慢,是数据来那个大引起的,这么多的数据,确实需要很长的时间的。(不知道你在其他的软件,同样的模型,是否进行过这么大数据量的运算? )

     

    多线程,目前也无法解决所有的问题,尤其是ema等回溯函数,函数算法本身,目前还无法分拆成多线程计算的。

     

    另外,BARSLAST(REF(DATE,1)<>DATE)这句是运算量很大的,也耗费很大的运算时间。

     

     

    感谢您的反馈!  以后的版本我们会改进算法,提高运算的速度

     

     

     

  • 网友回复:

    4.最后问一个问题,将过滤模型改由非过滤模型来管理,在初始化时,原有仓位应该如何处理?模组会按照分配的资金计算出仓量,根据当前信号、当前账户持仓等进行自动加载管理吗?新建模组时,只有“继续运行”或“重新运行”的选择。不知道这两种选择的工作机制是怎样的?  请仔细给予说明。

     

    ____这个问题呢?


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容