按月在 xts 中滚动计算

2023-12-13

我熟悉zoo功能rollapply它允许您进行滚动计算zoo or xts对象,您可以通过指定滚动增量by范围。我特别感兴趣的是每月应用一个函数,但在计算中使用过去的所有每日数据。例如,假设我的数据集如下所示:

dte, val
1/01/2001, 10
1/02/2001, 11
...
1/31/2001, 2
2/01/2001, 54
2/02/2001, 34
...
2/30/2001, 29

我想选择每个月底apply使用所有日常数据的函数。这似乎不适用于rollapply自从by有时争论会是 30,其他月份是 29,等等。我目前的想法是:

f <- function(xts_obj) { coef(lm(a ~ b, data=as.data.frame(xts_obj)))[1] }
month_end <- endpoints(my_xts, on="months", k=1)
rslt <- apply(month_end, 1, function(idx) { my_xts[paste0("/",idx)] })

当然有更好的方法可以更快,不是吗? 澄清一下:我想使用重叠期间,只是滚动应该每月进行一次。


如果我理解正确,您可以获取端点的日期,然后对于每个端点(即使用lapply or for), call rollapply使用截至该点的数据。

getSymbols("SPY", src='yahoo', from='2012-01-01', to='2012-08-01')
idx <- index(SPY)[endpoints(SPY, 'months')]
out <- lapply(idx, function(i) {
  as.xts(rollapplyr(as.zoo(SPY[paste0("/", i)]), 5, 
                    function(x) coef(lm(x[, 4] ~ x[, 1]))[2], by.column=FALSE))
})
sapply(out, NROW)
#[1]  16  36  58  78 100 121 142 143

