标签: quantmod

如何查看quantmod包中的所有可用数据系列?

如何显示所有报价/数据系列的列表,例如来自Yahoo的getSymbols?

r quantitative-finance quantmod

7
推荐指数
1
解决办法
3092
查看次数

R/quantmod:多个图表全部使用相同的y轴

我试图将6天的日内数据绘制为6个图表.Quantmod的实验chart_Series()函数与par()设置一起使用.我已经将数据预加载到bars(XTS对象的向量)中,所以我的代码如下所示:

par(mfrow=c(3,2))   #3 rows, 2 columns

for(d in bars){
    print(chart_Series(d, type = "candlesticks") )
    }
Run Code Online (Sandbox Code Playgroud)

这有效,但每个图表都有自己不同的y轴刻度.我想设置一个覆盖所有6天的y范围,但找不到办法.我试过这个:

ylim=c(18000,20000)
print(chart_Series(d, type = "candlesticks",ylim=ylim) )
Run Code Online (Sandbox Code Playgroud)

但它失败了"未使用的参数"错误.yrange = ylim也失败了.

我可以使用chartSeries(d,yrange = ylim),它可以工作.但据我所知,我不能在一个显示器中放置多个图表(?).(它可能完全是偏离主题的,但是对于可以绘制漂亮的烛台图表,允许y轴控制并且可以在一个图像上绘制多个图表的替代R包的建议也将非常受欢迎.)

charts r quantmod

7
推荐指数
1
解决办法
4282
查看次数

使用带有quantmod的csv加载多个符号

我试图使用csv文件加载多个符号,而不是从Yahoo下载.原始代码非常有用并且很有用

load.packages('quantmod')
tickers = spl('TLT,IWM,GLD')
data <- new.env()
getSymbols(tickers, src = 'yahoo', from = '1980-01-01', env = data,
           auto.assign = T)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用下面的代码时,它会导致脚本中的"下标越界"错误:

load.packages('quantmod')
tickers = spl('TLT,IWM,GLD')
data <- new.env()
getSymbols(tickers, src="csv", dir= "C:/Users/Admiral/Downloads/",
           env = data, auto.assign = T)
Run Code Online (Sandbox Code Playgroud)

有人想到为什么第二个代码集不起作用?测试我刚刚从Yahoo下载了csv数据并保存在本地(windows).如果我只使用一个csv文件,我不会得到下标错误.我也尝试了下面的代码,但稍后在脚本中遇到相同的错误:

setSymbolLookup(tickers=list(src="csv", dir= "C:/Users/Admiral/Downloads/"))
getSymbols(tickers, auto.assign = T, from = '1980-01-01', env=data)
Run Code Online (Sandbox Code Playgroud)

r time-series xts quantmod

7
推荐指数
1
解决办法
3027
查看次数

垂直直方图

我想做一个垂直直方图.理想情况下,我应该能够每天在一个地块上放置多个.

如果这可以与quantmod实验chart_Series或其他一些能够绘制条形图的库相结合,那么这个时间序列会很棒.请参阅随附的屏幕截图.理想情况下,我可以绘制这样的东西.

是否有内置或现有的库可以帮助解决这个问题?

市场概况示例

r quantmod

7
推荐指数
2
解决办法
6817
查看次数

使用quantmod下载FRED数据:可以指定日期吗?

我正在从FRED下载quantmod数据库(作者Jeffrey A. Ryan).通过YahooGoogle数据,我可以设置开始和结束日期.对FRED数据可以这样做吗?

帮助页面没有列出"from"和"to"作为quantmod的getSymbols函数的选项,我从中推断出它当前不可能.

有没有办法为要下载的数据设置范围,还是需要下载整个数据集并丢弃我不需要的数据?

谢谢你的帮助.下面的代码说明了上下文:

从FRED下载时会忽略日期:

# environment in which to store data 
data <- new.env()

# set dates
date.start <- "2000-01-01"
date.end <- "2012-12-31"

# set tickers
tickers <- c("FEDFUNDS", "GDPPOT", "DGS10")

# import data from FRED database
library("quantmod")
getSymbols( tickers
  , src = "FRED"  # needed!
  , from = date.start  # ignored
  , to = date.end  # ignored
  , env = data
  , adjust = TRUE
)

head(data$FEDFUNDS)

head(data$FEDFUNDS) …
Run Code Online (Sandbox Code Playgroud)

r quantmod quandl

7
推荐指数
2
解决办法
8319
查看次数

R:回测交易策略.初学者到quantmod和R.

我对R很新,并试图回溯我在WealthLab中编写的策略.

几个我不明白的东西(它显然不起作用:)

  1. 我没有很好地将关闭价格转换为向量...或某种向量,但它从结构开始,我真的不明白这个函数的作用.这就是为什么我的系列[,1]调用可能不起作用.

  2. n < - nrow(系列)也不起作用,但我需要循环

所以我想如果我得到这两个问题的答案我的策略应该有效......我非常感谢任何帮助......即使有其他语言的编程经验,看起来也很复杂

#rm(list = ls(all = TRUE))

