Blogs.

Vdom 0.3 brings Elm-style decoders to OCaml

2023-10-23

With the release of Vdom 0.3, OCaml developers now have access to a powerful new feature: Elm-like d...

OCaml wins the 2023 ACM SIGPLAN Programming Language So...

2023-06-21

On June 19, 2023, it was announced that the OCaml project received the 2023 ACM SIGPLAN Programming ...

Dune watch mode support for Windows

2023-03-02

Between May and August 2022, Uma Kothuri from the US interned with us at LexiFi and worked on adding...

LexiFi's contract description language

2022-08-31

In this note we discuss how structured products are represented inside LexiFi’s technological stack....

Pricing decision trees for structured products with equ...

2022-05-31

When pricing structured products or derivatives, there are many aspects to consider. Models and quan...

LexiFi's open-source contributions

2022-03-31

LexiFi contributes to open-source efforts in the OCaml community.

Beyond the trade

2022-02-16

When a client is ready to place a trade, financial institutions are required to ensure the trade is ...

Model Risk Management, industry practices and the softw...

2021-11-30

The Model Risk notion has been around for many years now; yet, it remains particularly complex to qu...

Derivatives and structured products’ complexity, curren...

2021-08-02

What makes a structured product complex? There is no standard definition of perceived or real comple...

Smart Adjusters

2021-06-09

Hagan’s adjusters [Hag02] improve the pricing of financial products, even with the simplest models,...

Challenges for automating product lifecycle event manag...

2021-06-02

It is important to automate “middle-office” processing to keep operational costs and risks under con...

Migrating to floatarray: experience report

2021-03-30

This post is about our use of OCaml inside LexiFi and how we managed a large refactoring of our code...

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 t...

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 in...

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 mathematic...

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 on ...

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...