我暂时强迫zoo为了rollapplyr以确保rollapply.zoo正在使用的方法(与未导出的方法相反)rollapply.xts方法),然后强制返回xts

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按月在 xts 中滚动计算 的相关文章

  • 我可以在 data.table 连接中访问“j”中重复的列名称吗? [复制]

    这个问题在这里已经有答案了 如果我尝试连接两个具有相同列名的 data tables 那么 1附加到其中一个名称 但我似乎无法访问该名称j的一部分DT 表达 Example DT1 data table name letters value
  • Shiny中的DT:仅更改单行的颜色

    我有一个数据集 ID Value 102 306 41 800 101 783 105 193 myID 334 我想将其绘制为数据表 其中只有带有 myID 的行为橙色 表的其余部分为蓝色 看过之后辅助函数 https rstudio g
  • 按列名称索引拆分数据框

    这是先前问题的变体 df lt data frame matrix rnorm 9 9 ncol 9 names df lt c c 1 d 1 e 1 a p b p c p 1 o1 2 o1 3 o1 我想按下划线 后面的column
  • 绘图中的 R 科学记数法

    我有一个简单的情节 usr bin Rscript png plot png y lt c 102 258 2314 x lt c 482563 922167 4462665 plot x y dev off R 使用 500 1000 1
  • 使用 rpy2 将 NULL 从 Python 转换为 R

    在 R 中经常NULL值用作默认值 使用 Python 和 RPy2 如何显式提供NULL争论 None不可兑换 NotImplementedError 字符串 NULL 只会被转换为字符串 并在执行过程中导致错误 采取以下示例 使用tsi
  • dplyr::case_when 与 if_else 对于需要两个条件的摘要列

    df lt data frame id c 1 6 start date c Mar 22 Feb 22 Jan 22 Dec 21 Nov 21 Oct 21 Jan 22 c NA NA 1 0 0 1 Feb 22 c NA 1 1
  • 用 R 将矩阵划分为 N 个大小相等的块

    如何使用 R 将矩阵或数据帧划分为 N 个大小相等的块 我想水平切割矩阵或数据框 例如 给定 r 8 c 10 number of chunks 4 data matrix seq r c nrow r ncol c gt gt gt da
  • 如何使用 2 个不同的 y 轴进行绘图?

    我想在 R 中叠加两个散点图 以便每组点都有自己的 不同的 y 轴 即在图上的位置 2 和 4 中 但这些点看起来叠加在同一个图上 是否可以这样做plot Edit显示问题的示例代码 example code for SO question
  • 如何从 R 中的嵌套 json 数据中提取数据

    我需要能够从这个包含许多 json 条目的文件中提取这些字段 sender Hostname mem used p cpu user p load load 5 cat tmp txt senderDateTimeStamp 2016 04
  • dplyr 中每组的 cumsum

    我开始享受dplyr但我陷入了一个用例 我希望能够申请cumsum数据框中的每个组与包 但我似乎无法正确处理 对于演示数据框 我生成了以下数据 set seed 123 len 10 dates as Date 2014 01 01 1 l
  • RStudio 服务器未启动

    过去几个月我一直在远程 RStudio 服务器上工作 没有任何问题 今天 我使用此命令重新启动了 rstudio 服务器 sudo rstudio server restart 此后 我无法通过浏览器访问服务器 它继续等待 我用这个检查了状
  • 使用plot(...,add=T) 叠加栅格图会导致最终图任意错位

    我发现 当我尝试使用plot add T 叠加多个栅格时 如果我尝试将超过3 个栅格叠加在一起 则后续图不会正确对齐栅格 我的初衷是创建一个模拟土地覆盖的分类地图 其中代表覆盖类别的颜色深浅随着我们模型投影的确定性而变化 为此 我创建了一个
  • 将表达式捕获为 R 中的函数体

    我正在尝试编写一个程序 该程序将表达式作为输入并返回一个以该表达式绑定作为其主体的函数 caller lt function expr params Function lt function params body env parent f
  • R 中具有重叠样本的分割向量

    假设我有一个包含 1000 个值的向量 我想将此向量 拆分 分区 分组 为多个向量 每个向量包含 200 个值 并且它们之间有 100 个值的重叠 E g vec seq 1 1000 splitWithOverlap vec 200 10
  • 如果包已经加载,那么在函数中需要包会有什么影响?

    加入有没有什么不良影响library require函数内的语句会被频繁调用吗 所用的时间似乎可以忽略不计 但我每隔几分钟调用该函数 我想知道重复是否有任何缺点require calls 请注意 该功能只是个人实用程序 不被共享 即 我是唯
  • R 热图中的颜色标签(文本)

    我正在尝试在 R 中制作一个热图 其中标签文本是彩色的 以指示数据点来自哪个组 我目前正在使用 heatmap 2 但很乐意使用另一个包 heatmap 2 data matrix data trace none dendrogram no
  • 如何更改 ggplot2 中轴标签上的小数位数?

    具体来说 这是在facet grid 中 在谷歌上广泛搜索了类似的问题 但不清楚语法或它的去向 我想要的是 y 轴上的每个数字在小数点后都有两位数 即使尾随一位是 0 这是scale y continuous 或 element text
  • 有人可以解释一下这段代码吗?尤其是“函数x和[[x]]”的作用?

    这是 R 中的代码 我无法理解其作用function x and qdata x 在这行代码中 有人能给我详细解释一下吗 这段代码不是我写的 谢谢 outs lapply names qdata 12 35 function x hist
  • R 是解释型编程语言还是编译型编程语言?

    R 是解释型编程语言还是编译型编程语言 The R FAQ https cran r project org doc FAQ R FAQ html What is R 003f说 R 的核心是一种解释型计算机语言
  • 将 R 中的 arules 生成的规则应用于新交易

    我的目标是使用 R 包生成的规则arules来预测topic每个事务 每个事务有 1 个主题 其中每个事务是文档中的一组单词 我有一个训练集trans train 用于创建规则 和测试集trans test 我想预测它的 主题 我还希望能够

