生活, 其他记录

使用AKShare库进行补仓回测的例子

这是之前的一篇:使用AKShare库获取股票数据。本篇使用该数据进行补仓回测,仅仅作为娱乐,以及对直观想法的验证。在代码中,AKShare 通过 Guan 软件包进行调用:https://py.guanjihuan.com

回测的主要结论是:在初始资金为 1000 元,投资时长为 6 年左右时,

  • 如果不限制补仓,跌到成本的 0.95 倍时翻倍补仓,平均利润率最大,平均加仓次数为 22 次,但平均投入资金远远超出实际,为 4.570909006502524e+26。
  • 如果限制补仓次数为 10 次,跌到成本的 0.8 倍时翻倍补仓,平均利润率最大,平均加仓次数为 5 次,平均投入资金为 242379 元。
  • 如果限制补仓次数为 4 次,跌到成本的 0.7 倍时翻倍补仓,平均利润率最大,平均加仓次数为 2~3 次,平均投入资金为 8945 元。

总结:以上结论是合理的。补仓次数的上限应该做个限制,否则投入资金越远超实际。另外,当限制的次数越小,越应该晚些补仓,给后续可能的持续下跌提供可能的拯救机会。平均加仓次数大概为限制补仓次数的一半。一般来说,第三个方案是对的,即跌到成本的 0.7 倍,也就是亏损接近 30% 时翻倍补仓是比较科学的,这是因为在限制补仓次数为 4 次时,投入资金就已经有 2^4=16 倍的可能了,也就是初始资金 1000 元的 16倍,为 16000 元,如果初始资金为 1 万元,那么 16 倍为 16 万元。

以下是具体的补仓回测 Python 代码。下载数据和运行时间可能会比较长,如果不做自定义的量化分析,可以忽略以下内容。此外,随着 AKShare 软件包的更新,以下代码在运行时可能会存在一些 Bug,需要手动修改测试代码。由于个人时间有限,目前暂不维护!

1. 下载数据(大小约1G):点击展开

2. 检查下载的数据是否完整:点击展开

3. 对数据进行预处理,只回测 2018 年之后的数据:点击展开

4. 回测策略:当跌到成本的 ratio 倍时,翻倍投入补仓。代码为:点击展开

5. 策略运行结果为:点击展开

443 次浏览

【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code