vectorbt 0.28.1__tar.gz → 0.28.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.
Files changed (115) hide show
  1. {vectorbt-0.28.1/vectorbt.egg-info → vectorbt-0.28.2}/PKG-INFO +3 -3
  2. {vectorbt-0.28.1 → vectorbt-0.28.2}/setup.py +2 -2
  3. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_indicators.py +4 -1
  4. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/_version.py +1 -1
  5. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/indicators/factory.py +9 -3
  6. {vectorbt-0.28.1 → vectorbt-0.28.2/vectorbt.egg-info}/PKG-INFO +3 -3
  7. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt.egg-info/requires.txt +2 -2
  8. {vectorbt-0.28.1 → vectorbt-0.28.2}/LICENSE.md +0 -0
  9. {vectorbt-0.28.1 → vectorbt-0.28.2}/MANIFEST.in +0 -0
  10. {vectorbt-0.28.1 → vectorbt-0.28.2}/README.md +0 -0
  11. {vectorbt-0.28.1 → vectorbt-0.28.2}/setup.cfg +0 -0
  12. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/__init__.py +0 -0
  13. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_base.py +0 -0
  14. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_data.py +0 -0
  15. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_generic.py +0 -0
  16. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_labels.py +0 -0
  17. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_portfolio.py +0 -0
  18. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_records.py +0 -0
  19. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_returns.py +0 -0
  20. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_settings.py +0 -0
  21. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_signals.py +0 -0
  22. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/test_utils.py +0 -0
  23. {vectorbt-0.28.1 → vectorbt-0.28.2}/tests/utils.py +0 -0
  24. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/__init__.py +0 -0
  25. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/_settings.py +0 -0
  26. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/_typing.py +0 -0
  27. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/__init__.py +0 -0
  28. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/accessors.py +0 -0
  29. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/array_wrapper.py +0 -0
  30. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/column_grouper.py +0 -0
  31. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/combine_fns.py +0 -0
  32. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/index_fns.py +0 -0
  33. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/indexing.py +0 -0
  34. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/base/reshape_fns.py +0 -0
  35. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/data/__init__.py +0 -0
  36. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/data/base.py +0 -0
  37. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/data/custom.py +0 -0
  38. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/data/updater.py +0 -0
  39. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/__init__.py +0 -0
  40. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/accessors.py +0 -0
  41. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/decorators.py +0 -0
  42. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/drawdowns.py +0 -0
  43. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/enums.py +0 -0
  44. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/nb.py +0 -0
  45. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/plots_builder.py +0 -0
  46. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/plotting.py +0 -0
  47. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/ranges.py +0 -0
  48. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/splitters.py +0 -0
  49. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/generic/stats_builder.py +0 -0
  50. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/indicators/__init__.py +0 -0
  51. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/indicators/basic.py +0 -0
  52. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/indicators/configs.py +0 -0
  53. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/indicators/nb.py +0 -0
  54. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/labels/__init__.py +0 -0
  55. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/labels/enums.py +0 -0
  56. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/labels/generators.py +0 -0
  57. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/labels/nb.py +0 -0
  58. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/messaging/__init__.py +0 -0
  59. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/messaging/telegram.py +0 -0
  60. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/ohlcv_accessors.py +0 -0
  61. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/__init__.py +0 -0
  62. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/base.py +0 -0
  63. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/decorators.py +0 -0
  64. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/enums.py +0 -0
  65. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/logs.py +0 -0
  66. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/nb.py +0 -0
  67. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/orders.py +0 -0
  68. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/portfolio/trades.py +0 -0
  69. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/px_accessors.py +0 -0
  70. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/records/__init__.py +0 -0
  71. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/records/base.py +0 -0
  72. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/records/col_mapper.py +0 -0
  73. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/records/decorators.py +0 -0
  74. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/records/mapped_array.py +0 -0
  75. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/records/nb.py +0 -0
  76. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/returns/__init__.py +0 -0
  77. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/returns/accessors.py +0 -0
  78. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/returns/metrics.py +0 -0
  79. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/returns/nb.py +0 -0
  80. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/returns/qs_adapter.py +0 -0
  81. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/root_accessors.py +0 -0
  82. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/signals/__init__.py +0 -0
  83. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/signals/accessors.py +0 -0
  84. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/signals/enums.py +0 -0
  85. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/signals/factory.py +0 -0
  86. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/signals/generators.py +0 -0
  87. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/signals/nb.py +0 -0
  88. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/templates/.ipynb_checkpoints/dark-checkpoint.json +0 -0
  89. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/templates/dark.json +0 -0
  90. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/templates/light.json +0 -0
  91. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/templates/seaborn.json +0 -0
  92. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/__init__.py +0 -0
  93. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/array_.py +0 -0
  94. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/attr_.py +0 -0
  95. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/checks.py +0 -0
  96. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/colors.py +0 -0
  97. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/config.py +0 -0
  98. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/datetime_.py +0 -0
  99. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/decorators.py +0 -0
  100. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/docs.py +0 -0
  101. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/enum_.py +0 -0
  102. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/figure.py +0 -0
  103. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/image_.py +0 -0
  104. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/mapping.py +0 -0
  105. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/math_.py +0 -0
  106. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/module_.py +0 -0
  107. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/params.py +0 -0
  108. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/random_.py +0 -0
  109. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/requests_.py +0 -0
  110. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/schedule_.py +0 -0
  111. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/tags.py +0 -0
  112. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt/utils/template.py +0 -0
  113. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt.egg-info/SOURCES.txt +0 -0
  114. {vectorbt-0.28.1 → vectorbt-0.28.2}/vectorbt.egg-info/dependency_links.txt +0 -0
  115. {vectorbt-0.28.1 → vectorbt-0.28.2}/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.28.1
