Financial Domain-Specific Language Listing

The goal of this page is to provide a comprehensive listing of financial domain-specific languages and resources. Please send additional resource suggestions to Todd Schiller.

Alea.cuBase (by QuantAlea)

Alea.cuBase is an F# framework for generating GPU kernels. It uses F# quotations for staging and composing kernels at run-time. It provides a "foundation to develop GPU aware domain specific languages."

CPL: Chart Pattern Language

DIESEL (by EDF Trading)

DIESEL is a language for representing energy derivatives to facilitate Monte Carlo pricing and analytics. The DSL consists of a combinator parser libary and algebraic data types with case classes.

EasyLanguage (by TradeStation)

EasyLanguage is a DSL for writing trading signals and strategies for the TradeStation platform.

ET++SwapsManager

Financial Industry Business Ontology (FIBO)

The Financial Industry Business Ontology is a joint effort by the Object Management Group (OMG) Financial Domain Task Force and the Enterprise Data Management (EDM) Council to provide a semantic model of financial instruments and business entities. The ontology is built using the W3C Resource Description Framework (RDF) and the OWL Web Ontology Language.

Financial Products Markup Language (FpML)

The Financial Products Markup Language (FpML) is an XML-based standard for the electronic dealing and processing over-the-counter (OTC) derivatives. FpML is developed under the guidance of ISDA, the International Swaps and Derivatives Association.

Functional Payout Framework (by Barclays Capital)

The Functional Payout Framework (FPF) uses a DSL embedded in Haskell to price and manage exotic derivatives. Trade payoffs are defined declaratively using combinators. The trade descriptions can be used to automatically generate pricing instructions (e.g., parameters for PDE-solving), human-readable TEX descriptions, and trade input forms.

Hedgehog (by Palantir)

Palantir’s Hedgehog Language is a Java-based language for exploring financial data, defining metrics, and defining trading stategies.

KolibriFX

KolibriFX has a language for defining foreign exchange (FX) trading strategies for execution on their cloud trading platform.

MLFi (by LexiFi)

MLFi is the OCaml-based contract modeling language underlying LexiFi’s pricing and operations management solutions. The language is based on combinators which allow contracts and market scenarios to be easily composed and analysed:

Paradise (by Credit Suisse)

Paradise is a DSL embedded in Haskell for expressing computation typically modeled in Excel. Unlike calculators developed in Excel, Paradise components are reusable and retargettable (e.g., at both C# and Excel).

Pension Workbench (by Capgemini and Intentional Software)

The Capgemini Pension Workbench built with Intentional Software’s Language Workbench technology enables actuaries and pension analysts to specify and verify pension plans.

Risla (by MeesPierson and Capgemini)

Risla is language for describing interest rate products.

SciFinance (by SciComp)

SciFinance is a system embedded in Mathematica for tranforming contraints, equations, and financial descriptors into "into highly efficient simulation codes" for C/C++/CUDA.

StreamBase (by StreamBase Systems)

StreamBase is a Java-based graphical DSL for building event-driven high frequency trading (HFT) systems.

Stochastic Process Language (SPL)

Stochastic Process Language (SPL) is a language for representing stochastic processes for Monte Carlo simulations on parallel hardware.

ThetaML (by Thetaris)

ThetaML is a payoff description language based on the Theta calculus notation for stochastic and sequential processes. The execution of ThetaML is based on a virtual timing model; "The values of variables at a given line of code are evaluated at the model time associated with that line of code."

Tranche

Tranche is a DSL for modeling structured finance products that compiles to the Common Intermediate Language (CIL). The compiler is written in C# and is open-source.

Industry and Academic Groups

Commercial Users of Functional Programming (CUFP)

The annual Commercial Users of Functional Programming (CUFP) workshop is held in conjunction with the International Conference on Functional Programming (ICFP). The website includes videos of the talks, including some on finance:

High Performance Computing in Financial IT (HIPERFIT)

HIPERFIT is a collaboration between the University of Copenhagen and members of the Danish financial industry. The publications page includes many papers related to domain-specific languages for finance.

Object Management Group (OMG) Financial Domain Task Force

The Object Management Group (OMG) Financial Domain Task Force is an industry group aimed at helping companies manage their financial data assets. The FDTF partners with standards organizations to help develop standards; a summary of the FDTF’s activities can be found at: http://fdtf.omg.org/Standards-Applications-Consumers.pdf.

Other Resources

Compositional Specification of Commercial Contracts. Jesper Andersen et al. International Journal on Software Tools for Technology Transfer. 2006.

Domain Specific Languages for Financial Payoffs. Matthew Leslie (Bank of America Merrill Lynch). GPU Technology Conference. 2013. Slides.

A Generic Domain Specific Language for Financial Contracts. Anupam Mediratta. Masters Thesis. 2007

Linear Types for Cashflow Reengineering. Torben Æ Mogensen. Perspectives of System Informatics. 2003.

GPU Technology Conference 2013 Financial Track. Video recordings and slides on programming/using GPUs for financial applications.

Groovy on the Trading Desk. Jonathan Felch (Volant Trading LLC). 2010.

OO Technology In Large Financial Institutions (Workshop Report). Chris Laffra. OOPSLA '95: Object-Oriented Programming systems, Languages, and Applications. 1995.

Modeling Islamic Finance Knowledge for Contract Compliance in Islamic Banking. Aziza Mamadolimova, Norbaitiah Ambiah, and Dickson Lukose. KES’11: International Conference on Knowledge-Based and Intelligent Information and Engineering Systems. 2011.

Coverage and commentary of the SEC’s 2010 proposal to require Python contract descriptions: Philip Wadler, Lambda the Ultimate, Jayanth R. Varma