Skip to main content

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

Metadata

Release files for mm-toolbox 0.2.1

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

Source distribution (sdist)

Source distribution for mm-toolbox 0.2.1
File Size Uploaded Provenance Actions
mm_toolbox-0.2.1.tar.gz 36.6 kB Without provenance Details for mm_toolbox-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mm-toolbox 0.2.1
File Interpreter ABI Platform Actions
mm_toolbox-0.2.1-py3-none-any.whl Python 3 none any Details for mm_toolbox-0.2.1-py3-none-any.whl

Total release size: 89.2 kB

Release files / mm_toolbox-0.2.1.tar.gz

Download URL mm_toolbox-0.2.1.tar.gz
Size 36.6 kB
Tags Source
SHA-256 checksum
How to use checksums
803aab31128c4ec3fb0a24e3a699ba80253b75f649ca06431a98662dcbe8180a
BLAKE2b-256 checksum
How to use checksums
558840fd9bdb5e2be488bf570da141d313a915a77a7111403fd6286b5fdbd9d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.1

Release files / mm_toolbox-0.2.1-py3-none-any.whl

Download URL mm_toolbox-0.2.1-py3-none-any.whl
Size 52.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7428f0da2fae4107295623c9a730b2a5b5412e0fb66e7fe1a7298bdc773a07c7
BLAKE2b-256 checksum
How to use checksums
e62542a2f6b1427158bd4f17832a3b431f2eb53510912278514d3ddb0cdc4b0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.1

Security for mm-toolbox 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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