3
+ Version: 0.28.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
@@ -51,7 +51,7 @@ Requires-Dist: ccxt>=4.0.14; extra == "full"
51
51
  Requires-Dist: alpaca-py; extra == "full"
52
52
  Requires-Dist: ray>=1.4.1; extra == "full"
53
53
  Requires-Dist: ta; extra == "full"
54
- Requires-Dist: pandas_ta; extra == "full"
54
+ Requires-Dist: pandas-ta-classic; extra == "full"
55
55
  Requires-Dist: TA-Lib; extra == "full"
56
56
  Requires-Dist: python-telegram-bot<20.0,>=13.4; extra == "full"
57
57
  Requires-Dist: quantstats>=0.0.37; extra == "full"
@@ -62,7 +62,7 @@ Requires-Dist: ccxt>=4.0.14; extra == "full-no-talib"
62
62
  Requires-Dist: alpaca-py; extra == "full-no-talib"
63
63
  Requires-Dist: ray>=1.4.1; extra == "full-no-talib"
64
64
  Requires-Dist: ta; extra == "full-no-talib"
65
- Requires-Dist: pandas_ta; extra == "full-no-talib"
65
+ Requires-Dist: pandas-ta-classic; extra == "full-no-talib"
66
66
  Requires-Dist: python-telegram-bot<20.0,>=13.4; extra == "full-no-talib"
67
67
  Requires-Dist: quantstats>=0.0.37; extra == "full-no-talib"
68
68
  Provides-Extra: cov
