首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >quantmod <-在编写公式以提取没有标题的单天返回时遇到困难

quantmod <-在编写公式以提取没有标题的单天返回时遇到困难
EN

Stack Overflow用户
提问于 2016-12-13 18:10:54
回答 1查看 81关注 0票数 2

我正在尝试编写一个公式,它将返回一天的股票,但我相信我在periodReturn subset字段的数据类型上有问题。

代码语言:javascript
复制
periodReturn(ticker,period='daily',subset='20161010::20161010') 

工作,但

代码语言:javascript
复制
dayReturn <- function(ticker,date) {

ticker <- c(MSFT)
date <- c(20161010)
dayreturn <- periodReturn(ticker,period='daily',paste("subset='",date,"::",date,"'"))
dayreturn
}

给出误差

dayReturn(msft,20161010)

代码语言:javascript
复制
 daily.returns
Warning messages:
1: In as_numeric(YYYY) : NAs introduced by coercion
2: In as_numeric(MM) : NAs introduced by coercion
3: In as_numeric(DD) : NAs introduced by coercion
>

提前感谢您的任何建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-13 23:27:44

dayReturn函数中出现了一些语法错误。

下面是从函数内部提取的可重复代码,这些代码可以工作:

代码语言:javascript
复制
library(quantmod)
getSymbols("MSFT")

ticker <- c(MSFT)
date <- c("20161010")
dayreturn <- periodReturn(ticker,period='daily',subset = paste0(date,"::",date,"'"))

你的错误:

  1. date希望成为字符串,而不是数字数字。
  2. 您要子集的日期的字符串不正确。您希望在侧subset = "YYYYMMDD::YYYYMMDD"中使用subset = "YYYYMMDD::YYYYMMDD"或(subset = "YYYY-MM-DD::YYYY-MM-DD")。

您的功能将更正确地工作如下:

代码语言:javascript
复制
dayReturn <- function(ticker, date1 , date2) {
    dayreturn <- periodReturn(ticker,period='daily',subset = paste0(date1,"::",date2,"'"))
    dayreturn
}

dayReturn(MSFT, "20161010", "20161012")
# daily.returns
# 2016-10-10   0.004152284
# 2016-10-11  -0.014645107
# 2016-10-12  -0.001398811
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41127840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档