vectorbt 0.27.3__tar.gz → 0.28.0__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.27.3/vectorbt.egg-info → vectorbt-0.28.0}/PKG-INFO +1 -1
  2. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/_version.py +1 -1
  3. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/messaging/__init__.py +11 -2
  4. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/messaging/telegram.py +10 -0
  5. vectorbt-0.28.0/vectorbt/templates/dark.json +762 -0
  6. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/templates/light.json +0 -51
  7. {vectorbt-0.27.3 → vectorbt-0.28.0/vectorbt.egg-info}/PKG-INFO +1 -1
  8. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt.egg-info/SOURCES.txt +1 -0
  9. {vectorbt-0.27.3 → vectorbt-0.28.0}/LICENSE.md +0 -0
  10. {vectorbt-0.27.3 → vectorbt-0.28.0}/MANIFEST.in +0 -0
  11. {vectorbt-0.27.3 → vectorbt-0.28.0}/README.md +0 -0
  12. {vectorbt-0.27.3 → vectorbt-0.28.0}/setup.cfg +0 -0
  13. {vectorbt-0.27.3 → vectorbt-0.28.0}/setup.py +0 -0
  14. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/__init__.py +0 -0
  15. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_base.py +0 -0
  16. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_data.py +0 -0
  17. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_generic.py +0 -0
  18. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_indicators.py +0 -0
  19. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_labels.py +0 -0
  20. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_portfolio.py +0 -0
  21. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_records.py +0 -0
  22. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_returns.py +0 -0
  23. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_settings.py +0 -0
  24. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_signals.py +0 -0
  25. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/test_utils.py +0 -0
  26. {vectorbt-0.27.3 → vectorbt-0.28.0}/tests/utils.py +0 -0
  27. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/__init__.py +0 -0
  28. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/_settings.py +0 -0
  29. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/_typing.py +0 -0
  30. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/__init__.py +0 -0
  31. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/accessors.py +0 -0
  32. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/array_wrapper.py +0 -0
  33. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/column_grouper.py +0 -0
  34. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/combine_fns.py +0 -0
  35. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/index_fns.py +0 -0
  36. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/indexing.py +0 -0
  37. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/base/reshape_fns.py +0 -0
  38. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/data/__init__.py +0 -0
  39. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/data/base.py +0 -0
  40. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/data/custom.py +0 -0
  41. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/data/updater.py +0 -0
  42. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/__init__.py +0 -0
  43. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/accessors.py +0 -0
  44. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/decorators.py +0 -0
  45. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/drawdowns.py +0 -0
  46. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/enums.py +0 -0
  47. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/nb.py +0 -0
  48. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/plots_builder.py +0 -0
  49. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/plotting.py +0 -0
  50. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/ranges.py +0 -0
  51. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/splitters.py +0 -0
  52. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/generic/stats_builder.py +0 -0
  53. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/indicators/__init__.py +0 -0
  54. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/indicators/basic.py +0 -0
  55. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/indicators/configs.py +0 -0
  56. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/indicators/factory.py +0 -0
  57. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/indicators/nb.py +0 -0
  58. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/labels/__init__.py +0 -0
  59. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/labels/enums.py +0 -0
  60. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/labels/generators.py +0 -0
  61. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/labels/nb.py +0 -0
  62. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/ohlcv_accessors.py +0 -0
  63. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/__init__.py +0 -0
  64. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/base.py +0 -0
  65. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/decorators.py +0 -0
  66. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/enums.py +0 -0
  67. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/logs.py +0 -0
  68. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/nb.py +0 -0
  69. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/orders.py +0 -0
  70. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/portfolio/trades.py +0 -0
  71. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/px_accessors.py +0 -0
  72. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/records/__init__.py +0 -0
  73. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/records/base.py +0 -0
  74. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/records/col_mapper.py +0 -0
  75. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/records/decorators.py +0 -0
  76. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/records/mapped_array.py +0 -0
  77. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/records/nb.py +0 -0
  78. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/returns/__init__.py +0 -0
  79. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/returns/accessors.py +0 -0
  80. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/returns/metrics.py +0 -0
  81. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/returns/nb.py +0 -0
  82. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/returns/qs_adapter.py +0 -0
  83. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/root_accessors.py +0 -0
  84. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/signals/__init__.py +0 -0
  85. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/signals/accessors.py +0 -0
  86. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/signals/enums.py +0 -0
  87. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/signals/factory.py +0 -0
  88. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/signals/generators.py +0 -0
  89. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/signals/nb.py +0 -0
  90. /vectorbt-0.27.3/vectorbt/templates/dark.json → /vectorbt-0.28.0/vectorbt/templates/.ipynb_checkpoints/dark-checkpoint.json +0 -0
  91. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/templates/seaborn.json +0 -0
  92. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/__init__.py +0 -0
  93. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/array_.py +0 -0
  94. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/attr_.py +0 -0
  95. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/checks.py +0 -0
  96. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/colors.py +0 -0
  97. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/config.py +0 -0
  98. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/datetime_.py +0 -0
  99. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/decorators.py +0 -0
  100. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/docs.py +0 -0
  101. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/enum_.py +0 -0
  102. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/figure.py +0 -0
  103. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/image_.py +0 -0
  104. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/mapping.py +0 -0
  105. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/math_.py +0 -0
  106. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/module_.py +0 -0
  107. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/params.py +0 -0
  108. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/random_.py +0 -0
  109. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/requests_.py +0 -0
  110. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/schedule_.py +0 -0
  111. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/tags.py +0 -0
  112. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt/utils/template.py +0 -0
  113. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt.egg-info/dependency_links.txt +0 -0
  114. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt.egg-info/requires.txt +0 -0
  115. {vectorbt-0.27.3 → vectorbt-0.28.0}/vectorbt.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vectorbt
