Skip to main content

"high-performance python tools for market making strategies."

Project description

MM Toolbox

MM Toolbox is a Python library designed to provide high-performance tools for market making strategies.

Contents

mm-toolbox/
├── src/
│   ├── mm_toolbox/
│   │   ├── candles/            # Tools for handling and aggregating candlestick data
│   │   ├── logging/            # Lightweight logger + Discord/Telegram support
│   │   ├── moving_average/     # Various moving averages (EMA/HMA/WMA etc)
│   │   ├── numba/              # Numba-optimized functions
│   │   ├── orderbook/          # Multiple orderbook implementations & tools
│   │   ├── ringbuffer/         # Efficient fixed-size circular buffers
│   │   ├── rounding/           # Fast price/size rounding utilities
│   │   ├── time/               # Time utilities
│   │   ├── websocket/          # WebSocket clients + payload verification
│   │   ├── weights/            # Weight generators 
│   ├── __init__.py             # Package initialization
├── tests/                      # Unit tests for all the modules
├── .gitignore                  # Git ignore file
├── LICENSE                     # License information
├── README.md                   # Main documentation file
├── requirements.txt            # Python dependencies
└── setup.py                    # Setup script for pip installation

Installation

MM Toolbox is available on PyPI and can be installed using pip:

pip install mm_toolbox

To install directly from the source, clone the repository and install the dependencies:

git clone https://github.com/beatzxbt/mm-toolbox.git
cd mm-toolbox
pip install poetry
poetry install

Usage

After installation, you can start using MM Toolbox by importing the necessary modules:

from mm_toolbox import Orderbook
from mm_toolbox import ExponentialMovingAverage
from mm_toolbox import time_iso8601

# Example usage:
orderbook = Orderbook(size=100)

Planned additions/upgrades

v0.2.0

Numba: Complete coverage of Numba's top-level functions (with custom implementation if faster).

Moving Average: Weighted Moving Average (WMA).

Orderbook: Directly update BBA, ++Performance.

Candles: Multi-trigger candle (time/tick/volume), ++Performance.

Logger: High performance logger.

Websocket: Standard websocket, Fast websocket pool + auto latency swapping mechanism.

v0.3.0

Numba: Coverage of Numba's reduction functions. (with custom implementation if faster).

Moving Average: Simple Moving Average (SMA).

Orderbook: HFT Orderbook, aiming to be fastest Python orderbook on GitHub.

v0.4.0

Weights: Logarithmic.

Orderbook: HFTOrderbook ++Performance.

Websocket: FastWsPool ++Stability ++Performance, VerifyWsPayload ++Performance.

v0.5.0

Orderbook: L3 Orderbook.

License

MM Toolbox is licensed under the MIT License. See the LICENSE file for more information.

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md for guidelines on how to contribute to this project.

Contact

For questions or support, please open an issue. I can also be reached on Twitter and Discord :D

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mm_toolbox-0.2.0.tar.gz (37.2 kB view details)

Uploaded Source

Built Distribution

mm_toolbox-0.2.0-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

File details

Details for the file mm_toolbox-0.2.0.tar.gz.

File metadata

  • Download URL: mm_toolbox-0.2.0.tar.gz
  • Upload date:
  • Size: 37.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for mm_toolbox-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0824165f8d7b288386f1c0e75a020e118dc8f8bdd085dbce1eabdaa8e26951d6
MD5 0fa006a8632960a6a02709cfe97801dd
BLAKE2b-256 f6abdf2334f1be1a571d5265e1a0a748803a3c1435ca96dc4bcfc97df8eec70a

See more details on using hashes here.

Provenance

File details

Details for the file mm_toolbox-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mm_toolbox-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 52.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for mm_toolbox-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25df04cc10566de936ba0728801e09997e007e8c9df1a6a71c3076752eed91a6
MD5 ec40d380143524645f5444d149b0fbec
BLAKE2b-256 e7abb65e45cf92ec1170da624aadc737eeca38a6c3694ffce06a92503eb356fe

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page