diff --git a/README.md b/README.md
index 68a79e16..e2b68040 100644
--- a/README.md
+++ b/README.md
@@ -56,7 +56,7 @@ _Pandas Technical Analysis_ (**Pandas TA**) is a free, Open Source, and easy to
* [Indicators by Category](#indicators-by-category)
* [Candles](#candles-64)
* [Cycles](#cycles-2)
- * [Momentum](#momentum-42)
+ * [Momentum](#momentum-43)
* [Overlap](#overlap-36)
* [Performance](#performance-3)
* [Statistics](#statistics-11)
@@ -845,7 +845,7 @@ Back to [Contents](#contents)
-### **Momentum** (42)
+### **Momentum** (43)
* _Awesome Oscillator_: **ao**
* _Absolute Price Oscillator_: **apo**
* _Bias_: **bias**
diff --git a/examples/Speed_Test.ipynb b/examples/Speed_Test.ipynb
index 02ccff57..aa6aabb3 100644
--- a/examples/Speed_Test.ipynb
+++ b/examples/Speed_Test.ipynb
@@ -74,7 +74,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "[+] yf | SPY(1257, 7): 13143.7387 ms (13.1437 s)\n"
+ "[+] yf | SPY(1257, 7): 6947.3967 ms (6.9474 s)\n"
]
}
],
@@ -131,28 +131,28 @@
"============================================================\n",
" ms secs\n",
"Indicator \n",
- "alligator 3310.4286 3.31043\n",
- "cdl_pattern 1678.0522 1.67805\n",
- "pivots 756.7969 0.75680\n",
- "mama 690.3027 0.69030\n",
- "atrts 532.2590 0.53226\n",
+ "alligator 3316.3739 3.31637\n",
+ "cdl_pattern 1659.4503 1.65945\n",
+ "pivots 752.4150 0.75241\n",
+ "mama 688.8270 0.68883\n",
+ "atrts 534.8506 0.53485\n",
"... ... ...\n",
- "vhm 0.1052 0.00011\n",
- "tsignals 0.0015 0.00000\n",
+ "vhm 0.0995 0.00010\n",
+ "tsignals 0.0012 0.00000\n",
"long_run 0.0010 0.00000\n",
"xsignals 0.0018 0.00000\n",
- "short_run 0.0017 0.00000\n",
+ "short_run 0.0015 0.00000\n",
"\n",
- "[153 rows x 2 columns]\n",
+ "[154 rows x 2 columns]\n",
"\n",
"============================================================\n",
"Time Stats:\n",
" ms secs\n",
"min 0.001000 0.000000\n",
- "50% 1.124700 0.001120\n",
- "mean 55.241385 0.055241\n",
- "max 3310.428600 3.310430\n",
- "total 8451.931900 8.451930\n",
+ "50% 1.118350 0.001120\n",
+ "mean 54.572834 0.054573\n",
+ "max 3316.373900 3.316370\n",
+ "total 8404.216500 8.404230\n",
"\n",
"============================================================\n",
"\n"
@@ -183,185 +183,186 @@
"output_type": "stream",
"text": [
"\n",
- "[+] aberration: 1.3081 ms (0.0013 s)\n",
- "[+] accbands: 1.2683 ms (0.0013 s)\n",
- "[+] ad: 1.1077 ms (0.0011 s)\n",
- "[+] adosc: 2.3142 ms (0.0023 s)\n",
- "[+] adx: 4.7777 ms (0.0048 s)\n",
- "[+] alligator: 58.8218 ms (0.0588 s)\n",
- "[+] alma: 1.1844 ms (0.0012 s)\n",
- "[+] alphatrend: 5.2677 ms (0.0053 s)\n",
- "[+] amat: 2.4868 ms (0.0025 s)\n",
- "[+] ao: 0.4720 ms (0.0005 s)\n",
- "[+] aobv: 3.5808 ms (0.0036 s)\n",
- "[+] apo: 0.9263 ms (0.0009 s)\n",
- "[+] aroon: 7.4460 ms (0.0074 s)\n",
- "[+] atr: 1.4505 ms (0.0015 s)\n",
- "[+] atrts: 2.0067 ms (0.0020 s)\n",
- "[+] bbands: 1.3960 ms (0.0014 s)\n",
- "[+] bias: 0.6290 ms (0.0006 s)\n",
- "[+] bop: 0.7663 ms (0.0008 s)\n",
- "[+] brar: 2.4019 ms (0.0024 s)\n",
- "[+] cci: 15.3001 ms (0.0153 s)\n",
- "[+] cdl_pattern: 7.4941 ms (0.0075 s)\n",
- "[+] cdl_z: 1.5577 ms (0.0016 s)\n",
- "[+] cfo: 0.3364 ms (0.0003 s)\n",
- "[+] cg: 6.3474 ms (0.0063 s)\n",
- "[+] chandelier_exit: 2.8734 ms (0.0029 s)\n",
- "[+] chop: 1.0942 ms (0.0011 s)\n",
- "[+] cksp: 1.3181 ms (0.0013 s)\n",
- "[+] cmf: 1.0107 ms (0.0010 s)\n",
- "[+] cmo: 1.6202 ms (0.0016 s)\n",
- "[+] coppock: 0.3182 ms (0.0003 s)\n",
- "[+] cti: 15.3293 ms (0.0153 s)\n",
- "[+] cube: 0.5857 ms (0.0006 s)\n",
- "[+] decay: 0.1555 ms (0.0002 s)\n",
- "[+] decreasing: 0.2800 ms (0.0003 s)\n",
- "[+] dema: 0.7604 ms (0.0008 s)\n",
- "[+] dm: 2.0432 ms (0.0020 s)\n",
- "[+] donchian: 0.7625 ms (0.0008 s)\n",
- "[+] dpo: 0.3118 ms (0.0003 s)\n",
- "[+] ebsw: 34.5614 ms (0.0346 s)\n",
- "[+] efi: 0.6607 ms (0.0007 s)\n",
- "[+] ema: 0.4503 ms (0.0005 s)\n",
- "[+] entropy: 1.2225 ms (0.0012 s)\n",
- "[+] eom: 1.0150 ms (0.0010 s)\n",
- "[+] er: 0.4721 ms (0.0005 s)\n",
- "[+] eri: 0.6692 ms (0.0007 s)\n",
- "[+] fisher: 6.3458 ms (0.0063 s)\n",
- "[+] fwma: 2.1187 ms (0.0021 s)\n",
- "[+] ha: 0.6164 ms (0.0006 s)\n",
- "[+] hilo: 41.8775 ms (0.0419 s)\n",
- "[+] hl2: 0.3150 ms (0.0003 s)\n",
- "[+] hlc3: 0.3519 ms (0.0004 s)\n",
- "[+] hma: 0.4019 ms (0.0004 s)\n",
- "[+] hwc: 8.5673 ms (0.0086 s)\n",
- "[+] hwma: 7.8051 ms (0.0078 s)\n",
- "[+] ifisher: 0.7171 ms (0.0007 s)\n",
- "[+] increasing: 0.3443 ms (0.0003 s)\n",
- "[+] inertia: 2.0360 ms (0.0020 s)\n",
- "[+] jma: 24.7630 ms (0.0248 s)\n",
- "[+] kama: 7.4984 ms (0.0075 s)\n",
- "[+] kc: 0.9044 ms (0.0009 s)\n",
- "[+] kdj: 1.3429 ms (0.0013 s)\n",
- "[+] kst: 1.3580 ms (0.0014 s)\n",
- "[+] kurtosis: 0.2747 ms (0.0003 s)\n",
- "[+] kvo: 2.2986 ms (0.0023 s)\n",
- "[+] linreg: 11.6082 ms (0.0116 s)\n",
- "[+] log_return: 0.1807 ms (0.0002 s)\n",
- "[+] long_run: 0.0013 ms (0.0000 s)\n",
- "[+] macd: 1.8161 ms (0.0018 s)\n",
- "[+] mad: 14.2739 ms (0.0143 s)\n",
- "[+] mama: 0.3870 ms (0.0004 s)\n",
- "[+] massi: 1.1427 ms (0.0011 s)\n",
- "[+] mcgd: 1.8529 ms (0.0019 s)\n",
- "[+] median: 0.6801 ms (0.0007 s)\n",
- "[+] mfi: 3.0336 ms (0.0030 s)\n",
- "[+] midpoint: 0.4507 ms (0.0005 s)\n",
- "[+] midprice: 0.5195 ms (0.0005 s)\n",
- "[+] mom: 0.1639 ms (0.0002 s)\n",
- "[+] natr: 1.6855 ms (0.0017 s)\n",
- "[+] nvi: 1.3650 ms (0.0014 s)\n",
- "[+] obv: 0.8865 ms (0.0009 s)\n",
- "[+] ohlc4: 0.3708 ms (0.0004 s)\n",
- "[+] pdist: 1.1172 ms (0.0011 s)\n",
- "[+] percent_return: 0.1535 ms (0.0002 s)\n",
- "[+] pgo: 0.5437 ms (0.0005 s)\n",
- "[+] pivots: 5.8120 ms (0.0058 s)\n",
- "[+] ppo: 1.5437 ms (0.0015 s)\n",
- "[+] psar: 52.9110 ms (0.0529 s)\n",
- "[+] psl: 0.9605 ms (0.0010 s)\n",
- "[+] pvi: 1.5955 ms (0.0016 s)\n",
- "[+] pvo: 0.6273 ms (0.0006 s)\n",
- "[+] pvol: 0.2436 ms (0.0002 s)\n",
- "[+] pvr: 1.1338 ms (0.0011 s)\n",
- "[+] pvt: 0.3280 ms (0.0003 s)\n",
- "[+] pwma: 1.7826 ms (0.0018 s)\n",
- "[+] qqe: 96.9280 ms (0.0969 s)\n",
- "[+] qstick: 0.8589 ms (0.0009 s)\n",
- "[+] quantile: 0.7360 ms (0.0007 s)\n",
- "[+] reflex: 0.1852 ms (0.0002 s)\n",
- "[+] remap: 0.1443 ms (0.0001 s)\n",
- "[+] rma: 0.1978 ms (0.0002 s)\n",
- "[+] roc: 0.3439 ms (0.0003 s)\n",
- "[+] rsi: 1.0856 ms (0.0011 s)\n",
- "[+] rsx: 7.4423 ms (0.0074 s)\n",
- "[+] rvgi: 6.2037 ms (0.0062 s)\n",
- "[+] rvi: 1.8946 ms (0.0019 s)\n",
- "[+] rwi: 1.9558 ms (0.0020 s)\n",
- "[+] short_run: 0.0014 ms (0.0000 s)\n",
- "[+] sinwma: 7.5256 ms (0.0075 s)\n",
- "[+] skew: 0.2471 ms (0.0002 s)\n",
- "[+] slope: 0.2086 ms (0.0002 s)\n",
- "[+] sma: 0.3811 ms (0.0004 s)\n",
- "[+] smi: 1.1115 ms (0.0011 s)\n",
- "[+] smma: 18.8062 ms (0.0188 s)\n",
- "[+] squeeze: 2.5894 ms (0.0026 s)\n",
- "[+] squeeze_pro: 4.2467 ms (0.0042 s)\n",
- "[+] ssf: 0.1520 ms (0.0002 s)\n",
- "[+] ssf3: 0.1425 ms (0.0001 s)\n",
- "[+] stc: 24.4754 ms (0.0245 s)\n",
- "[+] stdev: 0.3190 ms (0.0003 s)\n",
- "[+] stoch: 2.0656 ms (0.0021 s)\n",
- "[+] stochf: 1.5082 ms (0.0015 s)\n",
- "[+] stochrsi: 1.0694 ms (0.0011 s)\n",
- "[+] supertrend: 24.6719 ms (0.0247 s)\n",
- "[+] swma: 2.5403 ms (0.0025 s)\n",
- "[+] t3: 1.9960 ms (0.0020 s)\n",
- "[+] td_seq: 789.4090 ms (0.7894 s)\n",
- "[+] tema: 1.3934 ms (0.0014 s)\n",
+ "[+] aberration: 1.2778 ms (0.0013 s)\n",
+ "[+] accbands: 1.4492 ms (0.0014 s)\n",
+ "[+] ad: 0.8934 ms (0.0009 s)\n",
+ "[+] adosc: 1.5647 ms (0.0016 s)\n",
+ "[+] adx: 3.0720 ms (0.0031 s)\n",
+ "[+] alligator: 58.5015 ms (0.0585 s)\n",
+ "[+] alma: 1.4974 ms (0.0015 s)\n",
+ "[+] alphatrend: 4.1675 ms (0.0042 s)\n",
+ "[+] amat: 2.4354 ms (0.0024 s)\n",
+ "[+] ao: 0.4658 ms (0.0005 s)\n",
+ "[+] aobv: 3.5552 ms (0.0036 s)\n",
+ "[+] apo: 0.9125 ms (0.0009 s)\n",
+ "[+] aroon: 7.4409 ms (0.0074 s)\n",
+ "[+] atr: 1.4192 ms (0.0014 s)\n",
+ "[+] atrts: 2.0108 ms (0.0020 s)\n",
+ "[+] bbands: 1.3580 ms (0.0014 s)\n",
+ "[+] bias: 0.6308 ms (0.0006 s)\n",
+ "[+] bop: 0.7615 ms (0.0008 s)\n",
+ "[+] brar: 2.3930 ms (0.0024 s)\n",
+ "[+] cci: 15.5640 ms (0.0156 s)\n",
+ "[+] cdl_pattern: 7.2095 ms (0.0072 s)\n",
+ "[+] cdl_z: 1.5340 ms (0.0015 s)\n",
+ "[+] cfo: 0.3285 ms (0.0003 s)\n",
+ "[+] cg: 6.2095 ms (0.0062 s)\n",
+ "[+] chandelier_exit: 2.7367 ms (0.0027 s)\n",
+ "[+] chop: 1.0838 ms (0.0011 s)\n",
+ "[+] cksp: 1.3098 ms (0.0013 s)\n",
+ "[+] cmf: 1.0076 ms (0.0010 s)\n",
+ "[+] cmo: 1.5951 ms (0.0016 s)\n",
+ "[+] coppock: 0.3079 ms (0.0003 s)\n",
+ "[+] crsi: 2.7429 ms (0.0027 s)\n",
+ "[+] cti: 15.2342 ms (0.0152 s)\n",
+ "[+] cube: 0.5799 ms (0.0006 s)\n",
+ "[+] decay: 0.1535 ms (0.0002 s)\n",
+ "[+] decreasing: 0.2817 ms (0.0003 s)\n",
+ "[+] dema: 0.7630 ms (0.0008 s)\n",
+ "[+] dm: 2.0085 ms (0.0020 s)\n",
+ "[+] donchian: 0.7645 ms (0.0008 s)\n",
+ "[+] dpo: 0.3117 ms (0.0003 s)\n",
+ "[+] ebsw: 34.4620 ms (0.0345 s)\n",
+ "[+] efi: 0.3709 ms (0.0004 s)\n",
+ "[+] ema: 0.3875 ms (0.0004 s)\n",
+ "[+] entropy: 0.5779 ms (0.0006 s)\n",
+ "[+] eom: 0.9133 ms (0.0009 s)\n",
+ "[+] er: 0.4318 ms (0.0004 s)\n",
+ "[+] eri: 0.6799 ms (0.0007 s)\n",
+ "[+] fisher: 6.3067 ms (0.0063 s)\n",
+ "[+] fwma: 3.3041 ms (0.0033 s)\n",
+ "[+] ha: 0.6929 ms (0.0007 s)\n",
+ "[+] hilo: 43.3909 ms (0.0434 s)\n",
+ "[+] hl2: 0.3547 ms (0.0004 s)\n",
+ "[+] hlc3: 0.3152 ms (0.0003 s)\n",
+ "[+] hma: 0.3883 ms (0.0004 s)\n",
+ "[+] hwc: 8.1393 ms (0.0081 s)\n",
+ "[+] hwma: 7.3752 ms (0.0074 s)\n",
+ "[+] ifisher: 0.5579 ms (0.0006 s)\n",
+ "[+] increasing: 0.3202 ms (0.0003 s)\n",
+ "[+] inertia: 2.0050 ms (0.0020 s)\n",
+ "[+] jma: 25.3266 ms (0.0253 s)\n",
+ "[+] kama: 7.4083 ms (0.0074 s)\n",
+ "[+] kc: 0.8870 ms (0.0009 s)\n",
+ "[+] kdj: 1.3318 ms (0.0013 s)\n",
+ "[+] kst: 1.3393 ms (0.0013 s)\n",
+ "[+] kurtosis: 0.2628 ms (0.0003 s)\n",
+ "[+] kvo: 2.2343 ms (0.0022 s)\n",
+ "[+] linreg: 11.4833 ms (0.0115 s)\n",
+ "[+] log_return: 0.1795 ms (0.0002 s)\n",
+ "[+] long_run: 0.0011 ms (0.0000 s)\n",
+ "[+] macd: 1.7831 ms (0.0018 s)\n",
+ "[+] mad: 14.5006 ms (0.0145 s)\n",
+ "[+] mama: 0.4691 ms (0.0005 s)\n",
+ "[+] massi: 1.2423 ms (0.0012 s)\n",
+ "[+] mcgd: 1.8795 ms (0.0019 s)\n",
+ "[+] median: 0.6855 ms (0.0007 s)\n",
+ "[+] mfi: 3.2603 ms (0.0033 s)\n",
+ "[+] midpoint: 0.5056 ms (0.0005 s)\n",
+ "[+] midprice: 0.5150 ms (0.0005 s)\n",
+ "[+] mom: 0.1635 ms (0.0002 s)\n",
+ "[+] natr: 1.6323 ms (0.0016 s)\n",
+ "[+] nvi: 1.3775 ms (0.0014 s)\n",
+ "[+] obv: 0.8711 ms (0.0009 s)\n",
+ "[+] ohlc4: 0.3715 ms (0.0004 s)\n",
+ "[+] pdist: 1.1083 ms (0.0011 s)\n",
+ "[+] percent_return: 0.1532 ms (0.0002 s)\n",
+ "[+] pgo: 0.5498 ms (0.0005 s)\n",
+ "[+] pivots: 5.7210 ms (0.0057 s)\n",
+ "[+] ppo: 1.5014 ms (0.0015 s)\n",
+ "[+] psar: 52.8610 ms (0.0529 s)\n",
+ "[+] psl: 0.9460 ms (0.0009 s)\n",
+ "[+] pvi: 1.5730 ms (0.0016 s)\n",
+ "[+] pvo: 0.6139 ms (0.0006 s)\n",
+ "[+] pvol: 0.2426 ms (0.0002 s)\n",
+ "[+] pvr: 1.1282 ms (0.0011 s)\n",
+ "[+] pvt: 0.3241 ms (0.0003 s)\n",
+ "[+] pwma: 1.8668 ms (0.0019 s)\n",
+ "[+] qqe: 98.1285 ms (0.0981 s)\n",
+ "[+] qstick: 0.8072 ms (0.0008 s)\n",
+ "[+] quantile: 0.7324 ms (0.0007 s)\n",
+ "[+] reflex: 0.1839 ms (0.0002 s)\n",
+ "[+] remap: 0.1418 ms (0.0001 s)\n",
+ "[+] rma: 0.1993 ms (0.0002 s)\n",
+ "[+] roc: 0.3497 ms (0.0003 s)\n",
+ "[+] rsi: 1.0836 ms (0.0011 s)\n",
+ "[+] rsx: 7.1523 ms (0.0072 s)\n",
+ "[+] rvgi: 6.2902 ms (0.0063 s)\n",
+ "[+] rvi: 1.7952 ms (0.0018 s)\n",
+ "[+] rwi: 1.9255 ms (0.0019 s)\n",
+ "[+] short_run: 0.0013 ms (0.0000 s)\n",
+ "[+] sinwma: 7.3411 ms (0.0073 s)\n",
+ "[+] skew: 0.3218 ms (0.0003 s)\n",
+ "[+] slope: 0.2352 ms (0.0002 s)\n",
+ "[+] sma: 0.3535 ms (0.0004 s)\n",
+ "[+] smi: 1.1718 ms (0.0012 s)\n",
+ "[+] smma: 19.3454 ms (0.0193 s)\n",
+ "[+] squeeze: 2.6601 ms (0.0027 s)\n",
+ "[+] squeeze_pro: 4.2988 ms (0.0043 s)\n",
+ "[+] ssf: 0.1618 ms (0.0002 s)\n",
+ "[+] ssf3: 0.1437 ms (0.0001 s)\n",
+ "[+] stc: 24.9052 ms (0.0249 s)\n",
+ "[+] stdev: 0.3407 ms (0.0003 s)\n",
+ "[+] stoch: 2.0885 ms (0.0021 s)\n",
+ "[+] stochf: 1.5050 ms (0.0015 s)\n",
+ "[+] stochrsi: 1.0823 ms (0.0011 s)\n",
+ "[+] supertrend: 25.4998 ms (0.0255 s)\n",
+ "[+] swma: 2.6912 ms (0.0027 s)\n",
+ "[+] t3: 1.9096 ms (0.0019 s)\n",
+ "[+] td_seq: 775.5132 ms (0.7755 s)\n",
+ "[+] tema: 1.3002 ms (0.0013 s)\n",
"[+] thermo: 1.3563 ms (0.0014 s)\n",
- "[+] tmo: 1.4543 ms (0.0015 s)\n",
- "[+] tos_stdevall: 2.5353 ms (0.0025 s)\n",
- "[+] trendflex: 0.1966 ms (0.0002 s)\n",
- "[+] trima: 0.6526 ms (0.0007 s)\n",
- "[+] trix: 1.6598 ms (0.0017 s)\n",
- "[+] true_range: 1.0759 ms (0.0011 s)\n",
- "[+] tsi: 1.9949 ms (0.0020 s)\n",
- "[+] tsignals: 0.0016 ms (0.0000 s)\n",
- "[+] ttm_trend: 1.7313 ms (0.0017 s)\n",
- "[+] ui: 0.7017 ms (0.0007 s)\n",
- "[+] uo: 2.4212 ms (0.0024 s)\n",
- "[+] variance: 0.2372 ms (0.0002 s)\n",
- "[+] vhf: 0.9007 ms (0.0009 s)\n",
- "[+] vhm: 1.3552 ms (0.0014 s)\n",
- "[+] vidya: 24.1424 ms (0.0241 s)\n",
- "[+] vortex: 1.3567 ms (0.0014 s)\n",
- "[+] vwap: 1.6847 ms (0.0017 s)\n",
- "[+] vwma: 0.3935 ms (0.0004 s)\n",
- "[+] wb_tsv: 2.0980 ms (0.0021 s)\n",
- "[+] wcp: 0.3055 ms (0.0003 s)\n",
- "[+] willr: 0.7203 ms (0.0007 s)\n",
- "[+] wma: 8.3170 ms (0.0083 s)\n",
+ "[+] tmo: 1.4320 ms (0.0014 s)\n",
+ "[+] tos_stdevall: 2.5736 ms (0.0026 s)\n",
+ "[+] trendflex: 0.1938 ms (0.0002 s)\n",
+ "[+] trima: 0.5869 ms (0.0006 s)\n",
+ "[+] trix: 1.6134 ms (0.0016 s)\n",
+ "[+] true_range: 1.0704 ms (0.0011 s)\n",
+ "[+] tsi: 1.7305 ms (0.0017 s)\n",
+ "[+] tsignals: 0.0015 ms (0.0000 s)\n",
+ "[+] ttm_trend: 1.5180 ms (0.0015 s)\n",
+ "[+] ui: 0.6319 ms (0.0006 s)\n",
+ "[+] uo: 2.8293 ms (0.0028 s)\n",
+ "[+] variance: 0.2957 ms (0.0003 s)\n",
+ "[+] vhf: 0.9819 ms (0.0010 s)\n",
+ "[+] vhm: 1.3603 ms (0.0014 s)\n",
+ "[+] vidya: 24.5203 ms (0.0245 s)\n",
+ "[+] vortex: 1.3915 ms (0.0014 s)\n",
+ "[+] vwap: 1.7239 ms (0.0017 s)\n",
+ "[+] vwma: 0.3972 ms (0.0004 s)\n",
+ "[+] wb_tsv: 2.1012 ms (0.0021 s)\n",
+ "[+] wcp: 0.2983 ms (0.0003 s)\n",
+ "[+] willr: 0.7170 ms (0.0007 s)\n",
+ "[+] wma: 8.3035 ms (0.0083 s)\n",
"[+] xsignals: 0.0017 ms (0.0000 s)\n",
- "[+] zlma: 0.5939 ms (0.0006 s)\n",
- "[+] zscore: 0.9177 ms (0.0009 s)\n",
+ "[+] zlma: 0.5865 ms (0.0006 s)\n",
+ "[+] zscore: 0.8328 ms (0.0008 s)\n",
"\n",
"============================================================\n",
- " Slowest 10 Indicators [153]\n",
+ " Slowest 10 Indicators [154]\n",
" Observations: 1257\n",
"============================================================\n",
" ms secs\n",
"Indicator \n",
- "td_seq 789.4090 0.78941\n",
- "qqe 96.9280 0.09693\n",
- "alligator 58.8218 0.05882\n",
- "psar 52.9110 0.05291\n",
- "hilo 41.8775 0.04188\n",
- "ebsw 34.5614 0.03456\n",
- "jma 24.7630 0.02476\n",
- "supertrend 24.6719 0.02467\n",
- "stc 24.4754 0.02448\n",
- "vidya 24.1424 0.02414\n",
+ "td_seq 775.5132 0.77551\n",
+ "qqe 98.1285 0.09813\n",
+ "alligator 58.5015 0.05850\n",
+ "psar 52.8610 0.05286\n",
+ "hilo 43.3909 0.04339\n",
+ "ebsw 34.4620 0.03446\n",
+ "supertrend 25.4998 0.02550\n",
+ "jma 25.3266 0.02533\n",
+ "stc 24.9052 0.02491\n",
+ "vidya 24.5203 0.02452\n",
"\n",
"============================================================\n",
"Time Stats:\n",
" ms secs\n",
- "min 0.001300 0.000000\n",
- "50% 1.222500 0.001220\n",
- "mean 9.666095 0.009666\n",
- "max 789.409000 0.789410\n",
- "total 1478.912500 1.478950\n",
+ "min 0.001100 0.000000\n",
+ "50% 1.289000 0.001290\n",
+ "mean 9.529325 0.009529\n",
+ "max 775.513200 0.775510\n",
+ "total 1467.516000 1.467470\n",
"\n",
"============================================================\n",
"\n"
@@ -382,41 +383,41 @@
"data": {
"text/html": [
"\n",
- "
\n",
+ "\n",
" \n",
" \n",
" | \n",
- " ms | \n",
- " secs | \n",
+ " ms | \n",
+ " secs | \n",
"
\n",
" \n",
" Indicator | \n",
@@ -426,60 +427,60 @@
"
\n",
" \n",
" \n",
- " td_seq | \n",
- " 789.409000 | \n",
- " 0.789410 | \n",
+ " td_seq | \n",
+ " 775.513200 | \n",
+ " 0.775510 | \n",
"
\n",
" \n",
- " qqe | \n",
- " 96.928000 | \n",
- " 0.096930 | \n",
+ " qqe | \n",
+ " 98.128500 | \n",
+ " 0.098130 | \n",
"
\n",
" \n",
- " alligator | \n",
- " 58.821800 | \n",
- " 0.058820 | \n",
+ " alligator | \n",
+ " 58.501500 | \n",
+ " 0.058500 | \n",
"
\n",
" \n",
- " psar | \n",
- " 52.911000 | \n",
- " 0.052910 | \n",
+ " psar | \n",
+ " 52.861000 | \n",
+ " 0.052860 | \n",
"
\n",
" \n",
- " hilo | \n",
- " 41.877500 | \n",
- " 0.041880 | \n",
+ " hilo | \n",
+ " 43.390900 | \n",
+ " 0.043390 | \n",
"
\n",
" \n",
- " ebsw | \n",
- " 34.561400 | \n",
- " 0.034560 | \n",
+ " ebsw | \n",
+ " 34.462000 | \n",
+ " 0.034460 | \n",
"
\n",
" \n",
- " jma | \n",
- " 24.763000 | \n",
- " 0.024760 | \n",
+ " supertrend | \n",
+ " 25.499800 | \n",
+ " 0.025500 | \n",
"
\n",
" \n",
- " supertrend | \n",
- " 24.671900 | \n",
- " 0.024670 | \n",
+ " jma | \n",
+ " 25.326600 | \n",
+ " 0.025330 | \n",
"
\n",
" \n",
- " stc | \n",
- " 24.475400 | \n",
- " 0.024480 | \n",
+ " stc | \n",
+ " 24.905200 | \n",
+ " 0.024910 | \n",
"
\n",
" \n",
- " vidya | \n",
- " 24.142400 | \n",
- " 0.024140 | \n",
+ " vidya | \n",
+ " 24.520300 | \n",
+ " 0.024520 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
- ""
+ ""
]
},
"execution_count": 6,
@@ -525,28 +526,28 @@
" \n",
" \n",
" min | \n",
- " 0.001300 | \n",
+ " 0.001100 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 50% | \n",
- " 1.222500 | \n",
- " 0.001220 | \n",
+ " 1.289000 | \n",
+ " 0.001290 | \n",
"
\n",
" \n",
" mean | \n",
- " 9.666095 | \n",
- " 0.009666 | \n",
+ " 9.529325 | \n",
+ " 0.009529 | \n",
"
\n",
" \n",
" max | \n",
- " 789.409000 | \n",
- " 0.789410 | \n",
+ " 775.513200 | \n",
+ " 0.775510 | \n",
"
\n",
" \n",
" total | \n",
- " 1478.912500 | \n",
- " 1.478950 | \n",
+ " 1467.516000 | \n",
+ " 1.467470 | \n",
"
\n",
" \n",
"
\n",
@@ -554,11 +555,11 @@
],
"text/plain": [
" ms secs\n",
- "min 0.001300 0.000000\n",
- "50% 1.222500 0.001220\n",
- "mean 9.666095 0.009666\n",
- "max 789.409000 0.789410\n",
- "total 1478.912500 1.478950"
+ "min 0.001100 0.000000\n",
+ "50% 1.289000 0.001290\n",
+ "mean 9.529325 0.009529\n",
+ "max 775.513200 0.775510\n",
+ "total 1467.516000 1.467470"
]
},
"execution_count": 7,
@@ -597,185 +598,186 @@
"output_type": "stream",
"text": [
"\n",
- "[+] aberration: 2.1315 ms (0.0021 s)\n",
- "[+] accbands: 1.3183 ms (0.0013 s)\n",
- "[+] ad: 0.6363 ms (0.0006 s)\n",
- "[+] adosc: 0.4027 ms (0.0004 s)\n",
- "[+] adx: 2.8690 ms (0.0029 s)\n",
- "[+] alligator: 57.8085 ms (0.0578 s)\n",
- "[+] alma: 0.4338 ms (0.0004 s)\n",
- "[+] alphatrend: 1.3127 ms (0.0013 s)\n",
- "[+] amat: 1.9960 ms (0.0020 s)\n",
- "[+] ao: 0.4622 ms (0.0005 s)\n",
- "[+] aobv: 2.7132 ms (0.0027 s)\n",
- "[+] apo: 0.2177 ms (0.0002 s)\n",
- "[+] aroon: 0.5793 ms (0.0006 s)\n",
- "[+] atr: 0.4065 ms (0.0004 s)\n",
- "[+] atrts: 0.5820 ms (0.0006 s)\n",
- "[+] bbands: 0.9606 ms (0.0010 s)\n",
- "[+] bias: 0.3156 ms (0.0003 s)\n",
- "[+] bop: 0.4347 ms (0.0004 s)\n",
- "[+] brar: 3.0355 ms (0.0030 s)\n",
- "[+] cci: 0.4174 ms (0.0004 s)\n",
- "[+] cdl_pattern: 7.2117 ms (0.0072 s)\n",
- "[+] cdl_z: 1.5593 ms (0.0016 s)\n",
- "[+] cfo: 0.3325 ms (0.0003 s)\n",
- "[+] cg: 6.4802 ms (0.0065 s)\n",
- "[+] chandelier_exit: 1.9803 ms (0.0020 s)\n",
- "[+] chop: 1.1809 ms (0.0012 s)\n",
- "[+] cksp: 1.3694 ms (0.0014 s)\n",
- "[+] cmf: 1.0299 ms (0.0010 s)\n",
- "[+] cmo: 0.1870 ms (0.0002 s)\n",
- "[+] coppock: 0.3050 ms (0.0003 s)\n",
- "[+] cti: 15.5370 ms (0.0155 s)\n",
- "[+] cube: 0.6361 ms (0.0006 s)\n",
- "[+] decay: 0.1578 ms (0.0002 s)\n",
- "[+] decreasing: 0.3040 ms (0.0003 s)\n",
- "[+] dema: 0.1739 ms (0.0002 s)\n",
- "[+] dm: 0.4445 ms (0.0004 s)\n",
- "[+] donchian: 0.7635 ms (0.0008 s)\n",
- "[+] dpo: 0.3118 ms (0.0003 s)\n",
- "[+] ebsw: 34.5349 ms (0.0345 s)\n",
- "[+] efi: 0.4765 ms (0.0005 s)\n",
- "[+] ema: 0.1557 ms (0.0002 s)\n",
- "[+] entropy: 0.6431 ms (0.0006 s)\n",
- "[+] eom: 0.9620 ms (0.0010 s)\n",
- "[+] er: 0.4467 ms (0.0004 s)\n",
- "[+] eri: 0.6435 ms (0.0006 s)\n",
- "[+] fisher: 5.9755 ms (0.0060 s)\n",
- "[+] fwma: 1.9330 ms (0.0019 s)\n",
- "[+] ha: 0.5728 ms (0.0006 s)\n",
- "[+] hilo: 41.4881 ms (0.0415 s)\n",
- "[+] hl2: 0.2456 ms (0.0002 s)\n",
- "[+] hlc3: 0.3145 ms (0.0003 s)\n",
- "[+] hma: 0.3765 ms (0.0004 s)\n",
- "[+] hwc: 8.3533 ms (0.0084 s)\n",
- "[+] hwma: 7.5583 ms (0.0076 s)\n",
- "[+] ifisher: 0.6551 ms (0.0007 s)\n",
- "[+] increasing: 0.3217 ms (0.0003 s)\n",
- "[+] inertia: 2.3685 ms (0.0024 s)\n",
- "[+] jma: 24.8405 ms (0.0248 s)\n",
- "[+] kama: 7.4533 ms (0.0075 s)\n",
- "[+] kc: 0.9206 ms (0.0009 s)\n",
- "[+] kdj: 1.3393 ms (0.0013 s)\n",
- "[+] kst: 1.3571 ms (0.0014 s)\n",
- "[+] kurtosis: 0.2640 ms (0.0003 s)\n",
- "[+] kvo: 2.2211 ms (0.0022 s)\n",
- "[+] linreg: 0.1719 ms (0.0002 s)\n",
- "[+] log_return: 0.1732 ms (0.0002 s)\n",
- "[+] long_run: 0.0012 ms (0.0000 s)\n",
- "[+] macd: 1.2925 ms (0.0013 s)\n",
- "[+] mad: 14.5388 ms (0.0145 s)\n",
- "[+] mama: 0.8442 ms (0.0008 s)\n",
- "[+] massi: 1.0200 ms (0.0010 s)\n",
- "[+] mcgd: 2.2421 ms (0.0022 s)\n",
- "[+] median: 0.7525 ms (0.0008 s)\n",
- "[+] mfi: 0.5971 ms (0.0006 s)\n",
- "[+] midpoint: 0.1730 ms (0.0002 s)\n",
- "[+] midprice: 0.2382 ms (0.0002 s)\n",
- "[+] mom: 0.1453 ms (0.0001 s)\n",
- "[+] natr: 0.3224 ms (0.0003 s)\n",
- "[+] nvi: 1.6748 ms (0.0017 s)\n",
- "[+] obv: 0.2800 ms (0.0003 s)\n",
- "[+] ohlc4: 0.3917 ms (0.0004 s)\n",
- "[+] pdist: 1.2215 ms (0.0012 s)\n",
- "[+] percent_return: 0.1738 ms (0.0002 s)\n",
- "[+] pgo: 0.5882 ms (0.0006 s)\n",
- "[+] pivots: 6.0429 ms (0.0060 s)\n",
- "[+] ppo: 0.5561 ms (0.0006 s)\n",
- "[+] psar: 55.1853 ms (0.0552 s)\n",
- "[+] psl: 0.9289 ms (0.0009 s)\n",
- "[+] pvi: 1.4058 ms (0.0014 s)\n",
- "[+] pvo: 0.6256 ms (0.0006 s)\n",
- "[+] pvol: 0.2389 ms (0.0002 s)\n",
- "[+] pvr: 1.1287 ms (0.0011 s)\n",
- "[+] pvt: 0.3243 ms (0.0003 s)\n",
- "[+] pwma: 1.7902 ms (0.0018 s)\n",
- "[+] qqe: 97.1545 ms (0.0972 s)\n",
- "[+] qstick: 0.6188 ms (0.0006 s)\n",
- "[+] quantile: 0.7366 ms (0.0007 s)\n",
- "[+] reflex: 0.1845 ms (0.0002 s)\n",
- "[+] remap: 0.1414 ms (0.0001 s)\n",
- "[+] rma: 0.2004 ms (0.0002 s)\n",
- "[+] roc: 0.1371 ms (0.0001 s)\n",
- "[+] rsi: 0.1450 ms (0.0001 s)\n",
- "[+] rsx: 7.2825 ms (0.0073 s)\n",
- "[+] rvgi: 7.1396 ms (0.0071 s)\n",
- "[+] rvi: 1.9116 ms (0.0019 s)\n",
- "[+] rwi: 0.9391 ms (0.0009 s)\n",
- "[+] short_run: 0.0015 ms (0.0000 s)\n",
- "[+] sinwma: 7.6959 ms (0.0077 s)\n",
- "[+] skew: 0.2705 ms (0.0003 s)\n",
- "[+] slope: 0.2215 ms (0.0002 s)\n",
- "[+] sma: 0.1454 ms (0.0001 s)\n",
- "[+] smi: 1.2248 ms (0.0012 s)\n",
- "[+] smma: 18.7695 ms (0.0188 s)\n",
- "[+] squeeze: 2.7443 ms (0.0027 s)\n",
- "[+] squeeze_pro: 4.4873 ms (0.0045 s)\n",
- "[+] ssf: 0.1583 ms (0.0002 s)\n",
- "[+] ssf3: 0.1411 ms (0.0001 s)\n",
- "[+] stc: 24.9623 ms (0.0250 s)\n",
- "[+] stdev: 0.1595 ms (0.0002 s)\n",
- "[+] stoch: 0.5891 ms (0.0006 s)\n",
- "[+] stochf: 0.7667 ms (0.0008 s)\n",
- "[+] stochrsi: 1.2369 ms (0.0012 s)\n",
- "[+] supertrend: 24.6885 ms (0.0247 s)\n",
- "[+] swma: 1.8097 ms (0.0018 s)\n",
- "[+] t3: 0.1735 ms (0.0002 s)\n",
- "[+] td_seq: 780.3465 ms (0.7803 s)\n",
- "[+] tema: 0.2320 ms (0.0002 s)\n",
- "[+] thermo: 1.2919 ms (0.0013 s)\n",
- "[+] tmo: 1.4384 ms (0.0014 s)\n",
- "[+] tos_stdevall: 2.4031 ms (0.0024 s)\n",
- "[+] trendflex: 0.1920 ms (0.0002 s)\n",
- "[+] trima: 0.1479 ms (0.0001 s)\n",
- "[+] trix: 1.0013 ms (0.0010 s)\n",
- "[+] true_range: 0.3646 ms (0.0004 s)\n",
- "[+] tsi: 0.8508 ms (0.0009 s)\n",
- "[+] tsignals: 0.0013 ms (0.0000 s)\n",
- "[+] ttm_trend: 1.7405 ms (0.0017 s)\n",
- "[+] ui: 0.7770 ms (0.0008 s)\n",
- "[+] uo: 0.3545 ms (0.0004 s)\n",
- "[+] variance: 0.1433 ms (0.0001 s)\n",
- "[+] vhf: 0.9121 ms (0.0009 s)\n",
- "[+] vhm: 1.3504 ms (0.0014 s)\n",
- "[+] vidya: 24.4484 ms (0.0244 s)\n",
- "[+] vortex: 1.5771 ms (0.0016 s)\n",
- "[+] vwap: 1.7027 ms (0.0017 s)\n",
- "[+] vwma: 0.3847 ms (0.0004 s)\n",
- "[+] wb_tsv: 2.1454 ms (0.0021 s)\n",
- "[+] wcp: 1.2838 ms (0.0013 s)\n",
- "[+] willr: 0.3725 ms (0.0004 s)\n",
- "[+] wma: 0.1435 ms (0.0001 s)\n",
- "[+] xsignals: 0.0014 ms (0.0000 s)\n",
- "[+] zlma: 0.3723 ms (0.0004 s)\n",
- "[+] zscore: 0.3370 ms (0.0003 s)\n",
+ "[+] aberration: 1.8360 ms (0.0018 s)\n",
+ "[+] accbands: 1.4584 ms (0.0015 s)\n",
+ "[+] ad: 0.7203 ms (0.0007 s)\n",
+ "[+] adosc: 0.4615 ms (0.0005 s)\n",
+ "[+] adx: 3.5402 ms (0.0035 s)\n",
+ "[+] alligator: 58.3756 ms (0.0584 s)\n",
+ "[+] alma: 0.7484 ms (0.0007 s)\n",
+ "[+] alphatrend: 1.3322 ms (0.0013 s)\n",
+ "[+] amat: 1.9752 ms (0.0020 s)\n",
+ "[+] ao: 0.4505 ms (0.0005 s)\n",
+ "[+] aobv: 2.7663 ms (0.0028 s)\n",
+ "[+] apo: 0.1982 ms (0.0002 s)\n",
+ "[+] aroon: 0.5680 ms (0.0006 s)\n",
+ "[+] atr: 0.4222 ms (0.0004 s)\n",
+ "[+] atrts: 0.5730 ms (0.0006 s)\n",
+ "[+] bbands: 0.8932 ms (0.0009 s)\n",
+ "[+] bias: 0.3204 ms (0.0003 s)\n",
+ "[+] bop: 0.4397 ms (0.0004 s)\n",
+ "[+] brar: 3.1286 ms (0.0031 s)\n",
+ "[+] cci: 0.3985 ms (0.0004 s)\n",
+ "[+] cdl_pattern: 7.3599 ms (0.0074 s)\n",
+ "[+] cdl_z: 1.6163 ms (0.0016 s)\n",
+ "[+] cfo: 0.5248 ms (0.0005 s)\n",
+ "[+] cg: 6.4300 ms (0.0064 s)\n",
+ "[+] chandelier_exit: 1.9151 ms (0.0019 s)\n",
+ "[+] chop: 1.0992 ms (0.0011 s)\n",
+ "[+] cksp: 1.3273 ms (0.0013 s)\n",
+ "[+] cmf: 1.0408 ms (0.0010 s)\n",
+ "[+] cmo: 0.1860 ms (0.0002 s)\n",
+ "[+] coppock: 0.2979 ms (0.0003 s)\n",
+ "[+] crsi: 0.9211 ms (0.0009 s)\n",
+ "[+] cti: 15.4120 ms (0.0154 s)\n",
+ "[+] cube: 0.5970 ms (0.0006 s)\n",
+ "[+] decay: 0.1582 ms (0.0002 s)\n",
+ "[+] decreasing: 0.2887 ms (0.0003 s)\n",
+ "[+] dema: 0.1683 ms (0.0002 s)\n",
+ "[+] dm: 0.4398 ms (0.0004 s)\n",
+ "[+] donchian: 0.7603 ms (0.0008 s)\n",
+ "[+] dpo: 0.3055 ms (0.0003 s)\n",
+ "[+] ebsw: 34.5248 ms (0.0345 s)\n",
+ "[+] efi: 0.3674 ms (0.0004 s)\n",
+ "[+] ema: 0.1455 ms (0.0001 s)\n",
+ "[+] entropy: 0.5773 ms (0.0006 s)\n",
+ "[+] eom: 0.9080 ms (0.0009 s)\n",
+ "[+] er: 0.4297 ms (0.0004 s)\n",
+ "[+] eri: 0.6014 ms (0.0006 s)\n",
+ "[+] fisher: 5.7969 ms (0.0058 s)\n",
+ "[+] fwma: 2.0095 ms (0.0020 s)\n",
+ "[+] ha: 0.5603 ms (0.0006 s)\n",
+ "[+] hilo: 41.2540 ms (0.0413 s)\n",
+ "[+] hl2: 0.2459 ms (0.0002 s)\n",
+ "[+] hlc3: 0.4617 ms (0.0005 s)\n",
+ "[+] hma: 0.4200 ms (0.0004 s)\n",
+ "[+] hwc: 8.2964 ms (0.0083 s)\n",
+ "[+] hwma: 7.2456 ms (0.0072 s)\n",
+ "[+] ifisher: 0.5586 ms (0.0006 s)\n",
+ "[+] increasing: 0.3144 ms (0.0003 s)\n",
+ "[+] inertia: 1.9570 ms (0.0020 s)\n",
+ "[+] jma: 24.9298 ms (0.0249 s)\n",
+ "[+] kama: 7.5203 ms (0.0075 s)\n",
+ "[+] kc: 0.9200 ms (0.0009 s)\n",
+ "[+] kdj: 1.3400 ms (0.0013 s)\n",
+ "[+] kst: 1.3352 ms (0.0013 s)\n",
+ "[+] kurtosis: 0.2626 ms (0.0003 s)\n",
+ "[+] kvo: 2.2288 ms (0.0022 s)\n",
+ "[+] linreg: 0.1739 ms (0.0002 s)\n",
+ "[+] log_return: 0.1713 ms (0.0002 s)\n",
+ "[+] long_run: 0.0013 ms (0.0000 s)\n",
+ "[+] macd: 1.2921 ms (0.0013 s)\n",
+ "[+] mad: 14.5802 ms (0.0146 s)\n",
+ "[+] mama: 0.7136 ms (0.0007 s)\n",
+ "[+] massi: 0.8916 ms (0.0009 s)\n",
+ "[+] mcgd: 2.1943 ms (0.0022 s)\n",
+ "[+] median: 0.7854 ms (0.0008 s)\n",
+ "[+] mfi: 0.5168 ms (0.0005 s)\n",
+ "[+] midpoint: 0.1915 ms (0.0002 s)\n",
+ "[+] midprice: 0.2493 ms (0.0002 s)\n",
+ "[+] mom: 0.1463 ms (0.0001 s)\n",
+ "[+] natr: 0.3239 ms (0.0003 s)\n",
+ "[+] nvi: 1.5527 ms (0.0016 s)\n",
+ "[+] obv: 0.2435 ms (0.0002 s)\n",
+ "[+] ohlc4: 0.3779 ms (0.0004 s)\n",
+ "[+] pdist: 1.1955 ms (0.0012 s)\n",
+ "[+] percent_return: 0.1652 ms (0.0002 s)\n",
+ "[+] pgo: 0.5775 ms (0.0006 s)\n",
+ "[+] pivots: 6.0667 ms (0.0061 s)\n",
+ "[+] ppo: 0.6287 ms (0.0006 s)\n",
+ "[+] psar: 54.8974 ms (0.0549 s)\n",
+ "[+] psl: 0.9486 ms (0.0009 s)\n",
+ "[+] pvi: 1.3990 ms (0.0014 s)\n",
+ "[+] pvo: 0.6132 ms (0.0006 s)\n",
+ "[+] pvol: 0.2384 ms (0.0002 s)\n",
+ "[+] pvr: 1.1209 ms (0.0011 s)\n",
+ "[+] pvt: 0.3263 ms (0.0003 s)\n",
+ "[+] pwma: 1.8940 ms (0.0019 s)\n",
+ "[+] qqe: 99.6320 ms (0.0996 s)\n",
+ "[+] qstick: 0.7507 ms (0.0008 s)\n",
+ "[+] quantile: 0.8410 ms (0.0008 s)\n",
+ "[+] reflex: 0.2475 ms (0.0002 s)\n",
+ "[+] remap: 0.1644 ms (0.0002 s)\n",
+ "[+] rma: 0.2316 ms (0.0002 s)\n",
+ "[+] roc: 0.1649 ms (0.0002 s)\n",
+ "[+] rsi: 0.1657 ms (0.0002 s)\n",
+ "[+] rsx: 8.6313 ms (0.0086 s)\n",
+ "[+] rvgi: 7.4696 ms (0.0075 s)\n",
+ "[+] rvi: 2.2207 ms (0.0022 s)\n",
+ "[+] rwi: 0.9882 ms (0.0010 s)\n",
+ "[+] short_run: 0.0031 ms (0.0000 s)\n",
+ "[+] sinwma: 7.7704 ms (0.0078 s)\n",
+ "[+] skew: 0.7325 ms (0.0007 s)\n",
+ "[+] slope: 0.2757 ms (0.0003 s)\n",
+ "[+] sma: 0.1551 ms (0.0002 s)\n",
+ "[+] smi: 1.3333 ms (0.0013 s)\n",
+ "[+] smma: 19.5759 ms (0.0196 s)\n",
+ "[+] squeeze: 3.1263 ms (0.0031 s)\n",
+ "[+] squeeze_pro: 4.3125 ms (0.0043 s)\n",
+ "[+] ssf: 0.2073 ms (0.0002 s)\n",
+ "[+] ssf3: 0.1604 ms (0.0002 s)\n",
+ "[+] stc: 25.9717 ms (0.0260 s)\n",
+ "[+] stdev: 0.2114 ms (0.0002 s)\n",
+ "[+] stoch: 0.6443 ms (0.0006 s)\n",
+ "[+] stochf: 0.9380 ms (0.0009 s)\n",
+ "[+] stochrsi: 1.0953 ms (0.0011 s)\n",
+ "[+] supertrend: 24.3121 ms (0.0243 s)\n",
+ "[+] swma: 1.8701 ms (0.0019 s)\n",
+ "[+] t3: 0.1542 ms (0.0002 s)\n",
+ "[+] td_seq: 771.1837 ms (0.7712 s)\n",
+ "[+] tema: 0.2545 ms (0.0003 s)\n",
+ "[+] thermo: 1.3305 ms (0.0013 s)\n",
+ "[+] tmo: 1.4747 ms (0.0015 s)\n",
+ "[+] tos_stdevall: 2.7400 ms (0.0027 s)\n",
+ "[+] trendflex: 0.2123 ms (0.0002 s)\n",
+ "[+] trima: 0.1590 ms (0.0002 s)\n",
+ "[+] trix: 1.0938 ms (0.0011 s)\n",
+ "[+] true_range: 0.4236 ms (0.0004 s)\n",
+ "[+] tsi: 0.8822 ms (0.0009 s)\n",
+ "[+] tsignals: 0.0015 ms (0.0000 s)\n",
+ "[+] ttm_trend: 1.5882 ms (0.0016 s)\n",
+ "[+] ui: 0.6381 ms (0.0006 s)\n",
+ "[+] uo: 0.3329 ms (0.0003 s)\n",
+ "[+] variance: 0.1389 ms (0.0001 s)\n",
+ "[+] vhf: 0.8986 ms (0.0009 s)\n",
+ "[+] vhm: 1.2778 ms (0.0013 s)\n",
+ "[+] vidya: 22.9886 ms (0.0230 s)\n",
+ "[+] vortex: 1.3916 ms (0.0014 s)\n",
+ "[+] vwap: 1.8682 ms (0.0019 s)\n",
+ "[+] vwma: 0.3758 ms (0.0004 s)\n",
+ "[+] wb_tsv: 2.0852 ms (0.0021 s)\n",
+ "[+] wcp: 1.3183 ms (0.0013 s)\n",
+ "[+] willr: 0.3033 ms (0.0003 s)\n",
+ "[+] wma: 0.1297 ms (0.0001 s)\n",
+ "[+] xsignals: 0.0029 ms (0.0000 s)\n",
+ "[+] zlma: 0.3431 ms (0.0003 s)\n",
+ "[+] zscore: 0.3232 ms (0.0003 s)\n",
"\n",
"============================================================\n",
- " Slowest 10 Indicators [153]\n",
+ " Slowest 10 Indicators [154]\n",
" Observations[talib]: 1257\n",
"============================================================\n",
" ms secs\n",
"Indicator \n",
- "td_seq 780.3465 0.78035\n",
- "qqe 97.1545 0.09715\n",
- "alligator 57.8085 0.05781\n",
- "psar 55.1853 0.05519\n",
- "hilo 41.4881 0.04149\n",
- "ebsw 34.5349 0.03453\n",
- "stc 24.9623 0.02496\n",
- "jma 24.8405 0.02484\n",
- "supertrend 24.6885 0.02469\n",
- "vidya 24.4484 0.02445\n",
+ "td_seq 771.1837 0.77118\n",
+ "qqe 99.6320 0.09963\n",
+ "alligator 58.3756 0.05838\n",
+ "psar 54.8974 0.05490\n",
+ "hilo 41.2540 0.04125\n",
+ "ebsw 34.5248 0.03452\n",
+ "stc 25.9717 0.02597\n",
+ "jma 24.9298 0.02493\n",
+ "supertrend 24.3121 0.02431\n",
+ "vidya 22.9886 0.02299\n",
"\n",
"============================================================\n",
"Time Stats:\n",
" ms secs\n",
- "min 0.001200 0.000000\n",
- "50% 0.736600 0.000740\n",
- "mean 9.108774 0.009108\n",
- "max 780.346500 0.780350\n",
- "total 1393.642400 1.393600\n",
+ "min 0.001300 0.000000\n",
+ "50% 0.749550 0.000750\n",
+ "mean 9.034156 0.009034\n",
+ "max 771.183700 0.771180\n",
+ "total 1391.260100 1.391290\n",
"\n",
"============================================================\n",
"\n"
@@ -796,41 +798,45 @@
"data": {
"text/html": [
"\n",
- "\n",
+ "\n",
" \n",
" \n",
" | \n",
- " ms | \n",
- " secs | \n",
+ " ms | \n",
+ " secs | \n",
"
\n",
" \n",
" Indicator | \n",
@@ -840,60 +846,60 @@
"
\n",
" \n",
" \n",
- " td_seq | \n",
- " 780.346500 | \n",
- " 0.780350 | \n",
+ " td_seq | \n",
+ " 771.183700 | \n",
+ " 0.771180 | \n",
"
\n",
" \n",
- " qqe | \n",
- " 97.154500 | \n",
- " 0.097150 | \n",
+ " qqe | \n",
+ " 99.632000 | \n",
+ " 0.099630 | \n",
"
\n",
" \n",
- " alligator | \n",
- " 57.808500 | \n",
- " 0.057810 | \n",
+ " alligator | \n",
+ " 58.375600 | \n",
+ " 0.058380 | \n",
"
\n",
" \n",
- " psar | \n",
- " 55.185300 | \n",
- " 0.055190 | \n",
+ " psar | \n",
+ " 54.897400 | \n",
+ " 0.054900 | \n",
"
\n",
" \n",
- " hilo | \n",
- " 41.488100 | \n",
- " 0.041490 | \n",
+ " hilo | \n",
+ " 41.254000 | \n",
+ " 0.041250 | \n",
"
\n",
" \n",
- " ebsw | \n",
- " 34.534900 | \n",
- " 0.034530 | \n",
+ " ebsw | \n",
+ " 34.524800 | \n",
+ " 0.034520 | \n",
"
\n",
" \n",
- " stc | \n",
- " 24.962300 | \n",
- " 0.024960 | \n",
+ " stc | \n",
+ " 25.971700 | \n",
+ " 0.025970 | \n",
"
\n",
" \n",
- " jma | \n",
- " 24.840500 | \n",
- " 0.024840 | \n",
+ " jma | \n",
+ " 24.929800 | \n",
+ " 0.024930 | \n",
"
\n",
" \n",
- " supertrend | \n",
- " 24.688500 | \n",
- " 0.024690 | \n",
+ " supertrend | \n",
+ " 24.312100 | \n",
+ " 0.024310 | \n",
"
\n",
" \n",
- " vidya | \n",
- " 24.448400 | \n",
- " 0.024450 | \n",
+ " vidya | \n",
+ " 22.988600 | \n",
+ " 0.022990 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
- ""
+ ""
]
},
"execution_count": 9,
@@ -939,28 +945,28 @@
" \n",
" \n",
" min | \n",
- " 0.001200 | \n",
+ " 0.001300 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 50% | \n",
- " 0.736600 | \n",
- " 0.000740 | \n",
+ " 0.749550 | \n",
+ " 0.000750 | \n",
"
\n",
" \n",
" mean | \n",
- " 9.108774 | \n",
- " 0.009108 | \n",
+ " 9.034156 | \n",
+ " 0.009034 | \n",
"
\n",
" \n",
" max | \n",
- " 780.346500 | \n",
- " 0.780350 | \n",
+ " 771.183700 | \n",
+ " 0.771180 | \n",
"
\n",
" \n",
" total | \n",
- " 1393.642400 | \n",
- " 1.393600 | \n",
+ " 1391.260100 | \n",
+ " 1.391290 | \n",
"
\n",
" \n",
"
\n",
@@ -968,11 +974,11 @@
],
"text/plain": [
" ms secs\n",
- "min 0.001200 0.000000\n",
- "50% 0.736600 0.000740\n",
- "mean 9.108774 0.009108\n",
- "max 780.346500 0.780350\n",
- "total 1393.642400 1.393600"
+ "min 0.001300 0.000000\n",
+ "50% 0.749550 0.000750\n",
+ "mean 9.034156 0.009034\n",
+ "max 771.183700 0.771180\n",
+ "total 1391.260100 1.391290"
]
},
"execution_count": 10,
@@ -1038,36 +1044,36 @@
" \n",
" TA Lib | \n",
" ms | \n",
- " 0.0012 | \n",
- " 0.73660 | \n",
- " 9.108774 | \n",
- " 780.34650 | \n",
- " 1393.64240 | \n",
+ " 0.0013 | \n",
+ " 0.74955 | \n",
+ " 9.034156 | \n",
+ " 771.18370 | \n",
+ " 1391.26010 | \n",
"
\n",
" \n",
" secs | \n",
" 0.0000 | \n",
- " 0.00074 | \n",
- " 0.009108 | \n",
- " 0.78035 | \n",
- " 1.39360 | \n",
+ " 0.00075 | \n",
+ " 0.009034 | \n",
+ " 0.77118 | \n",
+ " 1.39129 | \n",
"
\n",
" \n",
" Pandas TA | \n",
" ms | \n",
- " 0.0013 | \n",
- " 1.22250 | \n",
- " 9.666095 | \n",
- " 789.40900 | \n",
- " 1478.91250 | \n",
+ " 0.0011 | \n",
+ " 1.28900 | \n",
+ " 9.529325 | \n",
+ " 775.51320 | \n",
+ " 1467.51600 | \n",
"
\n",
" \n",
" secs | \n",
" 0.0000 | \n",
- " 0.00122 | \n",
- " 0.009666 | \n",
- " 0.78941 | \n",
- " 1.47895 | \n",
+ " 0.00129 | \n",
+ " 0.009529 | \n",
+ " 0.77551 | \n",
+ " 1.46747 | \n",
"
\n",
" \n",
"\n",
@@ -1075,10 +1081,10 @@
],
"text/plain": [
" min 50% mean max total\n",
- "TA Lib ms 0.0012 0.73660 9.108774 780.34650 1393.64240\n",
- " secs 0.0000 0.00074 0.009108 0.78035 1.39360\n",
- "Pandas TA ms 0.0013 1.22250 9.666095 789.40900 1478.91250\n",
- " secs 0.0000 0.00122 0.009666 0.78941 1.47895"
+ "TA Lib ms 0.0013 0.74955 9.034156 771.18370 1391.26010\n",
+ " secs 0.0000 0.00075 0.009034 0.77118 1.39129\n",
+ "Pandas TA ms 0.0011 1.28900 9.529325 775.51320 1467.51600\n",
+ " secs 0.0000 0.00129 0.009529 0.77551 1.46747"
]
},
"execution_count": 11,
@@ -1129,19 +1135,19 @@
" \n",
" \n",
" ms | \n",
- " 0.0001 | \n",
- " 0.48590 | \n",
- " 0.557321 | \n",
- " 9.06250 | \n",
- " 85.27010 | \n",
+ " 0.0002 | \n",
+ " 0.53945 | \n",
+ " 0.495168 | \n",
+ " 4.32950 | \n",
+ " 76.25590 | \n",
"
\n",
" \n",
" secs | \n",
" 0.0000 | \n",
- " 0.00048 | \n",
- " 0.000558 | \n",
- " 0.00906 | \n",
- " 0.08535 | \n",
+ " 0.00054 | \n",
+ " 0.000495 | \n",
+ " 0.00433 | \n",
+ " 0.07618 | \n",
"
\n",
" \n",
"\n",
@@ -1149,8 +1155,8 @@
],
"text/plain": [
"Differences min 50% mean max total\n",
- "ms 0.0001 0.48590 0.557321 9.06250 85.27010\n",
- "secs 0.0000 0.00048 0.000558 0.00906 0.08535"
+ "ms 0.0002 0.53945 0.495168 4.32950 76.25590\n",
+ "secs 0.0000 0.00054 0.000495 0.00433 0.07618"
]
},
"execution_count": 12,
diff --git a/pandas_ta/momentum/crsi.py b/pandas_ta/momentum/crsi.py
index 8093dc56..46bfcaf9 100644
--- a/pandas_ta/momentum/crsi.py
+++ b/pandas_ta/momentum/crsi.py
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
import numpy as np
from pandas import Series
-
from pandas_ta._typing import Array1d, DictLike, Int, IntFloat
from pandas_ta.maps import Imports
from pandas_ta.momentum.rsi import rsi
@@ -15,7 +14,7 @@
)
-def consecutive_streak(prices: Array1d) -> Array1d:
+def consecutive_streak(x: Array1d) -> Array1d:
"""Calculate the streak of consecutive price increases or decreases.
This function computes the streak of consecutive daily price increases
@@ -42,12 +41,12 @@ def consecutive_streak(prices: Array1d) -> Array1d:
>>> np.array_equal(result, expected_result)
True
"""
- diff = np.diff(prices)
+ diff = np.diff(x)
streaks = np.sign(diff)
return np.concatenate(([0], streaks))
-def percent_rank(close: Series, lookback: Int) -> Series:
+def percent_rank(x: Series, lookback: Int) -> Series:
"""Calculate the Percent Rank of daily returns over given period.
The Percent Rank compares today's return with the one-day returns from each
@@ -77,7 +76,7 @@ def percent_rank(close: Series, lookback: Int) -> Series:
>>> np.allclose(result, expected_result, rtol=1e-6, equal_nan=True)
True
"""
- daily_returns_np = close.pct_change().to_numpy()
+ daily_returns_np = x.pct_change().to_numpy()
rolling_windows = np.lib.stride_tricks.sliding_window_view(
daily_returns_np, window_shape=(lookback + 1,)
@@ -85,10 +84,10 @@ def percent_rank(close: Series, lookback: Int) -> Series:
comparison_matrix = rolling_windows[:, :-1] < rolling_windows[:, -1, np.newaxis]
percent_ranks = np.nanmean(comparison_matrix, axis=1) * 100
- padded_percent_ranks = np.full(len(close), np.nan)
+ padded_percent_ranks = np.full(len(x), np.nan)
padded_percent_ranks[lookback:] = percent_ranks
- return Series(padded_percent_ranks, index=close.index)
+ return Series(padded_percent_ranks, index=x.index)
def crsi(
@@ -112,9 +111,9 @@ def crsi(
Args:
close (pd.Series): Series of 'close's
- length_rsi (int): It's period. Default: 3
- length_streak (int): It's period. Default: 2
- length_rank (int): It's period. Default: 100
+ length_rsi (int): The RSI period. Default: 3
+ length_streak (int): The Streak RSI period. Default: 2
+ length_rank (int): Percent Rank length. Default: 100
scalar (float): How much to magnify. Default: 100
talib (bool): Use TAlib for RSI if available. Default: True
drift (int): The difference period. Default: 1
@@ -145,8 +144,9 @@ def crsi(
drift = v_drift(drift)
offset = v_offset(offset)
- # Initial streaks calculation
- streak = Series(consecutive_streak(close.to_numpy()), index=close.index)
+ # Calculate
+ np_close = close.values
+ streak = Series(consecutive_streak(np_close), index=close.index)
if Imports["talib"] and mode_tal:
from talib import RSI
@@ -165,9 +165,8 @@ def crsi(
drift=drift, offset=offset, **kwargs
)
- # Percent rank and final arithmetic mean
- percent_rank = percent_rank(close, length_rank)
- crsi = (close_rsi + streak_rsi + percent_rank) / 3.0
+ pr = percent_rank(close, length_rank)
+ crsi = (close_rsi + streak_rsi + pr) / 3.0
# Offset
if offset != 0:
diff --git a/tests/test_studies.py b/tests/test_studies.py
index 02046cf7..d7149b1a 100644
--- a/tests/test_studies.py
+++ b/tests/test_studies.py
@@ -9,7 +9,7 @@
[pytest.param(ta.CommonStudy, id="common"), pytest.param(ta.AllStudy, id="all")]
# +/- when adding/removing indicators
-ALL_COLUMNS = 322
+ALL_COLUMNS = 323
def test_all_study_props(all_study):
@@ -89,7 +89,7 @@ def test_study_custom_e(df, custom_study_e, talib):
@pytest.mark.parametrize("talib", [False, True])
def test_study_all_multirun(df, all_study, talib):
- new_columns = 611 # +/- when adding/removing indicators
+ new_columns = 612 # +/- when adding/removing indicators
initial_columns = df.shape[1]
df.ta.study(all_study, length=10, cores=0, talib=talib)
df.ta.study(all_study, length=50, cores=0, talib=talib)