gpt4 book ai didi

r - 在 Quantmod R 中添加多个图表系列

转载 作者:行者123 更新时间:2023-12-03 02:50:39 25 4
gpt4 key购买 nike

我正在尝试在 R 的 quantmod 中的一个 chartSeries 上绘制两个图表。我在执行此操作时遇到了一些困难。

library(quantmod)    
tickers <- c('GLD', 'GDX')
data <- new.env()
getSymbols(tickers, src = 'yahoo', from = '1980-01-01', env = data)
chartSeries(Cl(data$GLD), TA="addTA(Cl(data$GDX), on=1)")
addRSI()

最佳答案

您可以使用 chart_Series 而不是 chartSeries

chart_Series(Cl(data$GLD))
add_TA(Cl(data$GDX), on = 1)

然后,如果您希望子面板中出现下面的 RSI,只需添加 add_RSI()

另一种方法是使用 xts 版本 >= 0.10.0(即根本不使用 quantmod),您可以从 https://github.com/joshuaulrich/xts 获取该版本。 (0.10.0 尚未在 CRAN 上)。 xts 中的新 plot 函数非常适合一次性绘制 xts 对象的多个列。查看 ?plot.xts 了解新功能的示例。

编辑#2:

为了更轻松地查看相对变化,您可以通过多种方式标准化您的价格系列。这是一种典型的方法(Google 图表就是使用 0 原点):

normalise_series <- function(xdat) xdat / coredata(xdat)[1]
getSymbols("USO")
window <- "2013/"

# Define colour of default chart line to chart_Series in mytheme object
# which is passed to chart_Series:
mytheme <- chart_theme()
mytheme$col$line.col <- "darkgreen"
chart_Series(normalise_series(Cl(data$GLD)[window]) - 1, theme = mytheme)
add_TA(normalise_series(Cl(data$GDX)[window]) - 1, on = 1, col = "red", lty = 3)
add_TA(normalise_series(Cl(USO)[window]) - 1, on = 1, col = "blue", lty =2)

add_TA(RSI(Cl(data$GLD)), on = NA, col = "darkgreen")
add_TA(RSI(Cl(data$GDX)), on = 2, col = "red", lty = 3)
# Or add RSIs on different subpanels to improve readability of charts:
add_TA(RSI(Cl(USO)), on = NA, col = "blue", lty = 2)

enter image description here

关于r - 在 Quantmod R 中添加多个图表系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38136008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com