This is a pretty neat paper about a Haskell DSL for specifying financial contracts and calculating their values:
https://www.microsoft.com/en-us/research/publication/composi...
It is quite powerful and you might want to look at it for possible features to use.