标签: quantmod

合并由 getSymbols 创建的多个 xts 对象

我正在尝试进行一些股票投资组合模拟。使用“quantmod”包,我下载了多种证券的价格数据。我想完成两件事。

1)我想创建 xts 对象的列表/数组,其中每个证券代码都对应于列表中的时间序列对象。

2)更重要的是,我想创建一个时间序列数据框架,其中包含每种证券每天调整后的股价。

我有以下代码,可下载所有价格数据。

library(quantmod)

tickers <- c("SNC.TO", "PHII", "HBC.TO", "GTE", "MOO",
             "MND.TO", "STKL", "SXC","XIU.TO")

for(i in tickers) {
  getSymbols(i, from = "2010-06-30", to = "2015-06-30") 
}
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止尝试创建数据框列表的方法

pframe <- list()
for(i in tickers) {
  pframe[[i]] <- assign(i)
}
Run Code Online (Sandbox Code Playgroud)

merge portfolio r xts quantmod

3
推荐指数
1
解决办法
1542
查看次数

如何将 getSymbols(quantmod 库)中的数据存储到列表中?

这是我正在运行的代码

library(quantmod)
library(tseries)
Stocks={}
companies=c("IOC.BO","BPCL.BO","ONGC.BO","HINDPETRO.BO","GAIL.BO")
for(i in companies){
   Stocks[i]=getSymbols(i)
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取从中获取的数据帧列表getSymbols以存储在Stocks. 问题是getSymbols直接将数据帧保存到全局环境仅保存列表中Stocks的字符。companies

如何将全局环境中的数据框保存到列表中?

如有任何帮助,我们将不胜感激..提前致谢!

r list quantmod

3
推荐指数
1
解决办法
1027
查看次数

如何获取频率为10分钟或30分钟的股票价格

我正在尝试使用“quantmod”包从 R 程序导出股票价格数据。它以每天的频率为我提供数据,但我需要将其更改为 10 分钟或 30 分钟的频率。不幸的是,我没有成功做到这一点。我尝试了以下代码

`library(quantmod)

# symbol
symbol <- "GC=F"

#  time range (last 100 days)
start_date <- Sys.Date() - 100
end_date <- Sys.Date()

getSymbols(symbol, from = start_date, to = end_date, interval = "10 mins")

gold_data <- Cl(get(symbol))
plot(gold_data)`
Run Code Online (Sandbox Code Playgroud)

r quantmod

3
推荐指数
1
解决办法
160
查看次数

quantmod :: chartSeries不绘制所有组件

我已经阅读了很多R文档,但我找不到任何我认可的答案.我的额头因敲打桌子而感到酸痛.;)

这是具体的library(quantmod),因为这是我想要学习的东西,但我想这也是一个普遍的问题.

R 2.12.2 GUI 1.36 Leopard构建64位(5691)Mac OS X 10.6.6

我试图quantmodhttp://www.quantmod.com/examples/intro/上复制一个例子的行为

从GUI,一切都很好 - 下面生成一个这样的图表http://www.quantmod.com/examples/intro/AAPL-full.png:

> require(TTR)
> getSymbols("AAPL")
[1] "AAPL"
> chartSeries(AAPL)
> addMACD()
> addBBands()
Run Code Online (Sandbox Code Playgroud)

但是当我source()从GUI获得一个.R文件时,我只得到了图表

> chartSeries(AAPL)
Run Code Online (Sandbox Code Playgroud)

也就是说,只有价格图表和它下面的交易量表.此外,如果我从命令行尝试以下操作,它可以按预期工作.

$ R --no-save `<`quantmod.R
Run Code Online (Sandbox Code Playgroud)

Rplots.pdf生成一个名为的文件,其中包含三个页面.第三页包含价格+成交量+ MACD +布林带.

如何quantmod让生活变得如此困难?或者我不明白这是多么明显,让生活变得如此困难?

我需要做些什么才能使源脚本能够使用图表中的函数addMACD()addBBands()函数?

作为一个附带问题,数据生成addMACD()addBBands()存储在哪里?

r quantmod

2
推荐指数
1
解决办法
1030
查看次数

使用R package quantmod getSymbol函数返回通用xts变量

我正在使用quantmod R包.有没有办法让getSymbols返回一个通用的xts对象而不是我得到的符号.例如,如果我执行:

getSymbols("COKE", src='yahoo', index.class=c("POSIXt","POSIXct"), from='1990-01-01')
Run Code Online (Sandbox Code Playgroud)

它以符号COKE的名称创建xts对象.如上所述,有没有办法将xts数据对象返回到像x这样的通用变量.即

x <- getSymbol(...)
Run Code Online (Sandbox Code Playgroud)

我看起来很高和很低的解决方案,但没有答案.

谢谢

r xts quantmod

2
推荐指数
1
解决办法
2065
查看次数

如何用R从Oanda获得3年的历史价格系列?

我想在R中处理比特币价格,但我无法从雅虎和谷歌下载时间系列.

来自雅虎的BTCUSD历史时间系列缺失,谷歌无法识别getSymbols符号为"CURRENCY:EURUSD"时形成的URL .我知道R期望":"成为一个列表,所以我应用了我在Stakeoverflow中找到的解决方法来转换CURRENCY:CURRENCY.EURUSD中的EURUSD,但Google仍然无法处理请求.

从Oanda下载的工作就像一个魅力,但要求不能超过500天.我尝试这种解决方法绕过限制,但它无法正确填充prices我有其他符号的对象:

  • 出于某种原因,2012年和2013年的部分时间缺少BTCUSD价格
  • 还有符号列表中的符号与wo一起获得NA.

