QuantLib in Julia: JQuantLib (very very alpha stage at this point!)

636 views
Skip to first unread message

Christopher Alexander

unread,
Feb 29, 2016, 11:32:16 AM2/29/16
to julia-users
Hello all, I'd like to point people in the direction of a package I've been working on: JQuantLib, to get some feedback.  Basically, I am trying to write a version of the very popular open-source quantitative finance library QuantLib in pure Julia.  The library itself is written in C++, but it is commonly used in Python (via SWIG).  I thought this would be a first attempt at trying to solve a common problem in many financial firms where you have basically two different dev environments: a calculation-heavy one (where speed is important) in C++, C, etc and one that is increasingly in Python to provide an abstraction to that lower level.  Julia seems to be a perfect fit for eliminating the myriad issues one can encounter with this bifurcated dev setup.

The package itself is located here: https://github.com/pazzo83/JQuantLib

There is a bond pricing (NPV) example in the readme itself, and further examples in the examples folder (these are under development still).  I am continuing to work on this and add to it, but I'd love some feedback!  I'm still relatively new to Julia, but working on this has definitely improved my fluency of the language.

Thanks!

Chris

Jeffrey Sarnoff

unread,
Feb 29, 2016, 5:48:15 PM2/29/16
to julia-users
nice undertaking!

Viral Shah

unread,
Feb 29, 2016, 11:24:09 PM2/29/16
to julia-users
You've already got a nice body of code there!

-viral

Christopher Alexander

unread,
Mar 1, 2016, 1:56:45 AM3/1/16
to julia-users
Thanks guys!  I still have a lot of work to do regarding writing tests and all, but one awesome thing is that for the most part, I am matching or beating the C++ timings for the examples I've created so far.

Eric Forgy

unread,
Mar 1, 2016, 5:24:01 AM3/1/16
to julia-users
Awesome stuff.

If my team were to build this (and considered doing it), I would call it QuantLib.jl. The convention (not a rule) is for Julia packages to end with .jl and this looks like a clean port.

The package looks great and is something I see us contributing to. Thanks for the work!

Luigi Ballabio

unread,
Mar 1, 2016, 8:40:32 AM3/1/16
to julia-users
Very interesting--drop me a line if you want me to add a link to your project on the QuantLib site.  One thing though: the name JQuantLib has been taken for a while by another project (with which I'm not involved) that's writing a Java port of QuantLib; see <http://www.jquantlib.org/en/latest/>.  You might want to come up with a new name to avoid confusion.

Now I just have to learn Julia to have a look at your code :)

Luigi
Message has been deleted

Jeffrey Sarnoff

unread,
Mar 1, 2016, 8:50:24 AM3/1/16
to julia-users
As Eric suggests, naming it QuantLib.jl works best with the package ecosystem and it is not in use elsewhere.

Christopher Alexander

unread,
Mar 1, 2016, 11:07:53 AM3/1/16
to julia-users
Thanks for the feedback all!  I of course welcome any contributions and collaboration to/with this package!  Luigi, I'd be honored to have a link to this package on the QuantLib site.  I am first going to change the name of the package to QuantLib.jl, then I will post an updated link here.  In terms of learning Julia, the resources both here and at http://julialang.org/ are indispensable.

Thanks!

Chris

cdm

unread,
Mar 1, 2016, 2:18:36 PM3/1/16
to julia-users

are the devs/users on



looped in to this effort ?


good show.

~ cdm

Christopher Alexander

unread,
Mar 1, 2016, 7:02:08 PM3/1/16
to julia-users
Yes, I am going to reach out to them shortly.  Thanks!

Christopher Alexander

unread,
Mar 1, 2016, 7:14:12 PM3/1/16
to julia-users
OK, I have renamed the package to QuantLib.jl.  The package is located here:  https://github.com/pazzo83/QuantLib.jl

Thanks again for all the feedback!

- Chris


On Tuesday, March 1, 2016 at 8:50:24 AM UTC-5, Jeffrey Sarnoff wrote:

Luigi Ballabio

unread,
Mar 2, 2016, 3:52:59 AM3/2/16
to julia-users

I've added the link to <http://quantlib.org/extensions.shtml>. Good luck with the project!

Luigi

Christopher Alexander

unread,
Apr 4, 2016, 10:54:30 AM4/4/16
to julia-users
Hello all,

I just wanted to provide an update on this package.  I haven't officially registered it yet (I still have more work I want to do, and I need to add more tests), but there have been significant updates in the past month.  I've added QuantLib's Monte Carlo simulation features, as well some of its market model platform.  There are examples which show how these are implemented and also an example which calculates CVA (credit valuation adjustment) based off of an example here: http://nbviewer.jupyter.org/github/mgroncki/IPythonScripts/blob/master/CVA_calculation_I.ipynb  I've also added some documentation (http://quantlibjl.readthedocs.org/en/latest/) and some tests, but again, this is still very much a work in progress!  Let me know if anyone runs into any issues!

Thanks!

Chris
Reply all
Reply to author
Forward
0 new messages