3
- Version: 0.27.3
3
+ Version: 0.28.0
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
@@ -1,4 +1,4 @@
1
1
  # Copyright (c) 2021 Oleg Polakow. All rights reserved.
2
2
  # This code is licensed under Apache 2.0 with Commons Clause license (see LICENSE.md for details)
3
3
 
4
- __version__ = "0.27.3"
4
+ __version__ = "0.28.0"
@@ -8,11 +8,20 @@ __blacklist__ = []
8
8
 
9
9
  try:
10
10
  import telegram
11
+ del telegram
11
12
  except ImportError:
12
13
  __blacklist__.append('telegram')
13
14
  else:
14
- from vectorbt.messaging.telegram import TelegramBot
15
+ try:
16
+ from telegram import __version_info__
17
+ except ImportError:
18
+ __version_info__ = (0, 0)
15
19
 
16
- __all__.append('TelegramBot')
20
+ if __version_info__ >= (20, 0):
21
+ __blacklist__.append('telegram')
22
+ else:
23
+ from vectorbt.messaging.telegram import TelegramBot
24
+
25
+ __all__.append('TelegramBot')
17
26
 
18
27
  __pdoc__ = {k: False for k in __all__}
@@ -6,6 +6,16 @@
6
6
  import logging
7
7
  from functools import wraps
8
8
 
9
+ from telegram import __version__ as TG_VER
10
+
11
+ try:
12
+ from telegram import __version_info__
13
+ except ImportError:
14
+ __version_info__ = (0, 0)
15
+
16
+ if __version_info__ >= (20, 0):
17
+ raise RuntimeError(f"This implementation is not compatible with telegram version {TG_VER}")
18
+
9
19
  from telegram import Update
10
20
  from telegram.error import Unauthorized, ChatMigrated
