You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> ⭐ **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.
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
17
55
18
56
## Sponsors
19
57
@@ -26,62 +64,65 @@ The Investing Algorithm Framework is a Python-based framework built to streamlin
| 🎯 **[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
30
77
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 |
@@ -117,6 +158,34 @@ class RSIEMACrossoverStrategy(TradingStrategy):
117
158
symbol="ETH", percentage_of_portfolio=20.0
118
159
)
119
160
]
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
+
]
120
189
121
190
def__init__(
122
191
self,
@@ -340,83 +409,92 @@ Comprehensive documentation is available at [github pages](https://coding-kittie
340
409
341
410
## 🛠️ Development
342
411
343
-
Local Development
412
+
### Setup
344
413
345
414
Clone the repository and install dependencies using Poetry:
346
415
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.
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**
370
437
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.
374
439
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
377
445
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.**
379
447
380
-
## Documentation
448
+
---
381
449
382
-
All the documentation can be found online
383
-
at the [documentation webstie](https://coding-kitties.github.io/investing-algorithm-framework/)
450
+
## 🤝 Contributing
384
451
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:
388
453
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)
391
457
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
393
462
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
+
---
396
464
397
-
To get started, please read the [contributing guide](https://coding-kitties.github.io/investing-algorithm-framework/Contributing&20Guide/contributing).
465
+
## 📚 Documentation
398
466
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/)
402
468
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
+
---
405
470
406
-
**Important:** Always create your feature or hotfix against the `develop` branch, not `main`.
471
+
## 📬 Community
407
472
408
-
## 📬 Support
473
+
Join us and connect with other traders and developers:
* 💬 [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
412
478
479
+
---
413
480
414
481
## 🏆 Acknowledgements
415
482
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)
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).
420
488
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
+
<divalign="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> ·
0 commit comments