R:用R编写此公式的最有效方法是什么?

网络学生

我正在尝试找出在R中编写此公式的最有效方法。我可以使用循环来实现它。但这并不是最有效的。

效率比率指标的公式:

ER = Direction / Volatility 
Direction = ABS (Close – Close[n])
Volatility = n ∑ (ABS(Close – Close[1])) 

波动率是最近n次价格变动的绝对值之和(平仓–先前平仓)

n =回溯期,例如:n = 10

R代码:

library(quantmod)
getSymbols("SPY")
prices <- Ad(SPY)

ER <- function(prices, n=10)
{
   direction <- abs((prices - lag(prices,n)))
   volatility <- 
   efficiencyRatio <- direction/volatility
   return(efficiencyRatio)
}

我正在寻找帮助来填充ER函数中的“波动性”变量。

谢谢。

mo

我认为您可以如下计算波动率:

# silly example
y <- 1:10

volatility <- length(y) * sum(sapply(2:(length(y)), 
                                     function(i) abs(y[i]-y[i-1])))

您可以分解该函数,以sapply(2:10, function(i) abs(y[i]-y[i-1]))计算出9 1s,这对于给定向量是有意义的。将这些总和乘以天数。

如果要将其扩展到大于n的向量,以获得移动平均值,可以使用

volatility <- function(y, n) {
                sapply((n+1):length(y), 
                  function(rollSpot) {
                     n * sum(sapply((rollSpot-(n-1)):rollSpot, 
                                    function(i) abs(y[i]-y[i-1])))
                  })
              }

rollSpot变量对移动平均线进行索引:您正在回顾多少个周期。当前实施包括当前期间和前n-1个期间。如果要包括前n个句点,可以减少(rollSpot-(n-1)):rollSpot(rollSpot-n):(rollSpot-1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编写此程序的最有效方法是什么?(里面的细节)

来自分类Dev

编写此函数的正确(有效)方法是什么?

来自分类Dev

这是编写此方法的最有效方法吗?

来自分类Dev

在R中删除数据表中空列的最有效方法是什么

来自分类Dev

在我的android应用中呈现数学公式的最有效方法是什么?

来自分类Dev

在python中以二进制输出编写的最有效方法是什么?

来自分类Dev

在python中以二进制输出编写的最有效方法是什么?

来自分类Dev

时间序列:为子集编写代码的最有效方法是什么?

来自分类Dev

在python中编写[1:20,25:30]的最有效方法是什么

来自分类Dev

启动此应用程序的最有效方法是什么?

来自分类Dev

用JavaScript声明函数的最有效方法是什么?

来自分类Dev

用Java处理String Freemarker语法的最有效方法是什么

来自分类Dev

用Java比较MySQL表中行的最有效方法是什么

来自分类Dev

用jquery筛选类别的最有效方法是什么?

来自分类Dev

用第一项对数组排序的最有效方法是什么?

来自分类Dev

用空值进行聚合的最有效方法是什么?

来自分类Dev

在R中将多个函数映射到字符串向量的最有效方法是什么?

来自分类Dev

过滤单个资源最有效的方法是什么?

来自分类Dev

使wifi工作最有效的方法是什么?

来自分类Dev

读取大文件的最有效方法是什么?

来自分类Dev

列出目录的最有效方法是什么?

来自分类Dev

遍历图片像素的最有效方法是什么

来自分类Dev

获取数字总和的最有效方法是什么?

来自分类Dev

在Haxe中循环最有效的方法是什么?

来自分类Dev

使wifi工作最有效的方法是什么?

来自分类Dev

Emacs:删除报价最有效的方法是什么?

来自分类Dev

筛选搜索的最有效方法是什么?

来自分类Dev

检测nmap扫描的最有效方法是什么?

来自分类Dev

绘制网格最有效的方法是什么?

Related 相关文章

  1. 1

    编写此程序的最有效方法是什么?(里面的细节)

  2. 2

    编写此函数的正确(有效)方法是什么?

  3. 3

    这是编写此方法的最有效方法吗?

  4. 4

    在R中删除数据表中空列的最有效方法是什么

  5. 5

    在我的android应用中呈现数学公式的最有效方法是什么?

  6. 6

    在python中以二进制输出编写的最有效方法是什么?

  7. 7

    在python中以二进制输出编写的最有效方法是什么?

  8. 8

    时间序列:为子集编写代码的最有效方法是什么?

  9. 9

    在python中编写[1:20,25:30]的最有效方法是什么

  10. 10

    启动此应用程序的最有效方法是什么?

  11. 11

    用JavaScript声明函数的最有效方法是什么?

  12. 12

    用Java处理String Freemarker语法的最有效方法是什么

  13. 13

    用Java比较MySQL表中行的最有效方法是什么

  14. 14

    用jquery筛选类别的最有效方法是什么?

  15. 15

    用第一项对数组排序的最有效方法是什么?

  16. 16

    用空值进行聚合的最有效方法是什么?

  17. 17

    在R中将多个函数映射到字符串向量的最有效方法是什么?

  18. 18

    过滤单个资源最有效的方法是什么?

  19. 19

    使wifi工作最有效的方法是什么?

  20. 20

    读取大文件的最有效方法是什么?

  21. 21

    列出目录的最有效方法是什么?

  22. 22

    遍历图片像素的最有效方法是什么

  23. 23

    获取数字总和的最有效方法是什么?

  24. 24

    在Haxe中循环最有效的方法是什么?

  25. 25

    使wifi工作最有效的方法是什么?

  26. 26

    Emacs:删除报价最有效的方法是什么?

  27. 27

    筛选搜索的最有效方法是什么?

  28. 28

    检测nmap扫描的最有效方法是什么?

  29. 29

    绘制网格最有效的方法是什么?

热门标签

归档