标签: quantlib

无法让 RQuantLib 在 osx 10.9.4 下与 brew 安装的 quantlib 一起工作

我一直在尝试通过安装 RQuantLib 包

install.packages("RQuantLib")
Run Code Online (Sandbox Code Playgroud)

它不断给我以下错误

* installing *source* package ‘RQuantLib’ ...
** package ‘RQuantLib’ successfully unpacked and MD5 sums checked
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the …
Run Code Online (Sandbox Code Playgroud)

macos boost r quantlib

5
推荐指数
1
解决办法
1241
查看次数

在 Spyder 编辑器 (Windows) 上的 Anaconda 中安装 QuantLib

如何在 Anaconda 中安装 QuantLib 包。我尝试了以下代码;

import QuantLib as ql
Run Code Online (Sandbox Code Playgroud)

但我得到以下结果;

ModuleNotFoundError: No module named 'QuantLib'
Run Code Online (Sandbox Code Playgroud)

谁能帮助我

python quantlib anaconda

5
推荐指数
1
解决办法
7886
查看次数

从多个线程使用 QuantLib 的正确方法是什么?

我找不到任何明确描述 QuantLib 线程安全属性的文档(或没有它们!)。QuantLib配置文档列出了许多与线程安全相关的编译时选项,从中我推断,默认情况下,QuantLib 并不完全是线程安全的。

特别是,有:

  • QL_ENABLE_SESSIONS - “如果定义,单例将为不同的会话返回不同的实例。您必须在命名空间 QuantLib 中提供一个 sessionId() 函数并将其与库链接,为每个会话返回不同的会话 ID。默认情况下未定义。”

  • QL_ENABLE_THREAD_SAFE_OBSERVER_PATTERN - “如果定义,将使用观察者模式的线程安全(但性能较低)版本。如果您想通过 JVM 或 .NET 生态系统或任何环境中的 SWIG 层使用 QuantLib,您应该定义它异步垃圾收集器。默认情况下未定义。”

  • QL_ENABLE_SINGLETON_THREAD_SAFE_INIT - “定义它以使单例初始化线程安全。默认情况下未定义。与多个会话不兼容。”

如果我想使用 QuantLib,我应该使用哪些选项,以及我应该采取哪些其他步骤:

  1. 来自多个线程,但永远不会同时(例如,仅在持有全局锁时)?

  2. 同时来自多个线程,但不在它们之间共享任何对象?

  3. 同时来自多个线程,在它们之间共享对象?

我的应用程序的自然结构是一个有向无环图,在一端输入一个恒定的市场数据流,用于计算和更新各种对象,并在另一端生成一个估计价格流。我非常希望能够让多个内核并行工作,因为有些计算需要很长时间。

该应用程序将主要用 Java 编写,与 QuantLib 接口的 C++ 部分最少。我不打算使用 SWIG 包装器。我很高兴在没有 Java 垃圾收集器帮助的情况下对 QuantLib 对象进行内存管理。


编辑!如果您决定设置这些选项中的任何一个,那么在 unix 上,将相应的标志设置为 ./configure:

--enable-sessions
--enable-thread-safe-observer-pattern
--enable-thread-safe-singleton-init
Run Code Online (Sandbox Code Playgroud)

c++ concurrency multithreading thread-safety quantlib

5
推荐指数
1
解决办法
1360
查看次数

相当于python:C++中的scipy.optimize()?

具体来说,我正在寻找像scipy.optimize.fmin_l_bfgs_b这样的优化器函数.有人能帮帮我吗?还是提供指针?

谢谢!

c++ python optimization scipy quantlib

4
推荐指数
1
解决办法
2068
查看次数

QuantLib中的交换定价

我也把这个发布在Wilmott上,不确定哪个会得到更多回复.

我对Quantlib(和C++ ......)的世界相对较新,所以也许这很明显.我想弄清楚Quantlib是否可以定价优质香草互换价格(OIS折扣,估算3mL曲线).我在Swaption文件中看到的所有Quantlib都是用于折扣的一个期限结构的输入.它是否也用于估算?或者有没有办法覆盖它,这样我就可以输入两条曲线.

任何帮助,例子等都会非常感激(并且会节省我很多时间盯着相同的文件希望有什么东西跳出来......)!

非常感谢

c++ quantitative-finance quantlib

