vectorbt 0.26.0__tar.gz → 0.26.2__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.26.0/vectorbt.egg-info → vectorbt-0.26.2}/PKG-INFO +63 -20
- {vectorbt-0.26.0 → vectorbt-0.26.2}/README.md +29 -15
- {vectorbt-0.26.0 → vectorbt-0.26.2}/setup.py +2 -2
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/_version.py +1 -1
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/reshape_fns.py +12 -2
- {vectorbt-0.26.0 → vectorbt-0.26.2/vectorbt.egg-info}/PKG-INFO +63 -20
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt.egg-info/requires.txt +2 -2
- {vectorbt-0.26.0 → vectorbt-0.26.2}/LICENSE.md +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/MANIFEST.in +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/setup.cfg +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_base.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_data.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_generic.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_indicators.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_labels.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_portfolio.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_records.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_returns.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_settings.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_signals.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/test_utils.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/tests/utils.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/_settings.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/_typing.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/accessors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/array_wrapper.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/column_grouper.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/combine_fns.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/index_fns.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/base/indexing.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/data/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/data/base.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/data/custom.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/data/updater.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/accessors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/decorators.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/drawdowns.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/enums.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/nb.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/plots_builder.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/plotting.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/ranges.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/splitters.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/generic/stats_builder.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/indicators/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/indicators/basic.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/indicators/configs.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/indicators/factory.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/indicators/nb.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/labels/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/labels/enums.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/labels/generators.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/labels/nb.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/messaging/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/messaging/telegram.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/ohlcv_accessors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/base.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/decorators.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/enums.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/logs.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/nb.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/orders.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/portfolio/trades.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/px_accessors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/records/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/records/base.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/records/col_mapper.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/records/decorators.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/records/mapped_array.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/records/nb.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/returns/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/returns/accessors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/returns/metrics.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/returns/nb.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/returns/qs_adapter.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/root_accessors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/signals/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/signals/accessors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/signals/enums.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/signals/factory.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/signals/generators.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/signals/nb.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/templates/dark.json +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/templates/light.json +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/templates/seaborn.json +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/__init__.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/array_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/attr_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/checks.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/colors.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/config.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/datetime_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/decorators.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/docs.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/enum_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/figure.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/image_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/mapping.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/math_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/module_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/params.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/random_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/requests_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/schedule_.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/tags.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt/utils/template.py +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt.egg-info/SOURCES.txt +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt.egg-info/dependency_links.txt +0 -0
- {vectorbt-0.26.0 → vectorbt-0.26.2}/vectorbt.egg-info/top_level.txt +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vectorbt
|
|
3
|
-
Version: 0.26.
|
|
3
|
+
Version: 0.26.2
|
|
4
4
|
Summary: Python library for backtesting and analyzing trading strategies at scale
|
|
5
5
|
Home-page: https://github.com/polakowo/vectorbt
|
|
6
6
|
Author: Oleg Polakow
|
|
7
7
|
Author-email: olegpolakow@gmail.com
|
|
8
8
|
License: Apache 2.0 with Commons Clause
|
|
9
|
-
Platform: UNKNOWN
|
|
10
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
10
|
Classifier: Intended Audience :: Developers
|
|
12
11
|
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
@@ -25,38 +24,80 @@ Classifier: Topic :: Office/Business :: Financial
|
|
|
25
24
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
26
25
|
Requires-Python: >=3.6
|
|
27
26
|
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE.md
|
|
28
|
+
Requires-Dist: numpy<2.0.0,>=1.16.5
|
|
29
|
+
Requires-Dist: pandas
|
|
30
|
+
Requires-Dist: scipy
|
|
31
|
+
Requires-Dist: matplotlib
|
|
32
|
+
Requires-Dist: plotly>=4.12.0
|
|
33
|
+
Requires-Dist: ipywidgets>=7.0.0
|
|
34
|
+
Requires-Dist: numba<0.57.0,>=0.53.1; python_version < "3.10"
|
|
35
|
+
Requires-Dist: numba<0.57.0,>=0.56.0; python_version >= "3.10" and python_version < "3.11"
|
|
36
|
+
Requires-Dist: numba>=0.57.0; python_version >= "3.11"
|
|
37
|
+
Requires-Dist: dill
|
|
38
|
+
Requires-Dist: tqdm
|
|
39
|
+
Requires-Dist: dateparser
|
|
40
|
+
Requires-Dist: imageio
|
|
41
|
+
Requires-Dist: scikit-learn
|
|
42
|
+
Requires-Dist: schedule
|
|
43
|
+
Requires-Dist: requests
|
|
44
|
+
Requires-Dist: pytz
|
|
45
|
+
Requires-Dist: typing_extensions; python_version < "3.8"
|
|
46
|
+
Requires-Dist: mypy_extensions
|
|
28
47
|
Provides-Extra: full
|
|
48
|
+
Requires-Dist: yfinance>=0.2.22; extra == "full"
|
|
49
|
+
Requires-Dist: python-binance; extra == "full"
|
|
50
|
+
Requires-Dist: ccxt>=4.0.14; extra == "full"
|
|
51
|
+
Requires-Dist: alpaca-trade-api>=1.4.3; extra == "full"
|
|
52
|
+
Requires-Dist: ray>=1.4.1; extra == "full"
|
|
53
|
+
Requires-Dist: ta; extra == "full"
|
|
54
|
+
Requires-Dist: pandas_ta; extra == "full"
|
|
55
|
+
Requires-Dist: TA-Lib; extra == "full"
|
|
56
|
+
Requires-Dist: python-telegram-bot<20.0,>=13.4; extra == "full"
|
|
57
|
+
Requires-Dist: quantstats>=0.0.37; extra == "full"
|
|
29
58
|
Provides-Extra: cov
|
|
30
|
-
|
|
59
|
+
Requires-Dist: pytest; extra == "cov"
|
|
60
|
+
Requires-Dist: pytest-cov; extra == "cov"
|
|
61
|
+
Requires-Dist: codecov; extra == "cov"
|
|
31
62
|
|
|
32
63
|
<div align="center">
|
|
33
|
-
|
|
34
|
-
<img src="docs/docs/assets/logo/header-pro.svg" />
|
|
64
|
+
<a href="https://vectorbt.pro/" alt="https://vectorbt.pro/">
|
|
65
|
+
<img src="https://raw.githubusercontent.com/polakowo/vectorbt/master/docs/docs/assets/logo/header-pro.svg" />
|
|
35
66
|
</a>
|
|
36
67
|
</div>
|
|
37
68
|
<div align="center">
|
|
38
|
-
|
|
39
|
-
<img src="docs/docs/assets/logo/header.svg" />
|
|
69
|
+
<a href="https://vectorbt.dev/" alt="https://vectorbt.dev/">
|
|
70
|
+
<img src="https://raw.githubusercontent.com/polakowo/vectorbt/master/docs/docs/assets/logo/header.svg" />
|
|
40
71
|
</a>
|
|
41
72
|
</div>
|
|
42
73
|
<br>
|
|
43
74
|
<p align="center">
|
|
44
|
-
<a href="https://
|
|
45
|
-
<img src="https://
|
|
46
|
-
|
|
47
|
-
<img src="https://img.shields.io/badge/license-Fair%20Code-yellow" /></a>
|
|
75
|
+
<a href="https://pepy.tech/project/vectorbt" alt="Downloads">
|
|
76
|
+
<img src="https://pepy.tech/badge/vectorbt" />
|
|
77
|
+
</a>
|
|
48
78
|
<a href="https://pypi.org/project/vectorbt" alt="PyPi">
|
|
49
|
-
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet"
|
|
79
|
+
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet" />
|
|
80
|
+
</a>
|
|
81
|
+
<a href="https://github.com/polakowo/vectorbt/blob/master/LICENSE.md" alt="License">
|
|
82
|
+
<img src="https://img.shields.io/badge/license-Fair%20Code-yellow" />
|
|
83
|
+
</a>
|
|
50
84
|
<a href="https://codecov.io/gh/polakowo/vectorbt" alt="codecov">
|
|
51
|
-
<img src="https://codecov.io/gh/polakowo/vectorbt/branch/master/graph/badge.svg?token=YTLNAI7PS3"
|
|
85
|
+
<img src="https://codecov.io/gh/polakowo/vectorbt/branch/master/graph/badge.svg?token=YTLNAI7PS3" />
|
|
86
|
+
</a>
|
|
52
87
|
<a href="https://vectorbt.dev/" alt="Website">
|
|
53
|
-
<img src="https://img.shields.io/website?url=https://vectorbt.dev/"
|
|
54
|
-
|
|
55
|
-
<img src="https://pepy.tech/badge/vectorbt" /></a>
|
|
88
|
+
<img src="https://img.shields.io/website?url=https://vectorbt.dev/" />
|
|
89
|
+
</a>
|
|
56
90
|
<a href="https://mybinder.org/v2/gh/polakowo/vectorbt/HEAD?urlpath=lab" alt="Binder">
|
|
57
|
-
<img src="https://img.shields.io/badge/launch-binder-d6604a"
|
|
91
|
+
<img src="https://img.shields.io/badge/launch-binder-d6604a" />
|
|
92
|
+
</a>
|
|
58
93
|
<a href="https://gitter.im/vectorbt/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" alt="Join the chat at https://gitter.im/vectorbt/community">
|
|
59
|
-
<img src="https://badges.gitter.im/vectorbt.svg"
|
|
94
|
+
<img src="https://badges.gitter.im/vectorbt.svg" />
|
|
95
|
+
</a>
|
|
96
|
+
</p>
|
|
97
|
+
<p align="center">
|
|
98
|
+
<a href="https://pypi.org/project/vectorbt" alt="Python Versions">
|
|
99
|
+
<img src="https://img.shields.io/pypi/pyversions/vectorbt.svg?logo=python&logoColor=white" />
|
|
100
|
+
</a>
|
|
60
101
|
</p>
|
|
61
102
|
|
|
62
103
|
## :sparkles: Usage
|
|
@@ -229,6 +270,10 @@ To also install optional dependencies:
|
|
|
229
270
|
pip install -U "vectorbt[full]"
|
|
230
271
|
```
|
|
231
272
|
|
|
273
|
+
## Colab Notebook
|
|
274
|
+
|
|
275
|
+
[Google Colaboratory](https://colab.research.google.com/drive/1ibqyrf6LPFlzRb6mkPpl3hxqL6ryNBXI?usp=sharing)
|
|
276
|
+
|
|
232
277
|
## License
|
|
233
278
|
|
|
234
279
|
This work is [fair-code](http://faircode.io/) distributed under [Apache 2.0 with Commons Clause](https://github.com/polakowo/vectorbt/blob/master/LICENSE.md) license.
|
|
@@ -247,5 +292,3 @@ Installing optional dependencies may be subject to a more restrictive license.
|
|
|
247
292
|
|
|
248
293
|
This software is for educational purposes only. Do not risk money which you are afraid to lose.
|
|
249
294
|
USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS.
|
|
250
|
-
|
|
251
|
-
|
|
@@ -1,31 +1,41 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
|
|
3
|
-
<img src="docs/docs/assets/logo/header-pro.svg" />
|
|
2
|
+
<a href="https://vectorbt.pro/" alt="https://vectorbt.pro/">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/polakowo/vectorbt/master/docs/docs/assets/logo/header-pro.svg" />
|
|
4
4
|
</a>
|
|
5
5
|
</div>
|
|
6
6
|
<div align="center">
|
|
7
|
-
|
|
8
|
-
<img src="docs/docs/assets/logo/header.svg" />
|
|
7
|
+
<a href="https://vectorbt.dev/" alt="https://vectorbt.dev/">
|
|
8
|
+
<img src="https://raw.githubusercontent.com/polakowo/vectorbt/master/docs/docs/assets/logo/header.svg" />
|
|
9
9
|
</a>
|
|
10
10
|
</div>
|
|
11
11
|
<br>
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://
|
|
14
|
-
<img src="https://
|
|
15
|
-
|
|
16
|
-
<img src="https://img.shields.io/badge/license-Fair%20Code-yellow" /></a>
|
|
13
|
+
<a href="https://pepy.tech/project/vectorbt" alt="Downloads">
|
|
14
|
+
<img src="https://pepy.tech/badge/vectorbt" />
|
|
15
|
+
</a>
|
|
17
16
|
<a href="https://pypi.org/project/vectorbt" alt="PyPi">
|
|
18
|
-
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet"
|
|
17
|
+
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet" />
|
|
18
|
+
</a>
|
|
19
|
+
<a href="https://github.com/polakowo/vectorbt/blob/master/LICENSE.md" alt="License">
|
|
20
|
+
<img src="https://img.shields.io/badge/license-Fair%20Code-yellow" />
|
|
21
|
+
</a>
|
|
19
22
|
<a href="https://codecov.io/gh/polakowo/vectorbt" alt="codecov">
|
|
20
|
-
<img src="https://codecov.io/gh/polakowo/vectorbt/branch/master/graph/badge.svg?token=YTLNAI7PS3"
|
|
23
|
+
<img src="https://codecov.io/gh/polakowo/vectorbt/branch/master/graph/badge.svg?token=YTLNAI7PS3" />
|
|
24
|
+
</a>
|
|
21
25
|
<a href="https://vectorbt.dev/" alt="Website">
|
|
22
|
-
<img src="https://img.shields.io/website?url=https://vectorbt.dev/"
|
|
23
|
-
|
|
24
|
-
<img src="https://pepy.tech/badge/vectorbt" /></a>
|
|
26
|
+
<img src="https://img.shields.io/website?url=https://vectorbt.dev/" />
|
|
27
|
+
</a>
|
|
25
28
|
<a href="https://mybinder.org/v2/gh/polakowo/vectorbt/HEAD?urlpath=lab" alt="Binder">
|
|
26
|
-
<img src="https://img.shields.io/badge/launch-binder-d6604a"
|
|
29
|
+
<img src="https://img.shields.io/badge/launch-binder-d6604a" />
|
|
30
|
+
</a>
|
|
27
31
|
<a href="https://gitter.im/vectorbt/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" alt="Join the chat at https://gitter.im/vectorbt/community">
|
|
28
|
-
<img src="https://badges.gitter.im/vectorbt.svg"
|
|
32
|
+
<img src="https://badges.gitter.im/vectorbt.svg" />
|
|
33
|
+
</a>
|
|
34
|
+
</p>
|
|
35
|
+
<p align="center">
|
|
36
|
+
<a href="https://pypi.org/project/vectorbt" alt="Python Versions">
|
|
37
|
+
<img src="https://img.shields.io/pypi/pyversions/vectorbt.svg?logo=python&logoColor=white" />
|
|
38
|
+
</a>
|
|
29
39
|
</p>
|
|
30
40
|
|
|
31
41
|
## :sparkles: Usage
|
|
@@ -198,6 +208,10 @@ To also install optional dependencies:
|
|
|
198
208
|
pip install -U "vectorbt[full]"
|
|
199
209
|
```
|
|
200
210
|
|
|
211
|
+
## Colab Notebook
|
|
212
|
+
|
|
213
|
+
[Google Colaboratory](https://colab.research.google.com/drive/1ibqyrf6LPFlzRb6mkPpl3hxqL6ryNBXI?usp=sharing)
|
|
214
|
+
|
|
201
215
|
## License
|
|
202
216
|
|
|
203
217
|
This work is [fair-code](http://faircode.io/) distributed under [Apache 2.0 with Commons Clause](https://github.com/polakowo/vectorbt/blob/master/LICENSE.md) license.
|
|
@@ -21,7 +21,7 @@ setup(
|
|
|
21
21
|
'vectorbt': ['templates/*.json']
|
|
22
22
|
},
|
|
23
23
|
install_requires=[
|
|
24
|
-
'numpy>=1.16.5',
|
|
24
|
+
'numpy>=1.16.5, <2.0.0',
|
|
25
25
|
'pandas',
|
|
26
26
|
'scipy',
|
|
27
27
|
'matplotlib',
|
|
@@ -46,7 +46,7 @@ setup(
|
|
|
46
46
|
'yfinance>=0.2.22',
|
|
47
47
|
'python-binance',
|
|
48
48
|
'ccxt>=4.0.14',
|
|
49
|
-
'alpaca-trade-api
|
|
49
|
+
'alpaca-trade-api>=1.4.3',
|
|
50
50
|
'ray>=1.4.1',
|
|
51
51
|
'ta',
|
|
52
52
|
'pandas_ta',
|
|
@@ -12,7 +12,14 @@ from collections.abc import Sequence
|
|
|
12
12
|
import numpy as np
|
|
13
13
|
import pandas as pd
|
|
14
14
|
from numba import njit
|
|
15
|
-
|
|
15
|
+
try:
|
|
16
|
+
from numpy import broadcast_shapes
|
|
17
|
+
|
|
18
|
+
broadcast_shape = None
|
|
19
|
+
except ImportError:
|
|
20
|
+
from numpy.lib.stride_tricks import _broadcast_shape as broadcast_shape
|
|
21
|
+
|
|
22
|
+
broadcast_shapes = None
|
|
16
23
|
|
|
17
24
|
from vectorbt import _typing as tp
|
|
18
25
|
from vectorbt.base import index_fns, array_wrapper
|
|
@@ -564,7 +571,10 @@ def broadcast(*args: tp.ArrayLike,
|
|
|
564
571
|
|
|
565
572
|
# Get final shape
|
|
566
573
|
if to_shape is None:
|
|
567
|
-
|
|
574
|
+
if broadcast_shapes is not None:
|
|
575
|
+
to_shape = broadcast_shapes(*map(lambda x: np.asarray(x).shape, arr_args_2d))
|
|
576
|
+
else:
|
|
577
|
+
to_shape = broadcast_shape(*map(np.asarray, arr_args_2d))
|
|
568
578
|
|
|
569
579
|
# Perform broadcasting
|
|
570
580
|
new_args = []
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vectorbt
|
|
3
|
-
Version: 0.26.
|
|
3
|
+
Version: 0.26.2
|
|
4
4
|
Summary: Python library for backtesting and analyzing trading strategies at scale
|
|
5
5
|
Home-page: https://github.com/polakowo/vectorbt
|
|
6
6
|
Author: Oleg Polakow
|
|
7
7
|
Author-email: olegpolakow@gmail.com
|
|
8
8
|
License: Apache 2.0 with Commons Clause
|
|
9
|
-
Platform: UNKNOWN
|
|
10
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
10
|
Classifier: Intended Audience :: Developers
|
|
12
11
|
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
@@ -25,38 +24,80 @@ Classifier: Topic :: Office/Business :: Financial
|
|
|
25
24
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
26
25
|
Requires-Python: >=3.6
|
|
27
26
|
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE.md
|
|
28
|
+
Requires-Dist: numpy<2.0.0,>=1.16.5
|
|
29
|
+
Requires-Dist: pandas
|
|
30
|
+
Requires-Dist: scipy
|
|
31
|
+
Requires-Dist: matplotlib
|
|
32
|
+
Requires-Dist: plotly>=4.12.0
|
|
33
|
+
Requires-Dist: ipywidgets>=7.0.0
|
|
34
|
+
Requires-Dist: numba<0.57.0,>=0.53.1; python_version < "3.10"
|
|
35
|
+
Requires-Dist: numba<0.57.0,>=0.56.0; python_version >= "3.10" and python_version < "3.11"
|
|
36
|
+
Requires-Dist: numba>=0.57.0; python_version >= "3.11"
|
|
37
|
+
Requires-Dist: dill
|
|
38
|
+
Requires-Dist: tqdm
|
|
39
|
+
Requires-Dist: dateparser
|
|
40
|
+
Requires-Dist: imageio
|
|
41
|
+
Requires-Dist: scikit-learn
|
|
42
|
+
Requires-Dist: schedule
|
|
43
|
+
Requires-Dist: requests
|
|
44
|
+
Requires-Dist: pytz
|
|
45
|
+
Requires-Dist: typing_extensions; python_version < "3.8"
|
|
46
|
+
Requires-Dist: mypy_extensions
|
|
28
47
|
Provides-Extra: full
|
|
48
|
+
Requires-Dist: yfinance>=0.2.22; extra == "full"
|
|
49
|
+
Requires-Dist: python-binance; extra == "full"
|
|
50
|
+
Requires-Dist: ccxt>=4.0.14; extra == "full"
|
|
51
|
+
Requires-Dist: alpaca-trade-api>=1.4.3; extra == "full"
|
|
52
|
+
Requires-Dist: ray>=1.4.1; extra == "full"
|
|
53
|
+
Requires-Dist: ta; extra == "full"
|
|
54
|
+
Requires-Dist: pandas_ta; extra == "full"
|
|
55
|
+
Requires-Dist: TA-Lib; extra == "full"
|
|
56
|
+
Requires-Dist: python-telegram-bot<20.0,>=13.4; extra == "full"
|
|
57
|
+
Requires-Dist: quantstats>=0.0.37; extra == "full"
|
|
29
58
|
Provides-Extra: cov
|
|
30
|
-
|
|
59
|
+
Requires-Dist: pytest; extra == "cov"
|
|
60
|
+
Requires-Dist: pytest-cov; extra == "cov"
|
|
61
|
+
Requires-Dist: codecov; extra == "cov"
|
|
31
62
|
|
|
32
63
|
<div align="center">
|
|
33
|
-
|
|
34
|
-
<img src="docs/docs/assets/logo/header-pro.svg" />
|
|
64
|
+
<a href="https://vectorbt.pro/" alt="https://vectorbt.pro/">
|
|
65
|
+
<img src="https://raw.githubusercontent.com/polakowo/vectorbt/master/docs/docs/assets/logo/header-pro.svg" />
|
|
35
66
|
</a>
|
|
36
67
|
</div>
|
|
37
68
|
<div align="center">
|
|
38
|
-
|
|
39
|
-
<img src="docs/docs/assets/logo/header.svg" />
|
|
69
|
+
<a href="https://vectorbt.dev/" alt="https://vectorbt.dev/">
|
|
70
|
+
<img src="https://raw.githubusercontent.com/polakowo/vectorbt/master/docs/docs/assets/logo/header.svg" />
|
|
40
71
|
</a>
|
|
41
72
|
</div>
|
|
42
73
|
<br>
|
|
43
74
|
<p align="center">
|
|
44
|
-
<a href="https://
|
|
45
|
-
<img src="https://
|
|
46
|
-
|
|
47
|
-
<img src="https://img.shields.io/badge/license-Fair%20Code-yellow" /></a>
|
|
75
|
+
<a href="https://pepy.tech/project/vectorbt" alt="Downloads">
|
|
76
|
+
<img src="https://pepy.tech/badge/vectorbt" />
|
|
77
|
+
</a>
|
|
48
78
|
<a href="https://pypi.org/project/vectorbt" alt="PyPi">
|
|
49
|
-
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet"
|
|
79
|
+
<img src="https://img.shields.io/pypi/v/vectorbt?color=blueviolet" />
|
|
80
|
+
</a>
|
|
81
|
+
<a href="https://github.com/polakowo/vectorbt/blob/master/LICENSE.md" alt="License">
|
|
82
|
+
<img src="https://img.shields.io/badge/license-Fair%20Code-yellow" />
|
|
83
|
+
</a>
|
|
50
84
|
<a href="https://codecov.io/gh/polakowo/vectorbt" alt="codecov">
|
|
51
|
-
<img src="https://codecov.io/gh/polakowo/vectorbt/branch/master/graph/badge.svg?token=YTLNAI7PS3"
|
|
85
|
+
<img src="https://codecov.io/gh/polakowo/vectorbt/branch/master/graph/badge.svg?token=YTLNAI7PS3" />
|
|
86
|
+
</a>
|
|
52
87
|
<a href="https://vectorbt.dev/" alt="Website">
|
|
53
|
-
<img src="https://img.shields.io/website?url=https://vectorbt.dev/"
|
|
54
|
-
|
|
55
|
-
<img src="https://pepy.tech/badge/vectorbt" /></a>
|
|
88
|
+
<img src="https://img.shields.io/website?url=https://vectorbt.dev/" />
|
|
89
|
+
</a>
|
|
56
90
|
<a href="https://mybinder.org/v2/gh/polakowo/vectorbt/HEAD?urlpath=lab" alt="Binder">
|
|
57
|
-
<img src="https://img.shields.io/badge/launch-binder-d6604a"
|
|
91
|
+
<img src="https://img.shields.io/badge/launch-binder-d6604a" />
|
|
92
|
+
</a>
|
|
58
93
|
<a href="https://gitter.im/vectorbt/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" alt="Join the chat at https://gitter.im/vectorbt/community">
|
|
59
|
-
<img src="https://badges.gitter.im/vectorbt.svg"
|
|
94
|
+
<img src="https://badges.gitter.im/vectorbt.svg" />
|
|
95
|
+
</a>
|
|
96
|
+
</p>
|
|
97
|
+
<p align="center">
|
|
98
|
+
<a href="https://pypi.org/project/vectorbt" alt="Python Versions">
|
|
99
|
+
<img src="https://img.shields.io/pypi/pyversions/vectorbt.svg?logo=python&logoColor=white" />
|
|
100
|
+
</a>
|
|
60
101
|
</p>
|
|
61
102
|
|
|
62
103
|
## :sparkles: Usage
|
|
@@ -229,6 +270,10 @@ To also install optional dependencies:
|
|
|
229
270
|
pip install -U "vectorbt[full]"
|
|
230
271
|
```
|
|
231
272
|
|
|
273
|
+
## Colab Notebook
|
|
274
|
+
|
|
275
|
+
[Google Colaboratory](https://colab.research.google.com/drive/1ibqyrf6LPFlzRb6mkPpl3hxqL6ryNBXI?usp=sharing)
|
|
276
|
+
|
|
232
277
|
## License
|
|
233
278
|
|
|
234
279
|
This work is [fair-code](http://faircode.io/) distributed under [Apache 2.0 with Commons Clause](https://github.com/polakowo/vectorbt/blob/master/LICENSE.md) license.
|
|
@@ -247,5 +292,3 @@ Installing optional dependencies may be subject to a more restrictive license.
|
|
|
247
292
|
|
|
248
293
|
This software is for educational purposes only. Do not risk money which you are afraid to lose.
|
|
249
294
|
USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS.
|
|
250
|
-
|
|
251
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|