Blogs.

Sliding-window max (and other associative operators)

2019-12-12

Consider a sequence of $n$ numbers and imagine you need to compute the maximum of all adjacent sub-s...

Jump diffusion models, Merton and Bates

2016-04-14

Financial modeling with jump processes is a fully explored domain. We present in this post some of ...

Unboxed floats in OCaml

2016-04-14

This post describes how unboxing for float values works in OCaml, focusing on recent evolutions. Mos...

Curve Building

2015-08-31

Building the (zero-coupon) yield curve is the first step in most of the financial modeling problems...

Generating Javascript bindings from OCaml interfaces

2015-04-27

LexiFi is currently experimenting with the js_of_ocaml compiler in order to create some browser-side...

About unboxed float arrays

2015-01-18

This post is about the special representation that OCaml uses for arrays of floating point values. M...

ppx and extension points

2014-07-23

The release of OCaml 4.02 is approaching and amongst many other new stuff, it will include the work ...

Inlined records in constructors

2014-04-10

I’d like to introduce a new language feature, inlined record arguments on constructors, which I prop...

Pricing with dividends

2013-09-27

Classical equity models don't handle very well dividends, in particular constant ones. We present i...

Mixin objects

2013-06-14

The “O” part of OCaml is not very popular amongst OCaml developers and many of them explain (with so...

OCaml extensions at LexiFi, semi-implicit laziness

2013-06-14

Being lazy is sometimes good, especially if you don’t have to work too hard to be lazy.

Static exceptions

2013-01-11

In this post, I propose Static Exceptions as a new language feature allowing programmers to express ...

An efficient simulation method for the Poisson distribu...

2013-01-09

Poisson distribution is a classical distribution that often appears in mathematical finance, like in...

A note about the performance of Printf and Format

2012-11-28

The goal is to display the following to stdout: (0,0) (1,1) (2,2) … (1000000,1000000). ...

Type-based selection of label and constructors

2012-11-27

Most languages provide some way to manipulate tuples of values with a proper label for each field. T...

A possible solution to the spurious oscillations in fin...

2012-08-31

Partial Differential Equation (PDE) solving is an important part of numerical analysis in mathema...

Syntax extensions without Camlp4, let's do it!

2012-06-29

In a previous post, I’ve described a proposal on how to get rid of Camlp4 to write simple syntax ext...

On the power of formal contract description for quantit...

2012-06-15

As my first subject (and the first subject on LexiFi's quantitative blog), I would like to focus ...

Runtime Types

2011-12-08

It is often useful to get access to types at runtime, in order to implement generic type-driven oper...

Syntax extensions without Camlp4

2011-04-20

In this post, I’d like to propose a new approach to extending the syntax of OCaml that does not depe...

What does this function do?

2011-04-08

A little teaser for OCaml gurus: what does the function below do?

References with physical equality

2010-12-28

In OCaml, generic functions like comparison and hashing are quite useful but not very flexible. In t...

Dynamic types

2010-12-02

Thanks to an ongoing work by Jacques Le Normand, there is some hope to see Generalized Algebraic Dat...

Implicit arguments

2010-12-02

This is a follow-up on yesterday’s post about implicit values. With five more lines added to the bra...

Implicit values

2010-12-01

In this post, I’ll not describe an existing extension to OCaml that we use at LexiFi, but rather som...

OCaml extensions at LexiFi, overidding record labels an...

2010-11-25

OCaml is a very important language at LexiFi. We use it as our primary internal development language...