3
推荐指数
1
解决办法
2974
查看次数

使用 Quantlib Python 引导

我想使用 QuantLib 库在 Python 中引导收益率曲线。我知道在使用 C++ 进行引导时,QuantLiab 中有一个名为 PiecewiseYieldCurve 的引导函数,但是当我使用 Python 时,Python QuantLib 中没有这样的函数。我想知道在Python QuantLib中是否有PiecewiseYieldCurve的别名,所以我必须调用别名函数名才能使用PiecewiseYieldCurve函数

我应该创建自己的函数来引导收益率曲线吗?

谢谢!

c++ python bootstrapping quantlib

3
推荐指数
1
解决办法
1247
查看次数

Python Quantlib将Quantlib日期转换为日期时间

我有一个以quantlib的日期格式定义的日期列表。如何将它们转换为日期时间格式。我要问的原因是,我想绘制它,并且收到以下错误:

TypeError:float()参数必须是字符串或数字,而不是'Date'

在执行以下操作时:

plt.plot(dates,rates, linewidth=2.0) # Without date plotting works out.
Run Code Online (Sandbox Code Playgroud)

日期如下所示:

[
  Date(11,12,2012), 
  Date(12,12,2012), 
  Date(13,12,2012),
  Date(14,12,2012), 
  Date(15,12,2012), 
  Date(16,12,2012),
  Date(17,12,2012), 
  Date(18,12,2012), 
  Date(19,12,2012),
  Date(20,12,2012)
]
Run Code Online (Sandbox Code Playgroud)

python datetime matplotlib quantlib quantlib-swig

3
推荐指数
1
解决办法
1646
查看次数

QuantLib:建立关键利率风险

我能够为国库券市场建立折价曲线。但是,我希望以此来查找单个债券(以及最终债券组合)的关键利率风险。

我要寻找的主要利率风险是,如果我有一个30年期债券,而我们将用于折价该债券的1年期利率转移了,而将其他利率保持不变,那么债券价格会发生多少变化?对期限(例如2Y,5Y,7Y等)重复此操作,并对结果求和,可以使您了解债券的总期限,但可以更好地了解风险敞口如何分解。

http://www.investinganswers.com/financial-dictionary/bonds/key-rate-duration-6725

是否有人知道任何演示该操作方法的文档?谢谢。

quantlib python-3.x

3
推荐指数
1
解决办法
828
查看次数

Python 中的快速隐含波动率计算

我正在寻找一个库,我可以用它来更快地计算 Python 中的隐含波动率。我有关于 1+ 百万行的期权数据,我想计算隐含波动率。我可以计算IV的最快方法是什么。我曾尝试使用 py_vollib,但它不支持矢量化。大约需要 5 分钟。计算。是否有任何其他库可以帮助加快计算速度。人们在每秒有数百万行的实时波动率计算中使用什么?

python volatility quantitative-finance quantlib pandas

3
推荐指数
2
解决办法
9730
查看次数

如何为 SimpleCashFlow 定价

我想使用 QuantLib 为负债组合定价,这些负债被建模为确定性的未来现金流量。我现在将它们建模为一条带零息票的 FixedRateBonds,这似乎是一个非常不雅的解决方案。

问题:

问题 1:有没有办法创建一个只是“SimpleCashFlow”、“Redemption”等的“工具”并在折扣曲线上对其定价?

问题 2:是否可以从多个 SimpleCashFlow 构建一个“CashFlows”对象或工具并在曲线上对其进行定价?

提前谢谢了

代码示例:

有关我正在尝试执行的操作的示例,请参阅下面的代码。

from QuantLib import *

# set params
calc_date = Date(30, 3, 2017)
risk_free_rate = 0.01
discount_curve = YieldTermStructureHandle(
                     FlatForward(calc_date, risk_free_rate, ActualActual()))
bond_engine = DiscountingBondEngine(discount_curve)

# characteristics of the cash-flow that I am trying to NPV
paymentdate = Date(30, 3, 2018)
paymentamount = 1000

# this works: pricing a fixed rate bond with no coupons
schedule = Schedule(paymentdate-1, paymentdate, Period(Annual),  TARGET(),
Unadjusted, Unadjusted, DateGeneration.Backward, False) …
Run Code Online (Sandbox Code Playgroud)

python quantlib

2
推荐指数
1
解决办法
863
查看次数