r 在数据表上的行式迭代

2023-11-29

library(quantmod)
library(PerformanceAnalytics)
getSymbols("YHOO",src="google")
stock_dat=data.table(PerformanceAnalytics::
CalculateReturns(Cl(YHOO)[1:10],'discrete'))
stock_dat[,Price:=0]
stock_dat[1,2]=Cl(YHOO)[1]
stock_dat[,D:=(1+YHOO.Close)*shift(Price,1)] 

上面的代码生成以下结果:



 stock_dat
      YHOO.Close Price     D
 1:           NA 25.61    NA
 2:  0.048418586  0.00 26.85
 3:  0.033147114  0.00  0.00
 4:  0.006488825  0.00  0.00
 5: -0.012177650  0.00  0.00
 6:  0.040609137  0.00  0.00
 7:  0.017421603  0.00  0.00
 8:  0.008561644  0.00  0.00
 9: -0.005432937  0.00  0.00
10: -0.008193923  0.00  0.00

  

YHOO.Close 被假定为模拟收益,我需要从中取消价格。我使用第一个价格作为基础。理想情况下,上述代码需要使用第 3 行 D 中的价格。

nrowsDF <- nrow(stock_dat)

for(i in 2:nrowsDF){
  stock_dat[i,2]=(1+stock_dat[i,1,with=FALSE])*stock_dat[i-1,2,with=FALSE]
}

上面的代码解决了这个问题。但我正在寻找一种更有效的方法来做到这一点,因为我必须对超过 5000 个模拟返回系列重复此操作

下面是我真正需要的答案



stock_dat
      YHOO.Close Price
 1:           NA 25.61
 2:  0.048418586 26.85
 3:  0.033147114 27.74
 4:  0.006488825 27.92
 5: -0.012177650 27.58
 6:  0.040609137 28.70
 7:  0.017421603 29.20
 8:  0.008561644 29.45
 9: -0.005432937 29.29
10: -0.008193923 29.05
  

您可以像这样使用累积乘积:

