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.
Files changed (115) hide show
  1. vectorbt-0.28.5/MANIFEST.in +1 -0
  2. {vectorbt-0.28.4/vectorbt.egg-info → vectorbt-0.28.5}/PKG-INFO +48 -17
  3. {vectorbt-0.28.4 → vectorbt-0.28.5}/README.md +42 -16
  4. {vectorbt-0.28.4 → vectorbt-0.28.5}/pyproject.toml +6 -0
  5. vectorbt-0.28.5/setup.py +9 -0
  6. vectorbt-0.28.5/tests/test_plotting.py +1275 -0
  7. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_portfolio.py +17 -17
  8. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/_version.py +1 -1
  9. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/base.py +14 -3
  10. {vectorbt-0.28.4 → vectorbt-0.28.5/vectorbt.egg-info}/PKG-INFO +48 -17
  11. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt.egg-info/SOURCES.txt +2 -0
  12. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt.egg-info/requires.txt +6 -0
  13. vectorbt-0.28.4/setup.py +0 -3
  14. {vectorbt-0.28.4 → vectorbt-0.28.5}/LICENSE.md +0 -0
  15. {vectorbt-0.28.4 → vectorbt-0.28.5}/setup.cfg +0 -0
  16. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_base.py +0 -0
  17. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_data.py +0 -0
  18. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_generic.py +0 -0
  19. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_indicators.py +0 -0
  20. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_labels.py +0 -0
  21. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_records.py +0 -0
  22. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_returns.py +0 -0
  23. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_settings.py +0 -0
  24. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_signals.py +0 -0
  25. {vectorbt-0.28.4 → vectorbt-0.28.5}/tests/test_utils.py +0 -0
  26. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/__init__.py +0 -0
  27. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/_settings.py +0 -0
  28. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/_typing.py +0 -0
  29. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/__init__.py +0 -0
  30. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/accessors.py +0 -0
  31. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/array_wrapper.py +0 -0
  32. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/column_grouper.py +0 -0
  33. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/combine_fns.py +0 -0
  34. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/index_fns.py +0 -0
  35. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/indexing.py +0 -0
  36. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/base/reshape_fns.py +0 -0
  37. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/__init__.py +0 -0
  38. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/base.py +0 -0
  39. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/custom.py +0 -0
  40. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/data/updater.py +0 -0
  41. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/__init__.py +0 -0
  42. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/accessors.py +0 -0
  43. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/decorators.py +0 -0
  44. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/drawdowns.py +0 -0
  45. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/enums.py +0 -0
  46. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/nb.py +0 -0
  47. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/plots_builder.py +0 -0
  48. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/plotting.py +0 -0
  49. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/ranges.py +0 -0
  50. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/splitters.py +0 -0
  51. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/generic/stats_builder.py +0 -0
  52. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/__init__.py +0 -0
  53. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/basic.py +0 -0
  54. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/configs.py +0 -0
  55. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/factory.py +0 -0
  56. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/indicators/nb.py +0 -0
  57. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/__init__.py +0 -0
  58. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/enums.py +0 -0
  59. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/generators.py +0 -0
  60. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/labels/nb.py +0 -0
  61. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/messaging/__init__.py +0 -0
  62. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/messaging/telegram.py +0 -0
  63. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/ohlcv_accessors.py +0 -0
  64. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/__init__.py +0 -0
  65. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/decorators.py +0 -0
  66. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/enums.py +0 -0
  67. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/logs.py +0 -0
  68. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/nb.py +0 -0
  69. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/orders.py +0 -0
  70. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/portfolio/trades.py +0 -0
  71. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/px_accessors.py +0 -0
  72. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/__init__.py +0 -0
  73. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/base.py +0 -0
  74. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/col_mapper.py +0 -0
  75. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/decorators.py +0 -0
  76. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/mapped_array.py +0 -0
  77. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/records/nb.py +0 -0
  78. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/__init__.py +0 -0
  79. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/accessors.py +0 -0
  80. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/metrics.py +0 -0
  81. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/nb.py +0 -0
  82. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/returns/qs_adapter.py +0 -0
  83. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/root_accessors.py +0 -0
  84. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/__init__.py +0 -0
  85. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/accessors.py +0 -0
  86. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/enums.py +0 -0
  87. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/factory.py +0 -0
  88. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/generators.py +0 -0
  89. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/signals/nb.py +0 -0
  90. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/templates/dark.json +0 -0
  91. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/templates/light.json +0 -0
  92. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/templates/seaborn.json +0 -0
  93. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/__init__.py +0 -0
  94. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/array_.py +0 -0
  95. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/attr_.py +0 -0
  96. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/checks.py +0 -0
  97. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/colors.py +0 -0
  98. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/config.py +0 -0
  99. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/datetime_.py +0 -0
  100. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/decorators.py +0 -0
  101. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/docs.py +0 -0
  102. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/enum_.py +0 -0
  103. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/figure.py +0 -0
  104. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/image_.py +0 -0
  105. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/mapping.py +0 -0
  106. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/math_.py +0 -0
  107. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/module_.py +0 -0
  108. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/params.py +0 -0
  109. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/random_.py +0 -0
  110. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/requests_.py +0 -0
  111. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/schedule_.py +0 -0
  112. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/tags.py +0 -0
  113. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt/utils/template.py +0 -0
  114. {vectorbt-0.28.4 → vectorbt-0.28.5}/vectorbt.egg-info/dependency_links.txt +0 -0
  115. {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.4
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
- > [!TIP]
111
- > *New in 0.28*:
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
- ## :package: Installation
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
- ## :sparkles: Usage
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
- ## :link: Links
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
+ [![teaser.png](https://raw.githubusercontent.com/polakowo/vectorbt/master/apps/candlestick-patterns/assets/teaser.png)](https://github.com/polakowo/vectorbt/blob/master/apps/candlestick-patterns/)
318
+
319
+ ## Links
290
320
 
291
321
  * [Website](https://vectorbt.dev/)
292
- * [Colab Notebook](https://colab.research.google.com/drive/1ibqyrf6LPFlzRb6mkPpl3hxqL6ryNBXI?usp=sharing)
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
- ## :balance_scale: License
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
- ## :star: Star History
335
+ ## Star history
305
336
 
306
337
  [![Star History Chart](https://api.star-history.com/svg?repos=polakowo/vectorbt&type=Timeline)](https://star-history.com/#polakowo/vectorbt&Timeline)
307
338
 
308
- ## :warning: Disclaimer
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
- > [!TIP]
45
- > *New in 0.28*:
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
- ## :package: Installation
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
- ## :sparkles: Usage
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
- ## :link: Links
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
+ [![teaser.png](https://raw.githubusercontent.com/polakowo/vectorbt/master/apps/candlestick-patterns/assets/teaser.png)](https://github.com/polakowo/vectorbt/blob/master/apps/candlestick-patterns/)
247
+
248
+ ## Links
224
249
 
225
250
  * [Website](https://vectorbt.dev/)
226
- * [Colab Notebook](https://colab.research.google.com/drive/1ibqyrf6LPFlzRb6mkPpl3hxqL6ryNBXI?usp=sharing)
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
- ## :balance_scale: License
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
- ## :star: Star History
264
+ ## Star history
239
265
 
240
266
  [![Star History Chart](https://api.star-history.com/svg?repos=polakowo/vectorbt&type=Timeline)](https://star-history.com/#polakowo/vectorbt&Timeline)
241
267
 
242
- ## :warning: Disclaimer
268
+ ## Disclaimer
243
269
 
244
270
  This software is for educational purposes only. Do not risk money you cannot afford to lose.
245
271
 
@@ -76,6 +76,12 @@ cov = [
76
76
  "pytest-xdist",
77
77
  "codecov",
78
78
  ]
79
+ docs = [
80
+ "mkdocs-material",
81
+ "mkdocs-minify-plugin",
82
+ "ruamel.yaml",
83
+ "mako"
84
+ ]
79
85
 
80
86
  [project.urls]
81
87
  Homepage = "https://github.com/polakowo/vectorbt"
@@ -0,0 +1,9 @@
1
+ from setuptools import setup
2
+
3
+
4
+ def main():
5
+ setup()
6
+
7
+
8
+ if __name__ == "__main__":
9
+ main()