【问题标题】:Calculating differences in logs计算日志中的差异
【发布时间】:2021-02-07 19:13:16
【问题描述】:

我的股票价格,我想计算收益

MLB.价格

MLB.Prices
2008-01-01      40.72
2009-01-01      48.66
2010-01-01      47.23
2011-01-01      44.45
2012-01-01      41.82
2013-01-01      44.61
2014-01-01      55.22

据此,我想将增益计算为对数 log(P(t))-log(P(t-1)) 的差异。任何人都可以帮助执行命令。

【问题讨论】:

  • 写问题时,通常会制作一个可重现的小代码示例,以便其他人可以测试您的想法/代码。就目前而言,没有人知道您的代码以及您尝试过的内容。试一试,编辑您的问题以添加更多信息。

标签: r difference stock


【解决方案1】:

使用difflog

library(xts)
diff(log(MLB))

数据

MLB <- structure(c(40.72, 48.66, 47.23, 44.45, 41.82, 44.61, 55.22), .Dim = c(7L, 
1L), index = structure(c(1199145600, 1230768000, 1262304000, 
1293840000, 1325376000, 1356998400, 1388534400), tzone = "UTC",
tclass = "Date"), class = c("xts", 
"zoo"), .Dimnames = list(NULL, "MLB.Prices"))

【讨论】:

  • 这是我收到的输出... log(diff(MLB)) MLB.Prices 2008-01-01 NA 2009-01-01 2.071913 2010-01-01 NaN 2011-01-01南 2012-01-01 南 2013-01-01 1.026042 2014-01-01 2.361797
  • @AlexaThomas 没错。我记得log 的负值是 NaN。当你取相邻元素之间的差异时,如果下一个值小于前一个值,则会导致负值,因此 log 返回 NaN
  • @AlexaThomas 好的,我想你的意思是 diff(log(MLB)) 而不是其他方式
猜你喜欢
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 2016-04-03
  • 2012-04-21
  • 2019-08-25
  • 2015-01-13
相关资源
最近更新 更多