DT <- fread("      YHOO.Close Price     D
                     NA 25.61    NA
            0.048418586  0.00 26.85
            0.033147114  0.00  0.00
            0.006488825  0.00  0.00
           -0.012177650  0.00  0.00
            0.040609137  0.00  0.00
            0.017421603  0.00  0.00
            0.008561644  0.00  0.00
           -0.005432937  0.00  0.00
           -0.008193923  0.00  0.00")

DT[, res := Price[1] * c(1, cumprod(1 + YHOO.Close[-1]))]
#      YHOO.Close Price     D   res
# 1:           NA 25.61    NA 25.61
# 2:  0.048418586  0.00 26.85 26.85
# 3:  0.033147114  0.00  0.00 27.74
# 4:  0.006488825  0.00  0.00 27.92
# 5: -0.012177650  0.00  0.00 27.58
# 6:  0.040609137  0.00  0.00 28.70
# 7:  0.017421603  0.00  0.00 29.20
# 8:  0.008561644  0.00  0.00 29.45
# 9: -0.005432937  0.00  0.00 29.29
#10: -0.008193923  0.00  0.00 29.05
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

r 在数据表上的行式迭代 的相关文章

  • R、GeoJSON 和 Leaflet

    我最近从 R Bloggers com 的帖子中了解了 leafletjs com 我想要实现的一个此类教程是使用传单创建交互式分区统计图 http leafletjs com examples choropleth html http l
  • lme4:如何指定 2 个与随机截距的相关性,而不添加随机斜率之间的相关性

    重新发布自stats stackexchange com https stats stackexchange com q 195385 33560 我试图在 R 的 lme4 包中指定一个模型 其中随机截距和随机斜率之间有 2 个相关性 但
  • R 中具有 NA 值的聚合栅格

    我在 R 中有一个分辨率为 1 公里的栅格 其 NA 值分布广泛 但位置不规则 即 包含数据的单元格不连续 并且 NA 值分散 我正在尝试使用用户定义的平均圆角函数 包括在下面 以 5 公里分辨率 因子 5 聚合此栅格 使用 raster
  • 有没有办法将字母扩展到超过 26 个字符,例如 AA、AB、AC...?

    我大部分时间都使用字母来表示我的因素 但今天我尝试超过 26 个字符 LETTERS 1 32 期待有自动递归因式分解 AA AB AC 但很失望 这只是字母的限制还是有办法使用其他函数来获取我正在寻找的内容 702够吗 LETTERS70
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • R 在 Ubuntu 中通过代理连接

    我在 Ubuntu 12 04 上安装了 RStudio 0 97 168 当我尝试安装 gstat 库时出现以下错误 install packages gstat dependencies TRUE Warning in install
  • corr.test 与 cor.test p 值

    我正在尝试使用 psych 包 psych 1 6 9 中的 corr test 但在使用 method spearman 时 它似乎给出了与 cor test 不同的 p 值 相关系数相同 但 p 值不同 我整理了一些示例代码和输出 如下
  • 没有垂直线的直方图

    当我创建直方图时 它看起来很像这样 set seed 1 x lt 1 100 y lt x rnorm 50 y round y hist y Is there a way to make a histogram look a bit l
  • 根据绘图单击事件对数据框进行子集化

    我有下面的数据框 Name lt c John Bob Jack Number lt c 3 3 5 NN lt data frame Name Number 还有一个简单闪亮的应用程序 可以从中创建一个绘图直方图 我的目标是单击直方图的一
  • 两个闪亮的操作按钮

    我正在编写一个闪亮的函数 其中包含两个操作按钮 这两个按钮是左右按钮 单击时可以帮助绘图移动 第一次单击时 这两个按钮都工作正常 当我重新单击它们时 就会出现问题 无论我单击哪个按钮 它都会在两个范围之间来回弹跳 我猜可能是 右 和 左 按
  • 使用 dplyr 按组计算加权平均值(并复制其他方法)

    我对语法感到困惑dplyr当尝试计算加权平均值时 我听从大卫的建议here https stackoverflow com a 27609266 1457380 语法非常透明 因此很有吸引力 但它似乎没有按我的预期工作 低于加权平均值是针对
  • 插值时间序列

    我有两组具有不同时间戳的数据 一组数据包含校准数据 另一组包含样本数据 校准的频率比样品少得多 我想做的是将校准数据 低频 插值到采样时间序列 高频 上 sam lt textConnection time value 01 00 52 2
  • 在 R 中使用科学记数法和 xtable

    我将 data frame 传递给 xtable dat table lt xtable dat 1 20 digits 10 我宁愿使用科学记数法 而不是像那样显示数字 我该怎么做呢 看过了 但我发现的只是R 格式化xtable中的数字
  • 对 R/Sweave 进行编程以获得正确的 \Sexpr 输出

    我在为 Sweave 进行 R 编程时遇到了一些问题 rstats twitter 小组经常指出这里 所以我想我应该把这个问题向大家提出 我是一名分析师 而不是程序员 所以在我的第一篇文章中请放轻松 问题是 我正在使用 R 在 Sweave
  • 如何在 ggplot2 中向 x 轴添加特定值?

    我正在尝试在 ggplot2 中绘制图表 我希望 x 轴显示 2 84 以及下面键入的序列 除了在 Breaks 中输入所有精确值之外 还有其他方法吗 我尝试了谷歌 但它没有解决我的问题 scale x continuous limits
  • 整理包中的字段说明

    我很抱歉 因为我知道这个答案可能出现在编写 R 包的手册中 但在我阅读和查看其他包的整理字段时 我无法 100 弄清楚该字段的用途 用简单的语言 我的是英语 来看 包的描述文件中的整理字段有什么作用 人们想在那里放什么 我认为这来自于某个时
  • ggplot2:图例中的斜体

    我正在尝试编辑图例中的标签 以便第一个标签 WT 为纯文本 而后续 7 个标签为斜体 我一直在使用element text face c plain rep italic 7 但这导致没有任何标签被转换为斜体 我有点困惑为什么它不起作用 因
  • 在 R 中使用 ggplot2 叠加两个图

    有两个数据框 df1 df2我需要使用 ggplot2 创建线图并显示在同一个图表上 df1 x y 2 30 4 25 6 20 8 15 df2 x y 2 12 4 16 6 20 8 24 用于绘制第一个 df p1 lt ggpl
  • 生成与现有变量具有预定义相关性的二进制变量

    对于模拟研究 我想生成一组随机变量 连续变量和二元变量 这些变量与已经存在的变量具有预定义的关联binary变量 此处表示为x 对于这篇文章 假设x是按照下面的代码生成的 但请记住 在现实生活中 x是一个已经存在的变量 set seed 1
  • 动态显示仪表板页面

    我有一个实用的闪亮应用程序 它使用shinydashboard包裹 新功能需要特定于用户的行为 例如 针对不同的用户名使用不同的数据集 因此我打算 显示登录表单 验证凭据并设置反应值LoggedIn to true如果成功的话 显示实际情况

随机推荐

  • Java 泛型:语法解释

    我是 java 泛型新手 我的问题是 public static lt E gt void printArray E inputArray 在上面的语句中 当函数的返回类型为 void 时 为什么我们使用E before void 为什么这
  • 如何计算group by语句中总数的百分比?

    我有一张表 其中每个销售人员每天每笔销售有 1 条记录 NAME DATE joe 1 1 13 joe 1 1 13 joe 1 1 13 dave 1 1 13 joe 1 2 13 我用它来创建和填充表 create table sa
  • PHP CURL 重定向

    我对 php 很陌生 目前我面临有关 php curl post 和重定向的问题 我已经编写了大量代码来连接跨域 api 在此 API 中 响应会将我的页面重定向到另一个页面 所以 现在我面临的是我也无法遵循 api 响应 这意味着在我的
  • 将 NSString 转换为 ASCII 二进制等效值(然后再次转换回 NSString)

    我在这方面遇到了一些问题 我想获取一个 NSString 并将其转换为仅包含 0 1 个值的整数数组 该数组表示与 ascii 字符串等效的二进制值 例如说我有以下内容 NSString string A Decimal value 65
  • Kubernetes API 服务器,提供 pod 日志

    REST API 请求 GET POST PUT对 Kubernetes API 服务器的请求 响应等都是简单易懂的 比如kubectl create
  • 在mvc项目中使用Jquery删除表中的行

    我生成以下内容html code table for int i 0 i lt Model listUsers Count i tr td Html DisplayFor m gt m listUsers i Name td td Html
  • 折线图的“输入”选择可以设置动画吗?

    我有一个更新得非常好的折线图 直到新数据进入问题 此时 更新 选择会按应有的方式向下动画 但新数据不会 很难解释发生了什么 但一张 gif 胜过一千个单词 注意它何时转换 down 我已将图形包装在具有更新和渲染方法的类中 这是我写的渲染方
  • 如何在 IIS7 中托管 WCF 数据服务 (OData)?

    有谁知道如何在 IIS7 中托管 WCF 数据服务 或 OData 我看到很多有关托管 WCF 的文章 但没有一篇专门针对 WCF 数据服务 非常感谢 主持一个WCF数据服务在 IIS 中实际上是默认选项 这是一个非常简单的 3 步过程 创
  • SPNEGO:成功协商和身份验证后的后续调用

    在过去的几天里 我使用以下方法构建了一个概念验证演示GSS API and SPNEGO 目的是让用户通过 Http RESTful Web 服务单点登录访问我们的自定义应用程序服务器提供的服务 持有有效 Kerberos 票证授予票证 T
  • 在 git clone 命令中使用密码克隆 BitBucket 存储库会导致问题

    我正在尝试使用我的密码git clone命令克隆存储库 但总是会出现以下错误 remote Login failed due to incorrect login credentials or method remote If you ar
  • 我的 Android 应用程序可以在隐身选项卡中打开 URL 吗?

    我们都知道如何在 Android 的浏览器中打开 URL 做这样的事情 Intent browserIntent new Intent android intent action VIEW Uri parse url context sta
  • 在mysql中创建触发器时出现错误“1064”?

    在 mysql 中创建触发器时 我收到错误 1046 我的查询是 CREATE TABLE test Employee id int first name VARCHAR 30 last name VARCHAR 15 start date
  • extjs:加载时如何设置组合框的值

    我正在寻找一个load侦听器 当组合框启动时 load将被调用并向服务器执行 ajax 以获得组合框的正确显示值 但是 加载函数永远不会被调用 我该如何修复它 我想在组合框之前显示文本 所以我添加了属性fieldLabel Save log
  • 量角器未知错误,从 DOM 中删除属性

    我是量角器新手 试图从 DOM 中删除属性 但收到 未知错误 我不确定可能是什么问题 我有一个带有自定义指令的简单 HTML 我正在尝试删除它以使我的测试用例通过
  • 在 Google Colaboratory 上使用 GPU 运行 LightGBM/ LGBM

    我经常在 Google Colabatory 上运行 LGBM 我刚刚发现这个页面说 LGBM 默认设置为 CPU 所以你需要先设置 https medium com am sharma lgbm on colab with gpu c1c
  • Clearcase 7.1.2,VOB 分割

    我们当前设置了 VOB 源代码和文档驻留在同一个 VOB 中 为了减少 VOB 下载时间 我们现在希望将文档移动到新的 VOB 以便只有代码部分保留在旧的 VOB 中 由于有很多文件夹和文件 因此不可能手动重新定位每个文件 文件夹 为此 我
  • 使用框在同一文件上绘制不同的列

    我有一个看起来像这样的文件 cat myfile dat 1 8 32 19230 1 186 3 985 1 8 64 9620 0 600 7 877 1 8 128 4810 0 312 15 136 1 8 256 2410 0 2
  • 同步和可见范围

    我一直在阅读 Java 并发性 但忘记了这样一个事实 使用同一锁的两个线程中的同步块也会影响变量的可见性 即使它们没有定义为 易失性 如果我有这样的代码 Object lock new Object boolean a false b fa
  • PHP MD5 与 C# MD5 不匹配

    我在 C 中有一个哈希方法 如下所示 MD5CryptoServiceProvider md5 new MD5CryptoServiceProvider byte raw input Encoding UTF32 GetBytes hell
  • r 在数据表上的行式迭代

    library quantmod library PerformanceAnalytics getSymbols YHOO src google stock dat data table PerformanceAnalytics Calcu