RQuantlib和Mac OS X 10.8.2

时间:2012-11-20 16:22:36

标签: macos r rcpp quantlib

我是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”命令产生的编译库?

3 个答案:

答案 0 :(得分:2)

是的,所以,我终于设法让它发挥作用了。

首先,我想说如果提供了彻底的逐步安装程序,事情就会容易得多。我承认我是一个全新的人,但我认为其他人第一次接近R可能遇到类似于我必须克服的困难。

无论如何,这就是我所做的:

  • 我从cran.r-project.org
  • 下载了RcppRQuantLib的.tar.gz
  • 我已经编译过它们在R环境中安装它们。这是我犯错误的地方。实际上,我试图通过从终端调用configure安装脚本来编译它们;但是,正如Dirk所说,config脚本会查找QuantLib的quantlib-config脚本,我不知道正确的语法告诉configure脚本正确的QuantLib路径。从R执行过程(仅通过安装包)可以解决任何问题,因为所有依赖项都已正确定位和加载

所以,这就是它:只需像安装二进制版本一样安装.tar.gz 包,一切都应该正常。

当然,我仍然很想知道:

  • 如果可以从终端编译Rcpp和RQuantLib;和
  • 为什么Mac OS X的二进制版本无法在我的系统上运行,即:为什么我必须从源代码开始编译?

非常感谢愿意回答我(可能天真和愚蠢)问题的人。我渴望了解更多!

谢谢!

答案 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小时)。

然后在RRstudio中,安装包RcppRQuantlib。后者需要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")