11
21
  from telegram.ext import (
@@ -0,0 +1,762 @@
1
+ {
2
+ "data": {
3
+ "histogram2dcontour": [
4
+ {
5
+ "type": "histogram2dcontour",
6
+ "colorbar": {
7
+ "outlinewidth": 0,
8
+ "ticks": ""
9
+ },
10
+ "colorscale": [
11
+ [
12
+ 0.0,
13
+ "#0d0887"
14
+ ],
15
+ [
16
+ 0.1111111111111111,
17
+ "#46039f"
18
+ ],
19
+ [
20
+ 0.2222222222222222,
21
+ "#7201a8"
22
+ ],
23
+ [
24
+ 0.3333333333333333,
25
+ "#9c179e"
26
+ ],
27
+ [
28
+ 0.4444444444444444,
29
+ "#bd3786"
30
+ ],
31
+ [
32
+ 0.5555555555555556,
33
+ "#d8576b"
34
+ ],
35
+ [
36
+ 0.6666666666666666,
37
+ "#ed7953"
38
+ ],
39
+ [
40
+ 0.7777777777777778,
41
+ "#fb9f3a"
42
+ ],
43
+ [
44
+ 0.8888888888888888,
45
+ "#fdca26"
46
+ ],
47
+ [
48
+ 1.0,
49
+ "#f0f921"
50
+ ]
51
+ ]
52
+ }
53
+ ],
54
+ "choropleth": [
55
+ {
56
+ "type": "choropleth",
57
+ "colorbar": {
58
+ "outlinewidth": 0,
59
+ "ticks": ""
60
+ }
61
+ }
62
+ ],
63
+ "histogram2d": [
64
+ {
65
+ "type": "histogram2d",
66
+ "colorbar": {
67
+ "outlinewidth": 0,
68
+ "ticks": ""
69
+ },
70
+ "colorscale": [
71
+ [
72
+ 0.0,
73
+ "#0d0887"
74
+ ],
75
+ [
76
+ 0.1111111111111111,
77
+ "#46039f"
78
+ ],
79
+ [
80
+ 0.2222222222222222,
81
+ "#7201a8"
82
+ ],
83
+ [
84
+ 0.3333333333333333,
85
+ "#9c179e"
86
+ ],
87
+ [
88
+ 0.4444444444444444,
89
+ "#bd3786"
90
+ ],
91
+ [
92
+ 0.5555555555555556,
93
+ "#d8576b"
94
+ ],
95
+ [
96
+ 0.6666666666666666,
97
+ "#ed7953"
98
+ ],
99
+ [
100
+ 0.7777777777777778,
101
+ "#fb9f3a"
102
+ ],
103
+ [
104
+ 0.8888888888888888,
105
+ "#fdca26"
106
+ ],
107
+ [
108
+ 1.0,
109
+ "#f0f921"
110
+ ]
111
+ ]
112
+ }
113
+ ],
114
+ "heatmap": [
115
+ {
116
+ "type": "heatmap",
117
+ "colorbar": {
118
+ "outlinewidth": 0,
119
+ "ticks": ""
120
+ },
121
+ "colorscale": [
122
+ [
123
+ 0.0,
124
+ "#0d0887"
125
+ ],
126
+ [
127
+ 0.1111111111111111,
128
+ "#46039f"
129
+ ],
130
+ [
131
+ 0.2222222222222222,
132
+ "#7201a8"
133
+ ],
134
+ [
135
+ 0.3333333333333333,
136
+ "#9c179e"
137
+ ],
138
+ [
139
+ 0.4444444444444444,
140
+ "#bd3786"
141
+ ],
142
+ [
143
+ 0.5555555555555556,
144
+ "#d8576b"
145
+ ],
146
+ [
147
+ 0.6666666666666666,
148
+ "#ed7953"
149
+ ],
150
+ [
151
+ 0.7777777777777778,
152
+ "#fb9f3a"
153
+ ],
154
+ [
155
+ 0.8888888888888888,
156
+ "#fdca26"
157
+ ],
158
+ [
159
+ 1.0,
160
+ "#f0f921"
161
+ ]
162
+ ]
163
+ }
164
+ ],
165
+ "contourcarpet": [
166
+ {
167
+ "type": "contourcarpet",
168
+ "colorbar": {
169
+ "outlinewidth": 0,
170
+ "ticks": ""
171
+ }
172
+ }
173
+ ],
174
+ "contour": [
175
+ {
176
+ "type": "contour",
177
+ "colorbar": {
178
+ "outlinewidth": 0,
179
+ "ticks": ""
180
+ },
181
+ "colorscale": [
182
+ [
183
+ 0.0,
184
+ "#0d0887"
185
+ ],
186
+ [
187
+ 0.1111111111111111,
188
+ "#46039f"
189
+ ],
190
+ [
191
+ 0.2222222222222222,
192
+ "#7201a8"
193
+ ],
194
+ [
195
+ 0.3333333333333333,
196
+ "#9c179e"
197
+ ],
198
+ [
199
+ 0.4444444444444444,
200
+ "#bd3786"
201
+ ],
202
+ [
203
+ 0.5555555555555556,
204
+ "#d8576b"
205
+ ],
206
+ [
207
+ 0.6666666666666666,
208
+ "#ed7953"
209
+ ],
210
+ [
211
+ 0.7777777777777778,
212
+ "#fb9f3a"
213
+ ],
214
+ [
215
+ 0.8888888888888888,
216
+ "#fdca26"
217
+ ],
218
+ [
219
+ 1.0,
220
+ "#f0f921"
221
+ ]
222
+ ]
223
+ }
224
+ ],
225
+ "surface": [
226
+ {
227
+ "type": "surface",
228
+ "colorbar": {
229
+ "outlinewidth": 0,
230
+ "ticks": ""
231
+ },
232
+ "colorscale": [
233
+ [
234
+ 0.0,
235
+ "#0d0887"
236
+ ],
237
+ [
238
+ 0.1111111111111111,
239
+ "#46039f"
240
+ ],
241
+ [
242
+ 0.2222222222222222,
243
+ "#7201a8"
244
+ ],
245
+ [
246
+ 0.3333333333333333,
247
+ "#9c179e"
248
+ ],
249
+ [
250
+ 0.4444444444444444,
251
+ "#bd3786"
252
+ ],
253
+ [
254
+ 0.5555555555555556,
255
+ "#d8576b"
256
+ ],
257
+ [
258
+ 0.6666666666666666,
259
+ "#ed7953"
260
+ ],
261
+ [
262
+ 0.7777777777777778,
263
+ "#fb9f3a"
264
+ ],
265
+ [
266
+ 0.8888888888888888,
267
+ "#fdca26"
268
+ ],
269
+ [
270
+ 1.0,
271
+ "#f0f921"
272
+ ]
273
+ ]
274
+ }
275
+ ],
276
+ "mesh3d": [
277
+ {
278
+ "type": "mesh3d",
279
+ "colorbar": {
280
+ "outlinewidth": 0,
281
+ "ticks": ""
282
+ }
283
+ }
284
+ ],
285
+ "scatter": [
286
+ {
287
+ "marker": {
288
+ "line": {
289
+ "color": "#2f3e4e"
290
+ }
291
+ },
292
+ "type": "scatter"
293
+ }
294
+ ],
295
+ "parcoords": [
296
+ {
297
+ "type": "parcoords",
298
+ "line": {
299
+ "colorbar": {
300
+ "outlinewidth": 0,
301
+ "ticks": ""
302
+ }
303
+ }
304
+ }
305
+ ],
306
+ "scatterpolargl": [
307
+ {
308
+ "type": "scatterpolargl",
309
+ "marker": {
310
+ "colorbar": {
311
+ "outlinewidth": 0,
312
+ "ticks": ""
313
+ }
314
+ }
315
+ }
316
+ ],
317
+ "bar": [
318
+ {
319
+ "error_x": {
320
+ "color": "#d6dfef"
321
+ },
322
+ "error_y": {
323
+ "color": "#d6dfef"
324
+ },
325
+ "marker": {
326
+ "line": {
327
+ "color": "#1f2536",
328
+ "width": 0.5
329
+ }
330
+ },
331
+ "type": "bar"
332
+ }
333
+ ],
334
+ "scattergeo": [
335
+ {
336
+ "type": "scattergeo",
337
+ "marker": {
338
+ "colorbar": {
339
+ "outlinewidth": 0,
340
+ "ticks": ""
341
+ }
342
+ }
343
+ }
344
+ ],
345
+ "scatterpolar": [
346
+ {
347
+ "type": "scatterpolar",
348
+ "marker": {
349
+ "colorbar": {
350
+ "outlinewidth": 0,
351
+ "ticks": ""
352
+ }
353
+ }
354
+ }
355
+ ],
356
+ "histogram": [
357
+ {
358
+ "type": "histogram",
359
+ "marker": {
360
+ "colorbar": {
361
+ "outlinewidth": 0,
362
+ "ticks": ""
363
+ }
364
+ }
365
+ }
366
+ ],
367
+ "scattergl": [
368
+ {
369
+ "marker": {
370
+ "line": {
371
+ "color": "#2f3e4e"
372
+ }
373
+ },
374
+ "type": "scattergl"
375
+ }
376
+ ],
377
+ "scatter3d": [
378
+ {
379
+ "type": "scatter3d",
380
+ "line": {
381
+ "colorbar": {
382
+ "outlinewidth": 0,
383
+ "ticks": ""
384
+ }
385
+ },
386
+ "marker": {
387
+ "colorbar": {
388
+ "outlinewidth": 0,
389
+ "ticks": ""
390
+ }
391
+ }
392
+ }
393
+ ],
394
+ "scattermapbox": [
395
+ {
396
+ "type": "scattermapbox",
397
+ "marker": {
398
+ "colorbar": {
399
+ "outlinewidth": 0,
400
+ "ticks": ""
401
+ }
402
+ }
403
+ }
404
+ ],
405
+ "scatterternary": [
406
+ {
407
+ "type": "scatterternary",
408
+ "marker": {
409
+ "colorbar": {
410
+ "outlinewidth": 0,
411
+ "ticks": ""
412
+ }
413
+ }
414
+ }
415
+ ],
416
+ "scattercarpet": [
417
+ {
418
+ "type": "scattercarpet",
419
+ "marker": {
420
+ "colorbar": {
421
+ "outlinewidth": 0,
422
+ "ticks": ""
423
+ }
424
+ }
425
+ }
426
+ ],
427
+ "carpet": [
428
+ {
429
+ "aaxis": {
430
+ "endlinecolor": "#A2B1C6",
431
+ "gridcolor": "#323b56",
432
+ "linecolor": "#323b56",
433
+ "minorgridcolor": "#323b56",
434
+ "startlinecolor": "#A2B1C6"
435
+ },
436
+ "baxis": {
437
+ "endlinecolor": "#A2B1C6",
438
+ "gridcolor": "#323b56",
439
+ "linecolor": "#323b56",
440
+ "minorgridcolor": "#323b56",
441
+ "startlinecolor": "#A2B1C6"
442
+ },
443
+ "type": "carpet"
444
+ }
445
+ ],
446
+ "table": [
447
+ {
448
+ "cells": {
449
+ "fill": {
450
+ "color": "#323b56"
451
+ },
452
+ "line": {
453
+ "color": "#1f2536"
454
+ }
455
+ },
456
+ "header": {
457
+ "fill": {
458
+ "color": "#2a3f5f"
459
+ },
460
+ "line": {
461
+ "color": "#1f2536"
462
+ }
463
+ },
464
+ "type": "table"
465
+ }
466
+ ],
467
+ "barpolar": [
468
+ {
469
+ "marker": {
470
+ "line": {
471
+ "color": "#1f2536",
472
+ "width": 0.5
473
+ }
474
+ },
475
+ "type": "barpolar"
476
+ }
477
+ ],
478
+ "pie": [
479
+ {
480
+ "automargin": true,
481
+ "type": "pie"
482
+ }
483
+ ]
484
+ },
485
+ "layout": {
486
+ "colorway": [
487
+ "#1f77b4",
488
+ "#ff7f0e",
489
+ "#2ca02c",
490
+ "#dc3912",
491
+ "#9467bd",
492
+ "#8c564b",
493
+ "#e377c2",
494
+ "#7f7f7f",
495
+ "#bcbd22",
496
+ "#17becf"
497
+ ],
498
+ "font": {
499
+ "color": "#d6dfef"
500
+ },
501
+ "hovermode": "closest",
502
+ "hoverlabel": {
503
+ "align": "left"
504
+ },
505
+ "paper_bgcolor": "#1f2536",
506
+ "plot_bgcolor": "#1f2536",
507
+ "polar": {
508
+ "bgcolor": "#1f2536",
509
+ "angularaxis": {
510
+ "gridcolor": "#323b56",
511
+ "linecolor": "#323b56",
512
+ "ticks": ""
513
+ },
514
+ "radialaxis": {
515
+ "gridcolor": "#323b56",
516
+ "linecolor": "#323b56",
517
+ "ticks": ""
518
+ }
519
+ },
520
+ "ternary": {
521
+ "bgcolor": "#1f2536",
522
+ "aaxis": {
523
+ "gridcolor": "#323b56",
524
+ "linecolor": "#323b56",
525
+ "ticks": ""
526
+ },
527
+ "baxis": {
528
+ "gridcolor": "#323b56",
529
+ "linecolor": "#323b56",
530
+ "ticks": ""
531
+ },
532
+ "caxis": {
533
+ "gridcolor": "#323b56",
534
+ "linecolor": "#323b56",
535
+ "ticks": ""
536
+ }
537
+ },
538
+ "coloraxis": {
539
+ "colorbar": {
540
+ "outlinewidth": 0,
541
+ "ticks": ""
542
+ }
543
+ },
544
+ "colorscale": {
545
+ "sequential": [
546
+ [
547
+ 0.0,
548
+ "#0d0887"
549
+ ],
550
+ [
551
+ 0.1111111111111111,
552
+ "#46039f"
553
+ ],
554
+ [
555
+ 0.2222222222222222,
556
+ "#7201a8"
557
+ ],
558
+ [
559
+ 0.3333333333333333,
560
+ "#9c179e"
561
+ ],
562
+ [
563
+ 0.4444444444444444,
564
+ "#bd3786"
565
+ ],
566
+ [
567
+ 0.5555555555555556,
568
+ "#d8576b"
569
+ ],
570
+ [
571
+ 0.6666666666666666,
572
+ "#ed7953"
573
+ ],
574
+ [
575
+ 0.7777777777777778,
576
+ "#fb9f3a"
577
+ ],
578
+ [
579
+ 0.8888888888888888,
580
+ "#fdca26"
581
+ ],
582
+ [
583
+ 1.0,
584
+ "#f0f921"
585
+ ]
586
+ ],
587
+ "sequentialminus": [
588
+ [
589
+ 0.0,
590
+ "#0d0887"
591
+ ],
592
+ [
593
+ 0.1111111111111111,
594
+ "#46039f"
595
+ ],
596
+ [
597
+ 0.2222222222222222,
598
+ "#7201a8"
599
+ ],
600
+ [
601
+ 0.3333333333333333,
602
+ "#9c179e"
603
+ ],
604
+ [
605
+ 0.4444444444444444,
606
+ "#bd3786"
607
+ ],
608
+ [
609
+ 0.5555555555555556,
610
+ "#d8576b"
611
+ ],
612
+ [
613
+ 0.6666666666666666,
614
+ "#ed7953"
615
+ ],
616
+ [
617
+ 0.7777777777777778,
618
+ "#fb9f3a"
619
+ ],
620
+ [
621
+ 0.8888888888888888,
622
+ "#fdca26"
623
+ ],
624
+ [
625
+ 1.0,
626
+ "#f0f921"
627
+ ]
628
+ ],
629
+ "diverging": [
630
+ [
631
+ 0,
632
+ "#8e0152"
633
+ ],
634
+ [
635
+ 0.1,
636
+ "#c51b7d"
637
+ ],
638
+ [
639
+ 0.2,
640
+ "#de77ae"
641
+ ],
642
+ [
643
+ 0.3,
644
+ "#f1b6da"
645
+ ],
646
+ [
647
+ 0.4,
648
+ "#fde0ef"
649
+ ],
650
+ [
651
+ 0.5,
652
+ "#f7f7f7"
653
+ ],
654
+ [
655
+ 0.6,
656
+ "#e6f5d0"
657
+ ],
658
+ [
659
+ 0.7,
660
+ "#b8e186"
661
+ ],
662
+ [
663
+ 0.8,
664
+ "#7fbc41"
665
+ ],
666
+ [
667
+ 0.9,
668
+ "#4d9221"
669
+ ],
670
+ [
671
+ 1,
672
+ "#276419"
673
+ ]
674
+ ]
675
+ },
676
+ "xaxis": {
677
+ "gridcolor": "#2f3e4e",
678
+ "linecolor": "#323b56",
679
+ "ticks": "",
680
+ "title": {
681
+ "standoff": 15
682
+ },
683
+ "zerolinecolor": "#2f3e4e",
684
+ "automargin": true,
685
+ "zerolinewidth": 2
686
+ },
687
+ "yaxis": {
688
+ "gridcolor": "#2f3e4e",
689
+ "linecolor": "#323b56",
690
+ "ticks": "",
691
+ "title": {
692
+ "standoff": 15
693
+ },
694
+ "zerolinecolor": "#2f3e4e",
695
+ "automargin": true,
696
+ "zerolinewidth": 2
697
+ },
698
+ "scene": {
699
+ "xaxis": {
700
+ "backgroundcolor": "#1f2536",
701
+ "gridcolor": "#323b56",
702
+ "linecolor": "#323b56",
703
+ "showbackground": true,
704
+ "ticks": "",
705
+ "zerolinecolor": "#aec0d6",
706
+ "gridwidth": 2
707
+ },
708
+ "yaxis": {
709
+ "backgroundcolor": "#1f2536",
710
+ "gridcolor": "#323b56",
711
+ "linecolor": "#323b56",
712
+ "showbackground": true,
713
+ "ticks": "",
714
+ "zerolinecolor": "#aec0d6",
715
+ "gridwidth": 2
716
+ },
717
+ "zaxis": {
718
+ "backgroundcolor": "#1f2536",
719
+ "gridcolor": "#323b56",
720
+ "linecolor": "#323b56",
721
+ "showbackground": true,
722
+ "ticks": "",
723
+ "zerolinecolor": "#aec0d6",
724
+ "gridwidth": 2
725
+ }
726
+ },
727
+ "shapedefaults": {
728
+ "line": {
729
+ "color": "#d6dfef"
730
+ }
731
+ },
732
+ "annotationdefaults": {
733
+ "arrowcolor": "#d6dfef",
734
+ "arrowhead": 0,
735
+ "arrowwidth": 1
736
+ },
737
+ "geo": {
738
+ "bgcolor": "#1f2536",
739
+ "landcolor": "#1f2536",
740
+ "subunitcolor": "#323b56",
741
+ "showland": true,
742
+ "showlakes": true,
743
+ "lakecolor": "#1f2536"
744
+ },
745
+ "title": {
746
+ "x": 0.05
747
+ },
748
+ "updatemenudefaults": {
749
+ "bgcolor": "#323b56",
750
+ "borderwidth": 0
751
+ },
752
+ "sliderdefaults": {
753
+ "bgcolor": "#aec0d6",
754
+ "borderwidth": 1,
755
+ "bordercolor": "#1f2536",
756
+ "tickwidth": 0
757
+ },
758
+ "mapbox": {
759
+ "style": "dark"
760
+ }
761
+ }
762
+ }
@@ -162,57 +162,6 @@
162
162
  ]
