标签: quantmod

R统计:平均真实范围追踪止损指标

我使用以下文章:

marintrading.com/106VERV.PDF

在R中创建平均真实范围跟踪止损指示器.我已经尝试了各种方法来执行此操作,包括for循环,pmin和创建滞后时间序列,似乎没有任何工作.

你能帮帮我吗?

statistics r indicator quantmod

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

使用xts对象将点,图例和文本添加到绘图中

我开始对成对股票(对交易)进行一些分析,这是我为生成图表而编写的函数(pairs.report - 下面列出).

我需要在一个图中绘制三条不同的线.我列出的功能完成了我想要的功能,但如果我想在x轴(时间线)中进行精细定制,则需要一些工作.实际上,它只打印x轴上的年份(10年的数据)或月份(6个月的数据),没有刻度的格式.

如果我使用xts对象,即如果我使用

plot(xts-object-with-date-asset1-asset2, ...)
Run Code Online (Sandbox Code Playgroud)

代替

plot(date, asset2, ...)
Run Code Online (Sandbox Code Playgroud)

我得到一个格式很好的x轴(连同网格和方框),但随后使用点(),text(),lines()等函数添加到图中失败.我想points.xts()和text.xts()不会很快出来.

我想要xts对象的便利,但我还需要对我的情节进行精细控制.那么我的工作流程应该是什么样的呢?我是否必须坚持使用基本图形并手动完成所有自定义操作?或者有什么方法可以让xts为我工作?

我知道格子和ggplot2,但我现在不想使用它们.这是我提到的功能(欢迎任何批评/改进代码的建议) -

library(xts)

