问题标签 [quantlib-swig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

c++ - OSX 10.10.5 - C++ 库,如何更改链接或添加环境标志到 brew 安装版本

我遇到了链接库的问题。

我通过 brew 安装了它的一个版本,但后来我发现我需要在构建中添加环境标志:

所以我在 opt/local/lib 安装了另一个使用标志构建的版本。我的问题是操作系统仍在使用 brew 安装版本。我已经搜索但无法找到如何将 os 链接到正确构建的库或使用标志构建 brew 版本。

我认为这是问题的原因是,在为 ruby​​ 构建 quantlib-swig 时,我收到以下错误,一些论坛称这些错误与环境标志有关:

0 投票
1 回答
255 浏览

python - quantlib-swig python安装失败osx

Quantlib 已安装并在 /usr/local/include & lib 中正常工作。我在尝试构建 quantlib-swig 时遇到了很多错误。我在下面仅粘贴几个示例。

我相信这些可能是编译器而不是链接问题,但我不确定这是否正确或如何继续。

任何帮助和指示将不胜感激!谢谢!

0 投票
1 回答
3954 浏览

python - 使用 Python 使用 QuantLib 对债券进行每日定价

我想在 python 中使用 QuantLib 主要为投资组合环境中的利率工具(衍生品)定价。主要要求是将每日收益率曲线传递给系统以连续几天定价(让我们暂时忽略系统性能问题)。我的问题是,我是否正确构建了下面的示例来做到这一点?我的理解是,我每天至少需要一个带有必要链接等的曲线对象。我已经使用 pandas 来尝试这个。对此的指导将不胜感激。

感谢 Luigi Ballabio,我重新设计了上面的示例,将设计原则纳入 QuantLib,以避免不必要的调用。现在静态数据是真正的静态数据,只有市场数据变化(我希望)。我现在更好地理解了活动对象如何监听链接变量的变化。

静态数据如下:

  • 债券引擎
  • 结构句柄
  • 历史吉巴尔指数

市场数据将是唯一变化的组成部分

  • 每日掉期曲线
  • 互换曲线上的市场价差

修改后的示例如下:

0 投票
1 回答
1909 浏览

python - Python中的QuantLib cpibond债券示例

我正在尝试让官方 C++ cpibond 示例在 Python 中工作。原始示例在这里:https ://github.com/lballabio/quantlib/blob/master/QuantLib/test-suite/inflationcpibond.cpp和scala在这里:https ://github.com/lballabio/quantlib/blob/ master/QuantLib-SWIG/Scala/examples/CPIBond.scala

当我运行我尝试过的内容时,我收到了这个错误:

RuntimeError:第一次迭代:第一个有效工具失败,到期日 2010 年 9 月 1 日,参考日期 2009 年 9 月 1 日:第二段:缺少 2009 年 9 月 1 日的英国 RPI 固定

这是我的尝试:

我的大部分问题是我发现很难掌握这些对象是如何组合在一起的。

0 投票
1 回答
744 浏览

python-3.x - Visual Studio 2015 Python 3.5 调试启动错误

Python 3.5 调试启动错误

我尝试使用 Visual Studio 2005 在调试模式下启动一个小型 Python 程序。但它无法到达第一个语句,即import语句。为什么会__file__出现如下所述的错误?

一个名为 Swap.py 的 Quantlib 示例在 Visual Studio 2015 中以发布模式运行而没有错误。但在调试模式下,它会在启动时出现此错误:

Quantlib 版本是 1.6.2,QuantLib SWIG 版本是 1.6.1。

这是 swap.py 的第一行,但并没有那么远:

我安装了 Python 3.5 调试组件。

然后在 Visual Studio 2015 for Python 中,我创建了一个 Python 环境来使用 python_d.exe、pythonw_d.exe 和 python35_d.dll。

输出窗口:

堆栈:

我能够调试 Python 代码(至少查看 Visual Studio Locals)。我们需要能够在 Python 和本机代码中进行调试。这是失败后堆栈的样子:

混合使用调用堆栈

这是失败的 Python 函数(代码为失败点):

但是__file__模块中没有字段:

模块对象的内容

loader 对象有很多字段,下面是其中的一些:

0 投票
0 回答
1108 浏览

python - 在 Windows 下安装 QuantLib Python

我正在尝试在 Windows 下安装 QuantLib Python。我下载了 Christopher Gohlke预编译的 3.5 64 位版本并安装了它,但运行后出现通常错误

然后我下载并安装了 QuantLib SWIG 并运行 python setup.py install

并收到回:

错误:无法找到 vsvarsall.bat

我阅读了更多关于它的信息,看起来我需要下载并安装 Visual Studio 2015。

有更简单的解决方案吗?如果我理解正确,下载和安装 VS 2015 意味着手动编译。

更新

我能够通过下载Visual C++ Redistributable for Visual Studio 2015来解决这个问题。这在 Christopher Gohlke 网站上都有提及。我应该更仔细地阅读。克里斯托弗是一个了不起的人,另一方面,只依靠一个人的工作是可怕的想法。

0 投票
1 回答
329 浏览

java - java.lang.UnsatisfiedLinkError 尝试遵循关于 SWIG 使用 C++ 回调的 MIT 示例时

我正在尝试实现一个简单的应用程序,它使 C++ 能够对 Java 进行回调。对此,我发现了一些多年前麻省理工学院的一些人写的例子:https ://github.com/swig/swig/tree/master/Examples/java/callback

但是,当尝试运行我自己的应用程序时,我得到

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.swig.demo.SwigDemo3JNI.swig_module_init()V at com.swig.demo.SwigDemo3JNI.swig_module_init(Native Method) at com.swig.demo.SwigDemo3JNI.<clinit>(SwigDemo3JNI.java:30) at com.swig.demo.Caller.<init>(Caller.java:39) at com.swig.demo.SwigTest.main(SwigTest.java:47)

SwigDemo3JNISwig 生成的 Java 类在哪里,并且是SwigTest带有main. 谁能给我一些关于我做错了什么的见解?

0 投票
3 回答
1088 浏览

python - 使用作为列表的键从字典中提取值

我有以下程序:

我期望这个程序做的是:它遍历字典键,其中包含一个“数字”(即 1、1、3、6)和“单位”(即周和月)的嵌入式列表,并提取正确的值(或比率)。目前我收到一条错误消息print deposits([n,unit])

这是我得到的错误:

我的文件名是TestFunction.py

我知道解决这个问题的方法,我将字典转换为两个列表,如下所示:

但它看起来并不那么整洁或复杂。我会非常感谢你的建议。

0 投票
2 回答
1299 浏览

python - 在 Windows 上构建 SWIG 时出现“vcvarsall.bat”问题

遵循以下说明:为 Python 构建 QuantLib(SWIG)

我想知道为什么vcvarsall.bat找不到。实际上,该batch文件位于:

此外,我已将其复制到:

并最终将后一条路径添加到System variables -> PATH,没有任何改进。

Ps:在error-microsoft-visual-c-10-0-is-required-unable-to-find-vcvarsall-bat(DUPLICATE)上提出了一个类似的话题,但到目前为止,所倡导的解决方案都没有帮助我克服这个问题。

因此,我们将不胜感激任何相关的反馈。

操作系统: Windows 10

Studio:适用于 Windows 桌面的 Express 2013

提升: v.1_58_0

痛饮: v.1_6

量化库: v.1_6

IDE: PTVS v.2.2.2

提前致谢

1 - 编辑:见下面的截图(包括错误)

在此处输入图像描述

或者:

2 - 编辑:

我什至通过更新模块中的方法走得更远get_build_version()msvc9compiler.py举行

C:\Users\user\Miniconda3\Lib\distutils至:

因为 myPython 3.5.2是在MSC 1900 <=> VS 2015. 但是看起来编译器找不到,因为控制台(cmd)仍然返回

Ps:对这个安装感到非常惊讶。不得已的解决方案:安装VS2015 Community我推迟的

3 - 编辑:

解决方案:

复制mspdb120.dllC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64

0 投票
1 回答
57 浏览

python - 如何将 boost::none 传递给 Python Quantlib

这与我之前的一个问题有关:

Quantlib 将日期向量传递给 Schedule 类

基本上,我已经让一切都在 C++ 中工作。如果我使用 Python,知道如何传递boost::none给 Python 函数吗?

非常感谢。