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
The Investing Algorithm Framework is a Python tool that enables swift and
19
-
elegant development of trading bots. It comes with all the necessary
20
-
components for creating algorithms, including data provisioning,
21
-
portfolio management, and order execution.
18
+
The Investing Algorithm Framework is a Python framework that enables swift and elegant development of trading bots. It comes with all the necessary components for creating trading strategies, including data management, portfolio, order, position and trades management.
22
19
23
-
Features:
20
+
Features:
21
+
22
+
* Indicators module: A collection of indicators and utility functions that can be used in your trading strategies.
24
23
* Order execution and tracking
25
24
* Broker and exchange connections through [ccxt](https://github.com/ccxt/ccxt)
26
25
* Backtesting and performance analysis reports [example](./examples/backtest_example)
@@ -32,12 +31,10 @@ Features:
32
31
* Stateless running for cloud function deployments
33
32
* Polars dataframes support out of the box for fast data processing [pola.rs](https://pola.rs/)
34
33
35
-
Additional features:
36
-
* Indicators (python >= 3.10 required): Set of indicators that can be used in your trading bot. You can donwload the package with `pip install investing-algorithm-framework[indicators]` or `poetry add investing-algorithm-framework[indicators]]`
37
-
38
34
## Example implementation
39
-
The following algorithm connects to binance and buys BTC every 5 seconds.
40
-
It also exposes an REST API that allows you to interact with the algorithm.
35
+
36
+
The following algorithm connects to binance and buys BTC every 5 seconds. It also exposes an REST API that allows you to interact with the algorithm.
37
+
41
38
```python
42
39
import pathlib
43
40
from investing_algorithm_framework import create_app, PortfolioConfiguration, \
@@ -129,12 +126,13 @@ if __name__ == "__main__":
129
126
> You can find more examples [here](./examples) folder.
130
127
131
128
## Backtesting and experiments
132
-
The framework also supports backtesting and performing backtest experiments. After
133
-
a backtest, you can print a report that shows the performance of your trading bot.
129
+
130
+
The framework also supports backtesting and performing backtest experiments. After a backtest, you can print a report that shows the performance of your trading bot.
134
131
135
132
To run a single backtest you can use the example code that can be found [here](./examples/backtest).
136
133
137
134
### Backtesting report
135
+
138
136
You can use the ```pretty_print_backtest``` function to print a backtest report.
139
137
For example if you run the [moving average example trading bot](./examples/crossover_moving_average_trading_bot)
140
138
you will get the following backtesting report:
@@ -221,13 +219,15 @@ Trades overview
221
219
```
222
220
223
221
### Backtest experiments
222
+
224
223
The framework also supports backtest experiments. Backtest experiments allows you to
225
224
compare multiple algorithms and evaluate their performance. Ideally,
226
225
you would do this by parameterizing your strategy and creating a factory function that
227
226
creates the algorithm with the different parameters. You can find an example of this
228
227
in the [backtest experiments example](./examples/backtest_experiment).
229
228
230
229
## Broker/Exchange configuration
230
+
231
231
The framework has by default support for [ccxt](https://github.com/ccxt/ccxt).
232
232
This should allow you to connect to a lot of brokers/exchanges.
@@ -298,9 +301,9 @@ If you discover a bug in the framework, please [search our issue tracker](https:
298
301
first. If it hasn't been reported, please [create a new issue](https://github.com/investing-algorithms/investing-algorithm-framework/issues/new).
299
302
300
303
### Contributing
304
+
301
305
The investing algorithm framework is a community driven project.
302
-
We welcome you to participate, contribute and together help build
303
-
the future trading bots developed in python.
306
+
We welcome you to participate, contribute and together help build the future trading bots developed in python.
304
307
305
308
Feel like the framework is missing a feature? We welcome your pull requests!
306
309
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).
0 commit comments