NAGnews 126 | 30 October 2014

Posted on
4 Nov 2014

In this issue

New White Paper: Adjoint Algorithmic Differentiation Tool Support for Typical Numerical Patterns in Computational Finance

In this new White Paper, NAG Collaborator, Professor Uwe Naumann (Aachen University) and Jacques du Toit (NAG) demonstrate the flexibility and ease of use of NAG's C++ algorithmic differentiation (AD) tools based on overloading to numerical patterns (kernels) arising in computational finance. While adjoint methods and AD have been known in the finance literature for some time, there are few tools capable of handling and integrating with the C++ codes found in production. Adjoint methods are also known to be very powerful but to potentially have infeasible memory requirements. We present several techniques for dealing with this problem and demonstrate them on numerical kernels which occur frequently in finance. We build the discussion around our own AD tool dco/c++ which is designed to handle arbitrary C++ codes and to be highly flexible, however the sketched concepts can certainly be transferred to other AD solutions including in-house tools. An archive of the source code for the numerical kernels as well as all the AD solutions discussed can be downloaded from our website. This includes documentation for the code and dco/c++. Trial licences for dco/c++ are available from NAG.

Read the new White Paper here.

Gaussian Mixture Model: New in the NAG Library Mark 24

Taken from a NAG Blog post By Brian Spector, NAG Technical Specialist

With the release of the NAG C Library, Mark 24 comes a plethora of new functionality including matrix functions, pricing Heston options with term structure, best subset selection, and element-wise weightings for the nearest correlation matrix. Among the new routines I was excited to test out was the Gaussian mixture model (g03ga). This routine will take a set of data points and fit a mixture of Gaussians for a given (co)variance structure by maximizing the log-likelihood function. The user inputs the (co)variance structure, number of groups, and (optionally) the initial membership probabilities. I decided to test out this new functionality, which is also in Mark 24 of the NAG Toolbox for MATLAB®. Often I will use MATLAB® with the NAG Toolbox before switching to C++ and the NAG C Library for my production code. So I generated some data and tried the routine to see if it could find the covariance structure. You can download the script and try it out for yourself here. The example will generate the test data, run the NAG Gaussian mixture routine and plot the results. An example of the output is given below:

NAG Gaussian mixture routine output

SC14 - HPC Matters | It's all about the Algorithms and Expertise!

The international conference SC ( has provided a stage for international HPC professionals for 27 years. NAG has exhibited at every single one of the conferences, which puts us in good company - 6 other organizations join NAG in reaching this milestone. Can you guess who they are? Each year the show grows in size with more exhibitors and the conference workshops and presentations that run alongside the exhibition floor serve to inform delegates of HPC hardware, software, developments, services and such like.

SC2014 logoNAG's focus this year is to show the powerful breadth of our HPC capabilities by demonstrating our experienced and expert consulting, professional services and training in all aspects of HPC, including procurement strategy, software engineering, algorithms development, tested and trusted libraries and compiler. Together these enable customers in industry and public sector all over the world to maximize results on their HPC systems. NAG's strategic HPC partner Red Oak Consulting will be joining NAG on the booth and together will be highlighting how we work to bring enhanced services in HPC.

If you're going to be at SC14, do come along and say hello and pick up some of our famous 'worry beads'. NAG's booth number is 1338. We have 100 passes to the exhibition. If you'd like one, simply email us.

Get engaged: #SC14. Follow @NAGTalk.

Quant Finance in C++ and Python Training Courses - 12 November 2014, London

We are delighted to announce that the popular NAG and C++ and NAG and Python Training Courses are next to be given in London on 12 November 2014.

Building applications including financial models with speed and accuracy is essential in today's ever-changing and demanding markets

The Numerical Algorithms Group (NAG) is pleased to provide training on 12 November 2014, at Fitch Learning, London, to share our expertise on:

The two training courses are a mix of lectures and hands-on exercises. For the program detail and to register please see here.

The training courses are free of charge; however, places are strictly limited. Register (link removed) soon to guarantee your place. Non quants are also very welcome as much of the material will focus on the languages (C++ and Python) and the general maths components provided in the NAG Library.

Delegates are encouraged to bring their own laptop, however NAG can supply a small number of machines for individuals who are unable to bring one. Be sure to make this known in the "additional comments" section when registering.

Please do not hesitate to contact us us if you have any questions or require further information.

Training Courses & Events

NAG are presenting a series of HPC related training courses in the UK and USA over the next few months. For more information on these courses visit our website.

  • Multicore Programming with OpenMP
    5 November 2014, Houston, USA
  • An Introduction to OpenCL Programming
    10 November 2014 Chicago, USA

NAG will be at the following exhibitions and conferences over the next few months.

NAGnews - Past Issues

We provide an online archive of past issues of NAGnews. For editions prior to 2010, please contact us.