Question

I am working on an interpreted quant finance library for rapid prototyping of equity derivatives mostly. I do not have any experience with such languages (I've heard of Goldman-Sach's Slang, but have never seen it).

What sort of functionality is found in such languages, and do they have some unique features which correspond to the financial markets?

Was it helpful?

Solution

Perhaps, every company has something on their own, but there are some materials available on the web ( mainly about DSL-s ):

As for your own language ( and libraries / runtime! ) - there is not too much to say whithout knowing your requirements ( to name just few, which immediately came to my mind when I started to think about it ):

  • Who will use it - sales or traders or quants or all
  • How will it be used - just pricing of predefined blocks and/or solving optimization problems. It would lead to an ability to define workflows.
  • Interaction with underlying infrastructure and its level of abstractions
  • Extensibility ( to what an extent )
  • Live calculations or simulation
  • I/O support

OTHER TIPS

Have you ever considered Python? There are many mature libraries that can be used for statistical analysis, data acquisition and cleaning. To name a few:

Numpy         - N-dim array objects
Scipy         - library of statistical and optimisation tools
statsmodels   - statistical modeling
Pandas        - data structures for time series, cross-sectional, or any other form of “labeled” data
matplotlib    - MATLAB-like plotting tools
PyTables      - hierarchical database package designed to efficiently manage very large amounts of data
CVXOPT        - convex optimization routines

I've personally implemented some pretty complex derivatives pring models in python, including a jump-diffusion Vasicek interest rate lattice, many stochastic processes, and even managed to write a genetic optimizer.

One of my professors is director of research ( PhD. in math ) at a Chicago hedge fund who uses Python exclusively.

Most languages/tools provide constructs for representing and analyzing time series [e.g. time series regression and cross-correlation stuff]

The "unique" features refer to either speed of access, ease of querying, or expressivity.

K is notably quick, having a very terse language

matlab is very expressive, allowing you to use the entire set of toolboxes and extend with java

But at the end of the day it really depends on what exactly you want to do.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top