R语言中使用RCPP并行计算指数加权波动率

指数加权波动率是一种波动率的度量,它使最近的观察结果有更高权重。

由Kaizong Ye,Sherry Deng撰写

我们将使用以下公式计算指数加权波动率:

S [t] ^ 2 = SUM(1-a)* a ^ i *(r [t-1-i]-rhat [t])^ 2,i = 0…inf


其中rhat [t]是对应的指数加权平均值

rhat [t] = SUM(1-a)* a ^ i * r [t-1-i],i = 0…inf

上面的公式取决于每个时间点的完整价格历史记录,并花了一些时间进行计算。因此,我想分享Rcpp和RcppParallel如何帮助我们减少计算时间。

我将使用汇率的历史数据集  作为测试数据。

 

首先,我们计算平均滚动波动率

经过时间为0.17秒

接下来,让我们编写指数加权代码逻辑

 经过时间为106.16秒。


热门课程

R语言数据分析挖掘必知必会

面对扑面而来的数据浪潮,包含Google、Facebook等国际企业,都已采用R语言进行数据分析

探索课程

执行此代码花了一段时间。但是,代码可以并行运行。以下是RcppParallel版本。

经过时间为14.65秒

 

运行时间更短。接下来,让我们直观地了解使用指数加权波动率的影响

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498