I once dated a poet. A published poet.
She knew the nuances of language like few others.
Then and since I wondered whether I could experience things, that I could never verbalise, as well as her.
If you can dictate your inner life onto a page; into black and white; does it become a little clearer? Do you experience more?
Mathematics provides clarity to ideas which are sometimes hard with natural language.
Ada Lovelace was brought up to believe that language was the gateway to sin. Her father Lord Byron was a romantic poet and terribly immoral in her mother's eyes - so Ada was fed a strict diet of maths and logic as she grew up. In the hope she would not follow in her father's footsteps.
Ironically, later she would say she became a 'poetical scientist', in modern terms, in fact she became the world's first programmer.
A poet of logic.
In finance we use maths to precisely communicate ideas and computers to apply the ideas to our world.
How about communicating with computers in a specifically designed financial language?
For example, a zero coupon bond is described thus,
when (at t) ( scale (konst x) (one k) )
(If you are thinking this function looks terribly like Haskell, you are not wrong!)
when function takes two arguments.
A boolean (true or false) argument. In this case
at t checks whether the current time is equal to
The second argument describes what happens when the first argument is true.
scale is a multiplicative function. It also takes two arguments, a quantity and a unit.
The upshot is that a 100 SGD zero coupon bond maturing this day twenty years hence is described as,
when (at 'May 7th 2025') ( scale (konst 100) (one 'SGD') )
you can wrap this in a convenient function
zcb t x k
if you wish.
There is a real advantage to having a collection of reusable lego bricks underlying the function however - we don't need to start from scratch every time we want to model something new.
Another example, a European option contract is described as,
when (at t) (u 'or' zero)
'or' is a Haskell infix function which gives us a choice between acquiring
u (a security or contract) and
zero (i.e. do nothing).
A European option to buy the previous zero coupon bond this time next year would look like:
when (at 'May 7th 2016') ( ( zcb 'May 7th 2025' 100 'SGD' ) 'or' zero )
again we can wrap it into a nice function
european u t
The paper is light on valuation details.
Perhaps the endeavour will end up tricky but tractable.
A financial language has many potential benefits.
One intriguing possibility is the symbolic reasoning of financial contracts.
Financial engineers love the idea of replicating derivatives and portfolios into simpler more liquid components.
Domain specific languages have the potential to bring out the poets in all of us and clarify our ideas.