pairs.report <- function(asset1, asset2, dataset) {

#create data structures
attach(dataset)
datasetlm <- lm(formula = asset1 ~ asset2 + 0, data = dataset)
beta = coef(datasetlm)[1]

#add extra space to right margin of plot within frame
par(mar=c(5, 4, 4, 4) + 0.1)

# Plot first set of data and draw its axis
ylim <- c(min(asset2,asset1), max(asset2,asset1))
plot(date, 
     asset2,  
     axes=T, 
     ylim=ylim, 
     xlab="Timeline", 
     ylab="asset2 and asset1 equity", …
Run Code Online (Sandbox Code Playgroud)

graphics r graph xts quantmod

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

quantmod add_TA和chart_Series的问题 - 调用下一个add_TA后,行和文本消失

我正在使用新的chart_Series,add_TA非常多.它对我很有效,我发现它非常有用.

我想在图表上添加一些东西(水平线和一些文字).这里出现了问题.正确绘制水平线和文本后,如果我调用后续文件,它们就会消失add_TA...请参阅下面的示例代码,它会重现问题:

library(quantmod)

getSymbols("SPY")

dev.new()
chart_Series(SPY)
add_TA(ADX(HLC(SPY))$ADX)
abline(h=15, col="red")
abline(h=35, col="green")
text(10, 7, "Text and horizontal lines disappear after next add_TA is called",
  col="blue", cex=0.8, adj = c(0,0))
# run the code up to this point (including text(...
# see how horizontal lines drawn with abline and text is displayed correctly
# now run the last line by adding additional TA and you will see that lines
# and text disappears
add_TA(DVI(Cl(SPY))$dvi)
Run Code Online (Sandbox Code Playgroud)

这是预期的行为吗?

编辑:如何使这项工作(根据下面的约书亚评论:正在重绘绘图对象(chob)时重绘行和文本)?

finance r quantmod

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

quantmod barChart(或chartSeries)格式化选项

我刚开始玩quantmod包.然而,文档非常稀疏(也许可以理解,因为它是OSS).

我目前正在使用barChart()这是一个很好的包装图表系列()并完成我想要的大部分,但它产生的默认图表并不是我想要的.具体来说,我想调整barChart()生成的图表以满足我的需求 - 但是,由于我是新手,我不知道我的"调整"是否可以作为包装barChart()的选项提供,或者如果我需要使用特定参数直接调用chartSeries().

我一直在试图做以下事情:

  1. 将barChart()生成的图表右上角的可怕{开始日期}/{结束日期}文本替换为我自己选择的文本

  2. 指定要在X轴上使用的格式(例如,仅显示世纪的最后两位数字.即'98,'99,'00,'01等)

  3. "强制"顶部图表和底部图表使其Y值打印在图表的左侧

  4. 在底部图表中添加一个aditional系列

  5. 底部图表使用不同的上/下颜色(默认情况下,使用相同的上/下颜色作为顶部和底部图表)

  6. 仅绘制顶部图表(无底部图表)

  7. 为顶部图表指定X轴,Y轴网格线间距,底部图表

  8. 将图像写入替代输出(例如png图像或pdf文档)而不是图形设备

任何人都可以帮助上述任何(或全部)吗?

r quantmod

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

向chart_Series和add_TA图添加垂直线

在Joshua对我之前关于这个"问题"的帖子做出的回答后(quantmod add_TA和chart_Series的问题 - 调用下一个add_TA后行和文本消失了)我在quantmod中添加了一些"扩展",可以绘制行/段和文本.这样做时我遇到了一个无法解决的问题:

require(quantmod)

add_VerticalLine<-function(xCoordinatesOfLines, on=1, ...) {
    lenv <- new.env()
    lenv$add_verticalline <- function(x, xCoordinatesOfLines, ...) {
        xdata <- x$Env$xdata
        xsubset <- x$Env$xsubset
        xcoords <- seq(1:NROW(xdata[xsubset]))[index(xdata[xsubset]) %in% index(xCoordinatesOfLines[xsubset])]
        abline(v=xcoords, ...)
    }
    mapply(function(name, value) {assign(name,value,envir=lenv)}, names(list(xCoordinatesOfLines=xCoordinatesOfLines, ...)), list(xCoordinatesOfLines=xCoordinatesOfLines, ...))
    exp <- parse(text=gsub("list","add_verticalline", as.expression(substitute(list(x=current.chob(),
                                            xCoordinatesOfLines=xCoordinatesOfLines, ...)))), srcfile=NULL)
    plot_object <- current.chob()
    lenv$xdata <- plot_object$Env$xdata
    plot_object$set_frame(sign(on)*abs(on)+1L)
    plot_object$add(exp,env=c(lenv, plot_object$Env),expr=TRUE)
    plot_object
}

datesForLines <- c("2012-02-06", "2012-02-07")

verticalLines.xts <- xts(rep(0, length(datesForLines)), order.by=as.Date(datesForLines))

SPX <- getSymbols("^GSPC", from="2012-01-01", auto.assign=FALSE)
chart_Series(SPX, subset="2012")
add_VerticalLine(verticalLines.xts, …
Run Code Online (Sandbox Code Playgroud)

finance r quantmod

6
推荐指数
0
解决办法
877
查看次数

删除xts中的NA列

我有以下格式的xts

                   a        b     c        d       e        f   ......
2011-01-03         11.40    NA    23.12    0.23    123.11   NA  ......
2011-01-04         11.49    NA    23.15    1.11    111.11   NA  ......
2011-01-05         NA       NA    23.11    1.23    142.32   NA  ......
2011-01-06         11.64    NA    39.01    NA      124.21   NA  ......
2011-01-07         13.84    NA    12.12    1.53    152.12   NA  ......
Run Code Online (Sandbox Code Playgroud)

是否有一个函数可以应用于生成新的xts或data.frame缺少仅包含NA的列?

带有NA的列的位置不是静态的,因此无法按名称或位置删除这些列

r xts quantmod

6
推荐指数
2
解决办法
3876
查看次数

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
查看次数

如何获得R中所有雅虎财经共同基金的清单?

我想获得通过雅虎财经提供给R的所有共同基金的清单.TTR包中有一个stockSymbols功能,但它似乎没有获得共同基金.

谢谢,

r quantmod yahoo-finance

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

如何在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
查看次数

Quantmod错误'无法打开网址'

我今天开始使用quantmod包遇到错误.运行此代码(或一般请求符号)时,其他任何人都有相同的错误?

library(quantmod) getSymbols("CPIAUCNS",src="FRED")

错误:
Error in download.file(paste(FRED.URL, "/", Symbols[[i]], "/", "downloaddata/", : cannot open URL 'http://research.stlouisfed.org/fred2/series/CPIAUCNS/downloaddata/CPIAUCNS.csv'

URL本身工作正常.

r quantmod

6
推荐指数
2
解决办法
5303
查看次数

标签 统计

quantmod ×10

r ×10

finance ×2

xts ×2

charts ×1

graph ×1

graphics ×1

indicator ×1

statistics ×1

yahoo-finance ×1