Skip to main content

What?

Django Quant Tick aggregates candlesticks from high frequency tick data.

Why?

Tick data is preferable for analyzing financial markets. Candlesticks aggregated by django-quant-tick are equally informationally dense. Such candles can be useful for analyzing financial markets. As an example, refer to "Low-Frequency Traders in a High-Frequency World: A Survival Guide" and "The Volume Clock: Insights into the High Frequency Paradigm". Lopez de Prado recommends volume candlesticks, however they are are computationally expensive to generate.

Tick data may be downloaded raw, or optionally aggregated. Aggregation can save disk space, and may increase information. There are 2 complementary aggregations. The first is by equal symbol, timestamp, nanoseconds and tick rule. The second is by filtering significant trades, for example at least $1000.

By aggregating and filtering raw tick data, volume candlesticks can be computed faster, with little loss in precision.

  1. First tick data may be aggregated by equal symbol, timestamp, nanoseconds and tick rule. Aggregating trades in this way can increase information, as they are either orders of size or stop loss cascades. As well, the number of rows can be reduced by 30-50%

  2. By filtering aggregated rows, for example only writing a row when an aggregated trade is greater than significant_trade_filter >= 1000, the number of rows can be reduced more.

  3. Clustering trades by trade direction, such that a row is created only if the tick rule changes, may further reduce the number of rows.

How?

Whenever possible, data is downloaded from the exchange's AWS S3 repositories. Otherwise, it is downloaded using their REST APIs.

A database, preferably PostgreSQL, is required. Data is saved to the database after aggregation and filtering.

Candles are aggregated at 1 minute intervals, and validated with the exchange's historical candle API.

Notes.

Supported exchanges

✅ Binance REST API, and Binance Market Data

✅ Bitfinex REST API

✅ Bybit S3

✅ Coinbase REST API

✅ Deribit REST API

✅ Phoenix perpetuals REST API

Note: Exchanges without paginated REST APIs or an S3 repository, will never be supported.

Installation

For convenience, django-quant-tick can be installed from PyPI:

pip install django-quant-tick

Deployment

For deployment, there are Dockerfiles. As well, there are invoke tasks for deployment to Google Cloud Run. Just as easily, the demo could be deployed to a VPS or AWS.

If using Google Cloud, it is recommended to use the Cloud SQL Auth proxy, and run the management commands to collect data from your local machine. Django Quant Tick will upload the trade data to the cloud.

cd demo
invoke start-proxy
python proxy.py trades

Then, configure a Cloud Workflow to collect data in the cloud. There is an example workflow in the invoke tasks.

Environment

To use the scripts or deploy to Google Cloud, rename .env.sample to .env, and add the required settings.

Metadata

Release files for django-quant-tick 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-quant-tick 0.2.3
File Size Uploaded
django_quant_tick-0.2.3.tar.gz 256.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-quant-tick 0.2.3
File Interpreter ABI Platform
django_quant_tick-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 535.3 kB

Release files / django_quant_tick-0.2.3.tar.gz

Download URL django_quant_tick-0.2.3.tar.gz
Size 256.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b46971aae0ce2514b6ef275dfe8bc54982549df1aec5bdf86e4fdaf77376faf9
BLAKE2b-256 checksum
How to use checksums
f5951ab52aa584249286b46f6954d7d6b5d154975f00d17393229ffca748c5b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / django_quant_tick-0.2.3-py3-none-any.whl

Download URL django_quant_tick-0.2.3-py3-none-any.whl
Size 279.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45b86246dbf83f26ec4c1ce68315e3f666ff4efed38f437371ecd63996ec90c2
BLAKE2b-256 checksum
How to use checksums
1e53f5834bbc7ac11b253dc7bc011725f802666e6d1bd1201e6ad4e6a6f00a33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page