image description

We are currently expanding our focus from finance into other verticals. Stay tuned!

image description

The Quantility
Trading Stack

The Quantility Trading Stack is a collection of software components for high-performance, low-latency FX trading, written for the Java Virtual Machine (JVM).

Our Products

We are passionate about high-quality code. Throughout the development of the Quantility Trading Stack, we keep the following goals in mind:

  • simplicity is the key to stability: the APIs should be easy to comprehend, and simple to use correctly;
  • single responsibility principle; each component should solve a clearly defined problem, and only contain functionality directly relevant to this problem;
  • evolve or die; both the design and implementation should be designed for evolution.

Tick Database

Plovercrest is a light-weight, high performance time series tick database for the JVM. The database is designed for efficient storage and replay of large message series, and was developed with sharding and clustering in mind. Its primary function is in storing and analyzing huge amounts of historical data, and real-time low-latency streaming applications such as complex event processing (CEP).

Liquidity Gateway

Streamertail is a streamlined liquidity connectivity/aggregation service which provides a unified Java programming API for spot FX transactions across upstream LP APIs. It is based on a client/server model where the trading clients connect to the Streamertail server which in turn handles the LP-specific protocols and authentication.

Serializer Library

Napo is a library for automatically generating efficient serializers for lightly annotated POJOs. Napos core feature is its separation of object-specific serializer logic from the data format. The generated serializers are compiled on-the-fly, avoiding the use of reflection at (de)serialization time. The library also provides an easy API for writing custom serializers, where necessary. All serializers may be combined with an extensible set of data formats, through plugins. Plugins for (de)serialization to/from JSON, CSV, binary and XML are included.

Realtime Data Processing Libraries

Lancebill is a collection of libraries for writing functional-style folds for realtime processing of massive amounts of time series data across concurrent streams. The core library provides primitives for joining, grouping, and ordering streams of time series data. Extension libraries support processing financial data: resampling to specific intervals, pricing algorithms, technical indicators etc. Lancebill is designed to augment Plovercrest, but may be used independently.

Risk Mangement Library

Xantus is a stand-alone library for risk management that can be plugged into the Streamertail Liquidity Provider. The library provides tick-by-tick risk management rules which reject outgoing orders based on user-configurable currency/currency pair exposure, spreads, trade sizes, order rate limits, time of day, etc. An API is provided for writing custom risk management rules.

Trading Strategy Supervisor

Mango is a service for executing multiple, concurrent trading strategies across a pool of servers, e.g. for “fleet management” of trading strategies at scale. The strategies execute independently in their own JVMs and Mango controls their lifecycle. Mango takes care of hooking the JVMs up to liquidity sources such as Streamertail, and storage such as Plovercrest. Mango propagates logs and errors on the servers back to a centralized location.

Agent-based Trading Strategy Framework

Sungem is a framework and runtime for writing agent-based trading strategies. Using Sungem, trading algorithms are broken down into a collection of cooperating agents that communicate by message passing. This style encourages a high degree of concurrency. The framework takes care of the agent lifecycles, order routing, price book maintenance, position mangement, per-strategy risk rules, and storing all price and trading actions for later replay.

Callback-based Trading Strategy Framework

Sapphire is a framework and runtime for writing trading strategies in Java using a typical callback-style. The framework takes care of order routing, price book maintenance, position mangement, per-strategy risk rules, and storing all price and trading actions for later replay. The framework helps with concurrency, and ensures that the user-written Java code always executes in a single thread, thus removing a lot pain associated with implementing multithreaded trading models.

Python-based Trading Strategy Framework

Japphire is a Python version of Sapphire where the trading strategies are be written in Python instead of Java. The strategies execute in Jython on the Java virtual machine. For many types of performance insensitive trading problems, the simplicity of Python lowers the barrier to entry, compared with Java. Japphire is built on top of Sapphire and exposes its functionality through idiomatic Python APIs.

Our Services

Our team can offer consulting services based on the unique combination of real world eFX trading experience from global tier-1 banking, and world-class technology expertise.

We have a strong track record from designing, implementing and delivering successful eFX solutions to banks and hedge funds operating on a global scale. Our services include data analysis, technology advisory, eFX strategy and solution delivery. Please get in touch to discuss your requirements!

Contact Us

About us

We are a specialist e-FX technology provider, helping financial institutions world-wide strengthen their competitiveness through data analysis and automated trading strategies.

Buy-side firms use our analytics software to process huge amounts of historical and real-time data streams to identify, test and trade on alpha-signals.

Sell-side institutions use our components for sophisticated pricing, autohedging and statistical data analysis.

Both buy and sell side customers will enjoy the simplicity of our APIs and the flexible endpoints that ensure no vendor lock-in. We are passionate about high-quality code that is made to evolve.

We are based in Oslo, Norway. For enquiries, please contact us on

Oslo Headquarters
The Norwegian Computing Centre, Gaustadalleen 23A,
0373 Oslo, Norway (map)
Bergen Office
Olav Kyrres Gate 28
5015 Bergen
(top floor)