Metadata-Version: 2.1
Name: minitrade
Version: 0.1.34
Summary: A personal automated trading system
Home-page: https://dodid.github.io/minitrade/
License: AGPL-3.0-or-later
Keywords: finance,investing,trading,algorithmic-trading,backtesting,backtesting-frameworks,interactive-brokers
Author: Wei Wu
Author-email: dodid@outlook.com
Requires-Python: >=3.10,<3.13
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: akshare (>=1.11.16,<2.0.0)
Requires-Dist: alpaca-py (>=0.13.2,<0.14.0)
Requires-Dist: apscheduler (>=3.10.4,<4.0.0)
Requires-Dist: bokeh (>=3.2.2,<4.0.0)
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: dill (>=0.3.7,<0.4.0)
Requires-Dist: eodhd (>=1.0.27,<2.0.0)
Requires-Dist: fastapi[all] (>=0.103.1,<0.104.0)
Requires-Dist: fredapi (>=0.5.1,<0.6.0)
Requires-Dist: ipython (>=8.19.0,<9.0.0)
Requires-Dist: ipywidgets (>=8.1.1,<9.0.0)
Requires-Dist: mailjet-rest (>=1.3.4,<2.0.0)
Requires-Dist: matplotlib (>=3.8.0,<4.0.0)
Requires-Dist: minitrade-scikit-optimize (>=0.9.2,<0.10.0)
Requires-Dist: nanoid (>=2.0.0,<3.0.0)
Requires-Dist: numpy (>=1.26.0,<2.0.0)
Requires-Dist: pandas (>=2.1.1,<3.0.0)
Requires-Dist: pandas-market-calendars (>=4.3.1,<5.0.0)
Requires-Dist: pandas-ta (>=0.3.14b,<0.4.0)
Requires-Dist: psutil (>=5.9.5,<6.0.0)
Requires-Dist: pydantic (>=2.4.0,<3.0.0)
Requires-Dist: pypika (>=0.48.9,<0.49.0)
Requires-Dist: python-telegram-bot[socks] (>=20.5,<21.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: quantstats (>=0.0.62,<0.0.63)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: scikit-learn (>=1.3.1,<2.0.0)
Requires-Dist: scipy (>=1.11.2,<2.0.0)
Requires-Dist: seaborn (>=0.13,<0.14)
Requires-Dist: selenium (>=4.13.0,<5.0.0)
Requires-Dist: statsmodels (>=0.14.0,<0.15.0)
Requires-Dist: streamlit (>=1.27.0,<2.0.0)
Requires-Dist: tqdm (>=4.66.1,<5.0.0)
Requires-Dist: twelvedata (>=1.2.12,<2.0.0)
Requires-Dist: watchdog (>=2.3.1,<3.0.0)
Requires-Dist: yfinance (>=0.2.30,<0.3.0)
Project-URL: Repository, https://github.com/dodid/minitrade
Description-Content-Type: text/markdown

[![Static Badge](https://img.shields.io/badge/Documentation-blue)](https://dodid.github.io/minitrade/)
[![Build Status](https://img.shields.io/github/actions/workflow/status/dodid/minitrade/test_code.yml?branch=main)](https://github.com/dodid/minitrade/actions)
[![Backtesting on PyPI](https://img.shields.io/pypi/v/minitrade.svg?color=blue)](https://pypi.org/project/minitrade)
[![PyPI downloads](https://img.shields.io/pypi/dm/minitrade.svg?color=skyblue)](https://pypi.org/project/minitrade)


# Minitrade - Simplifying Personal Trading

**Minitrade** is a personal trading system that combines strategy backtesting and automated order execution. Leveraging the power of [Backtesting.py](https://github.com/kernc/backtesting.py), Minitrade offers an array of enhanced features:

- **Multi-asset rebalancing strategy backtest**: Explore and optimize your trading strategies across various assets.
- Automated strategy execution and order submission: Seamlessly execute your trading strategies and submit orders automatically.
- Web-based management UI: Access a user-friendly web interface to manage and monitor your trading activities.
- Streamlined mobile notifications and control: Stay informed and in control with mobile notifications for important trading events.

With Minitrade, setting up your private and fully automated stock trading system is easy and affordable.

## Installation

    $ pip install minitrade
    $ minitrade init

Minitrade requires `python >= 3.10`. `"minitrade init"` is only necessary if you use Minitrade for trading. Run it again after every Minitrade upgrade. For detailed installation instructions, refer to the [Installation](https://dodid.github.io/minitrade/install/) section on the website.

## Usage

### Backtesting

| ![Minitrade backtesting](https://imgur.com/YkLPeTv.jpg) |
| ------------------------------------------------------- |

### Trading

| ![Minitrade web UI - history](<https://imgur.com/ittnlk7.png>) |
| -------------------------------------------------------------- |
| ![Minitrade web UI - orders](<https://imgur.com/2DAZ2W1.png>)  |

See more in [Documentation](https://dodid.github.io/minitrade/).

## Limitations

Please be aware of the following limitations:

- Multi-asset strategies currently support long positions and market orders only.
- Minitrade has been tested on Linux platforms.
- Daily bar data is currently supported.
- Interactive Brokers is the supported broker.

## Contributing

Check out the guidelines on [how to contribute](CONTRIBUTING.md) to the project.

## License

[AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.en.html)

