Repository navigation
Expand file tree
/
Copy pathextensions.shtml
More file actions
131 lines (101 loc) · 5.3 KB
/
Copy pathextensions.shtml
File metadata and controls
131 lines (101 loc) · 5.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
---
layout: default
title: QuantLib Extensions
---
<h1 class="center">QuantLib Extensions</h1>
<br>
<h2 class="center">Official wrappers for other languages</h2>
<p>QuantLib is <a href="download.shtml">available</a> as a C#,
Java, Python and R module by means of <a
href="http://swig.org/">SWIG</a>.<br>
<p><a href="http://quantlibaddin.org">QuantLibAddin</a> exports a
procedural interface to a number of platforms including Microsoft
Excel (see the <a href="http://quantlibxl.org">QuantLibXL</a> site)
and OpenOffice/LibreOffice Calc.</p>
<h2 class="center">External projects</h2>
<h3 class="center">Adjoint Algorithmic Differentiation (AAD) support</h3>
<p>
Adjoint algorithmic differentiation (AAD) can be enabled in QuantLib
using the open-source <a href="https://auto-differentiation.github.io">XAD
AAD tool</a> and <a href="https://github.com/auto-differentiation/QuantLibAAD">an XAD/QuantLib
integration module</a>.
In addition to tape-based AAD, optional JIT-based execution can be used for selected code regions,
enabling record-once / replay-many workflows for repetitive calculations such as Monte Carlo inner loops.
QuantLib's AAD-compatibility is actively maintained via automated CI/CD checks,
running daily against QuantLib's master branch.
</p>
<p>Another AAD-enabled version is offered by MatLogica and
uses <a href="https://matlogica.com/practical-AAD-QuantLib-XVA-demo.php#quantlibModal">their
AADC JIT compiler</a> to enable fast AAD risks and to speed up forward
repetitive calculations by automated multithreading and
vectorization.</p>
<p>Yet another modified QuantLib C++ library enabling AAD is available
as <a href="https://github.com/compatibl/QuantLibAdjoint">an
open-source project from CompatibL</a>.</p>
<h3 class="center">Other modified versions of the library</h3>
<p>TAKT
provides <a href="https://github.com/abx-takt/quantlib-takt">quantlib-takt</a>,
a drop-in build of the official QuantLib Python wheel with faster
Monte Carlo engines; on the same system it returns the same results as
the official wheel, bit for bit. The free package speeds up European
options; a commercial version covers the other engines and the C++
library.</p>
<p>MatLogica
provides <a href="https://matlogica.com/products/aadc-tracer/">a
version of QuantLib that includes tracing</a> for model validation
purposes; the free version is for non-commercial and academic use
only, with commercial and full-performance academic licences
available.</p>
<h3 class="center">Ports and wrappers for other languages</h3>
<p><a href="https://github.com/frame-consulting/QuantLibXlOil">QuantLibXlOil</a>
makes the QuantLib Python wrappers available in Excel.</p>
<p>The <a href="https://github.com/lcallenbach/quantlibaddin">LibreOffice
QuantLib Addin</a> project, based on QuantLibAddin, exports QuantLib
to Calc.</p>
<p>Idiomatic GNU R support is provided by means of <a href=
"http://dirk.eddelbuettel.com/code/rquantlib.html">RQuantLib</a> by
Dirk Eddelbuettel.</p>
<p><a href="http://www.deriscope.com/index.html">Deriscope</a> is
another project that aims at exporting QuantLib functionality to
Excel.</p>
<p>An initial web API for QuantLib (also usable from Google Sheets) is
available from <a href="https://quantra.io/">quantra.io</a>.</p>
<p>A port of QuantLib to C# is available
as <a href="https://github.com/amaggiulli/qlnet">QLNet</a>.</p>
<p>The <a href="https://github.com/frgomes/jquantlib">JQuantLib</a> project is a
Java port.</p>
<p>An alternative set of Python wrappers is provided in
the <a href="https://github.com/enthought/pyql">PyQL</a> project by
Didrik Pinte and Patrick Henaff.</p>
<p><a href="https://github.com/pazzo83/QuantLib.jl">QuantLib.jl</a> is
a port of QuantLib to the Julia language. The project is in its
initial stages and welcomes contributions.</p>
<p>An initial port to Rust is available
from <a href="https://github.com/piquette/quantlib">https://github.com/piquette/quantlib</a>.</p>
<p>Bindings for Node.js are available from
the <a href="https://github.com/quantlibnode/quantlibnode">quantlibnode</a>
project. Another (closed-source) JavaScript implementation is available
as <a href="https://quantlib.js.org/">quantlib.js</a>.</p>
<p><a href="https://code.google.com/p/qldds/">QLDDS</a> is a project
that allows the functionality of the QuantLibAddin for C++ to be
distributed via OpenDDS across multiple computers running different
operating systems.</p>
<p>Other projects aim at ports in a functional language.
<a href="http://sourceforge.net/projects/quanthas/">QuantHas</a>,
<a href="https://github.com/paulrzcz/hquantlib">HQuantLib</a> and
<a href="https://github.com/khorser/hasquant">hasquant</a> target the
Haskell language,
while <a href="http://sourceforge.net/projects/quantifa/">Quantifa</a>
is written in
F#. <a href="https://www.cepheis.com/cephei-ql">Cephei.QL</a> wraps
the C++ library so that it can be called from F#.
</p>
<p>Niels Elken Sønderby has a page for the tentative
Mathematica project <a href=
"http://www.nielses.dk/quantlib/mma/">QuantLibMma</a>.</p>
<p>The <a href="http://www.dsource.org/projects/quantlibd/">QuantLibD</a>
project is a port of QuantLib in the D programming language. The
project is looking for developers.</p>
<p>The <a href="https://github.com/sthabene/QuantIO">QuantIO</a>
project (a work in progress at this time) will provide a GUI
implementation of the QuantLib project.</p>