163
163
  }
164
164
  ],
165
- "heatmapgl": [
166
- {
167
- "type": "heatmapgl",
168
- "colorbar": {
169
- "outlinewidth": 0,
170
- "ticks": ""
171
- },
172
- "colorscale": [
173
- [
174
- 0.0,
175
- "#0d0887"
176
- ],
177
- [
178
- 0.1111111111111111,
179
- "#46039f"
180
- ],
181
- [
182
- 0.2222222222222222,
183
- "#7201a8"
184
- ],
185
- [
186
- 0.3333333333333333,
187
- "#9c179e"
188
- ],
189
- [
190
- 0.4444444444444444,
191
- "#bd3786"
192
- ],
193
- [
194
- 0.5555555555555556,
195
- "#d8576b"
196
- ],
197
- [
198
- 0.6666666666666666,
199
- "#ed7953"
200
- ],
201
- [
202
- 0.7777777777777778,
203
- "#fb9f3a"
204
- ],
205
- [
206
- 0.8888888888888888,
207
- "#fdca26"
208
- ],
209
- [
210
- 1.0,
211
- "#f0f921"
212
- ]
213
- ]
214
- }
215
- ],
216
165
  "contourcarpet": [
217
166
  {
218
167
  "type": "contourcarpet",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vectorbt
3
- Version: 0.27.3
3
+ Version: 0.28.0
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
@@ -89,6 +89,7 @@ vectorbt/signals/nb.py
89
89
  vectorbt/templates/dark.json
90
90
  vectorbt/templates/light.json
91
91
  vectorbt/templates/seaborn.json
92
+ vectorbt/templates/.ipynb_checkpoints/dark-checkpoint.json
92
93
  vectorbt/utils/__init__.py
93
94
  vectorbt/utils/array_.py
94
95
  vectorbt/utils/attr_.py
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