Skip to content

Commit 5fc4056

Browse files
committed
Update readme
1 parent 033d7d4 commit 5fc4056

File tree

1 file changed

+168
-90
lines changed

1 file changed

+168
-90
lines changed

README.md

Lines changed: 168 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,57 @@
1-
<div align="center"> <h1><a href="https://coding-kitties.github.io/investing-algorithm-framework/" target="_blank">Investing Algorithm Framework</a></h1> <p><b>Rapidly build, backtest, and deploy quantitative strategies and trading bots</b></p> <a target="_blank" href="https://coding-kitties.github.io/investing-algorithm-framework/">📖 View Documentation</a> | <a href="https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/installation">🚀 Getting Started</a> </div>
1+
<div align="center">
2+
<h1>⚡ Investing Algorithm Framework</h1>
3+
4+
<p style="font-size: 18px; font-weight: 600; margin: 15px 0;">
5+
🚀 <b>Build. Backtest. Deploy.</b> Quantitative Trading Strategies at Scale
6+
</p>
7+
8+
<p style="font-size: 14px; color: #666; margin-bottom: 25px;">
9+
The fastest way to go from trading idea to production-ready trading bot
10+
</p>
11+
12+
<!-- Quick Links -->
13+
<div style="margin: 20px 0;">
14+
<a target="_blank" href="https://coding-kitties.github.io/investing-algorithm-framework/">
15+
<img src="https://img.shields.io/badge/📖_Documentation-blue?style=for-the-badge">
16+
</a>
17+
&nbsp;
18+
<a href="https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/installation">
19+
<img src="https://img.shields.io/badge/🚀_Quick_Start-green?style=for-the-badge">
20+
</a>
21+
</div>
22+
23+
<!-- Badges -->
24+
<div style="margin-bottom: 20px;">
25+
<a target="_blank" href="https://discord.gg/dQsRmGZP"><img src="https://img.shields.io/discord/1345358169777635410.svg?color=7289da&label=Discord&logo=discord&style=flat-square" alt="Discord"></a>
26+
&nbsp;
27+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml"><img src="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml/badge.svg?style=flat-square" alt="Tests"></a>
28+
&nbsp;
29+
<a href="https://pypi.org/project/investing-algorithm-framework/"><img src="https://img.shields.io/pypi/v/investing-algorithm-framework.svg?style=flat-square" alt="PyPI"></a>
30+
&nbsp;
31+
<a href="https://pepy.tech/project/investing-algorithm-framework"><img src="https://pepy.tech/badge/investing-algorithm-framework/month?style=flat-square" alt="Downloads"></a>
32+
&nbsp;
33+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/stargazers"><img src="https://img.shields.io/github/stars/coding-kitties/investing-algorithm-framework?style=flat-square" alt="Stars"></a>
34+
</div>
35+
36+
<img src="static/showcase.svg" alt="Investing Algorithm Framework" style="height: 400px; max-width: 100%; margin: 30px 0;">
37+
38+
<hr style="margin: 30px 0; border: none; border-top: 2px solid #ddd;">
39+
40+
> **If you like this project, please consider [starring](https://github.com/coding-kitties/investing-algorithm-framework) it!** Your support helps us build better tools for the community.
41+
42+
</div>
243

344
---
445

5-
<div align="center"> <a href="https://coding-kitties.github.io/investing-algorithm-framework/">
6-
<a target="_blank" href="https://discord.gg/dQsRmGZP"><img src="https://img.shields.io/discord/1345358169777635410.svg?color=7289da&label=TradeBotLab%20Discord&logo=discord&style=flat"></a>
7-
<img src="https://img.shields.io/badge/docs-website-brightgreen"></a> <a href="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/publish.yml"><img src="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/publish.yml/badge.svg"></a> <a href="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml"><img src="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml/badge.svg"></a> <a href="https://pepy.tech/project/investing-algorithm-framework"><img src="https://pepy.tech/badge/investing-algorithm-framework"></a> <a href="https://pypi.org/project/investing-algorithm-framework/"><img src="https://img.shields.io/pypi/v/investing-algorithm-framework.svg"></a> <a href="https://www.reddit.com/r/InvestingBots/"><img src="https://img.shields.io/reddit/subreddit-subscribers/investingbots?style=social"></a> <a href="https://github.com/coding-kitties/investing-algorithm-framework/stargazers"><img src="https://img.shields.io/github/stars/coding-kitties/investing-algorithm-framework.svg?style=social&label=Star"></a>
8-
</div>
46+
## 💡 Why Investing Algorithm Framework?
947

10-
> If you like what we do, consider starring, sharing and contributing!
48+
Stop wasting time on boilerplate. The **Investing Algorithm Framework** handles all the heavy lifting:
1149

12-
<div align="center">
13-
<img src="static/showcase.svg" alt="Investing Algorithm Framework Logo" style="height: 50vh; max-height: 750px;">
14-
</div>
15-
16-
The Investing Algorithm Framework is a Python-based framework built to streamline the entire lifecycle of quantitative trading strategies from signal generation and backtesting to live deployment.
50+
**From Idea to Production** — Write your strategy once, deploy everywhere
51+
📊 **Accurate Backtesting** — Event-driven and vectorized engines for realistic results
52+
**Lightning Fast** — Optimized for speed and efficiency
53+
🔧 **Extensible** — Connect any exchange, broker, or data source
54+
📈 **Production Ready** — Built for real money trading
1755

1856
## Sponsors
1957

@@ -26,62 +64,65 @@ The Investing Algorithm Framework is a Python-based framework built to streamlin
2664
</a>
2765

2866

29-
## 🌟 Features
67+
## 🔌 Plugins & Integrations
68+
69+
Extend your trading bot with powerful plugins:
70+
71+
| Plugin | Description |
72+
|--------|-----------------------------------------------------------------------------|
73+
| 🎯 **[PyIndicators](https://github.com/coding-kitties/PyIndicators)** | Technical analysis indicators for strategy development |
74+
| 🏪 **[Finterion Plugin](https://github.com/Finterion/finterion-investing-algorithm-framework-plugin)** | Monetize & share your strategies with the public on Finterion's marketplace |
75+
76+
## 🌟 Powerful Features
3077

31-
- [x] Python 3.10+: Cross-platform support for Windows, macOS, and Linux.
32-
- [x] Event-Driven Backtest Engine: Accurate and realistic backtesting with event-driven architecture.
33-
- [x] Vectorized Backtest Engine: Fast signal research and prototyping with vectorized operations.
34-
- [x] Permutation testing: Run permutation tests to evaluate the strategy statistical significance.
35-
- [x] Metric tracking and backtest reports evaluation/comparison: Track and compare key performance metrics like CAGR, Sharpe ratio, max drawdown, and more (See example usage for a complete list of metrics the framework collects).
36-
- [x] Backtest Reporting: Generate detailed reports to analyse and compare backtests.
37-
- [x] Live Trading: Execute trades in real-time with support for multiple exchanges via ccxt.
38-
- [x] Portfolio Management: Manage portfolios, trades, and positions with persistence via SQLite.
39-
- [x] Market Data Sources: Fetch OHLCV, ticker, and custom data with support for Polars and Pandas.
40-
- [x] Azure Functions Support: Deploy trading bots to Azure.
41-
- [x] AWS Lambda Support: Deploy trading bots to AWS Lambda.
42-
- [x] Web API: Interact with your bot via REST API.
43-
- [x] PyIndicators Integration: Perform technical analysis directly on your dataframes.
44-
- [x] Extensibility: Add custom strategies, data providers, order executors so you can connect your trading bot to your favorite exchange or broker.
45-
- [x] Modular Design: Build your bot using modular components for easy customization and maintenance.
46-
- [x] Multiple exchanges and brokers: **Detailed guides and API references to help you get started and make the most of the framework.
47-
and offers flexible deployment options, including Azure Functions and AWS Lambda.
48-
Designed for extensibility, it allows you to integrate custom strategies, data providers, and order executors, enabling support for any exchange or broker.
49-
It natively supports multiple data formats, including OHLCV, ticker, and custom datasets with seamless compatibility for both Pandas and Polars DataFrames.
78+
| Feature | Description |
79+
|---------|-------------|
80+
| 🐍 **Python 3.10+** | Cross-platform support for Windows, macOS, and Linux |
81+
| ⚙️ **Event-Driven Backtest** | Accurate, realistic backtesting with event-driven architecture |
82+
|**Vectorized Backtest** | Lightning-fast signal research and prototyping |
83+
| 📊 **Advanced Metrics** | CAGR, Sharpe ratio, max drawdown, win rate, and 50+ more metrics |
84+
| 📈 **Backtest Reports** | Generate detailed, comparison-ready reports |
85+
| 🎯 **Statistical Testing** | Permutation testing for strategy significance evaluation |
86+
| 💱 **Live Trading** | Real-time execution across multiple exchanges (via CCXT) |
87+
| 💼 **Portfolio Management** | Full position and trade management with persistence |
88+
| 📉 **Market Data** | OHLCV, tickers, custom data — Polars & Pandas native |
89+
| 🔗 **Data Integrations** | PyIndicators, multiple data sources, custom providers |
90+
| ☁️ **Cloud Deployment** | Azure Functions, AWS Lambda, and more |
91+
| 🌐 **Web API** | REST API for bot interaction and monitoring |
92+
| 🧩 **Fully Extensible** | Custom strategies, data providers, order executors |
93+
| 🏗️ **Modular Design** | Build with reusable, composable components |
5094

5195

5296

5397
## 🚀 Quickstart
5498

55-
Installation
56-
Install the framework via [PyPI](https://pypi.org/project/investing-algorithm-framework/):
99+
### 📦 Installation
57100

58-
1. First install the framework using `pip`. The Investing Algorithm Framework is hosted on [PyPi].
101+
Install the framework via [PyPI](https://pypi.org/project/investing-algorithm-framework/):
59102

60103
```bash
61104
pip install investing-algorithm-framework
62105
```
63106

64-
Run the following command to set up your project:
107+
### 🎯 Initialize Your Project
108+
109+
Run the following command to scaffold a new trading bot:
65110

66111
```bash
67-
investing-algorithm-framewor init
112+
investing-algorithm-framework init
68113
```
69114

70-
For a aws lambda compatible project, run:
115+
For an AWS Lambda-ready project:
71116

72117
```bash
73118
investing-algorithm-framework init --type aws_lambda
74119
```
75120

76-
This will create:
121+
This creates:
122+
- **app.py** — Your bot's entry point (keep as-is)
123+
- **strategy.py** — Your trading strategy (customize this!)
77124

78-
* app.py: The entry point for your bot.
79-
* strategy.py: A sample strategy file to get started.
80-
81-
> Note: Keep the app.py file as is. You can modify strategy.py and add additional files to build your bot.
82-
> You can always change the app to the web version by changing the `app.py` file.
83-
84-
---
125+
> 💡 **Tip:** You can also create `default_web` or `azure_function` projects
85126
86127
## 📈 Example: A Simple Trading Bot
87128
The following example trading bot implements a simple moving average strategy.
@@ -102,7 +143,7 @@ from pyindicators import ema, rsi, crossover, crossunder
102143

103144
from investing_algorithm_framework import TradingStrategy, DataSource, \
104145
TimeUnit, DataType, PositionSize, create_app, RESOURCE_DIRECTORY, \
105-
BacktestDateRange, BacktestReport
146+
BacktestDateRange, BacktestReport, TakeProfitRule, StopLossRule
106147

107148

108149
class RSIEMACrossoverStrategy(TradingStrategy):
@@ -117,6 +158,34 @@ class RSIEMACrossoverStrategy(TradingStrategy):
117158
symbol="ETH", percentage_of_portfolio=20.0
118159
)
119160
]
161+
take_profits = [
162+
TakeProfitRule(
163+
symbol="BTC",
164+
percentage_threshold=10,
165+
trailing=True,
166+
sell_percentage=100
167+
),
168+
TakeProfitRule(
169+
symbol="ETH",
170+
percentage_threshold=10,
171+
trailing=True,
172+
sell_percentage=100
173+
)
174+
]
175+
stop_losses = [
176+
StopLossRule(
177+
symbol="BTC",
178+
percentage_threshold=5,
179+
trailing=False,
180+
sell_percentage=100
181+
),
182+
StopLossRule(
183+
symbol="ETH",
184+
percentage_threshold=5,
185+
trailing=False,
186+
sell_percentage=100
187+
)
188+
]
120189

121190
def __init__(
122191
self,
@@ -340,83 +409,92 @@ Comprehensive documentation is available at [github pages](https://coding-kittie
340409

341410
## 🛠️ Development
342411

343-
Local Development
412+
### Setup
344413

345414
Clone the repository and install dependencies using Poetry:
346415

347-
The framework is built with poetry. To install the framework for local development, you can run the following commands:
348-
349-
> Make sure you have poetry installed. If you don't have poetry installed, you can find installation instructions [here](https://python-poetry.org/docs/#installation)
416+
> Make sure you have [Poetry](https://python-poetry.org/docs/#installation) installed.
350417
351418
```bash
352-
git clone http
419+
git clone https://github.com/coding-kitties/investing-algorithm-framework.git
353420
cd investing-algorithm-framework
354421
poetry install
355422
```
356423

357-
### Running tests
358-
359-
To run the tests, you can run the following command:
424+
### Running Tests
360425

361426
```bash
362-
# In the root of the project
427+
# Run all tests
363428
python -m unittest discover -s tests
429+
430+
# Run specific test
431+
python -m unittest tests.services.test_trade_service.TestTradeService
364432
```
365433

366-
## ⚠️ Disclaimer
434+
## ⚠️ Risk Disclaimer
367435

368-
If you use this framework for your investments, do not risk money
369-
which you are afraid to lose, until you have clear understanding how the framework works. We can't stress this enough:
436+
🚨 **Use at Your Own Risk**
370437

371-
BEFORE YOU START USING MONEY WITH THE FRAMEWORK, MAKE SURE THAT YOU TESTED
372-
YOUR COMPONENTS THOROUGHLY. USE THE SOFTWARE AT YOUR OWN RISK.
373-
THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR INVESTMENT RESULTS.
438+
If you use this framework for your investments, **do not risk money which you are afraid to lose** until you have a clear understanding of how the framework works.
374439

375-
Also, make sure that you read the source code of any plugin you use or
376-
implementation of an algorithm made with this framework.
440+
**BEFORE YOU START USING MONEY WITH THE FRAMEWORK:**
441+
- ✅ Test your strategies thoroughly with backtesting
442+
- ✅ Review the source code of any plugins you use
443+
- ✅ Start with small amounts on paper trading first
444+
- ✅ Understand the risks involved
377445

378-
We welcome contributions! Check out the project board and issues to get started.
446+
**We assume no responsibility for your investment results. The authors and all affiliates disclaim any liability for losses.**
379447

380-
## Documentation
448+
---
381449

382-
All the documentation can be found online
383-
at the [documentation webstie](https://coding-kitties.github.io/investing-algorithm-framework/)
450+
## 🤝 Contributing
384451

385-
In most cases, you'll probably never have to change code on this repo directly
386-
if you are building your algorithm/bot. But if you do, check out the
387-
contributing page at the website.
452+
The investing algorithm framework is a **community-driven project**. We welcome contributions at all levels:
388453

389-
If you'd like to chat with investing-algorithm-framework users
390-
and developers, [join us on Slack](https://inv-algo-framework.slack.com) or [join us on reddit](https://www.reddit.com/r/InvestingBots/)
454+
- 🐛 **Found a bug?** [Open an issue](https://github.com/coding-kitties/investing-algorithm-framework/issues/new)
455+
- 💡 **Have an idea?** [Share it with us](https://github.com/coding-kitties/investing-algorithm-framework/issues/new)
456+
- 🔧 **Want to code?** Check the [project board](https://github.com/coding-kitties/investing-algorithm-framework/projects?query=is%3Aopen)
391457

392-
## 🤝 Contributing
458+
**Guidelines:**
459+
- Read the [Contributing Guide](https://coding-kitties.github.io/investing-algorithm-framework/Contributing%20Guide/contributing)
460+
- Always create PRs against the `develop` branch, not `main`
461+
- Open an issue before starting major feature work
393462

394-
The investing algorithm framework is a community driven project.
395-
We welcome you to participate, contribute and together help build the future trading bots developed in python.
463+
---
396464

397-
To get started, please read the [contributing guide](https://coding-kitties.github.io/investing-algorithm-framework/Contributing&20Guide/contributing).
465+
## 📚 Documentation
398466

399-
Feel like the framework is missing a feature? We welcome your pull requests!
400-
If you want to contribute to the project roadmap, please take a look at the [project board](https://github.com/coding-kitties/investing-algorithm-framework/projects?query=is%3Aopen).
401-
You can pick up a task by assigning yourself to it.
467+
Comprehensive documentation is available at [GitHub Pages](https://coding-kitties.github.io/investing-algorithm-framework/)
402468

403-
**Note** before starting any major new feature work, *please open an issue describing what you are planning to do*.
404-
This will ensure that interested parties can give valuable feedback on the feature, and let others know that you are working on it.
469+
---
405470

406-
**Important:** Always create your feature or hotfix against the `develop` branch, not `main`.
471+
## 📬 Community
407472

408-
## 📬 Support
473+
Join us and connect with other traders and developers:
409474

410-
* [Reddit Community](https://www.reddit.com/r/InvestingBots/)
411-
* [Discord Community](https://discord.gg/dQsRmGZP")
475+
* 💬 [Discord Community](https://discord.gg/dQsRmGZP) — Real-time chat and support
476+
* 🔗 [Reddit Community](https://www.reddit.com/r/InvestingBots/) — Share strategies and discuss
477+
* 📖 [Documentation](https://coding-kitties.github.io/investing-algorithm-framework/) — Guides and API references
412478

479+
---
413480

414481
## 🏆 Acknowledgements
415482

416-
We want to thank all contributors to this project. A full list of all the people that contributed to the project can be
417-
found [here](https://github.com/investing-algorithms/investing-algorithm-framework/blob/master/AUTHORS.md)
483+
We want to thank all contributors to this project. A full list can be found in [AUTHORS.md](https://github.com/coding-kitties/investing-algorithm-framework/blob/master/AUTHORS.md)
484+
485+
### Report Issues
418486

419-
### [Bugs / Issues](https://github.com/investing-algorithms/investing-algorithm-framework/issues?q=is%3Aissue)
487+
If you discover a bug in the framework, please [search our issue tracker](https://github.com/coding-kitties/investing-algorithm-framework/issues?q=is%3Aissue) first. If it hasn't been reported, please [create a new issue](https://github.com/coding-kitties/investing-algorithm-framework/issues/new).
420488

421-
If you discover a bug in the framework, please [search our issue tracker](https://github.com/investing-algorithms/investing-algorithm-framework/issues?q=is%3Aissue)
422-
first. If it hasn't been reported, please [create a new issue](https://github.com/investing-algorithms/investing-algorithm-framework/issues/new).
489+
---
490+
491+
<div align="center">
492+
<p>
493+
Made with ❤️ by the trading community
494+
</p>
495+
<p>
496+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/stargazers">⭐ Star us on GitHub</a> ·
497+
<a href="https://discord.gg/dQsRmGZP">💬 Join Discord</a> ·
498+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/issues/new">🐛 Report Bug</a>
499+
</p>
500+
</div>

0 commit comments

Comments
 (0)