我已经阅读了很多R文档,但我找不到任何我认可的答案。我的额头因敲打桌子而感到酸痛。 ;)
这是library(quantmod)
特有的,因为这是我想要学习的东西,但我想这也是一个普遍的问题。
R 2.12.2 GUI 1.36 Leopard build 64-bit(5691) Mac OS X 10.6.6
我试图在http://www.quantmod.com/examples/intro/
复制quantmod
示例的行为
从GUI开始,一切都很好 - 下面会生成一个类似http://www.quantmod.com/examples/intro/AAPL-full.png的图表:
> require(TTR)
> getSymbols("AAPL")
[1] "AAPL"
> chartSeries(AAPL)
> addMACD()
> addBBands()
但是,当我source()
来自GUI的.R文件时,我只得到
> chartSeries(AAPL)
也就是说,只有价格图表和它下面的交易量表。此外,如果我从命令行尝试以下操作,它可以按预期工作。
$ R --no-save `<`quantmod.R
生成一个名为Rplots.pdf
的文件,其中包含三个页面。第三页包含价格+成交量+ MACD +布林带。
quantmod
做什么让生活变得如此困难?或者我不明白哪些是显而易见的,让生活变得如此困难?
我需要做些什么才能让源代码脚本能够将addMACD()
和addBBands()
函数用于图表?
作为一个附带问题,addMACD()
和addBBands()
生成的数据存储在哪里?
答案 0 :(得分:6)
在阅读了quantmod文档之后,在敲打桌面之前,尝试搜索R-SIG-Finance邮件列表档案(一种方式是通过rseek.org上的“支持列表”选项卡)。这个问题在名单上出现了好几次。
要回答您的主要问题,请参阅?TA
的“注释”部分:
Calling any of the above methods from within a function or script will generally require them to be wrapped in a ‘plot’ call as they rely on the context of the call to initiate the actual charting addition.
因此,您应该将示例更改为:
> require(TTR)
> getSymbols("AAPL")
[1] "AAPL"
> chartSeries(AAPL)
> plot(addMACD())
> plot(addBBands())
要回答您的附带问题,请参阅?chartSeries
的“值”部分,以及help("chob-class")
和help("chobTA-class")
。