Metadata-Version: 2.4
Name: Qubx
Version: 0.7.13
Summary: Qubx - Quantitative Trading Framework
License-File: LICENSE
Author: Dmitry Marienko
Author-email: dmitry.marienko@xlydian.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: aiohttp (>=3.10.11,<3.11.0)
Requires-Dist: ccxt (>=4.2.68,<5.0.0)
Requires-Dist: croniter (>=2.0.5,<3.0.0)
Requires-Dist: cython (==3.0.8)
Requires-Dist: dash (>=2.18.2,<3.0.0)
Requires-Dist: dash-bootstrap-components (>=1.6.0,<2.0.0)
Requires-Dist: gitpython (>=3.1.44,<4.0.0)
Requires-Dist: importlib-metadata
Requires-Dist: ipywidgets (>=8.1.5,<9.0.0)
Requires-Dist: jinja2 (>=3.1.0,<4.0.0)
Requires-Dist: jupyter (>=1.1.1,<2.0.0)
Requires-Dist: jupyter-console (>=6.6.3,<7.0.0)
Requires-Dist: loguru (>=0.7.2,<0.8.0)
Requires-Dist: matplotlib (>=3.8.4,<4.0.0)
Requires-Dist: msgspec (>=0.18.6,<0.19.0)
Requires-Dist: ntplib (>=0.4.0,<0.5.0)
Requires-Dist: numba (>=0.59.1,<0.60.0)
Requires-Dist: numpy (>=1.26.3,<2.0.0)
Requires-Dist: orjson (>=3.10.15,<4.0.0)
Requires-Dist: pandas (>=2.2.2,<3.0.0)
Requires-Dist: plotly (>=5.22.0,<6.0.0)
Requires-Dist: psycopg (>=3.1.18,<4.0.0)
Requires-Dist: psycopg-binary (>=3.1.19,<4.0.0)
Requires-Dist: psycopg-pool (>=3.2.2,<4.0.0)
Requires-Dist: pyarrow (>=15.0.0,<16.0.0)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: pymongo (>=4.6.1,<5.0.0)
Requires-Dist: python-binance (>=1.0.19,<2.0.0)
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: qubx-bitfinex-api (>=3.0.7,<4.0.0)
Requires-Dist: qubx-lighter-api (>=0.1.4,<0.2.0)
Requires-Dist: questdb (>=2.0.3,<3.0.0)
Requires-Dist: redis (>=5.2.1,<6.0.0)
Requires-Dist: rich (>=13.9.4,<14.0.0)
Requires-Dist: scikit-learn (>=1.4.2,<2.0.0)
Requires-Dist: scipy (>=1.12.0,<2.0.0)
Requires-Dist: sortedcontainers (>=2.4.0,<3.0.0)
Requires-Dist: stackprinter (>=0.2.10,<0.3.0)
Requires-Dist: statsmodels (>=0.14.2,<0.15.0)
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
Requires-Dist: textual-autocomplete (>=4.0.0,<5.0.0)
Requires-Dist: textual-serve (>=1.0.0,<2.0.0)
Requires-Dist: textual[syntax] (>=6.0.0,<7.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: tqdm
Requires-Dist: uvloop (>=0.22.1,<0.23.0)
Requires-Dist: websockets (==15.0.1)
Project-URL: Repository, https://github.com/xLydianSoftware/Qubx
Description-Content-Type: text/markdown

# Qubx - Quantitative Trading Framework

[![CI](https://github.com/xLydianSoftware/Qubx/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/xLydianSoftware/Qubx/actions/workflows/ci.yml)

```
⠀⠀⡰⡖⠒⠒⢒⢦⠀⠀
⠀⢠⠃⠈⢆⣀⣎⣀⣱⡀  QUBX | Quantitative Backtesting Environment
⠀⢳⠒⠒⡞⠚⡄⠀⡰⠁         (c) 2024, by Dmytro Mariienko
⠀⠀⠱⣜⣀⣀⣈⣦⠃⠀⠀⠀
```

Qubx is a next-generation quantitative trading framework designed for efficient backtesting and live trading. Built with Python, it offers a robust environment for developing, testing, and deploying trading strategies.

## Quick Start

### 1. Install Dependencies
```bash
poetry install
```

### 2. Create a Strategy
```bash
# Create a simple strategy template (default)
poetry run qubx init

# Or specify a name and symbols
poetry run qubx init --name my_strategy --symbols BTCUSDT,ETHUSDT
```

### 3. Run Your Strategy
```bash
cd my_strategy

# Run in paper trading mode
poetry run qubx run config.yml --paper

# Or run in Jupyter mode for interactive development
./jpaper.sh
```

### Available Templates
```bash
# List available strategy templates
poetry run qubx init --list-templates

# Create strategy with full project structure and MACD example
poetry run qubx init --template project --name my_project
```

### Strategy Development Workflow
1. **Initialize**: `poetry run qubx init` - Create strategy from template
2. **Develop**: Edit `strategy.py` to implement your trading logic
3. **Test**: `poetry run qubx run config.yml --paper` - Run in paper mode
4. **Debug**: `./jpaper.sh` - Use Jupyter for interactive development
5. **Deploy**: Configure for live trading when ready

## Features

- 🚀 High-performance backtesting engine
- 🔄 Live trading support
- 📊 Advanced data analysis tools
- 📈 Integration with multiple exchanges
- 🛠 Comprehensive strategy development toolkit
- 🔍 Detailed performance analytics

## Documentation

For detailed documentation, visit [Qubx Documentation](https://xlydiansoftware.github.io/Qubx/en/latest/)

## Prerequisites

To build and run Qubx, you need:

- Python 3.10 or higher
- C/C++ compiler for Cython compilation
- Poetry for dependency management

## Installation

### Using pip

```bash
pip install qubx
```

### Development Setup

1. Clone the repository
2. Install dependencies using Poetry:

```bash
poetry install
```

Example trading strategies can be found in the `examples/` directory.

## CLI Usage

Qubx comes with a command-line interface that provides several useful commands:

```bash
qubx --help  # Show all available commands
```

Available commands:

- `qubx init` - Create a new strategy from template
- `qubx run` - Start a strategy with given configuration
- `qubx simulate` - Run strategy simulation
- `qubx ls` - List all strategies in a directory
- `qubx release` - Package a strategy into a zip file
- `qubx deploy` - Deploy a strategy from a zip file
- `qubx browse` - Browse backtest results using interactive TUI

## Development

### Running Tests

Run the test suite:

```bash
just test
```

### Additional Commands

- Check code style: `just style-check`
- Build package: `just build`
- Run verbose tests: `just test-verbose`

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.

