Analytical software used to be expensive, unstable and take a long time to delivery.
Not anymore.
QuantLET is an open source, event-driven framework for rapid development and deployment of real-time analytical models intended to be executing in large scale, in terms of data intensiveness or computing power (your spreadsheet can’t do that
).
Common applications are the support of high-frequency use cases in assets valuation, risk and programmatic trading.
Despite of the framework’s open source nature, proprietary models based on Quantlet are allowed and actually encouraged.
Quantitative models in QuantLET are defined by arrangement in a chain of lightweight, reusable components (Q-Lets). This chain defines the operations (or transformation) of streams of events. This processing sequence is defined by configuration and reflect the Lego-like, building-block nature of most quantitative models – from the simplest, aggregating up to the most complex.
The framework is a composition of a few macro-functions:
- A data fabric and compute grid – QuantLET Tapestry
- An event mediation engine, providing a powerful domain specific language for event routing and EIP abstractions like endpoints, switchers, selectors and so on
- Specialized event processors, including a variety of declarative and imperative approaches.
Models in QuantLET are defined as simple packages or “bundles”. The bundle is a deployment unit defining:
- a set of reusable, lightweight, simplified processing components called Q-Lets
- configuration rules for routing of a stream of events
- execution modes (runtime. simulation, training, back-testing and mock)
- configuration of datasets (data sources, or more precisely endpoints) used for each of the execution modes
The following models have been implemented experimentally:
- Generation of a stream of events simulating a Random Walk (model is here)
- Historical volatility through exponentially weighted moving average (model is here)
- Trading engine using biologically inspired heuristics based on Grammatical Evolution
To learn more about the QuantLET idea, take a look on those few lines on Tao of QuantLET to get yourself acquainted with a few introductory concepts. Then browse through the process (“The Mill”) defining how analytical units should be conceptualized, implemented, tested and deployed.
Next, check how the runtime framework (aka “The Box” until we find a better name) was designed. You can have a look at the source code as well (you will need at least Subversion and Maven; an IDE like Eclipse will definitely help)
Have fun !