Quantitative framework

Concrete protocol internal documentation

Introduction

The quantitative framework aims to predict cryptocurrency price returns across various horizons and translate these predictions into optimal dollar positions. The modular approach involves integrating new and diverse datasets, leveraging different machine learning techniques, and building models for diverse forecast horizons. The framework prioritizes empirical evidence, common sense, and battle-tested methodologies to minimize the risk of false discoveries and to produce reliable out-of-sample models, therefore using a quantitative research approach.

Architecture

The quantitative framework is organised around five modules:

1. Data pipeline: the data pipeline role is to provide historical and live data in a format that is understandable by the model

2. Factors construction and selection: this is where the data is pre-processed and the factors are created and selected

3. Modelling: the factors are combined together using various statistical (also called machine learning) and practical techniques with the aim of producing robust out of sample forecasts at a specific horizon

4. Forecasts: produces cryptocurrency price returns forecasts

5. Probabilities of downside moves: converts forecasts into probabilities of downside moves

More information on the components and the R&D process can be found here.

Concrete quantitative framework design

Common understandings

Concrete quantitative framework allows to build a collection of diverse models sharing a common architecture (see above) and a common goal (to produce cryptocurrency price returns forecasts) at different horizons (hours to days) using different machine learning and practical hands-on techniques.

Integration within the Product Ecosystem

The quantitative framework is a central piece in the product as its outputs are key to all its components:

  1. Collateral risk (risk engine)

  2. Loan and policy risk (risk engine)

  3. Internal portfolio risk (risk engine)

  4. The pricing model (risk engine)

  5. The balance sheet strategy. Note that the balance sheet strategy will be an extension of the quantitative framework

The quantitative framework is extended to service the following components:

  • Collateral risk engine: producing forecasts at different horizons (from hours to days), which are then converted into probability of downside moves

  • Balance sheet strategy: optimizing Concrete risk in terms of positioning in coins as a result of the collateral positions generated by servicing Concrete clients. The quantitative framework will be extended in order to convert forecasts at different time horizons into optimal dollar positions

Example

Steps and examples for the Indian model. A modular and straightforward four-steps methodology:

  1. Generate up to date data by running the data pipeline (daily): alex/main.py

  2. Generate up to date factors combination (runs monthly of bi-weekly depending on the models): indian/factors_combination.py

  3. Generate up to date factors (daily): indian/factors_creation.py

  4. Entry point for the Indian model. The indian/forecaster.py script below generates a matrix of probabilities of moves of less than q for each coin in the universe and each time bin, where q is in fraction and an input (1% here)

Pulling the quantitative framework outputs from the production database

Step 1: connect to the database.

  • Add your external static IP to the postgre firewall rule on GCP here so that you can connect to the alexdb2 instance

  • Setup your favourite SQL explorer with the following parameters (the example below is from pyCharm). Note: password is same as user

Step 2: simple command line example:

SELECT * FROM modelsdb.{model}.{concept}

Where model is one of {indian, amar, vienna, owen} and concept is one of {forecasts, forecasts_proba}.

Forecasts are tables of forecasts by model and forecasts_proba are tables of probabilities of a move of less then q, where q is currently -5% but will be adjusted to further product iterations.

Note that for the short term models, q is currently set to -2% as the magintude of moves in the short term is less.

Note: the mothodology used in forecasts_proba is currently beta and will be upgraded in further iterations.

Example: Amar latest forecasts updated as of 16/11/2023

Last updated