1

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

4

3 回答 3

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的二进制版本不能在我的系统上运行,即:为什么我必须从源代码开始编译?

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

谢谢!

于 2012-11-22T00:39:20.623 回答
0

RQuantLib 包使用一个名为的工具,该工具configure在包构建时确定补丁。它会查找quantlib-config从中了解libQuantLib.a.

于 2012-11-20T16:28:20.627 回答
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

需要一些时间(约 1 小时)make

然后在Ror中Rstudio,安装包RcppRQuantlib. 后者需要type="source",因为只有源包可用。

此时,您应该可以使用RQuantlib. 美式期权价值(SPY 截至 2016 年 4 月 1 日,到期日为 2016 年 7 月 15 日)可以计算R

AmericanOption("put", strike=206, volatility=0.1525, underlying = 206.92, 0.021, 0.003, 73/252, engine="CrankNicolson")
于 2016-04-03T17:08:30.227 回答