随机推荐

  • 圆形区域内的查询点

    Here is a picture to illustrate the problem 图中有一些特征点显示为蓝色十字 我知道坐标 x y 对于所有功能 现在我想查询哪些要素在圆圈区域 绿色圆圈 内 实际上 大约有 500 个特征和 300
  • VStack 有最大限制吗?

    我从一个干净的项目开始 在 VStack 中添加了 5 个按钮和 5 个垫片 一切都很好 当我在底部添加第 6 个间隔符时 代码突然无法编译 并出现错误 对成员 buildBlock 的引用不明确 是什么导致了这个错误 这是与 SwiftU
  • PairRDD 的总和值

    我有一个 RDD 类型 dataset org apache spark rdd RDD String Double MapPartitionRDD 26 这相当于 Pedro 0 0833 Hello 0 001828 我想总结所有的价值
  • 触发系统音量条

    是否可以通过按我的按钮Activity让音量条出现 音量条是当您按下硬件音量按钮之一时出现的视图 是否有 API 函数可以执行此操作 或者我是否必须手动重新创建该视图 如果调用 setStreamVolume 请传递标志 FLAG SHOW
  • 无法在 UserControl 上设置 x:Name="Root"

    我尝试将 x Name 属性设置为 UserControl 的定义 以便稍后将其用于内部绑定
  • Spark:线程“主”java.lang.ClassNotFoundException中的异常:com.mysql.jdbc.Driver

    我在 Spark 中编写了简单的程序 将数据帧写入 mySql 中的表 程序如下 import org apache spark SparkConf import org apache spark SparkContext import o
  • Sparql查询:查找具有相同属性对象的对象

    假设我们有一个如下所示的数据集 person wantsCD cd1 wantsCD cd2 storeA sellsCD cd1 sellsCD cd2 sellsCD cd3 storeB sellsCD cd1 sellsCD cd1
  • Cucumber:如何从外部 Excel 文件中读取场景大纲的示例

    我的要求是从外部 Excel 文件读取示例 而不是将其硬编码到功能文件中 我有 100 多个示例 这些示例很难在功能文件中维护 你能帮我解决这个问题吗 这是我的场景 Scenario Outline Browser Test When I
  • MinGW编译“文件无法识别:文件格式无法识别”

    我正在尝试编译 C 程序 但遇到一些问题 特别是 当我使用 x86 64 w64 mingw32 gcc 作为编译器时 它在编译过程中抱怨说 tmp src libfastms solver solver cpp o 文件无法识别 文件格式
  • 如何使用 Wordpress walkers 显示父菜单项的描述?

    有什么方法可以将变量从 start el 传递到 start lvl 吗 我想将菜单描述放在子菜单项的包装中 class submenu walker extends Walker Nav Menu function start lvl o
  • .exe 图标没有改变 [py2exe]

    我的图标文件 myicon ico 与 setup py 位于同一目录中 当我运行 py2exe 时 myproject exe 没有图标 我寻找解决方案但找不到 setup py代码是 from distutils core import
  • Spring,Jquery 中基于表单标签的日期选择器?

    实际上在我的 Spring 应用程序中我使用的是基于 spring 的form我的 jsp 代码中的标记 并为此添加功能
  • 如何将 numpy.linalg.norm 应用于矩阵的每一行?

    我有一个二维矩阵 我想取每一行的范数 但是当我使用numpy linalg norm X 直接取整个矩阵的范数 我可以通过使用 for 循环来获取每一行的范数 然后获取每一行的范数X i 但这需要很长时间 因为我有 30k 行 有什么建议可
  • 增强 MediaWiki 搜索

    我只是想知道是否可以增强 MediaWiki 中的搜索功能 例如返回最接近搜索键的建议结果集 而不是返回 0 个结果页面 例如 我创建了 ff 文章 Guidelines to Database Management Guidelines
  • 在 VS Code 中使用 C/C++,如何在符号的工具提示描述中创建列表和表格?

    我正在使用 VS Code 用 C 语言进行编程 C C 扩展使您能够创建描述 文档 并在将鼠标悬停在符号上时显示它 brief General control register param b15 Reserved param b14 D
  • 在哪里订阅内部对象的事件?

    我经常遇到这样的情况 我必须决定在哪里订阅内部对象的事件 例如 我有一个如下所示的对象模型 class ClassA public event EventHandler SomeEvent1 public event EventHandle
  • 在 IE/Edge 上单击 LinkedIn 共享按钮时出错

    我在我的 ReactJS 应用程序中使用以下 LinkedIn 共享插件 来自 LinkedIn 文档 https learn microsoft com en us linkedin consumer integrations self
  • strcpy 与 strdup

    我读到了strcpy用于复制字符串 并且strdup返回指向新字符串的指针以复制该字符串 您能解释一下您更喜欢使用哪些案例吗strcpy您更喜欢使用哪些案例strdup strcpy ptr2 ptr1 相当于while ptr2 ptr1
  • 通过 linq 从表中选择两列

    我使用下面的查询来获取 Entity Framework Linq 中的所有列 20 多个 由于内存不足异常 我只想获取其中两个 一个是 文件名 另一个是 文件路径 如何修改我的代码 var query DBContext Table1 W
  • 按月在 xts 中滚动计算

    我熟悉zoo功能rollapply它允许您进行滚动计算zoo or xts对象 您可以通过指定滚动增量by范围 我特别感兴趣的是每月应用一个函数 但在计算中使用过去的所有每日数据 例如 假设我的数据集如下所示 dte val 1 01 20