@@ -49,7 +49,7 @@ setup(
49
49
  'alpaca-py',
50
50
  'ray>=1.4.1',
51
51
  'ta',
52
- 'pandas_ta',
52
+ 'pandas-ta-classic',
53
53
  'TA-Lib',
54
54
  'python-telegram-bot>=13.4,<20.0', # LGPLv3
55
55
  'quantstats>=0.0.37'
@@ -61,7 +61,7 @@ setup(
61
61
  'alpaca-py',
62
62
  'ray>=1.4.1',
63
63
  'ta',
64
- 'pandas_ta',
64
+ 'pandas-ta-classic',
65
65
  'python-telegram-bot>=13.4,<20.0', # LGPLv3
66
66
  'quantstats>=0.0.37'
67
67
  ],
@@ -25,7 +25,10 @@ pandas_ta_available = True
25
25
  try:
26
26
  import pandas_ta
27
27
  except:
28
- pandas_ta_available = False
28
+ try:
29
+ import pandas_ta_classic as pandas_ta
30
+ except:
31
+ pandas_ta_available = False
29
32
 
30
33
  talib_available = True
31
34
  try:
@@ -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.28.1"
4
+ __version__ = "0.28.2"
@@ -735,7 +735,7 @@ we can set `keep_pd` to True to pass all inputs as pandas objects instead of raw
735
735
  Let's demonstrate this by wrapping a basic composed [pandas_ta](https://github.com/twopirllc/pandas-ta) strategy:
736
736
 
737
737
  ```pycon
738
- >>> import pandas_ta
738
+ >>> import pandas_ta # or import pandas_ta_classic as pandas_ta
739
739
 
740
740
  >>> def apply_func(open, high, low, close, volume, ema_len, linreg_len):
741
741
  ... df = pd.DataFrame(dict(open=open, high=high, low=low, close=close, volume=volume))
@@ -3586,7 +3586,10 @@ Other keyword arguments are passed to `{0}.run`.""".format(_0, _1)
3586
3586
 
3587
3587
  !!! note
3588
3588
  Returns only the indicators that have been successfully parsed."""
3589
- import pandas_ta
3589
+ try:
3590
+ import pandas_ta
3591
+ except:
3592
+ import pandas_ta_classic as pandas_ta
3590
3593
 
3591
3594
  indicators = set()
3592
3595
  for func_name in [_k for k, v in pandas_ta.Category.items() for _k in v]:
@@ -3680,7 +3683,10 @@ Other keyword arguments are passed to `{0}.run`.""".format(_0, _1)
3680
3683
  pd.Series: New feature generated.
3681
3684
  ```
3682
3685
  """
3683
- import pandas_ta
3686
+ try:
3687
+ import pandas_ta
3688
+ except:
3689
+ import pandas_ta_classic as pandas_ta
3684
3690
 
3685
3691
  func_name = func_name.lower()
3686
3692
  pandas_ta_func = getattr(pandas_ta, func_name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vectorbt
3
- Version: 0.28.1
3
+ Version: 0.28.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
@@ -51,7 +51,7 @@ Requires-Dist: ccxt>=4.0.14; extra == "full"
51
51
  Requires-Dist: alpaca-py; extra == "full"
52
52
  Requires-Dist: ray>=1.4.1; extra == "full"
53
53
  Requires-Dist: ta; extra == "full"
54
- Requires-Dist: pandas_ta; extra == "full"
54
+ Requires-Dist: pandas-ta-classic; extra == "full"
55
55
  Requires-Dist: TA-Lib; extra == "full"
56
56
  Requires-Dist: python-telegram-bot<20.0,>=13.4; extra == "full"
57
57
  Requires-Dist: quantstats>=0.0.37; extra == "full"
@@ -62,7 +62,7 @@ Requires-Dist: ccxt>=4.0.14; extra == "full-no-talib"
62
62
  Requires-Dist: alpaca-py; extra == "full-no-talib"
63
63
  Requires-Dist: ray>=1.4.1; extra == "full-no-talib"
64
64
  Requires-Dist: ta; extra == "full-no-talib"
65
- Requires-Dist: pandas_ta; extra == "full-no-talib"
65
+ Requires-Dist: pandas-ta-classic; extra == "full-no-talib"
66
66
  Requires-Dist: python-telegram-bot<20.0,>=13.4; extra == "full-no-talib"
67
67
  Requires-Dist: quantstats>=0.0.37; extra == "full-no-talib"
68
68
  Provides-Extra: cov
@@ -38,7 +38,7 @@ ccxt>=4.0.14
38
38
  alpaca-py
39
39
  ray>=1.4.1
40
40
  ta
41
- pandas_ta
41
+ pandas-ta-classic
42
42
  TA-Lib
43
43
  python-telegram-bot<20.0,>=13.4
44
44
  quantstats>=0.0.37
@@ -50,6 +50,6 @@ ccxt>=4.0.14
50
50
  alpaca-py
51
51
  ray>=1.4.1
52
52
  ta
53
- pandas_ta
53
+ pandas-ta-classic
54
54
  python-telegram-bot<20.0,>=13.4
55
55
  quantstats>=0.0.37
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