vectorbt 0.28.4__tar.gz → 0.28.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vectorbt-0.28.5/MANIFEST.in +1 -0
- {vectorbt-0.28.4/vectorbt.egg-info → vectorbt-0.28.5}/PKG-INFO +48 -17
- {vectorbt-0.28.4 → vectorbt-0.28.5}/README.md +42 -16
- {vectorbt-0.28.4 → vectorbt-0.28.5}/pyproject.toml +6 -0
- vectorbt-0.28.5/setup.py +9 -0
- vectorbt-0.28.5/tests/test_plotting.py +1275 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_portfolio.py +17 -17
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/_version.py +1 -1
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/base.py +14 -3
- {vectorbt-0.28.4 → vectorbt-0.28.5/vectorbt.egg-info}/PKG-INFO +48 -17
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt.egg-info/SOURCES.txt +2 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt.egg-info/requires.txt +6 -0
- vectorbt-0.28.4/setup.py +0 -3
- {vectorbt-0.28.4 → vectorbt-0.28.5}/LICENSE.md +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/setup.cfg +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_base.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_data.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_generic.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_indicators.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_labels.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_records.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_returns.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_settings.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_signals.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_utils.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/_settings.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/_typing.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/accessors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/array_wrapper.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/column_grouper.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/combine_fns.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/index_fns.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/indexing.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/reshape_fns.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/base.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/custom.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/updater.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/accessors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/decorators.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/drawdowns.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/enums.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/nb.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/plots_builder.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/plotting.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/ranges.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/splitters.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/stats_builder.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/basic.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/configs.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/factory.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/nb.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/enums.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/generators.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/nb.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/messaging/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/messaging/telegram.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/ohlcv_accessors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/decorators.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/enums.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/logs.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/nb.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/orders.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/trades.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/px_accessors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/base.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/col_mapper.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/decorators.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/mapped_array.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/nb.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/accessors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/metrics.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/nb.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/qs_adapter.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/root_accessors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/accessors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/enums.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/factory.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/generators.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/nb.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/templates/dark.json +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/templates/light.json +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/templates/seaborn.json +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/__init__.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/array_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/attr_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/checks.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/colors.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/config.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/datetime_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/decorators.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/docs.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/enum_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/figure.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/image_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/mapping.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/math_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/module_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/params.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/random_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/requests_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/schedule_.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/tags.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/template.py +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt.egg-info/dependency_links.txt +0 -0
- {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
prune docs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vectorbt
|
|
3
|
-
Version: 0.28.
|
|
3
|
+
Version: 0.28.5
|
|
4
4
|
Summary: Python library for backtesting and analyzing trading strategies at scale
|
|
5
5
|
Author-email: Oleg Polakow <olegpolakow@vectorbt.pro>
|
|
6
6
|
Project-URL: Homepage, https://github.com/polakowo/vectorbt
|
|
@@ -62,6 +62,11 @@ Requires-Dist: pytest; extra == "cov"
|
|
|
62
62
|
Requires-Dist: pytest-cov; extra == "cov"
|
|
63
63
|
Requires-Dist: pytest-xdist; extra == "cov"
|
|
64
64
|
Requires-Dist: codecov; extra == "cov"
|
|
65
|
+
Provides-Extra: docs
|
|
66
|
+
Requires-Dist: mkdocs-material; extra == "docs"
|
|
67
|
+
Requires-Dist: mkdocs-minify-plugin; extra == "docs"
|
|
68
|
+
Requires-Dist: ruamel.yaml; extra == "docs"
|
|
69
|
+
Requires-Dist: mako; extra == "docs"
|
|
65
70
|
Dynamic: license-file
|
|
66
71
|
|
|
67
72
|
<div align="center">
|
|
@@ -81,6 +86,15 @@ Dynamic: license-file
|
|
|
81
86
|
<a href="https://pepy.tech/project/vectorbt" title="Downloads">
|
|
82
87
|
<img src="https://pepy.tech/badge/vectorbt" />
|
|
83
88
|
</a>
|
|
89
|
+
<a href="https://github.com/polakowo/vectorbt/stargazers" title="Stars">
|
|
90
|
+
<img src="https://img.shields.io/github/stars/polakowo/vectorbt?style=flat" />
|
|
91
|
+
</a>
|
|
92
|
+
<a href="https://github.com/polakowo/vectorbt/network/members" title="Forks">
|
|
93
|
+
<img src="https://img.shields.io/github/forks/polakowo/vectorbt?style=flat" />
|
|
94
|
+
</a>
|
|
95
|
+
<a href="https://github.com/polakowo/vectorbt/graphs/contributors" title="Contributors">
|
|
96
|
+
<img src="https://img.shields.io/github/contributors/polakowo/vectorbt?style=flat" />
|
|
97
|
+
</a>
|
|
84
98
|
<a href="https://pypi.org/project/vectorbt" title="PyPI">
|
|
85
99
|
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet" />
|
|
86
100
|
</a>
|
|
@@ -99,22 +113,30 @@ Dynamic: license-file
|
|
|
99
113
|
<a href="https://gitter.im/vectorbt/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" title="Join the chat">
|
|
100
114
|
<img src="https://badges.gitter.im/vectorbt.svg" />
|
|
101
115
|
</a>
|
|
102
|
-
</p>
|
|
103
|
-
|
|
104
|
-
<p align="center">
|
|
105
116
|
<a href="https://pypi.org/project/vectorbt" title="Supported Python versions">
|
|
106
117
|
<img src="https://img.shields.io/pypi/pyversions/vectorbt.svg?logo=python&logoColor=white" />
|
|
107
118
|
</a>
|
|
108
119
|
</p>
|
|
109
120
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
> * Plotly 6 support
|
|
114
|
-
> * `ticker_kwargs` in `YFData`
|
|
115
|
-
> * Fixed Pandas TA dependency (→ [pandas-ta-classic](https://github.com/xgboosted/pandas-ta-classic)).
|
|
121
|
+
Test thousands of trading ideas in seconds, analyze portfolios across markets and timeframes, and uncover what works with minimal code. Built for both human researchers and AI agents, VectorBT combines rapid experimentation with a mature, battle-tested backtesting stack shaped by years of community use.
|
|
122
|
+
|
|
123
|
+
VectorBT is the open-source, community edition of [VectorBT PRO](https://vectorbt.pro/), a state-of-the-art hybrid backtesting library.
|
|
116
124
|
|
|
117
|
-
##
|
|
125
|
+
## Features
|
|
126
|
+
|
|
127
|
+
- Fast, vectorized backtesting and strategy research on pandas/NumPy, accelerated with Numba
|
|
128
|
+
- Pandas-native API with custom accessors and high-performance operations
|
|
129
|
+
- Flexible broadcasting for multi-asset analysis and large parameter sweeps
|
|
130
|
+
- Rich indicator ecosystem with support for custom indicators and popular TA libraries (TA-Lib, Pandas TA, etc.)
|
|
131
|
+
- Portfolio backtesting with trades, positions, drawdowns, and performance analysis (incl. QuantStats)
|
|
132
|
+
- Signal-based tooling for generation, ranking, mapping, and distribution analysis
|
|
133
|
+
- Built-in data access (Yahoo Finance, CCXT, Alpaca, etc.), preprocessing, and random data generation
|
|
134
|
+
- Robustness testing, walk-forward optimization, and label generation for ML workflows
|
|
135
|
+
- Interactive visualization with Plotly, Jupyter widgets, and browser-friendly dashboards
|
|
136
|
+
- Automation support for scheduled updates and Telegram notifications
|
|
137
|
+
- Composable Python API suitable for rapid experimentation and AI agent-driven workflows
|
|
138
|
+
|
|
139
|
+
## Installation
|
|
118
140
|
|
|
119
141
|
```sh
|
|
120
142
|
pip install -U vectorbt
|
|
@@ -126,7 +148,7 @@ To install optional dependencies as well:
|
|
|
126
148
|
pip install -U "vectorbt[full]"
|
|
127
149
|
```
|
|
128
150
|
|
|
129
|
-
##
|
|
151
|
+
## Usage
|
|
130
152
|
|
|
131
153
|
VectorBT lets you backtest strategies in just a few lines of Python.
|
|
132
154
|
|
|
@@ -286,12 +308,21 @@ vbt.save_animation("bbands.gif", bbands.wrapper.index, plot, bbands, delta=90, s
|
|
|
286
308
|
|
|
287
309
|
This is just the tip of the iceberg. Visit the [website](https://vectorbt.dev/) to learn more.
|
|
288
310
|
|
|
289
|
-
##
|
|
311
|
+
## Apps
|
|
312
|
+
|
|
313
|
+
### Candlestick Patterns ([here](https://github.com/polakowo/vectorbt/blob/master/apps/candlestick-patterns/))
|
|
314
|
+
|
|
315
|
+
Explore candlestick-pattern signals interactively and backtest them with VectorBT.
|
|
316
|
+
|
|
317
|
+
[](https://github.com/polakowo/vectorbt/blob/master/apps/candlestick-patterns/)
|
|
318
|
+
|
|
319
|
+
## Links
|
|
290
320
|
|
|
291
321
|
* [Website](https://vectorbt.dev/)
|
|
292
|
-
* [
|
|
322
|
+
* [Docker images](https://hub.docker.com/r/polakowo/vectorbt)
|
|
323
|
+
* [Colab notebook](https://colab.research.google.com/drive/1ibqyrf6LPFlzRb6mkPpl3hxqL6ryNBXI?usp=sharing)
|
|
293
324
|
|
|
294
|
-
##
|
|
325
|
+
## License
|
|
295
326
|
|
|
296
327
|
This work is [fair-code](http://faircode.io/) distributed under the [Apache 2.0 with Commons Clause](https://github.com/polakowo/vectorbt/blob/master/LICENSE.md) license.
|
|
297
328
|
|
|
@@ -301,11 +332,11 @@ If you have questions or want to request a license exception, please [contact th
|
|
|
301
332
|
|
|
302
333
|
Installing optional dependencies may be subject to a more restrictive license.
|
|
303
334
|
|
|
304
|
-
##
|
|
335
|
+
## Star history
|
|
305
336
|
|
|
306
337
|
[](https://star-history.com/#polakowo/vectorbt&Timeline)
|
|
307
338
|
|
|
308
|
-
##
|
|
339
|
+
## Disclaimer
|
|
309
340
|
|
|
310
341
|
This software is for educational purposes only. Do not risk money you cannot afford to lose.
|
|
311
342
|
|
|
@@ -15,6 +15,15 @@
|
|
|
15
15
|
<a href="https://pepy.tech/project/vectorbt" title="Downloads">
|
|
16
16
|
<img src="https://pepy.tech/badge/vectorbt" />
|
|
17
17
|
</a>
|
|
18
|
+
<a href="https://github.com/polakowo/vectorbt/stargazers" title="Stars">
|
|
19
|
+
<img src="https://img.shields.io/github/stars/polakowo/vectorbt?style=flat" />
|
|
20
|
+
</a>
|
|
21
|
+
<a href="https://github.com/polakowo/vectorbt/network/members" title="Forks">
|
|
22
|
+
<img src="https://img.shields.io/github/forks/polakowo/vectorbt?style=flat" />
|
|
23
|
+
</a>
|
|
24
|
+
<a href="https://github.com/polakowo/vectorbt/graphs/contributors" title="Contributors">
|
|
25
|
+
<img src="https://img.shields.io/github/contributors/polakowo/vectorbt?style=flat" />
|
|
26
|
+
</a>
|
|
18
27
|
<a href="https://pypi.org/project/vectorbt" title="PyPI">
|
|
19
28
|
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet" />
|
|
20
29
|
</a>
|
|
@@ -33,22 +42,30 @@
|
|
|
33
42
|
<a href="https://gitter.im/vectorbt/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" title="Join the chat">
|
|
34
43
|
<img src="https://badges.gitter.im/vectorbt.svg" />
|
|
35
44
|
</a>
|
|
36
|
-
</p>
|
|
37
|
-
|
|
38
|
-
<p align="center">
|
|
39
45
|
<a href="https://pypi.org/project/vectorbt" title="Supported Python versions">
|
|
40
46
|
<img src="https://img.shields.io/pypi/pyversions/vectorbt.svg?logo=python&logoColor=white" />
|
|
41
47
|
</a>
|
|
42
48
|
</p>
|
|
43
49
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
> * Plotly 6 support
|
|
48
|
-
> * `ticker_kwargs` in `YFData`
|
|
49
|
-
> * Fixed Pandas TA dependency (→ [pandas-ta-classic](https://github.com/xgboosted/pandas-ta-classic)).
|
|
50
|
+
Test thousands of trading ideas in seconds, analyze portfolios across markets and timeframes, and uncover what works with minimal code. Built for both human researchers and AI agents, VectorBT combines rapid experimentation with a mature, battle-tested backtesting stack shaped by years of community use.
|
|
51
|
+
|
|
52
|
+
VectorBT is the open-source, community edition of [VectorBT PRO](https://vectorbt.pro/), a state-of-the-art hybrid backtesting library.
|
|
50
53
|
|
|
51
|
-
##
|
|
54
|
+
## Features
|
|
55
|
+
|
|
56
|
+
- Fast, vectorized backtesting and strategy research on pandas/NumPy, accelerated with Numba
|
|
57
|
+
- Pandas-native API with custom accessors and high-performance operations
|
|
58
|
+
- Flexible broadcasting for multi-asset analysis and large parameter sweeps
|
|
59
|
+
- Rich indicator ecosystem with support for custom indicators and popular TA libraries (TA-Lib, Pandas TA, etc.)
|
|
60
|
+
- Portfolio backtesting with trades, positions, drawdowns, and performance analysis (incl. QuantStats)
|
|
61
|
+
- Signal-based tooling for generation, ranking, mapping, and distribution analysis
|
|
62
|
+
- Built-in data access (Yahoo Finance, CCXT, Alpaca, etc.), preprocessing, and random data generation
|
|
63
|
+
- Robustness testing, walk-forward optimization, and label generation for ML workflows
|
|
64
|
+
- Interactive visualization with Plotly, Jupyter widgets, and browser-friendly dashboards
|
|
65
|
+
- Automation support for scheduled updates and Telegram notifications
|
|
66
|
+
- Composable Python API suitable for rapid experimentation and AI agent-driven workflows
|
|
67
|
+
|
|
68
|
+
## Installation
|
|
52
69
|
|
|
53
70
|
```sh
|
|
54
71
|
pip install -U vectorbt
|
|
@@ -60,7 +77,7 @@ To install optional dependencies as well:
|
|
|
60
77
|
pip install -U "vectorbt[full]"
|
|
61
78
|
```
|
|
62
79
|
|
|
63
|
-
##
|
|
80
|
+
## Usage
|
|
64
81
|
|
|
65
82
|
VectorBT lets you backtest strategies in just a few lines of Python.
|
|
66
83
|
|
|
@@ -220,12 +237,21 @@ vbt.save_animation("bbands.gif", bbands.wrapper.index, plot, bbands, delta=90, s
|
|
|
220
237
|
|
|
221
238
|
This is just the tip of the iceberg. Visit the [website](https://vectorbt.dev/) to learn more.
|
|
222
239
|
|
|
223
|
-
##
|
|
240
|
+
## Apps
|
|
241
|
+
|
|
242
|
+
### Candlestick Patterns ([here](https://github.com/polakowo/vectorbt/blob/master/apps/candlestick-patterns/))
|
|
243
|
+
|
|
244
|
+
Explore candlestick-pattern signals interactively and backtest them with VectorBT.
|
|
245
|
+
|
|
246
|
+
[](https://github.com/polakowo/vectorbt/blob/master/apps/candlestick-patterns/)
|
|
247
|
+
|
|
248
|
+
## Links
|
|
224
249
|
|
|
225
250
|
* [Website](https://vectorbt.dev/)
|
|
226
|
-
* [
|
|
251
|
+
* [Docker images](https://hub.docker.com/r/polakowo/vectorbt)
|
|
252
|
+
* [Colab notebook](https://colab.research.google.com/drive/1ibqyrf6LPFlzRb6mkPpl3hxqL6ryNBXI?usp=sharing)
|
|
227
253
|
|
|
228
|
-
##
|
|
254
|
+
## License
|
|
229
255
|
|
|
230
256
|
This work is [fair-code](http://faircode.io/) distributed under the [Apache 2.0 with Commons Clause](https://github.com/polakowo/vectorbt/blob/master/LICENSE.md) license.
|
|
231
257
|
|
|
@@ -235,11 +261,11 @@ If you have questions or want to request a license exception, please [contact th
|
|
|
235
261
|
|
|
236
262
|
Installing optional dependencies may be subject to a more restrictive license.
|
|
237
263
|
|
|
238
|
-
##
|
|
264
|
+
## Star history
|
|
239
265
|
|
|
240
266
|
[](https://star-history.com/#polakowo/vectorbt&Timeline)
|
|
241
267
|
|
|
242
|
-
##
|
|
268
|
+
## Disclaimer
|
|
243
269
|
|
|
244
270
|
This software is for educational purposes only. Do not risk money you cannot afford to lose.
|
|
245
271
|
|