#import data, default is yahoo
require(quantmod)
series <- getSymbols('AAPL',from='2013-01-01')
#generate HLOC series
close <- Cl(AAPL)
open <- Op(AAPL)
low <-Lo(AAPL)
high <- Hi(AAPL)

#setting parameters
lookback <- 24 #24 days ago
startMoney <- 10000


#Empty our time series for position and returns
f <- function(x) 0 * x

position <- apply(series[,1],FUN=f)
colnames(position)="long_short"

returns <- apply(series[,1],FUN=f)
colnames(returns)="Returns"

trades = returns
colnames(trades)="Trades"

amount = returns
colnames(amount) = "DollarAmount"
amt[seq(1,lookback)] …
Run Code Online (Sandbox Code Playgroud)

r quantmod

7
推荐指数
1
解决办法
1万
查看次数

使用getSymbols()的最快和/或更好的方法是什么?将每个股权分开或全部分开?

让我们假设您想从2000年以来从雅虎和Alpha Vantage(AV)获得大量股票(> 100)的数据.

我想知道是否有人调查过以下两个问题中的任何一个:

1)使用getSymbols()时更快的是什么?在一次调用getSymbols()时,将每个股权分开或全部分开?

2)什么会少出错?与所有股票分开看涨或打电话?

感谢您在2分中的任何一点提供任何帮助或建议.

HL

r quantmod

7
推荐指数
1
解决办法
85
查看次数

quantmod :: chart_Series和mapply给出图表参数错误

如何在chart_Series中正确使用MoreArgs?

p.txt

s,n
ABBV,AbbVie
BMY,Bristol
LLY,EliLily
MRK,Merck
PFE,Pfizer
Run Code Online (Sandbox Code Playgroud)

苏菲

# R --silent --vanilla < sof.r
library(quantmod)
options("getSymbols.warning4.0"=FALSE)
options("getSymbols.yahoo.warning"=FALSE)

# setup chart params
cp <- chart_pars()
cp$cex=0.55
cp$mar=c(1,1,0,0) # B,L,T,R
# setup chart theme
ct <- chart_theme() 
ct$format.labels <- ' ' # AG: space needed to remove bottom x-axis labels
ct$lylab <- TRUE        # AG: enable left y-axis labels
ct$rylab <- FALSE       # AG: remove right y-axis labels
ct$grid.ticks.lwd=1

# read values into vectors
csv <- read.csv("p.txt", stringsAsFactors = …
Run Code Online (Sandbox Code Playgroud)

r candlestick-chart quantmod mapply

7
推荐指数
1
解决办法
65
查看次数

R quantmod:如何有两个独立的Y尺度?

我想针对货币对绘制交易策略.当然,交易策略有很大的价值(> 10'000,因为10'000是初始资本),货币对徘徊在1.5左右.因此,我希望将策略覆盖在与货币对相同的图表上,但我需要两个不同的Y尺度.

我怎样才能做到这一点?
像这样两者都在同一个图表中,但是策略(投资)是不可见的,因为它高于货币对的最高点.

和奖金问题:-)
如何将特定日期的数据分组到今天?像2008年到现在还是什么?

FXTimeSeries <- zoo(MergedSet$FXCloseRate,MergedSet$Date)
InvestmentTimeSeries <- zoo(matrix[,"Investment"], MergedSet$Date)
chartSeries(FXTimeSeries, theme="white", subset='2011-04::2013-06')
addTA(InvestmentTimeSeries,legend="Strategy", on=1)
Run Code Online (Sandbox Code Playgroud)

charts r quantmod

6
推荐指数
1
解决办法
480
查看次数

如何在quantmod包中创建技术指标

我是R的新手,我在创建技术指标方面遇到了一些问题.更具体地说,我想创建一个指标,Fibonacci它将被添加到chartSeries并且将由5条水平线组成.我正在处理的数据是股票的收盘价.因此,我想要创建的图表将在最高收盘价的点处有一条水平线,在最小收盘价的点上有一条水平线,在前两条之间有三条水平线.我为了获取股票收盘价的时间序列的五个值而编写的代码如下:

Fibonacci <- function(x) {
x <- try.xts(x, error = as.matrix)
n <- nrow(x)
min <- runMin(x,n=n)
max <- runMax(x,n=n)
high <- 0.62*(max-min) + min
middle <- 0.5*(max-min) + min
low <- 0.38*(max-min) + min
res <-cbind(na.spline(min),na.spline(max),na.spline(high),
            na.spline(middle),na.spline(low))
colnames(res)<- c("min","max","high","middle","low") 
reclass (res, x)
}
Run Code Online (Sandbox Code Playgroud)

我还编写了以下代码,以便将技术指标添加到现有chartSeriesquantmod包图:

addFibonacci<- function(col = "red",overlay = TRUE){
stopifnot("package:TTR" %in% search() || require("TTR", quietly = TRUE))
lchob <- quantmod:::get.current.chob() 
x <- as.matrix(lchob@xdata)
chobTA <- new("chobTA")
chobTA@new <- !overlay
if …
Run Code Online (Sandbox Code Playgroud)

r quantmod

6
推荐指数
1
解决办法
3200
查看次数