"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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mm_toolbox-0.2.1.tar.gz
.
File metadata
- Download URL: mm_toolbox-0.2.1.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 803aab31128c4ec3fb0a24e3a699ba80253b75f649ca06431a98662dcbe8180a |
|
MD5 | 640bdfe98662ad011159be3f801a4411 |
|
BLAKE2b-256 | 558840fd9bdb5e2be488bf570da141d313a915a77a7111403fd6286b5fdbd9d7 |
File details
Details for the file mm_toolbox-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: mm_toolbox-0.2.1-py3-none-any.whl
- Upload date:
- Size: 52.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7428f0da2fae4107295623c9a730b2a5b5412e0fb66e7fe1a7298bdc773a07c7 |
|
MD5 | aee4920b382ed940e3d2e74b543050ae |
|
BLAKE2b-256 | e62542a2f6b1427158bd4f17832a3b431f2eb53510912278514d3ddb0cdc4b0f |