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", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -426,60 +427,60 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", "
 mssecsmssecs
Indicator
td_seq789.4090000.789410td_seq775.5132000.775510
qqe96.9280000.096930qqe98.1285000.098130
alligator58.8218000.058820alligator58.5015000.058500
psar52.9110000.052910psar52.8610000.052860
hilo41.8775000.041880hilo43.3909000.043390
ebsw34.5614000.034560ebsw34.4620000.034460
jma24.7630000.024760supertrend25.4998000.025500
supertrend24.6719000.024670jma25.3266000.025330
stc24.4754000.024480stc24.9052000.024910
vidya24.1424000.024140vidya24.5203000.024520
\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", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -840,60 +846,60 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", "
 mssecsmssecs
Indicator
td_seq780.3465000.780350td_seq771.1837000.771180
qqe97.1545000.097150qqe99.6320000.099630
alligator57.8085000.057810alligator58.3756000.058380
psar55.1853000.055190psar54.8974000.054900
hilo41.4881000.041490hilo41.2540000.041250
ebsw34.5349000.034530ebsw34.5248000.034520
stc24.9623000.024960stc25.9717000.025970
jma24.8405000.024840jma24.9298000.024930
supertrend24.6885000.024690supertrend24.3121000.024310
vidya24.4484000.024450vidya22.9886000.022990
\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)