欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [建议]提一点软件优化的建议:关于策略公式测试优化时减少内存使用量的建议

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2423人关注过本帖树形打印复制链接

主题:[建议]提一点软件优化的建议:关于策略公式测试优化时减少内存使用量的建议

帅哥哟,离线,有人找我吗?
lshhaaa
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:32 积分:0 威望:0 精华:0 注册:2020/12/22 16:35:17
[建议]提一点软件优化的建议:关于策略公式测试优化时减少内存使用量的建议  发帖心情 Post By:2021/2/1 14:30:38 [只看该作者]

提一点软件优化的建议:
关于策略公式测试优化时减少内存使用量的建议
问题提出:利用传统算法进行策略公式测试,优化时参数大围和数量大,对计算机的内核、内存要求极高,经常发生内存不足而崩溃。(数量大时遗传算法也多次崩溃,20核32G)。
解决思路:为了解决内存不足的问题,在使用虚拟内存寄出上,建议对运行过程数据,仅仅保留有效结果数据,大量无效结果数据予以放弃。
具体实现:
1、后一组参数运行得出的结果,和前面组的参数结果相比较,保留得分较高的参数结果,删除得分较低的参数结果。
2、将得分较高的参数,保留一定数量。该数量可调,比如保留前50组参数结果,或者60。
3、每个显示列,都单独进行排分。比如利润率前50、MAR前50、总亏损前50(从小向大排)等。
4、如果某个参数超过一定数值后发生钝化,则只记录两端边界值,比如自设的止损参数范围从0到100%,实际上15%至100%对得分不影响,均为得分最大,那么记录下15%和100%两个参数结果即可。
5、如果上述措施能解决内存问题,那么,参数优化时可以取消6个参数的限制,不设限。
6、参数大范围测试优化时间一般会很长,比如几十个小时,没关系,反正利用夜间或低负荷时电脑自行运算。需要增加一个防止休眠的小功能,和自动数据存储的功能。

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/2/1 14:41:48 [只看该作者]

你这还不如设计成,可分割优化的方式呢。

比如,把参数可能性分成100份,每份可能有1000个参数组合,每次优化完1000个参数组合后保存一个测试报告,然后重新回测新的一份组合

最后得到100个回测结果然后加起来


 回到顶部
帅哥哟,离线,有人找我吗?
lshhaaa
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:32 积分:0 威望:0 精华:0 注册:2020/12/22 16:35:17
  发帖心情 Post By:2021/2/1 14:59:32 [只看该作者]

分割优化的方案也是不错的一个方案。

两个方案感觉都可以,只要能达到下述目的就行:
1、突破一次优化仅能6个参数的限制,不设限;
2、巨量测试优化过程中,不崩溃,小内存也可以稳定运行。
3、对巨量的测试结果数据,自动剔除钝化的参数,减少人为判断的时间。

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2021/2/1 15:54:53 [只看该作者]

 优化时是否勾选“节省内存模式”?

 回到顶部
帅哥哟,离线,有人找我吗?
lshhaaa
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:32 积分:0 威望:0 精华:0 注册:2020/12/22 16:35:17
  发帖心情 Post By:2021/2/1 16:01:11 [只看该作者]

目前操作已经勾选节省内存、自动使用虚拟内存。



对于优化建议中提到的方案,可对程序现有的内存管理模式不做改变,仅仅优化算法和存储量

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2021/2/1 16:19:25 [只看该作者]

如果已经勾选了节省内存模式,那么基本上就已经不存在什么内存浪费情况了,每优化一个参数仅仅保留下参数的基本优化值,如果你还是出现内存问题,那么要从其他方面来考量问题

 回到顶部
帅哥哟,离线,有人找我吗?
lshhaaa
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:32 积分:0 威望:0 精华:0 注册:2020/12/22 16:35:17
  发帖心情 Post By:2021/2/1 16:28:40 [只看该作者]

相同设置,优化数量小了, 能正常。优化数量大了,就会崩溃,包括遗传算法,也崩溃。

如果经过算法优化能实现“大数量不崩溃、优化参数个数不设限、自动剔除钝化结果”,减少问题发生,将更加提高软件的易用性、人性化。

 回到顶部