镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content
divergexPublic

About

A library for quantitative finance, providing tools for reproducible and reusable mathematical modeling.

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

cadlag logo, showing the Chi distribution symbol

cadlag - A Quantitative Finance Library

GitHub last commit GitHub Actions Workflow Status

A comprehensive set of tools for the modern quantitative analyst.

This project aims to be a modular (and most importantly extensible) library for both retail traders and professional researchers at trading funds. The main features are made to be seamlessly integrated with existing stacks using pandas/numpy and all common scientific packages. It is also meant to fit naturally into existing pipelines and strats.

Installation

The package is available through pip. Install with

pip install cadlag

Motivation

Seeing as other libraries related to quantitative development already exist, the goal of cadlag is to provide an approach focused on maintainability, extensibility, and performance. Below, some alternatives one might consider:

  • QuandL has been archived, and cadlag is a great alternative.
  • QuantLib is a great library, and should be used in conjunction with cadlag, but its focus differs.
  • pandas, numpy, scikit and others are great, and should be used in conjunction with cadlag.
  • Jane Street's OCaml packages are also a great fit, and I plan on extending cadlag and other dx tools to OCaml at some point.

At the moment, cadlag can be used together with dxforge letting you manage your strategies effectively, with features for scheduling, automatic containerization, and common pre-built networking utils such as service meshes.

Quick Start

Take a look at our Examples.

Where We Are Now

A great amount of focus is put on thread-safety and lock-free implementations for parallel and/or distributed environments. For now, the cache system uses both Parquet and JSON (most of the networking utilities have been moved to dxcore).

The main guideline in building new functionalities is to use Domain Driven Design, and modules should designed to be easily understood and used from scratch.

I myself come from a CS background, and whenever starting a new quant project, always found my code to end up extremely convoluted and messy the more each project grew. Therefore, I believe creating a library with a strong focus on modularization and performance rather than a collection of scripts is the way to go for professional trading setups.

Future Plans

#todo !!

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for more details.

Development Setup

To get started, clone the repository and install the dependencies with your favorite env manager. I personally use Anaconda, but you can also use uv.

git clone git@github.com:divergex/cadlag.git && cd cadlag
uv venv               # create virtual environment
uv sync --group dev   # install dev dependencies

About

A library for quantitative finance, providing tools for reproducible and reusable mathematical modeling.

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages