The Freedom of a Financial Language

Mid 70s. My master thesis was about Free Algebraic Structures.

A free polynomial ring over the alphabet {1, x} describes all language constructs of the type (x+x+1+1+1)*(x+x+x +(-1-1-1-1)) + (1+1)*x*x*x … that can be equivalently manipulated by rules of commutativity, associativity, distributivity, an additive and multiplicative neutral and an additive inverse ….  When we have decided over which domain (Integers, ..) the polynomial ring is defined, we can symbolically expand, factorize, ..

Declare and Calculate?

But it does not calculate results. For calculation you need polynomial functions (that are isomorphic to their free structures).

At 70ies we understood a universal algebra as a set A with a collection of i-ary operations on A. Today universal algebra is a theory and those are algebraic structures and operations are thought as functions that take n elements of A and return a single element of A. I like this - it is more algorithmic.

BTW, a universal algebra (in the 70s sense) is like an abstract data type that's interface is free. OOP basics.

Abstract Nonsense?

However, the theory of free algebraic structures has some interesting aspects.  Some computer scientists adopt the algebraic category theory. In short, a Category  is itself a structure of structures and processes, that preserve this structure, are called Functors.

You can find a concise description in the Haskell pages. Haskell does support in-language Functor Programming (other OO languages could do this by Functor Class),

UnRisk Financial Language is a Free Language

UnRisk Financial Language and UnRisk-Q  are atop Wolfram Language and Mathematica. It is a symbolic language and allows for symbolic manipulation before computation.

You can use the vast variety of the built in derivative and risk analytics algorithms of UnRisk / Mathematica or build or instantiate you own financial constructs or methods.

Its high-level structure and the symbolic character allows you for declarative programming, symbolic code manipulation, scripting and what have you.

Quants develop as we develop

In many cases we develop UnRisk in UnRisk Financial Language. Quants can do the same.

Picture from sehfelder