CloudBees: The extra member of the team

In football, the home team supporters energise their players by showing appreciation of good plays and creating an intimidating and distracting atmosphere for the opposing team. This advantage can be so great that is likened to having an extra player in the team, referred to as the ‘twelfth player‘ in the team. In many traditional […]

Two Curves Upfront

At the end of last year Peter Caspers released a short paper Normal Libor in Arrears. I could not help but wonder if this was not the result of the update to a library which had previously used Black’s model for the convexity correction. In the summer of 2011, like many others, I had to […]

Kinky Curves

When visualising a yield curve in an application, graphing the discount factors is rather pointless, graphing the zeros is not much better as they are average rates, capable of hiding all manner of problems. It is really the forwards that are most interesting, kinks and twists can point to problems in market quotes or the […]

Test Data for the Cumulative Bivariate Normal Distribution

Using Java I implemented the double precision algorithm to compute the cumulative bivariate normal distribution found in A.Genz, “Numerical computation of rectangular bivariate and trivariate normal and t probabilities”, Statistics and Computing, 14, (3), 2004. $$M(a,b, \rho)=\frac{1}{2\pi\sqrt{1-\rho^2}}\int_{-\infty}^a\int_{-\infty}^b \exp\left(-\frac{x^2-2\rho xy +y^2}{2(1-\rho^2)}\right)dxdy$$ To validate the implementation I had hoped to find an easily accessible table of values […]

Valuation of CME Deliverable Swap Future

Recently CME announced the introduction of a new interest rate swap future. The future delivers an interest rate swap at expiry which is then cleared through CME. The contract uses the usual future style margining. This week I had a quick look at the valuation of the contract. The existing machinery developed by Marc Henrard […]

Implementing BUS/252 Daycount Convention

The daycount convention BUS/252 is determined by computing the number of good business days in the relevant calculation period and dividing by 252. There are several alternative short names I have seen for the same convention; ACT/252, ACTW/252, BU/252, BD/252. I prefer BUS/252, not least because it is the short name used by FpML. The […]

Elegant Inelegance: Algorithm 199

I recently experimented with JSR-310’s LocalDate class (v0.6.3). I found it a little slow mainly because it computes the Julian date on the fly, which does not suit my application. So unfortunately I started to roll my own LocalDate, preserving as much as possible the JSR-310’s API. When it came to implement a conversion from yyyy-mm-dd […]

Analytic Implied Basis Point Volatility

Basis point volatility, or simply ‘BP Vol’, refers to the volatility parameter of the Normal, or Bachelier, model, $$dF=\sigma dW$$ I was interested to implement the implied volatility calculation using the analytic approximation of J. Choi, K Kim and M. Kwak (2009), “Numerical Approximation of the Implied Volatility Under Arithmetic Brownian Motion”, Applied Math. Finance, 16(3), pp. […]