investfly-sdk 1.6__py3-none-any.whl → 1.8__py3-none-any.whl
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.
- investfly/models/Indicator.py +73 -1
- investfly/models/MarketData.py +25 -19
- investfly/models/ModelUtils.py +9 -6
- investfly/models/PortfolioModels.py +8 -6
- investfly/models/SecurityUniverseSelector.py +103 -27
- investfly/models/TradingStrategy.py +5 -1
- investfly/models/__init__.py +2 -1
- investfly/samples/strategies/MacdTrendFollowingStrategy.py +98 -0
- investfly/samples/strategies/RsiMeanReversionStrategy.py +163 -0
- investfly/samples/strategies/SmaCrossOverTemplate.py +284 -70
- investfly/utils/CommonUtils.py +22 -15
- {investfly_sdk-1.6.dist-info → investfly_sdk-1.8.dist-info}/METADATA +30 -42
- {investfly_sdk-1.6.dist-info → investfly_sdk-1.8.dist-info}/RECORD +18 -15
- {investfly_sdk-1.6.dist-info → investfly_sdk-1.8.dist-info}/WHEEL +1 -1
- {investfly_sdk-1.6.dist-info → investfly_sdk-1.8.dist-info}/top_level.txt +1 -0
- talib/__init__.pyi +185 -0
- {investfly_sdk-1.6.dist-info → investfly_sdk-1.8.dist-info}/LICENSE.txt +0 -0
- {investfly_sdk-1.6.dist-info → investfly_sdk-1.8.dist-info}/entry_points.txt +0 -0
@@ -1,52 +1,29 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: investfly-sdk
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.8
|
4
4
|
Summary: Investfly SDK
|
5
5
|
Author-email: "Investfly.com" <admin@investfly.com>
|
6
|
-
License:
|
7
|
-
|
8
|
-
Copyright (c) 2023+ Investfly, Finverse LLC
|
9
|
-
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
12
|
-
in the Software without restriction, including without limitation the rights
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
15
|
-
furnished to do so, subject to the following conditions:
|
16
|
-
|
17
|
-
The above copyright notice and this permission notice shall be included in all
|
18
|
-
copies or substantial portions of the Software.
|
19
|
-
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
26
|
-
SOFTWARE.
|
6
|
+
License: MIT
|
27
7
|
Project-URL: Homepage, https://www.investfly.com
|
28
8
|
Classifier: Programming Language :: Python :: 3
|
29
|
-
Classifier: License :: OSI Approved :: MIT License
|
30
9
|
Classifier: Operating System :: OS Independent
|
31
10
|
Requires-Python: >=3.7
|
32
11
|
Description-Content-Type: text/markdown
|
33
12
|
License-File: LICENSE.txt
|
34
|
-
Requires-Dist: certifi
|
35
|
-
Requires-Dist: charset-normalizer
|
36
|
-
Requires-Dist: idna
|
37
|
-
Requires-Dist: pandas
|
38
|
-
Requires-Dist: pandas-stubs
|
39
|
-
Requires-Dist:
|
40
|
-
Requires-Dist:
|
41
|
-
Requires-Dist:
|
42
|
-
Requires-Dist: requests
|
43
|
-
Requires-Dist:
|
44
|
-
Requires-Dist:
|
45
|
-
Requires-Dist:
|
46
|
-
Requires-Dist:
|
47
|
-
Requires-Dist:
|
48
|
-
Requires-Dist: TA-Lib ==0.4.28
|
49
|
-
Requires-Dist: mypy ==1.12.1
|
13
|
+
Requires-Dist: certifi==2023.7.22
|
14
|
+
Requires-Dist: charset-normalizer==3.2.0
|
15
|
+
Requires-Dist: idna==3.4
|
16
|
+
Requires-Dist: pandas==2.0.3
|
17
|
+
Requires-Dist: pandas-stubs==2.0.3.230814
|
18
|
+
Requires-Dist: python-dateutil==2.8.2
|
19
|
+
Requires-Dist: pytz==2023.3
|
20
|
+
Requires-Dist: requests==2.31.0
|
21
|
+
Requires-Dist: types-requests==2.31.0.2
|
22
|
+
Requires-Dist: six==1.16.0
|
23
|
+
Requires-Dist: tzdata==2023.3
|
24
|
+
Requires-Dist: urllib3==1.26.15
|
25
|
+
Requires-Dist: numpy==1.26.4
|
26
|
+
Requires-Dist: mypy==1.12.1
|
50
27
|
|
51
28
|
# About
|
52
29
|
|
@@ -183,13 +160,24 @@ Using IDE editor will assist with auto-completion and type hints. Additionally,
|
|
183
160
|
When using the IDE, open `investfly` directory created above as a project with your IDE.
|
184
161
|
Make sure that Python Interpreter is configured to the virtual environment `investfly/venv/bin/python` created above.
|
185
162
|
|
163
|
+
### TA-Lib Stubs
|
164
|
+
TA-Lib is a technical analysis library https://github.com/TA-Lib/ta-lib-python used to compute technical indicators by Investfly.
|
165
|
+
This library can also be used in custom indicators and strategies. However, installing Python ta-lib wrapper requires installing native ta-lib, which is challenging based on the OS you are working with.
|
166
|
+
So investfly-sdk ships with ta-lib stubs, so when you install investfly-sdk, pip does not try to install ta-lib.
|
167
|
+
This means that you can develop your code, but cannot run them locally if you are using ta-lib in your code. This is generally OK, because you will use the CLI
|
168
|
+
to upload your code to Investfly server, where it will be run.
|
169
|
+
If you want also want to run your code locally to test it, then follow the installation method described in the link above and then install ta-lib with the following command
|
170
|
+
```commandline
|
171
|
+
pip install ta-lib==0.4.28
|
172
|
+
```
|
173
|
+
|
186
174
|
|
187
175
|
# API Docs
|
188
176
|
|
189
|
-
API Docs are published at https://www.investfly.com/
|
177
|
+
API Docs are published at https://www.investfly.com/apidocs/investfly.html
|
190
178
|
|
191
179
|
# Getting Help
|
192
|
-
Please email
|
180
|
+
Please email support@investfly.com for any support or bug report
|
193
181
|
|
194
182
|
|
195
183
|
|
@@ -10,16 +10,16 @@ investfly/api/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
investfly/cli/InvestflyCli.py,sha256=2dnJuGOL_qe3HeWqc0cyLss4H3HxDTXrvsHtJ6sIYSw,12114
|
11
11
|
investfly/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
12
|
investfly/models/CommonModels.py,sha256=kbyWsez1voii2K2wyflYCW7i9lYQh49nbrts4bTvvG4,2348
|
13
|
-
investfly/models/Indicator.py,sha256=
|
14
|
-
investfly/models/MarketData.py,sha256=
|
13
|
+
investfly/models/Indicator.py,sha256=7P6rnqAPxWdOy3Z4om0M1olups6QC-uctu6YsvP5Th0,14110
|
14
|
+
investfly/models/MarketData.py,sha256=UuTYxgMrxFoeWAmfKACd3l-xq7Hix7xxLVByNpVev4w,6330
|
15
15
|
investfly/models/MarketDataIds.py,sha256=CTNCb7G8NgLb84LYCqqxwlhO8e6RV-AUGwJH9GDv53A,3248
|
16
|
-
investfly/models/ModelUtils.py,sha256=
|
17
|
-
investfly/models/PortfolioModels.py,sha256=
|
16
|
+
investfly/models/ModelUtils.py,sha256=_VLDYu_PjT_G7zFQBZcSys7d68obbE_ZLUuARm77TDI,1178
|
17
|
+
investfly/models/PortfolioModels.py,sha256=lIsgK2dmx127Dt8_hgpkOMobSR8K_ab-4nTKQy1vZbI,8704
|
18
18
|
investfly/models/SecurityFilterModels.py,sha256=4baTBBI-XOKh8uTpvqVvk3unD-xHoyooO3dd5lKWbXA,5806
|
19
|
-
investfly/models/SecurityUniverseSelector.py,sha256=
|
19
|
+
investfly/models/SecurityUniverseSelector.py,sha256=Be3yh98cJCvNFyDWsRr5fhsuvLU3TAYu_XahjtYndcY,12178
|
20
20
|
investfly/models/StrategyModels.py,sha256=n9MVOJFPtc_Wkiq5TyhdQnaiTUeXGMYqLmBE9IEiW10,5553
|
21
|
-
investfly/models/TradingStrategy.py,sha256=
|
22
|
-
investfly/models/__init__.py,sha256=
|
21
|
+
investfly/models/TradingStrategy.py,sha256=TPWTSQKZP5vTvKAOHtFLqowgBhAso3idn-4UTCHwXBo,6496
|
22
|
+
investfly/models/__init__.py,sha256=420GqxWwFJnNEw7-nrxpw62iF8GLozjiplTClk4s7kE,1446
|
23
23
|
investfly/models/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
24
|
investfly/samples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
25
|
investfly/samples/indicators/IndicatorTemplate.py,sha256=Pn3jGVjMVwhqN1-F5FTAUPm4caFa3ORORNtvL353iEc,4470
|
@@ -27,16 +27,19 @@ investfly/samples/indicators/NewsSentiment.py,sha256=fcpAqOcNWmqYsP-xwJquCX_6G7N
|
|
27
27
|
investfly/samples/indicators/RsiOfSma.py,sha256=KewPi89ecZ0H0Ymj0FI72XgfWSvVLebuUHsfkr6WgwU,1557
|
28
28
|
investfly/samples/indicators/SmaEmaAverage.py,sha256=daoaKl9F1MWuOIOQInq9_M3P2A9E3bzFHaQ5TgsZ4ds,1576
|
29
29
|
investfly/samples/indicators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
+
investfly/samples/strategies/MacdTrendFollowingStrategy.py,sha256=EFu8UqZE07FWZgpvxgB3vJ8-N5ZrietGEhktr0rqqt4,5087
|
31
|
+
investfly/samples/strategies/RsiMeanReversionStrategy.py,sha256=tKnVnZASDmfxsXGJ6_QBuvQ2y3Iszm-czTc_rWGQT7g,7634
|
30
32
|
investfly/samples/strategies/SmaCrossOverStrategy.py,sha256=e_gR8gwHJ5m6lU_Ib8jeQrER3cD6q569IIhwglKePew,1680
|
31
|
-
investfly/samples/strategies/SmaCrossOverTemplate.py,sha256=
|
33
|
+
investfly/samples/strategies/SmaCrossOverTemplate.py,sha256=Dh5LaJyy-vEw9SWFYcO5JB3XWKgB56j1UUzbyE3y-Bg,18323
|
32
34
|
investfly/samples/strategies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
|
-
investfly/utils/CommonUtils.py,sha256=
|
35
|
+
investfly/utils/CommonUtils.py,sha256=yZAjyoQ6g0_iJNfMjMTPA5Htgun3QKftZjCA6R7ASx0,2809
|
34
36
|
investfly/utils/PercentBasedPortfolioAllocator.py,sha256=EHrOyHbaYHLwE-4vUSQCVXwbEgLs-nDjLVRH3cdgslI,1563
|
35
37
|
investfly/utils/__init__.py,sha256=2BqXoOQElv-GIU6wvmf2aaAABAcNny2TETcj7kf9rzM,129
|
36
38
|
investfly/utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
-
|
38
|
-
investfly_sdk-1.
|
39
|
-
investfly_sdk-1.
|
40
|
-
investfly_sdk-1.
|
41
|
-
investfly_sdk-1.
|
42
|
-
investfly_sdk-1.
|
39
|
+
talib/__init__.pyi,sha256=Sw9gkXACt6Rb9Q-_8FVK3NBdofjiJFtSJk2UFhUWdZM,15662
|
40
|
+
investfly_sdk-1.8.dist-info/LICENSE.txt,sha256=Jmd2U7G7Z1oNdnRERRzFXN6C--bEo_K56j4v9EpJSTg,1090
|
41
|
+
investfly_sdk-1.8.dist-info/METADATA,sha256=gStz2Yu2PckaYKWFNXSYOJy87o4qRfIoYUK_ZnIdGb0,7044
|
42
|
+
investfly_sdk-1.8.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
|
43
|
+
investfly_sdk-1.8.dist-info/entry_points.txt,sha256=GDRF4baJQXTh90DvdJJx1DeRezWfPt26E567lTs3g6U,66
|
44
|
+
investfly_sdk-1.8.dist-info/top_level.txt,sha256=FLuybzCKkAxnL8EONG9fb8zIkUs0P3JmKZ2QyEJes10,16
|
45
|
+
investfly_sdk-1.8.dist-info/RECORD,,
|
talib/__init__.pyi
ADDED
@@ -0,0 +1,185 @@
|
|
1
|
+
"""
|
2
|
+
TA-Lib type stub file for type checking and code completion.
|
3
|
+
This provides type hints for TA-Lib functions without implementation.
|
4
|
+
"""
|
5
|
+
|
6
|
+
import numpy as np
|
7
|
+
from typing import Tuple
|
8
|
+
|
9
|
+
# Math Operators
|
10
|
+
def ADD(real0: np.ndarray, real1: np.ndarray) -> np.ndarray: ...
|
11
|
+
def DIV(real0: np.ndarray, real1: np.ndarray) -> np.ndarray: ...
|
12
|
+
def MAX(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
13
|
+
def MAXINDEX(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
14
|
+
def MIN(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
15
|
+
def MININDEX(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
16
|
+
def MINMAX(real: np.ndarray, timeperiod: int = 30) -> Tuple[np.ndarray, np.ndarray]: ...
|
17
|
+
def MINMAXINDEX(real: np.ndarray, timeperiod: int = 30) -> Tuple[np.ndarray, np.ndarray]: ...
|
18
|
+
def MULT(real0: np.ndarray, real1: np.ndarray) -> np.ndarray: ...
|
19
|
+
def SUB(real0: np.ndarray, real1: np.ndarray) -> np.ndarray: ...
|
20
|
+
def SUM(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
21
|
+
|
22
|
+
# Math Transform
|
23
|
+
def ACOS(real: np.ndarray) -> np.ndarray: ...
|
24
|
+
def ASIN(real: np.ndarray) -> np.ndarray: ...
|
25
|
+
def ATAN(real: np.ndarray) -> np.ndarray: ...
|
26
|
+
def CEIL(real: np.ndarray) -> np.ndarray: ...
|
27
|
+
def COS(real: np.ndarray) -> np.ndarray: ...
|
28
|
+
def COSH(real: np.ndarray) -> np.ndarray: ...
|
29
|
+
def EXP(real: np.ndarray) -> np.ndarray: ...
|
30
|
+
def FLOOR(real: np.ndarray) -> np.ndarray: ...
|
31
|
+
def LN(real: np.ndarray) -> np.ndarray: ...
|
32
|
+
def LOG10(real: np.ndarray) -> np.ndarray: ...
|
33
|
+
def SIN(real: np.ndarray) -> np.ndarray: ...
|
34
|
+
def SINH(real: np.ndarray) -> np.ndarray: ...
|
35
|
+
def SQRT(real: np.ndarray) -> np.ndarray: ...
|
36
|
+
def TAN(real: np.ndarray) -> np.ndarray: ...
|
37
|
+
def TANH(real: np.ndarray) -> np.ndarray: ...
|
38
|
+
|
39
|
+
# Overlap Studies
|
40
|
+
def BBANDS(real: np.ndarray, timeperiod: int = 5, nbdevup: float = 2.0, nbdevdn: float = 2.0, matype: int = 0) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: ...
|
41
|
+
def DEMA(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
42
|
+
def EMA(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
43
|
+
def HT_TRENDLINE(real: np.ndarray) -> np.ndarray: ...
|
44
|
+
def KAMA(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
45
|
+
def MA(real: np.ndarray, timeperiod: int = 30, matype: int = 0) -> np.ndarray: ...
|
46
|
+
def MAMA(real: np.ndarray, fastlimit: float = 0.5, slowlimit: float = 0.05) -> Tuple[np.ndarray, np.ndarray]: ...
|
47
|
+
def MAVP(real: np.ndarray, periods: np.ndarray, minperiod: int = 2, maxperiod: int = 30, matype: int = 0) -> np.ndarray: ...
|
48
|
+
def MIDPOINT(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
49
|
+
def MIDPRICE(high: np.ndarray, low: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
50
|
+
def SAR(high: np.ndarray, low: np.ndarray, acceleration: float = 0.02, maximum: float = 0.2) -> np.ndarray: ...
|
51
|
+
def SAREXT(high: np.ndarray, low: np.ndarray, startvalue: float = 0, offsetonreverse: float = 0, accelerationinitlong: float = 0.02, accelerationlong: float = 0.02, accelerationmaxlong: float = 0.2, accelerationinitshort: float = 0.02, accelerationshort: float = 0.02, accelerationmaxshort: float = 0.2) -> np.ndarray: ...
|
52
|
+
def SMA(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
53
|
+
def T3(real: np.ndarray, timeperiod: int = 5, vfactor: float = 0.7) -> np.ndarray: ...
|
54
|
+
def TEMA(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
55
|
+
def TRIMA(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
56
|
+
def WMA(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
57
|
+
|
58
|
+
# Momentum Indicators
|
59
|
+
def ADX(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
60
|
+
def ADXR(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
61
|
+
def APO(real: np.ndarray, fastperiod: int = 12, slowperiod: int = 26, matype: int = 0) -> np.ndarray: ...
|
62
|
+
def AROON(high: np.ndarray, low: np.ndarray, timeperiod: int = 14) -> Tuple[np.ndarray, np.ndarray]: ...
|
63
|
+
def AROONOSC(high: np.ndarray, low: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
64
|
+
def BOP(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
65
|
+
def CCI(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
66
|
+
def CMO(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
67
|
+
def DX(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
68
|
+
def MACD(real: np.ndarray, fastperiod: int = 12, slowperiod: int = 26, signalperiod: int = 9) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: ...
|
69
|
+
def MACDEXT(real: np.ndarray, fastperiod: int = 12, fastmatype: int = 0, slowperiod: int = 26, slowmatype: int = 0, signalperiod: int = 9, signalmatype: int = 0) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: ...
|
70
|
+
def MACDFIX(real: np.ndarray, signalperiod: int = 9) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: ...
|
71
|
+
def MFI(high: np.ndarray, low: np.ndarray, close: np.ndarray, volume: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
72
|
+
def MINUS_DI(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
73
|
+
def MINUS_DM(high: np.ndarray, low: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
74
|
+
def MOM(real: np.ndarray, timeperiod: int = 10) -> np.ndarray: ...
|
75
|
+
def PLUS_DI(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
76
|
+
def PLUS_DM(high: np.ndarray, low: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
77
|
+
def PPO(real: np.ndarray, fastperiod: int = 12, slowperiod: int = 26, matype: int = 0) -> np.ndarray: ...
|
78
|
+
def ROC(real: np.ndarray, timeperiod: int = 10) -> np.ndarray: ...
|
79
|
+
def ROCP(real: np.ndarray, timeperiod: int = 10) -> np.ndarray: ...
|
80
|
+
def ROCR(real: np.ndarray, timeperiod: int = 10) -> np.ndarray: ...
|
81
|
+
def ROCR100(real: np.ndarray, timeperiod: int = 10) -> np.ndarray: ...
|
82
|
+
def RSI(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
83
|
+
def STOCH(high: np.ndarray, low: np.ndarray, close: np.ndarray, fastk_period: int = 5, slowk_period: int = 3, slowk_matype: int = 0, slowd_period: int = 3, slowd_matype: int = 0) -> Tuple[np.ndarray, np.ndarray]: ...
|
84
|
+
def STOCHF(high: np.ndarray, low: np.ndarray, close: np.ndarray, fastk_period: int = 5, fastd_period: int = 3, fastd_matype: int = 0) -> Tuple[np.ndarray, np.ndarray]: ...
|
85
|
+
def STOCHRSI(real: np.ndarray, timeperiod: int = 14, fastk_period: int = 5, fastd_period: int = 3, fastd_matype: int = 0) -> Tuple[np.ndarray, np.ndarray]: ...
|
86
|
+
def TRIX(real: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
87
|
+
def ULTOSC(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod1: int = 7, timeperiod2: int = 14, timeperiod3: int = 28) -> np.ndarray: ...
|
88
|
+
def WILLR(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
89
|
+
|
90
|
+
# Volume Indicators
|
91
|
+
def AD(high: np.ndarray, low: np.ndarray, close: np.ndarray, volume: np.ndarray) -> np.ndarray: ...
|
92
|
+
def ADOSC(high: np.ndarray, low: np.ndarray, close: np.ndarray, volume: np.ndarray, fastperiod: int = 3, slowperiod: int = 10) -> np.ndarray: ...
|
93
|
+
def OBV(close: np.ndarray, volume: np.ndarray) -> np.ndarray: ...
|
94
|
+
|
95
|
+
# Volatility Indicators
|
96
|
+
def ATR(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
97
|
+
def NATR(high: np.ndarray, low: np.ndarray, close: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
98
|
+
def TRANGE(high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
99
|
+
|
100
|
+
# Price Transform
|
101
|
+
def AVGPRICE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
102
|
+
def MEDPRICE(high: np.ndarray, low: np.ndarray) -> np.ndarray: ...
|
103
|
+
def TYPPRICE(high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
104
|
+
def WCLPRICE(high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
105
|
+
|
106
|
+
# Cycle Indicators
|
107
|
+
def HT_DCPERIOD(real: np.ndarray) -> np.ndarray: ...
|
108
|
+
def HT_DCPHASE(real: np.ndarray) -> np.ndarray: ...
|
109
|
+
def HT_PHASOR(real: np.ndarray) -> Tuple[np.ndarray, np.ndarray]: ...
|
110
|
+
def HT_SINE(real: np.ndarray) -> Tuple[np.ndarray, np.ndarray]: ...
|
111
|
+
def HT_TRENDMODE(real: np.ndarray) -> np.ndarray: ...
|
112
|
+
|
113
|
+
# Pattern Recognition
|
114
|
+
def CDL2CROWS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
115
|
+
def CDL3BLACKCROWS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
116
|
+
def CDL3INSIDE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
117
|
+
def CDL3LINESTRIKE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
118
|
+
def CDL3OUTSIDE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
119
|
+
def CDL3STARSINSOUTH(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
120
|
+
def CDL3WHITESOLDIERS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
121
|
+
def CDLABANDONEDBABY(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray, penetration: float = 0.3) -> np.ndarray: ...
|
122
|
+
def CDLADVANCEBLOCK(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
123
|
+
def CDLBELTHOLD(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
124
|
+
def CDLBREAKAWAY(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
125
|
+
def CDLCLOSINGMARUBOZU(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
126
|
+
def CDLCONCEALBABYSWALL(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
127
|
+
def CDLCOUNTERATTACK(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
128
|
+
def CDLDARKCLOUDCOVER(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray, penetration: float = 0.5) -> np.ndarray: ...
|
129
|
+
def CDLDOJI(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
130
|
+
def CDLDOJISTAR(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
131
|
+
def CDLDRAGONFLYDOJI(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
132
|
+
def CDLENGULFING(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
133
|
+
def CDLEVENINGDOJISTAR(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray, penetration: float = 0.3) -> np.ndarray: ...
|
134
|
+
def CDLEVENINGSTAR(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray, penetration: float = 0.3) -> np.ndarray: ...
|
135
|
+
def CDLGAPSIDESIDEWHITE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
136
|
+
def CDLGRAVESTONEDOJI(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
137
|
+
def CDLHAMMER(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
138
|
+
def CDLHANGINGMAN(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
139
|
+
def CDLHARAMI(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
140
|
+
def CDLHARAMICROSS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
141
|
+
def CDLHIGHWAVE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
142
|
+
def CDLHIKKAKE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
143
|
+
def CDLHIKKAKEMOD(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
144
|
+
def CDLHOMINGPIGEON(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
145
|
+
def CDLIDENTICAL3CROWS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
146
|
+
def CDLINNECK(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
147
|
+
def CDLINVERTEDHAMMER(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
148
|
+
def CDLKICKING(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
149
|
+
def CDLKICKINGBYLENGTH(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
150
|
+
def CDLLADDERBOTTOM(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
151
|
+
def CDLLONGLEGGEDDOJI(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
152
|
+
def CDLLONGLINE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
153
|
+
def CDLMARUBOZU(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
154
|
+
def CDLMATCHINGLOW(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
155
|
+
def CDLMATHOLD(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray, penetration: float = 0.5) -> np.ndarray: ...
|
156
|
+
def CDLMORNINGDOJISTAR(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray, penetration: float = 0.3) -> np.ndarray: ...
|
157
|
+
def CDLMORNINGSTAR(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray, penetration: float = 0.3) -> np.ndarray: ...
|
158
|
+
def CDLONNECK(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
159
|
+
def CDLPIERCING(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
160
|
+
def CDLRICKSHAWMAN(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
161
|
+
def CDLRISEFALL3METHODS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
162
|
+
def CDLSEPARATINGLINES(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
163
|
+
def CDLSHOOTINGSTAR(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
164
|
+
def CDLSHORTLINE(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
165
|
+
def CDLSPINNINGTOP(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
166
|
+
def CDLSTALLEDPATTERN(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
167
|
+
def CDLSTICKSANDWICH(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
168
|
+
def CDLTAKURI(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
169
|
+
def CDLTASUKIGAP(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
170
|
+
def CDLTHRUSTING(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
171
|
+
def CDLTRISTAR(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
172
|
+
def CDLUNIQUE3RIVER(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
173
|
+
def CDLUPSIDEGAP2CROWS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
174
|
+
def CDLXSIDEGAP3METHODS(open: np.ndarray, high: np.ndarray, low: np.ndarray, close: np.ndarray) -> np.ndarray: ...
|
175
|
+
|
176
|
+
# Statistic Functions
|
177
|
+
def BETA(real0: np.ndarray, real1: np.ndarray, timeperiod: int = 5) -> np.ndarray: ...
|
178
|
+
def CORREL(real0: np.ndarray, real1: np.ndarray, timeperiod: int = 30) -> np.ndarray: ...
|
179
|
+
def LINEARREG(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
180
|
+
def LINEARREG_ANGLE(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
181
|
+
def LINEARREG_INTERCEPT(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
182
|
+
def LINEARREG_SLOPE(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
183
|
+
def STDDEV(real: np.ndarray, timeperiod: int = 5, nbdev: float = 1.0) -> np.ndarray: ...
|
184
|
+
def TSF(real: np.ndarray, timeperiod: int = 14) -> np.ndarray: ...
|
185
|
+
def VAR(real: np.ndarray, timeperiod: int = 5, nbdev: float = 1.0) -> np.ndarray: ...
|
File without changes
|
File without changes
|