R中嵌套循环的性能降低

sim235

我有一个xts系列,其中包含250个观测值和584列。我正在本系列上运行一个嵌套的for循环。此嵌套循环需要太多时间。我试图创建一个可复制的示例。在实际数据集上,嵌套循环会花费太多时间。请提出一些有效的方法来执行相同的嵌套循环

library(PerformanceAnalytics)
library(xts)
library(zoo)
## dataset
bsereturn<-managers
##### calculating bse_lag
bse_lag<-head(bsereturn,-1)

## calculating bse forward
bse_forward<-tail(bsereturn,-1)

## defining look back and skip period
s=12
k=1
## Empty xts to store looping results
XSMOM = bse_lag
XSMOM[1:nrow(XSMOM),1:ncol(XSMOM)] <- NA
# Compute Momentum
system.time(for (i in 1:ncol(bse_lag)){
  
  for (t in (s + 1):nrow(bse_lag)){
    XSMOM[t,i] =  Return.cumulative(bse_lag[(t-s):(t-1-k),i])
    
  }
})
约书亚·乌尔里希(Joshua Ulrich)

您的示例中的结果对我来说很奇怪。您对1997-01-31的收益是1996-01-31到1996-11-30的累积收益。为什么您不理会1996-12-31的收益?

无论如何,您都会使用它rollapply来获得答案。对于我来说,您的示例运行的速度比Jerome答案中的单循环快4倍。

# this is what I would do
xsmom <- lag(rollapplyr(1 + bsereturn, 11, prod) - 1)
# this is what you have (lagged 2 periods)
xsmom2 <- lag(rollapplyr(1 + bsereturn, 11, prod) - 1, 2)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用嵌套的for循环的Perl脚本的性能降低

来自分类Dev

Docker容器中的网络性能降低

来自分类Dev

LINQ查询中的性能降低

来自分类Dev

Docker容器中的磁盘性能降低

来自分类Dev

zgrep在多个文件中的性能降低

来自分类Dev

深度嵌套子查询分解(CTE)的性能降低

来自分类Dev

更新MYSQL表时While循环内的性能降低

来自分类Dev

UITabBarController setSelectedIndex性能降低

来自分类Dev

Azure SQL性能降低

来自分类Dev

MySQL查询性能降低

来自分类Dev

.png动画在Spritekit中的性能降低

来自分类Dev

在SQL Server中执行ORDER BY时性能降低

来自分类Dev

SQL性能降低(改进插入到临时表中)

来自分类Dev

IE 11中PrimeNG Turbo Table的性能降低

来自分类Dev

在TensorFlow中解压张量层的位时性能降低

来自分类Dev

T-SQL中递归CTE的性能降低

来自分类Dev

ASP页面中的许多javascripts标签使性能降低

来自分类Dev

WMI win32_groupuser在PowerShell中的性能降低

来自分类Dev

使用实体框架检索许多嵌套实体的性能降低

来自分类Dev

提高R中嵌套For循环的性能

来自分类Dev

SQL Server:追加VARBINARY性能降低

来自分类Dev

列表视图中的性能降低

来自分类Dev

PHP SplFixedArray错误或性能降低?

来自分类Dev

读取Excel时性能降低

来自分类Dev

DateTimeOffset.Parse的性能降低?

来自分类Dev

Weblogic服务器性能降低

来自分类Dev

当 reloadData 时 UICollectionView 滚动性能降低

来自分类Dev

Microsoft.Bcl.Immutable中的ImmutableList <T> Remove方法的性能降低

来自分类Dev

在Python3中为大型CSV文件实现了合并排序,性能降低