全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4855 5
2016-04-05
手工写了个最大回撤的计算代码,如下。但是效率很低,请问可以怎么优化下?dataset是输入的数据框,"CLOSE"表示其中的收盘价,这个是最关键的数据列,这个dataset可以包含其他任何数据,没有限制。

span是最大回撤计算的时间跨度。

复制代码
代码运行倒是没啥问题,就是特别慢。估计使用了太多显性for循环的原因吧?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-4-5 22:59:20
确实是循环用得太多了,不是R语言的风格。我写了一个:

复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-6 11:26:17
min(cumsum(x)-cummax(x))


另外可以参考perforamanceanalytic包。里面有各种评价指标。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-8 09:22:48
cheetahfly 发表于 2016-4-5 22:59
确实是循环用得太多了,不是R语言的风格。我写了一个:
谢谢,你的代码跟我想要的还是不一样,不过提供了很大的启发!我重新修改成以下代码就快很多了,
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-8 09:23:47
wangfs111222 发表于 2016-4-6 11:26
min(cumsum(x)-cummax(x))
谢谢,回头研究下你的包。不过我还是倾向于使用一些基础的包写代码,不然每次为了一个新的计算需求就要研究一个包,我也是很头大。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-3 21:36:39
可用profvis()函数查看代码各部分运行时间
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群