问题标签 [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.
c++ - OSX 10.10.5 - C++ 库,如何更改链接或添加环境标志到 brew 安装版本
我遇到了链接库的问题。
我通过 brew 安装了它的一个版本,但后来我发现我需要在构建中添加环境标志:
所以我在 opt/local/lib 安装了另一个使用标志构建的版本。我的问题是操作系统仍在使用 brew 安装版本。我已经搜索但无法找到如何将 os 链接到正确构建的库或使用标志构建 brew 版本。
我认为这是问题的原因是,在为 ruby 构建 quantlib-swig 时,我收到以下错误,一些论坛称这些错误与环境标志有关:
python - quantlib-swig python安装失败osx
Quantlib 已安装并在 /usr/local/include & lib 中正常工作。我在尝试构建 quantlib-swig 时遇到了很多错误。我在下面仅粘贴几个示例。
我相信这些可能是编译器而不是链接问题,但我不确定这是否正确或如何继续。
任何帮助和指示将不胜感激!谢谢!
python - 使用 Python 使用 QuantLib 对债券进行每日定价
我想在 python 中使用 QuantLib 主要为投资组合环境中的利率工具(衍生品)定价。主要要求是将每日收益率曲线传递给系统以连续几天定价(让我们暂时忽略系统性能问题)。我的问题是,我是否正确构建了下面的示例来做到这一点?我的理解是,我每天至少需要一个带有必要链接等的曲线对象。我已经使用 pandas 来尝试这个。对此的指导将不胜感激。
感谢 Luigi Ballabio,我重新设计了上面的示例,将设计原则纳入 QuantLib,以避免不必要的调用。现在静态数据是真正的静态数据,只有市场数据变化(我希望)。我现在更好地理解了活动对象如何监听链接变量的变化。
静态数据如下:
- 债券引擎
- 键
- 结构句柄
- 历史吉巴尔指数
市场数据将是唯一变化的组成部分
- 每日掉期曲线
- 互换曲线上的市场价差
修改后的示例如下:
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 固定
这是我的尝试:
我的大部分问题是我发现很难掌握这些对象是如何组合在一起的。
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 对象有很多字段,下面是其中的一些:
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 网站上都有提及。我应该更仔细地阅读。克里斯托弗是一个了不起的人,另一方面,只依靠一个人的工作是可怕的想法。
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)
SwigDemo3JNI
Swig 生成的 Java 类在哪里,并且是SwigTest
带有main
. 谁能给我一些关于我做错了什么的见解?
python - 使用作为列表的键从字典中提取值
我有以下程序:
我期望这个程序做的是:它遍历字典键,其中包含一个“数字”(即 1、1、3、6)和“单位”(即周和月)的嵌入式列表,并提取正确的值(或比率)。目前我收到一条错误消息print deposits([n,unit])
。
这是我得到的错误:
我的文件名是TestFunction.py
我知道解决这个问题的方法,我将字典转换为两个列表,如下所示:
但它看起来并不那么整洁或复杂。我会非常感谢你的建议。
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.dll
到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64
python - 如何将 boost::none 传递给 Python Quantlib
这与我之前的一个问题有关:
基本上,我已经让一切都在 C++ 中工作。如果我使用 Python,知道如何传递boost::none
给 Python 函数吗?
非常感谢。