Python 编程语言在开发金融数据分析应用程序方面帮助了我很多。或者,还有用于数据分析的 R,它具有专用的财务数据分析包,例如:quantmod。
现在,这两种语言(即 Python 和 R)之间有rpy2接口。我想使用 python 的强大功能和 quantmod 包对一些金融数据分析应用程序进行原型设计。
到目前为止,我已经花了几个小时在互联网上搜索一些使用 rpy2(python 包)并调用 quantmod 函数的 Python 编程语言的快速入门代码示例。到目前为止,我还没有成功找到任何合适的材料……除了 rpy2 和 quantmod 文档。
因此问题如下=>
- 有谁知道合适的资源让我开始使用 rpy2 使用 python 和 quantmod?
- 或者,有人可以发布使用 rpy2 调用 quantmod 函数的简单 Python 代码示例吗?
这是我使用 rpy2 和 quantmod 实现原型的尝试:
from rpy2.robjects.packages import importr
sta = {"skeleton.TA": "skeleton_dot_TA", "skeleton_TA": "skeleton_uscore_TA"}
quantmod = importr('quantmod', robject_translations = sta)
IBM = quantmod.getSymbols("IBM")
上述代码(quantmodplot.py)的问题是它产生“RuntimeError”,如下所示:
As of 0.4-0, ‘getSymbols’ uses env=parent.frame() and
auto.assign=TRUE by default.
This behavior will be phased out in 0.5-0 when the call will
default to use auto.assign=FALSE. getOption("getSymbols.env") and
getOptions("getSymbols.auto.assign") are now checked for alternate defaults
This message is shown once per session and may be disabled by setting
options("getSymbols.warning4.0"=FALSE). See ?getSymbol for more details
Error in as.character(sc[[1]]) :
cannot coerce type 'closure' to vector of type 'character'
Traceback (most recent call last):
File "quantmodplot.py", line 6, in <module>
IBM = quantmod.getSymbols("IBM")
File "/usr/local/lib/python2.7/dist-packages/rpy2-2.3.6-py2.7-linux-i686.egg/rpy2/robjects/functions.py", line 86, in __call__
return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/rpy2-2.3.6-py2.7-linux-i686.egg/rpy2/robjects/functions.py", line 35, in __call__
res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in as.character(sc[[1]]) :
cannot coerce type 'closure' to vector of type 'character'
对你的帮助表示感谢...