Enrico Schumann

Numerical Methods and Optimization in Finance

(2011; with M. Gilli and D. Maringer)

The book explains tools for computational finance. It covers fundamental numerical analysis and computational techniques, for example for option pricing, but two topics are given special attention: simulation and optimization. Many chapters are organized as case studies, dealing with problems like portfolio insurance or risk estimation; in particular, several chapters explain optimization heuristics and how to use them for portfolio selection or the calibration of option pricing models. Such practical examples allow readers to learn the required steps for solving specific problems, and to apply these steps to other problems, too. At the same time, the chosen applications are relevant enough to make the book a useful reference on how to handle given problems. Some highlights:

MATLAB and R sample code is provided in the text and can be downloaded from the book's website. An R-package (named NMOF) is also available (see also below).

The 'NMOF-news' mailing list announces new versions of the package and other news regarding the book. To browse the archives or to subscribe, visit 'About NMOF-news' or Gmane.

NMOF manual

The NMOF manual describes how to use the NMOF package, which accompanies the book 'Numerical Methods and Optimization in Finance' by Manfred Gilli, Dietmar Maringer and Enrico Schumann. This is currently a draft, and comments are very welcome.

version 2014-01-26    R-code

Examples and Extensions for the NMOF package

The report gives a number of examples (portfolio optimisation, selecting variables for a regression model) for the R-package NMOF that accompanies the book 'Numerical Methods and Optimization in Finance' by Manfred Gilli, Dietmar Maringer and Enrico Schumann.

Keywords: Heuristics, Portfolio optimisation, Asset selection, Model selection, Threshold Accepting, Differential Evolution, Genetic Algorithms, Particle Swarm, R, Distributed computing

version 2012-02-10   (This report is now superseded by the NMOF manual.)

Distributed computations with the NMOF package

The report showcases functions in the R-package NMOF that allow the use of distributed computing; examples are the distribution of restarts of an optimisation algorithm, or the distributed evaluation of the objective function in a Genetic Algorithm.

Keywords: Heuristics, Threshold Accepting, Genetic Algorithms, R, Distributed computing

version 2013-06-06

Slides/R Code for the tutorial at R/Rmetrics Meielisalp Workshop

We give a brief introduction to optimisation models in finance, and to how such models can be handled with heuristics. Through the example of a simple combinatorial problem, we demonstrate how different optimisation strategies can be implemented in R (making use of the NMOF package). The emphasis will be on principles, both for how heuristics work and how they should be applied (in particular, we stress that these methods are stochastic). As a concrete financial example, we show how we can solve a portfolio-optimisation model with Threshold Accepting.

handout (pdf)     R code

Notes and examples

Test case: Minimising the ratio of two conditional moments

version 2012-12-27     R code

Various benchmarks, comparisons and checks for the NMOF package

version 2013-08-11     R code

return to main page...