- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从名为 base_retorno_diario
的数据框的一系列股票每日返回中获得 EWMA 波动率。
Data IBOV ABEV3 AEDU3 ALLL3 BBAS3 BBDC3 BBDC4
1 2000-01-04 -0.063756245 0.00000000 0 0 -0.029935852 -0.080866107 -0.071453347
2 2000-01-05 0.024865308 -0.03762663 0 0 -0.008082292 0.043269231 0.060889055
3 2000-01-06 -0.008510238 -0.03157895 0 0 0.014074074 0.014285714 0.008098592
4 2000-01-07 0.012557359 -0.02484472 0 0 -0.022644266 0.017719219 0.000000000
5 2000-01-10 0.043716564 0.00000000 0 0 0.050074738 0.005357143 0.006985679
6 2000-01-11 -0.026401514 -0.02388535 0 0 -0.008540925 -0.059058615 -0.046479362
n_row
和
n_col
是返回数据框的行数和列数
base_retorno_diario
)
EWMA_VARIANCE = as.data.frame( base_retorno_diario[1,2:n_col]^2 )
i = 2
while(i<=n_row){
EWMA_VARIANCE = rbind(EWMA_VARIANCE,
EWMA_VARIANCE[(i-1), 1:(n_col-1)] * DECAY_FACTOR +
(1-DECAY_FACTOR) * base_retorno_diario[i,2:n_col]^2
)
i=i+1
}
最佳答案
您可以使用一些矩阵代数来避免此循环。让我们假设原始数据是一个向量 (a_1, a_2, a_3, ..., a_n)
我们想要创建 EWMA 方差 (x_1, x_2, x_3, ..., x_n)
根据你的定义。让 d
是衰减因子。如果我正确理解你的代码,你目前有一个递归定义
这让事情变得困难。我相信这个非递归定义是相同的
这允许我们利用一些线性代数来完成矩阵乘法的工作。为简洁起见,我将为您的 data.frame 和衰减因子分配较短的变量名称
dd <- base_retorno_diario
d <- DECAY_FACTOR
asquare <- as.matrix(dd[,2:7])^2
asqdiffs <-sapply(data.frame(asq), diff)
d
取非递归定义的求和部分,然后执行减法(初始项有一点偏移)
dx <- outer(1:nrow(asqdiffs), 1:nrow(asqdiffs), FUN=function(x,y)
ifelse(x>=y, d^(x-y+1),0 )
)
EWMA_VARIANCE <- asq - rbind(0, dx %*% asqdiffs)
关于r - 使用数据帧的 R 中的 EWMA 波动性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23791321/
我正在尝试使用 pandas 计算 EWMA,但结果不是我所期望的。我认为第 4 个元素应该是 13.179,但 pandas 给出了 13.121。我通过 documentation 中指定的公式将
我正在计算基于时间的 EWMA,定义如下: 地点: 在以下示例数据框 df 上: index time x 0 1 5 1
我正在尝试创建一个滚动 EWMA,其 df 的最后 13 个值的衰减= 1-ln(2)/3 如下: factor Out[36]: EWMA 0 0.043 1 0.056 2 0.07
我有这个数据框: avg date high low qty 0 16.92 2013-05-27 00:00:00 19.00 1.22
我在 Google 和此处进行了广泛搜索,但似乎找不到我正在寻找的答案,或者至少找不到我理解的一些东西。是否可以在 Pandas 中使用 EWMA 进行预测?例如,如果我有从 2 月 1 日到 3 月
我试图从名为 base_retorno_diario 的数据框的一系列股票每日返回中获得 EWMA 波动率。 Data IBOV ABEV3 AEDU3
我编写了一些代码来构建我自己的 EMA/MACD,但我决定改为尝试使用 Pandas。 我使用下面这个网站作为对 EMA 的基本了解,并试图让 pandas 给我相同的答案以确保我正确使用 panda
我有一个看起来像这样的时间序列(切片): Date 3 7 10 2015-02-13 0.00021 -0.00078927 0.0040
给定以下高频但稀疏的时间序列: #Sparse Timeseries dti1 = pd.date_range(start=datetime(2015,8,1,9,0,0),periods=10,fr
我是一名优秀的程序员,十分优秀!