我是Mac OS X,R和C ++的新手。听起来好像很好,不是吗?
我需要使用RQuantLib,因为我想在R中使用QuantLib软件包的一些定价函数,所有这些都在Mac OS X驱动的环境中使用。
我已经正确安装了QuantLib。我已经向QuantLib官方邮件列表询问了,我们似乎已经得出结论,我遇到的问题与我的QuantLib安装无关,这似乎没问题并且配置正确。
所以,我转向R尝试解决问题。每当我尝试从R中运行ZeroCouponBond时,复制并粘贴官方文档提供的第一个示例,我会收到以下错误:
"Error in DiscountCurve.default(discountCurve.param, list(flat = 0.05)) :
cannot find function errorOccured"
现在,我会将任何与语法相关的问题排除在外,因为我正在复制官方帮助中出现的相同示例。
我不知道我做错了什么,但我知道我需要不惜一切代价找到解决方案。我已经安装了Rcpp,配置看起来确实没问题。只有一个问题我无法找到答案:在我的理解中,RQuantLib基本上充当了QuantLib和R之间的链接。如果这是正确的,我怎么能告诉RQuantLib在哪里寻找libQuantLib.a,即在安装QuantLib本身时执行的“make&& sudo make install”命令产生的编译库?
答案 0 :(得分:2)
是的,所以,我终于设法让它发挥作用了。
首先,我想说如果提供了彻底的逐步安装程序,事情就会容易得多。我承认我是一个全新的人,但我认为其他人第一次接近R可能遇到类似于我必须克服的困难。
无论如何,这就是我所做的:
configure
安装脚本来编译它们;但是,正如Dirk所说,config
脚本会查找QuantLib的quantlib-config
脚本,我不知道正确的语法告诉configure
脚本正确的QuantLib路径。从R执行过程(仅通过安装包)可以解决任何问题,因为所有依赖项都已正确定位和加载所以,这就是它:只需像安装二进制版本一样安装.tar.gz 源包,一切都应该正常。
当然,我仍然很想知道:
非常感谢愿意回答我(可能天真和愚蠢)问题的人。我渴望了解更多!
谢谢!
答案 1 :(得分:0)
RQuantLib包使用名为configure
的工具来确定包构建时的补丁。它会查找脚本quantlib-config
,从中了解libQuantLib.a
的位置。
答案 2 :(得分:0)
首先,按照http://quantlib.org/install/macosx.shtml的说明安装boost(brew install boost
),然后安装Quantlib(目前为1.7.1):
cd QuantLib-1.x.y
./configure --enable-static --with-boost-include=/opt/local/include/ \
--with-boost-lib=/opt/local/lib/ --prefix=/opt/local/
make && sudo make install
make
需要一些时间(约1小时)。
然后在R
或Rstudio
中,安装包Rcpp
和RQuantlib
。后者需要type="source"
,因为只有源包可用。
此时,您应该可以使用RQuantlib
。美国期权价值(截至2016年4月1日的SPY,2016年7月15日到期日)可以R
计算为
AmericanOption("put", strike=206, volatility=0.1525, underlying = 206.92, 0.021, 0.003, 73/252, engine="CrankNicolson")