tail(prices) (带有波纹管)

             UUP    FXB    FXE    FXF   FXY   SLV    GLD     BTC
2014-08-31    NA     NA     NA     NA    NA    NA     NA 506.809
2014-09-30 22.87 159.33 124.48 102.26 88.80 16.35 116.21 375.386
2014-10-31 23.09 157.20 123.49 101.45 86.65 15.50 112.66 341.852
2014-11-30    NA     NA     NA     NA    NA    NA     NA 378.690
2014-12-31 23.97 153.06 119.14  98.16 81.21 15.06 113.58 312.642
2015-01-24    NA     NA     NA     NA    NA    NA     NA 229.813
Run Code Online (Sandbox Code Playgroud)

提取物print(prices)(带有波纹管)

2013-06-28 …
Run Code Online (Sandbox Code Playgroud)

r quantmod

2
推荐指数
1
解决办法
1331
查看次数

即使在使用 quantmod 中的 getSymbols 遇到错误后,仍可继续使用 lapply

我正在使用包裹在 lapply 语句中的 quantmod 从雅虎财经下载一些信息:

require(quantmod)
tickers <- c("AAPL", "MSFT", "MKQ", "TSLA")
quotes <- lapply(tickers,function(x) getSymbols(x, src="yahoo", from="2015-02-01", auto.assign=FALSE)) 
Run Code Online (Sandbox Code Playgroud)

股票代码 MKQ 是故意编造的。我希望循环打印错误,但仍然创建一个 xts 对象列表,其中包含其他 3 个代码的请求数据。

我曾尝试按如下方式使用 tryCatch 但未成功:

quotes <- tryCatch(lapply(tickers,function(x) getSymbols(x, 
src="yahoo", from="2015-02-01", auto.assign=FALSE)) , error=function(e) NULL)
Run Code Online (Sandbox Code Playgroud)

关于如何做到这一点的任何建议?我阅读了有关 tryCatch 的文档,但无法理解它。

谢谢你。

error-handling r lapply xts quantmod

2
推荐指数
1
解决办法
1124
查看次数

R - 当我绘制xts和zoo对象时,如何更改日期格式?

我想知道如何更改日期格式.

我正在处理的代码如下:

library(quantmod)
getSymbols("AAPL")
price_AAPL <- AAPL[,6]
plot(price_AAPL, main = "The price of AAPL")
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述

我想改变日期格式

"%m %d %Y"
Run Code Online (Sandbox Code Playgroud)

如图所示

"%b-%d-%Y"
Run Code Online (Sandbox Code Playgroud)

所以我在搜索了一些提示之后尝试了:

plot(price_AAPL, main = "The price of AAPL", xaxt="n")
axis.Date(1,
          at=seq(head(index(price_AAPL),1), 
                 tail(index(price_AAPL),1), length.out=5), 
          format="%b-%d-%Y", las=2)
Run Code Online (Sandbox Code Playgroud)

但这没有帮助,甚至在x轴上都没有显示任何标记.我想我可能会对"axis.Date()"做错.

有谁能够帮我?

plot r xts quantmod as.date

2
推荐指数
1
解决办法
1697
查看次数

如何遍历全局环境中的对象 - R.

我已经远远地看了解这个问题的解决方案,但我似乎无法弄明白.我在R中处理xts对象的经验不多.

我有40个xts对象(ETF数据),我想分别WeeklyReturn在每个对象上运行quantmod函数.

我试图通过使用ls()函数来引用它们:

lapply(ls(), weeklyReturn) 
Run Code Online (Sandbox Code Playgroud)

我也试过这个object()功能

lapply(object(), weeklyReturn)
Run Code Online (Sandbox Code Playgroud)

我也尝试as.xts()在我的调用中强制使用ls()对象作为xts,但无济于事.

如何在环境中的每个xts对象上运行此函数?

谢谢,

r lapply xts quantmod

2
推荐指数
1
解决办法
1441
查看次数

R为什么plot.xts在调用线后会创建额外的图形?

考虑以下两个图,第一个使用通用图函数,第二个使用plot.xts:

一般情节

par(mfrow = c(2,1))
plot(1:5, type="l", main = "generic plot")
lines(5:1)
Run Code Online (Sandbox Code Playgroud)

如预期的那样,线条功能会添加到现有图形中,因此会生成单个图形

在此处输入图片说明

我将mfrow = c(2,1)设置为向您显示,只有一个图。现在使用xts数据:

par(mfrow = c(2,1))
plot(xts(x = 1:5, order.by = 1:5+as.Date("2017-01-01")), type="l", main = "plot.xts")
lines(xts(x = 5:1, order.by = 1:5+as.Date("2017-01-01")), main = "plot.xts")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

出乎意料的是,它会生成两个图。为什么?

我的情况特别复杂,但是我发现这段代码片断是重现我的问题的最简单方法。基本上,我想继续在一个绘图上添加xts数据。我能够使用通用的绘图和线条功能来实现。

平台信息:R版本3.4.3(2017-11-30)平台:x86_64-apple-darwin15.6.0(64位)在以下环境下运行:macOS High Sierra 10.13.2quantmod_0.4-12 xts_0.10-1

plot r time-series xts quantmod

2
推荐指数
1
解决办法
345
查看次数

标签 统计

quantmod ×10

r ×10

xts ×6

lapply ×2

plot ×2

as.date ×1

error-handling ×1

list ×1

merge ×1

portfolio ×1

time-series ×1