vectorbt 0.27.2__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.
- {vectorbt-0.27.2/vectorbt.egg-info → vectorbt-0.28.0}/PKG-INFO +3 -2
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/_version.py +1 -1
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/data/custom.py +5 -1
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/messaging/__init__.py +11 -2
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/messaging/telegram.py +10 -0
- vectorbt-0.28.0/vectorbt/templates/dark.json +762 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/templates/light.json +0 -51
- {vectorbt-0.27.2 → vectorbt-0.28.0/vectorbt.egg-info}/PKG-INFO +3 -2
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt.egg-info/SOURCES.txt +1 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/LICENSE.md +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/MANIFEST.in +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/README.md +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/setup.cfg +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/setup.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_base.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_data.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_generic.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_indicators.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_labels.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_portfolio.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_records.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_returns.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_settings.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_signals.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/test_utils.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/tests/utils.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/_settings.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/_typing.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/accessors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/array_wrapper.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/column_grouper.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/combine_fns.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/index_fns.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/indexing.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/base/reshape_fns.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/data/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/data/base.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/data/updater.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/accessors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/decorators.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/drawdowns.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/enums.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/nb.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/plots_builder.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/plotting.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/ranges.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/splitters.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/generic/stats_builder.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/indicators/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/indicators/basic.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/indicators/configs.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/indicators/factory.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/indicators/nb.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/labels/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/labels/enums.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/labels/generators.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/labels/nb.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/ohlcv_accessors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/base.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/decorators.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/enums.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/logs.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/nb.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/orders.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/portfolio/trades.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/px_accessors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/records/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/records/base.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/records/col_mapper.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/records/decorators.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/records/mapped_array.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/records/nb.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/returns/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/returns/accessors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/returns/metrics.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/returns/nb.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/returns/qs_adapter.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/root_accessors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/signals/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/signals/accessors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/signals/enums.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/signals/factory.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/signals/generators.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/signals/nb.py +0 -0
- /vectorbt-0.27.2/vectorbt/templates/dark.json → /vectorbt-0.28.0/vectorbt/templates/.ipynb_checkpoints/dark-checkpoint.json +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/templates/seaborn.json +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/__init__.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/array_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/attr_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/checks.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/colors.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/config.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/datetime_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/decorators.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/docs.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/enum_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/figure.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/image_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/mapping.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/math_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/module_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/params.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/random_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/requests_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/schedule_.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/tags.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt/utils/template.py +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt.egg-info/dependency_links.txt +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt.egg-info/requires.txt +0 -0
- {vectorbt-0.27.2 → vectorbt-0.28.0}/vectorbt.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: vectorbt
|
|
3
|
-
Version: 0.
|
|
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
|
|
@@ -76,6 +76,7 @@ Dynamic: description
|
|
|
76
76
|
Dynamic: description-content-type
|
|
77
77
|
Dynamic: home-page
|
|
78
78
|
Dynamic: license
|
|
79
|
+
Dynamic: license-file
|
|
79
80
|
Dynamic: provides-extra
|
|
80
81
|
Dynamic: requires-dist
|
|
81
82
|
Dynamic: requires-python
|
|
@@ -249,6 +249,7 @@ class YFData(Data):
|
|
|
249
249
|
period: str = 'max',
|
|
250
250
|
start: tp.Optional[tp.DatetimeLike] = None,
|
|
251
251
|
end: tp.Optional[tp.DatetimeLike] = None,
|
|
252
|
+
ticker_kwargs: tp.KwargsLike = None,
|
|
252
253
|
**kwargs) -> tp.Frame:
|
|
253
254
|
"""Download the symbol.
|
|
254
255
|
|
|
@@ -261,6 +262,7 @@ class YFData(Data):
|
|
|
261
262
|
end (any): End datetime.
|
|
262
263
|
|
|
263
264
|
See `vectorbt.utils.datetime_.to_tzaware_datetime`.
|
|
265
|
+
ticker_kwargs (dict): Keyword arguments passed to `yfinance.ticker.Ticker`.
|
|
264
266
|
**kwargs: Keyword arguments passed to `yfinance.base.TickerBase.history`.
|
|
265
267
|
"""
|
|
266
268
|
import yfinance as yf
|
|
@@ -271,7 +273,9 @@ class YFData(Data):
|
|
|
271
273
|
if end is not None:
|
|
272
274
|
end = to_tzaware_datetime(end, tz=get_local_tz())
|
|
273
275
|
|
|
274
|
-
|
|
276
|
+
if ticker_kwargs is None:
|
|
277
|
+
ticker_kwargs = {}
|
|
278
|
+
return yf.Ticker(symbol, **ticker_kwargs).history(period=period, start=start, end=end, **kwargs)
|
|
275
279
|
|
|
276
280
|
def update_symbol(self, symbol: tp.Label, **kwargs) -> tp.Frame:
|
|
277
281
|
"""Update the symbol.
|
|
@@ -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
|
-
|
|
15
|
+
try:
|
|
16
|
+
from telegram import __version_info__
|
|
17
|
+
except ImportError:
|
|
18
|
+
__version_info__ = (0, 0)
|
|
15
19
|
|
|
16
|
-
|
|
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 (
|