[Day28] 一次跑n支策略最佳化

这边实做一个函数,让他能够一次对好几只策略做最佳化,输入的strategylist就是把好几个策略包在一个list里面喂进来,把所有的策略最佳化之後回传结果。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238egitbqdEHc.png

以下是main的内容,lambda:0这个指令可以创造一个空的物件,然後动态放一些资料进去,我从这边看来的(https://stackoverflow.com/questions/1878710/struct-objects-in-python)。 里面的name代表策略名称,obj就是策略的class,range代表最佳化的范围。如果要新增其他策略(像是MACD),只要用一样的写法新增资料再append就行了。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238w3Uk5eBmbC.png

以下是最佳化的结果,可以看出来在同样在这段时间布林通道的报酬比均线还要多,其他像买卖讯号和每日报酬率也是有的,就不再赘述。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238i5WxhoOTKq.png

最後再看看MDD,BBAND的MDD虽然高一点点,但报酬比均线多好几倍,其实是值回票价的。
https://ithelp.ithome.com.tw/upload/images/20210928/20141238gha3DM7kuG.png
https://ithelp.ithome.com.tw/upload/images/20210928/201412382FPu3HI1vp.png

其实不写那个function好像也可以,只要把所有的策略通通都丢到main里面然後一支一支跑最佳化就好。


<<:  Day 13: 时间管理、预估、压力 (待改进中... )

>>:  JS Library 学习笔记:首先当然来试试 jQuery (二)

Laravel 技术笔记 (四)【Query Builder 查询建构器】

介绍 在上一篇使用迁移定义好资料库的架构後,我们还需要学习如何与资料库互动,在 Laravel 中我...

30天轻松学会unity自制游戏-制作PlayerHP

敌机会攻击後,考量游戏难易度,让玩家飞机能多扛几下子弹,先给玩家一个HP血条,等血量见底再说,在Hi...

学习Python纪录Day26 - 批次处理档案part2

批次修改档名 在os模组中使用rename()更改档名 path = "./videos&...

CPE 一颗星解答 - Java 笔记与心得分享

以下是自己的 CPE 一颗星选集解题纪录,共有 49 题 重点笔记整理如下, https://gre...

基於 SAML 的联合身份管理 (FIM) 以支持单点登录 (SSO)

来源:安全断言标记语言 (SAML) V2.0 技术概述 如上图所示: .一个用户可以在每个域中拥...