diff --git a/pyti/average_true_range.py b/pyti/average_true_range.py index 2740e01..a186b9f 100644 --- a/pyti/average_true_range.py +++ b/pyti/average_true_range.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import numpy as np from pyti.true_range import true_range +from pyti.smoothed_moving_average import smoothed_moving_average from six.moves import range @@ -12,12 +13,6 @@ def average_true_range(close_data, period): ATRt = ATRt-1 * (n - 1) + TRt / n """ tr = true_range(close_data, period) - atr = np.zeros(len(tr)) + atr = smoothed_moving_average(tr, period) atr[0:period-1] = tr[0:period-1] - atr[period-1:period-1+period-1] = tr[0:period-1] - atr[period-1+period-1] = ((1 / float(period)) * - sum(tr[period-1:period-1+period]) - ) - for idx in range(period-1+period, len(tr)): - atr[idx] = (atr[idx-1] * (period - 1) + tr[idx]) / period return atr diff --git a/pyti/directional_indicators.py b/pyti/directional_indicators.py index a63afa2..d46dbc1 100644 --- a/pyti/directional_indicators.py +++ b/pyti/directional_indicators.py @@ -112,10 +112,10 @@ def average_directional_index(close_data, high_data, low_data, period): ADX = 100 * SMMA(abs((+DI - -DI) / (+DI + -DI))) """ avg_di = (abs( - positive_directional_index( + (positive_directional_index( close_data, high_data, low_data, period) - negative_directional_index( - close_data, high_data, low_data, period) / + close_data, high_data, low_data, period)) / (positive_directional_index( close_data, high_data, low_data, period) + negative_directional_index( diff --git a/pyti/smoothed_moving_average.py b/pyti/smoothed_moving_average.py index 2265aad..6a5f982 100644 --- a/pyti/smoothed_moving_average.py +++ b/pyti/smoothed_moving_average.py @@ -4,6 +4,7 @@ from pyti.function_helper import fill_for_noncomputable_vals from six.moves import range +import pandas as pd def smoothed_moving_average(data, period): """ @@ -13,8 +14,5 @@ def smoothed_moving_average(data, period): smma = avg(data(n)) - avg(data(n)/n) + data(t)/n """ catch_errors.check_for_period_error(data, period) - smma = [((np.mean(data[idx-(period-1):idx+1]) - - (np.mean(data[idx-(period-1):idx+1])/period) + - data[idx])/period) for idx in range(0, len(data))] - smma = fill_for_noncomputable_vals(data, smma) - return smma + series = pd.Series(data) + return series.ewm(alpha = 1.0/period).mean().values.flatten() diff --git a/requirements.txt b/requirements.txt index 24ce15a..5da331c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ numpy +pandas diff --git a/setup.py b/setup.py index dfaec2c..1b65316 100644 --- a/setup.py +++ b/setup.py @@ -33,6 +33,6 @@ packages=find_packages(exclude=['tests']), - install_requires=['numpy'], + install_requires=['numpy', 'pandas'], ) diff --git a/tests/test_average_true_range.py b/tests/test_average_true_range.py index 9d9e076..9ebe2ea 100644 --- a/tests/test_average_true_range.py +++ b/tests/test_average_true_range.py @@ -11,143 +11,101 @@ def setUp(self): """Create data to use for testing.""" self.close_data = SampleData().get_sample_close_data() - self.atr_period_6_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, 9.7000000000000259, - 9.4250000000000131, 9.1958333333333364, 9.3281944444444491, - 9.4384953703703758, 11.652079475308652, 14.113399562757204, - 18.287832968964349, 20.784860807470306, 24.819050672891922, - 25.822542227409922, 26.042118522841601, 25.886765435701335, - 25.757304529751114, 25.649420441459267, 25.559517034549391, - 23.559597528791169, 21.372997940659317, 19.447498283882755, - 17.90458190323562, 16.618818252696339, 15.682348543913617, - 18.558623786594669, 20.955519822162213, 22.952933185135169, - 27.855777654279308, 33.006481378566086, 37.298734482138407, - 37.787278735115343, 36.771065612596125, 35.7892213438301, - 34.971017786525081, 33.942514822104222, 34.695429018420171, - 35.141190848683458, 34.897659040569557, 32.926382533807953, - 31.745318778173299, 29.519432315144414, 27.664526929287007, - 25.405439107739173, 23.546199256449313, 24.438499380374424, - 24.113749483645353, 23.929791236371127, 23.776492696975936, - 22.715410580813273, 20.611175484011046, 19.419312903342526, - 18.426094086118759, 17.598411738432286, 16.908676448693559, - 16.388897040577959, 14.270747533814957, 12.50562294484579, - 12.034685787371481, 11.753904822809572, 11.519920685674649, - 11.653267238062215, 11.929389365051856, 12.157824470876557, - 12.826520392397143, 14.115433660330963, 15.189528050275811, - 16.084606708563186, 15.832172257135978, 15.278476880946647, - 14.817064067455538, 14.472553389546283, 14.453794491288571, - 15.296495409407141, 16.003746174505945, 16.593121812088281, - 17.084268176740228, 17.26522348061685, 17.416019567180701, - 17.541682972650577, 15.788069143875477, 14.151724286562903, - 12.788103572135759, 11.538419643446479, 10.557016369538749, - 10.189180307948961, 10.399316923290808, 10.636097436075664, - 10.335081196729709, 10.11423433060809, 9.6618619421734042, - 9.219884951811169, 8.8999041265093002, 8.6332534387577429, - 7.7377111989647842, 6.9914259991373191, 7.699521665947767, - 8.2896013882898085, 8.6130011569081777, 8.7908342974234728, - 9.9240285811862137, 14.120023817655181, 18.261686514712654, - 22.433072095593889, 25.930893412994919, 27.245744510829109, - 24.609787092357603, 21.76815591029801, 19.118463258581674, - 16.945386048818047, 18.06282170734837, 18.627351422790316, - 20.122792852325265, 20.757327376937713, 21.631106147448094, - 21.029255122873408, 22.281045935727832, 22.775871613106528, - 23.58322634425544, 23.371021953546208] + self.atr_period_6_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + 17.48 , 13.02909091, 12.08 , 10.57347243, 9.68918512, + 8.75720151, 8.59370599, 8.47562691, 8.78869762, 9.02747925, + 11.66447383, 14.43439307, 18.98019593, 21.56299531, 25.73850983, + 26.63737597, 26.72510068, 26.44541183, 26.21565149, 26.02644086, + 25.87030688, 23.78073879, 21.52320499, 19.54782226, 17.97166297, + 16.66328986, 15.71248676, 18.6012632 , 21.00319507, 23.00107909, + 27.91314353, 33.06937082, 37.36160646, 37.84064527, 36.81379927, + 35.82343549, 34.99855978, 33.96445332, 34.71432333, 35.15723746, + 34.91089154, 32.93647674, 31.75326474, 29.52532293, 27.66892819, + 25.40859179, 23.54847329, 24.44053556, 24.11540343, 23.93114928, + 23.77761034, 22.71626096, 20.6117503 , 19.41972875, 18.42639676, + 17.59863351, 16.9088401 , 16.38902013, 14.270805 , 12.50563951, + 12.03469262, 11.75390706, 11.51992015, 11.65326793, 11.92939191, + 12.15782795, 12.8265266 , 14.11544416, 15.18954049, 16.08461964, + 15.83218243, 15.27848426, 14.81706945, 14.4725574 , 14.45379781, + 15.29649898, 16.00374972, 16.59312516, 17.08427124, 17.26522612, + 17.41602182, 17.54168489, 15.78807027, 14.15172486, 12.7881038 , + 11.53841964, 10.55701624, 10.18918016, 10.39931682, 10.63609737, + 10.33508112, 10.11423425, 9.66186186, 9.21988487, 8.89990405, + 8.63325337, 7.73771112, 6.99142592, 7.69952161, 8.28960135, + 8.61300113, 8.79083427, 9.92402857, 14.12002383, 18.26168655, + 22.43307214, 25.93089346, 27.24574455, 24.60978712, 21.76815593, + 19.11846327, 16.94538606, 18.06282171, 18.62735143, 20.12279286, + 20.75732738, 21.63110615, 21.02925513, 22.28104594, 22.77587162, + 23.58322635, 23.37102196] - self.atr_period_8_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - 11.478750000000019, 12.88390625000002, 14.575917968750012, - 17.967678222656264, 20.935468444824238, 24.678534889221208, - 27.233718028068559, 29.46950327455999, 29.64081536523998, - 29.328213444584982, 28.800936764011862, 28.339569668510382, - 27.935873459946585, 27.582639277453264, 25.829809367771613, - 24.284833196800165, 22.522979047200138, 21.082606666300123, - 22.564780833012598, 23.861683228886015, 24.996472825275255, - 28.41816372211585, 32.210893256851364, 35.529531599744942, - 38.433340149776825, 40.974172631054721, 40.881151052172882, - 39.73225717065128, 38.62572502431987, 38.605009396279875, - 38.586883221744884, 38.888522819026775, 39.822457466648416, - 40.75965028331737, 39.447193997902701, 37.746294748164871, - 35.326757904644261, 33.209663166563729, 32.670955270743264, - 32.479585861900354, 32.377137629162803, 31.206245425517452, - 30.181714747327767, 29.285250403911796, 28.222094103422819, - 26.376832340494957, 24.762228297933078, 23.349449760691435, - 22.154518540605, 21.108953723029369, 20.194084507650693, - 18.879823944194349, 17.813595951170058, 16.880646457273805, - 16.593065650114585, 16.465182443850267, 16.070784638368991, - 16.083186558572876, 16.642788238751272, 17.13243970890737, - 17.560884745293954, 18.552024152132212, 19.636771133115687, - 19.220924741476217, 18.412059148791691, 17.905551755192732, - 18.10610778579364, 18.285344312569428, 18.442176273498244, - 18.579404239310961, 18.699478709397084, 18.804543870722444, - 18.725225886882132, 18.655822651021861, 18.595094819644125, - 17.148207967188608, 15.847181971290032, 14.753784224878782, - 13.953311196768936, 13.640397297172825, 13.700347635026223, - 13.752804180647946, 13.578703658066955, 13.188865700808575, - 12.946507488207503, 12.43319405218157, 11.791544795658869, - 11.230101696201505, 10.738838984176311, 10.801484111154274, - 10.85629859725999, 10.904261272602492, 10.946228613527181, - 11.595450036836281, 15.282268782231736, 18.991985184452759, - 22.029237036396175, 24.703082406846661, 27.04269710599084, - 29.478609967741995, 30.410033721774255, 28.162529506552481, - 25.738463318233418, 25.477405403454238, 25.248979728022455, - 25.817857262019643, 26.040625104267193, 26.520546966233795, - 27.659228595454572, 29.944325021022756, 29.768784393394906, - 29.91143634422054, 29.625006801192974] + self.atr_period_8_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, 22.75 , 17.18733333, 14.70408284, + 12.63370501, 11.98092538, 11.12576996, 10.89199705, 10.72022502, + 12.86505751, 15.16429982, 19.47473666, 22.9551623 , 27.19256769, + 29.84207789, 32.04970118, 31.87824523, 31.21772733, 30.37838936, + 29.66327848, 29.05179893, 28.52731238, 26.55171549, 24.83699916, + 22.92870694, 21.38274017, 22.87370795, 24.16714755, 25.2904675 , + 28.7473402 , 32.56849495, 35.89543537, 38.79391022, 41.32048903, + 41.1827074 , 39.98493344, 38.83744028, 38.78992048, 38.74842079, + 39.03141735, 39.95189915, 40.87678808, 39.54480488, 37.82618953, + 35.3898252 , 33.25961364, 32.71348795, 32.5164313 , 32.4092009 , + 31.23260637, 30.20348378, 29.30330579, 28.23686371, 26.38819516, + 24.77097622, 23.3561898 , 22.15973945, 21.11300406, 20.19723204, + 18.88207978, 17.81521615, 16.88179338, 16.59399616, 16.46596821, + 16.07139551, 16.08372317, 16.64334103, 17.13298714, 17.56141255, + 18.55258477, 19.63735627, 19.221405 , 18.41242536, 17.90584259, + 18.10637252, 18.28558397, 18.44239211, 18.5795978 , 18.69965167, + 18.80469797, 18.7253589 , 18.65593764, 18.59519437, 17.14827284, + 15.84722123, 14.75380571, 13.95332176, 13.64040372, 13.70035373, + 13.75280987, 13.57870759, 13.18886708, 12.94650757, 12.43319205, + 11.79154078, 11.23009644, 10.73883305, 10.80147907, 10.8562943 , + 10.9042576 , 10.94622547, 11.59544819, 15.28227164, 18.99199164, + 22.02924551, 24.703092 , 27.04270716, 29.47862029, 30.41004326, + 28.16253678, 25.73846867, 25.47740999, 25.24898367, 25.81786087, + 26.04062832, 26.52054988, 27.65923136, 29.94432781, 29.76878681, + 29.91143848, 29.62500864] - self.atr_period_10_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, 21.157000000000007, 24.384300000000003, - 27.301869999999997, 29.672682999999996, 31.217414699999996, - 32.607673229999996, 32.430905906999989, 31.901815316299992, - 31.222633784669995, 30.611370406202997, 30.061233365582702, - 29.566110029024436, 27.965499026122, 26.596949123509809, - 27.23125421115882, 27.802128790042936, 28.315915911038633, - 30.721324319934773, 33.52519188794129, 36.048672699147161, - 38.319805429232446, 40.363824886309203, 42.20344239767828, - 43.859098157910452, 43.49618834211941, 43.073569507907465, - 42.612212557116706, 42.45099130140504, 42.950892171264528, - 44.119802954138073, 45.062822658724265, 45.288540392851843, - 43.785686353566653, 41.991117718209992, 40.68200594638899, - 39.727805351750092, 38.921024816575077, 38.194922334917564, - 37.541430101425803, 36.08828709128322, 35.117458382154901, - 34.243712543939409, 32.897341289545466, 30.953607160590913, - 29.23724644453182, 27.692521800078634, 26.302269620070764, - 25.051042658063686, 23.924938392257314, 22.567444553031585, - 21.768700097728431, 21.148830087955595, 20.590947079160038, - 20.14885237124404, 20.189967134119641, 20.22697042070768, - 20.260273378636917, 20.783246040773228, 21.427921436695907, - 22.008129293026318, 22.554316363723689, 21.953884727351316, - 21.709496254616184, 21.49254662915456, 21.297291966239101, - 21.121562769615188, 20.963406492653668, 20.821065843388297, - 20.692959259049463, 20.577663333144514, 20.33689699983006, - 20.120207299847049, 19.92518656986234, 18.64266791287611, - 17.758401121588495, 17.272561009429644, 16.95730490848668, - 16.673574417638015, 16.472216975874222, 16.399995278286802, - 16.219995750458125, 15.787996175412308, 15.363196557871074, - 14.710876902083971, 13.96978921187557, 13.696810290688012, - 13.451129261619212, 13.230016335457293, 13.031014701911564, - 13.442913231720405, 16.36362190854836, 19.278259717693523, - 22.278433745924168, 24.991590371331746, 26.834431334198577, - 28.803988200778726, 30.576589380700863, 32.27193044263079, - 32.858737398367708, 32.593863658530935, 31.968477292677846, - 31.751629563410056, 31.556466607069048, 31.608819946362139, - 32.377937951725933, 34.122144156553347, 35.324929740898014, - 36.623436766808219, 36.052093090127393] + self.atr_period_10_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, np.nan, np.nan, 22.75 , + 17.49736842, 15.95590406, 14.25020355, 13.23430563, 12.54190497, + 14.49284124, 16.58704178, 20.68821686, 23.91577517, 28.21695275, + 31.74873793, 34.33132248, 35.73021107, 36.91264201, 36.16725634, + 35.08384887, 33.91032423, 32.89284552, 32.00684385, 31.23242313, + 29.27213761, 27.62712763, 28.20446719, 28.71464611, 29.1663676 , + 31.62998982, 34.49281618, 37.03948599, 39.30768915, 41.33007852, + 43.1350476 , 44.74736864, 44.28270825, 43.76856769, 43.22547593, + 42.99832268, 43.45176483, 44.58926982, 45.49878629, 45.68336305, + 44.12233734, 42.27418933, 40.92367345, 39.93669176, 39.10246963, + 38.35292364, 37.67934551, 36.2039623 , 35.21647679, 34.3287113 , + 32.96816047, 31.00998737, 29.28214612, 27.72820247, 26.33055416, + 25.07339982, 23.94255101, 22.58057649, 21.77907854, 21.15716486, + 20.59763393, 20.15428975, 20.19490866, 20.23145658, 20.26434233, + 20.78735763, 21.43212062, 22.01231249, 22.55842342, 21.95724206, + 21.71239359, 21.49505495, 21.29946905, 21.12345703, 20.96505858, + 20.82251 , 20.6942244 , 20.57877393, 20.3378439 , 20.12101688, + 19.92588066, 18.64308829, 17.75865268, 17.27272472, 16.95741564, + 16.67364443, 16.47226104, 16.40002883, 16.22001223, 15.78798139, + 15.36315703, 14.7108051 , 13.96968755, 13.69670652, 13.45102592, + 13.22991527, 13.03091722, 13.44283765, 16.36363147, 19.278338 , + 22.27856875, 24.99176441, 26.83462008, 28.80418897, 30.57679509, + 32.27213712, 32.85893012, 32.59403438, 31.96862515, 31.75176083, + 31.55658328, 31.60892531, 32.37803745, 34.12224324, 35.32502484, + 36.62352811, 36.05217302] def test_average_true_range_period_6(self): period = 6 atr = average_true_range.average_true_range(self.close_data, period) - np.testing.assert_array_equal(atr, self.atr_period_6_expected) + np.testing.assert_allclose(atr, self.atr_period_6_expected) def test_average_true_range_period_8(self): period = 8 atr = average_true_range.average_true_range(self.close_data, period) - np.testing.assert_array_equal(atr, self.atr_period_8_expected) + np.testing.assert_allclose(atr, self.atr_period_8_expected) def test_average_true_range_period_10(self): period = 10 atr = average_true_range.average_true_range(self.close_data, period) - np.testing.assert_array_equal(atr, self.atr_period_10_expected) + np.testing.assert_allclose(atr, self.atr_period_10_expected) def test_average_true_range_invalid_period(self): period = 128 diff --git a/tests/test_average_true_range_percent.py b/tests/test_average_true_range_percent.py index f7377b0..4ee3cc0 100644 --- a/tests/test_average_true_range_percent.py +++ b/tests/test_average_true_range_percent.py @@ -11,143 +11,101 @@ def setUp(self): """Create data to use for testing.""" self.close_data = SampleData().get_sample_close_data() - self.atr_period_6_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, 1.189235578986088, - 1.1523554512220486, 1.1278525931922065, 1.1546224092640733, - 1.1660380962839427, 1.465357027466913, 1.7831881894142803, - 2.3561329806184581, 2.6708206943371162, 3.2466120755686263, - 3.3784546239726194, 3.3564621491521369, 3.2791301980772869, - 3.2778865256303997, 3.2875442760137483, 3.2810676552694984, - 3.0012226151326331, 2.7233687488098011, 2.5062178027349966, - 2.2774730211707057, 2.1306723573292059, 2.0231111698118602, - 2.4639048069082961, 2.7153248878733027, 2.9415900735797162, - 3.457810754140358, 4.0649377298167551, 4.6505410623216603, - 4.8377005165939497, 4.7010401069556149, 4.5393599025684406, - 4.3416370097985153, 4.1909513300536148, 4.2334214723046726, - 4.2994054993189517, 4.244940888039114, 3.9739765293353395, - 3.7984682769968288, 3.5821945386433534, 3.3670297979975179, - 3.0716656116914933, 2.8662794746678979, 3.0289151976072608, - 2.9969860158644486, 2.9760460695914741, 2.9289691288143112, - 2.8058612079021295, 2.531556736800797, 2.4252616931651314, - 2.2944282121480746, 2.1964244646895756, 2.1062390474088564, - 2.0476395013091233, 1.7748361482743773, 1.558061265928161, - 1.4856536290363038, 1.4497927574913438, 1.4352358669002241, - 1.4299189209362686, 1.4620245560453282, 1.5102324721906708, - 1.6037560819721852, 1.7746556607866535, 1.9035211913074188, - 2.0074893237351557, 2.0029061884391339, 1.9371230450535861, - 1.8548689401186171, 1.8355003791530897, 1.8003331288038178, - 1.8931540501005137, 1.9806126301955329, 2.0822871750835494, - 2.1587399768435973, 2.1858863683758751, 2.1992145124735707, - 2.2042274600601361, 1.9903770888121171, 1.7884145439862129, - 1.6114041799566228, 1.4484765868823961, 1.3246773786986321, - 1.2742050031825125, 1.2954614666198452, 1.3205653492681662, - 1.2899663246832471, 1.2549300623614186, 1.197182571361552, - 1.1407924958934879, 1.1008057151615109, 1.0691600335312013, - 0.96093180817465618, 0.8664228618513774, 0.96576000827190556, - 1.0376009347982038, 1.0764636750622629, 1.0975646487156931, - 1.2540789775805865, 1.8437302592780713, 2.3966411426581957, - 2.9608753508340118, 3.423129872873973, 3.5883658875288575, - 3.2621236585354922, 2.8752781621886734, 2.5375908547247414, - 2.2497857207671332, 2.4554221153770741, 2.5315780677888444, - 2.7585119334766222, 2.8337261439349244, 2.9745745527293854, - 2.9297633150649793, 3.1503331074467429, 3.212529671651343, - 3.3456605064982394, 3.2905345939522999] + self.atr_period_6_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + 2.15887758, 1.60417273, 1.48184495, 1.30135045, 1.19643203, + 1.07364697, 1.0507166 , 1.03952056, 1.08784474, 1.11526089, + 1.46691573, 1.82374481, 2.44533432, 2.77080971, 3.36688772, + 3.48506221, 3.44448893, 3.34989509, 3.33621597, 3.33586784, + 3.32096366, 3.02939348, 2.74250828, 2.51914665, 2.28600577, + 2.13637399, 2.02699917, 2.46956576, 2.72150244, 2.94776033, + 3.46493173, 4.07268293, 4.65838017, 4.84453274, 4.70650344, + 4.54369949, 4.34505634, 4.19366012, 4.23572689, 4.30136875, + 4.24655049, 3.97519483, 3.79941905, 3.58290937, 3.36756547, + 3.07204679, 2.86655629, 3.02916756, 2.99719158, 2.97621496, + 2.92910681, 2.80596625, 2.53162734, 2.42531363, 2.2944659 , + 2.19645214, 2.10625943, 2.04765488, 1.7748433 , 1.55806333, + 1.48565447, 1.44979303, 1.4352358 , 1.42991901, 1.46202487, + 1.5102329 , 1.60375686, 1.77465698, 1.90352275, 2.00749094, + 2.00290748, 1.93712398, 1.85486961, 1.83550089, 1.80033354, + 1.89315449, 1.98061307, 2.0822876 , 2.15874036, 2.1858867 , + 2.1992148 , 2.2042277 , 1.99037723, 1.78841462, 1.61140421, + 1.44847659, 1.32467736, 1.27420498, 1.29546145, 1.32056534, + 1.28996632, 1.25493005, 1.19718256, 1.14079249, 1.10080571, + 1.06916002, 0.9609318 , 0.86642285, 0.96576 , 1.03760093, + 1.07646367, 1.09756465, 1.25407898, 1.84373026, 2.39664115, + 2.96087536, 3.42312988, 3.58836589, 3.26212366, 2.87527816, + 2.53759086, 2.24978572, 2.45542212, 2.53157807, 2.75851193, + 2.83372614, 2.97457455, 2.92976332, 3.15033311, 3.21252967, + 3.34566051, 3.29053459] - self.atr_period_8_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - 1.4180925319661521, 1.6202706653923087, 1.841626084216712, - 2.3148854933979575, 2.6901735299560841, 3.2282310244121613, - 3.563083750221574, 3.7982037524565646, 3.7546634785721498, - 3.7323220510040827, 3.6914812566023922, 3.6379421910796386, - 3.5587099948976539, 3.5146074512555128, 3.3287123687477114, - 3.0890446215528855, 2.8876354582425368, 2.7197748421358332, - 2.9957755812395579, 3.0918928706039539, 3.2034849639589456, - 3.5276212120453141, 3.966956483762083, 4.4299504506994678, - 4.9204122583250323, 5.2383912644056707, 5.1851996464032979, - 4.932742857755783, 4.7691968174243575, 4.7104555366635612, - 4.7209742731687623, 4.7303883735587853, 4.8062829601892965, - 4.8770730470382375, 4.786932261959409, 4.5940745527992979, - 4.2712108603228502, 4.0426131987685459, 4.0492483355737523, - 4.0367369950162013, 4.0266065104420958, 3.8442225538659289, - 3.7281167468319927, 3.5969454050028618, 3.5246336505629778, - 3.284458875889694, 3.0905268522063674, 2.9085376948755512, - 2.7680000175672808, 2.6252958389957679, 2.5159579023784877, - 2.3306698200373246, 2.197229157817036, 2.1031142412351342, - 2.0360589047455808, 2.0179156129481299, 1.9962963663924316, - 2.010951331437755, 2.0924060195314591, 2.1470029836845206, - 2.1917407916945137, 2.3469908853240153, 2.4897011782528256, - 2.4061646855957806, 2.3351333133106342, 2.230276487867163, - 2.2408826576806198, 2.2629816480494824, 2.3143268379407238, - 2.3476629061550369, 2.3674721414695301, 2.374550948419341, - 2.352947385951865, 2.351910270923812, 2.3499424768917128, - 2.1608124958654997, 1.9893774678680414, 1.851281037063653, - 1.7449273052921825, 1.6992086324724789, 1.7010190503124114, - 1.7165471586824528, 1.6847862993283729, 1.634206765480277, - 1.6018940222973894, 1.5378290457744153, 1.4602893936269465, - 1.3946452189065861, 1.3308265877060355, 1.3548427859710599, - 1.3588718015896448, 1.3628282348400853, 1.366672736225832, - 1.4652930518912579, 1.9954910663104219, 2.4924846364624273, - 2.9075743465183366, 3.261046890754919, 3.5616237891147984, - 3.90750519846529, 4.0167530144468557, 3.7380084557614692, - 3.4172149917994443, 3.4633450788377629, 3.4315003707559737, - 3.5392138594642271, 3.5549856117004808, 3.6469399018473312, - 3.8534409701377266, 4.2338496480817174, 4.1988778641402176, - 4.2434190220063472, 4.1710674834485006] + self.atr_period_8_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, 2.7907262 , 2.1153641 , 1.81567752, + 1.54891253, 1.46485779, 1.36455589, 1.34818629, 1.32438384, + 1.61790026, 1.91596647, 2.50904902, 2.94970089, 3.5570949 , + 3.90434471, 4.13075491, 4.03808335, 3.97278246, 3.89366693, + 3.8078663 , 3.70086611, 3.63497864, 3.42174511, 3.15928045, + 2.93965319, 2.75849375, 3.03678978, 3.13147361, 3.24116258, + 3.56848275, 4.01099719, 4.47557266, 4.96657409, 5.28266649, + 5.22344783, 4.96411251, 4.79533773, 4.73301778, 4.74073785, + 4.74777002, 4.82190564, 4.8910891 , 4.79877738, 4.60379849, + 4.27883606, 4.04869367, 4.05451985, 4.04131634, 4.03059408, + 3.8474699 , 3.73080571, 3.59916305, 3.52647821, 3.28587378, + 3.09161866, 2.90937727, 2.76865232, 2.62579957, 2.51635005, + 2.3309483 , 2.197429 , 2.10325713, 2.03617308, 2.01801191, + 1.99637225, 2.01101843, 2.09247552, 2.14707159, 2.19180667, + 2.34706181, 2.48977537, 2.40622481, 2.33517976, 2.23031271, + 2.24091542, 2.26301131, 2.31435392, 2.34768736, 2.36749404, + 2.37457041, 2.3529641 , 2.35192477, 2.34995506, 2.16082067, + 1.9893824 , 1.85128373, 1.74492863, 1.69920943, 1.70101981, + 1.71654787, 1.68478679, 1.63420694, 1.60189403, 1.5378288 , + 1.4602889 , 1.39464457, 1.33082585, 1.35484215, 1.35887126, + 1.36282778, 1.36667234, 1.46529282, 1.99549144, 2.49248548, + 2.90757546, 3.26104816, 3.56162511, 3.90750657, 4.01675427, + 3.73800942, 3.4172157 , 3.4633457 , 3.43150091, 3.53921435, + 3.55498605, 3.6469403 , 3.85344135, 4.23385004, 4.19887821, + 4.24341932, 4.17106774] - self.atr_period_10_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, 2.7186399732723401, 3.1897417785103217, - 3.5720003140004968, 3.8243907563025203, 3.9543745819821638, - 4.14966762493796, 4.1567426181748255, 4.0952266131322199, - 3.9774055776649679, 3.9005313973245412, 3.8740200478862201, - 3.7608260441925863, 3.5854123216136311, 3.4311560353359063, - 3.6153121546372664, 3.6024786252080254, 3.6288964245394193, - 3.8135185789216313, 4.1288199078722743, 4.4946788398373076, - 4.9058770233302322, 5.1603606395261004, 5.3529137258920727, - 5.445088414102206, 5.3705628277712574, 5.2556944589666976, - 5.2134596631940662, 5.1637259824115125, 5.1838624309051387, - 5.2791302264027182, 5.4683909738033964, 5.5120358790272803, - 5.2939445953362574, 5.1115798997200201, 5.0421404425151195, - 4.9375845577616317, 4.8404418486438017, 4.7051409062810361, - 4.6372061837056462, 4.432524791048948, 4.3857899092249255, - 4.2640474851745038, 4.1058549092701808, 3.8557539531622109, - 3.6529206682490591, 3.4440864860929081, 3.2769697024906264, - 3.0924922423109011, 2.9510365216850634, 2.8116170875265167, - 2.6711372457210696, 2.5919272122011878, 2.5577863035116755, - 2.5192993537277801, 2.5383732677201931, 2.5348033661300149, - 2.5286463785226361, 2.6292596767417997, 2.7167970175342209, - 2.7550799044874084, 2.8604804641492096, 2.7345280164604793, - 2.6868520965130984, 2.6599028030438059, 2.6726181141515055, - 2.6688858692968398, 2.6540997015450611, 2.6291880295217065, - 2.6002059836457319, 2.5941937083210851, 2.5700615442727237, - 2.535308379517017, 2.5013101557717698, 2.339251886928428, - 2.220771727829487, 2.1516737476710861, 2.1053990350980456, - 2.0811011642229702, 2.0438008059797284, 2.0320916025384799, - 2.0069284521724975, 1.9527756899172914, 1.9026101646939952, - 1.8269161484400693, 1.7312268984763945, 1.7180069351756679, - 1.6836641042431297, 1.6535040163297123, 1.6269651536833674, - 1.6987531568883674, 2.136689374875739, 2.5300549519920104, - 2.9404650888832795, 3.2991327451858363, 3.5341944123641578, - 3.8180814412294013, 4.0387527580573863, 4.2834486458410144, - 4.3625514336653879, 4.4307414948453614, 4.3447237418697808, - 4.3526388061920898, 4.3079912365795749, 4.3466474073655306, - 4.510844263106514, 4.8245544999792642, 4.9825704530372255, - 5.1956243905869313, 5.0759722759771062] + self.atr_period_10_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, np.nan, np.nan, 2.80919688, + 2.14520547, 1.95086186, 1.74776211, 1.63811185, 1.54943542, + 1.82260916, 2.0957259 , 2.66538907, 3.07313808, 3.69109604, + 4.15379979, 4.42482375, 4.52601985, 4.69751995, 4.63563911, + 4.50370332, 4.31978653, 4.19123924, 4.12475274, 3.97278202, + 3.75293438, 3.56405486, 3.74451916, 3.72071864, 3.73788817, + 3.92631361, 4.2479884 , 4.61821702, 5.03235042, 5.28389247, + 5.47107476, 5.55536682, 5.46767604, 5.34049584, 5.28849036, + 5.23030321, 5.24431414, 5.33530402, 5.52129533, 5.56008946, + 5.33464766, 5.14603821, 5.07209279, 4.96354608, 4.86300737, + 4.72460471, 4.65424182, 4.44673254, 4.39815624, 4.27463158, + 4.11469372, 3.86277699, 3.65853046, 3.44852405, 3.28049364, + 3.09525218, 2.95320896, 2.81325316, 2.67241074, 2.59294869, + 2.55861694, 2.51997921, 2.53899454, 2.53536556, 2.52915422, + 2.62977983, 2.71732942, 2.75560358, 2.86100135, 2.7349462 , + 2.68721068, 2.66021323, 2.67289132, 2.66912522, 2.65430887, + 2.62937039, 2.60036496, 2.59433372, 2.57018121, 2.53541039, + 2.50139729, 2.33930463, 2.22080319, 2.15169414, 2.10541278, + 2.0811099 , 2.04380627, 2.03209576, 2.00693049, 1.95277386, + 1.90260527, 1.82690723, 1.7312143 , 1.71799392, 1.68365117, + 1.65349139, 1.62695298, 1.69874361, 2.13669062, 2.53006523, + 2.94048291, 3.29915572, 3.53421927, 3.81810805, 4.03877993, + 4.28347608, 4.36257702, 4.4307647 , 4.34474384, 4.3526568 , + 4.30800716, 4.3466619 , 4.51085812, 4.82456851, 4.98258387, + 5.19563735, 5.07598353] def test_atrp_period_6(self): period = 6 atrp = average_true_range_percent.average_true_range_percent(self.close_data, period) - np.testing.assert_array_equal(atrp, self.atr_period_6_expected) + np.testing.assert_allclose(atrp, self.atr_period_6_expected) def test_atrp_period_8(self): period = 8 atrp = average_true_range_percent.average_true_range_percent(self.close_data, period) - np.testing.assert_array_equal(atrp, self.atr_period_8_expected) + np.testing.assert_allclose(atrp, self.atr_period_8_expected) def test_atrp_period_10(self): period = 10 atrp = average_true_range_percent.average_true_range_percent(self.close_data, period) - np.testing.assert_array_equal(atrp, self.atr_period_10_expected) + np.testing.assert_allclose(atrp, self.atr_period_10_expected) def test_atrp_invalid_period(self): period = 128 diff --git a/tests/test_directional_indicators.py b/tests/test_directional_indicators.py index 5016481..767e062 100644 --- a/tests/test_directional_indicators.py +++ b/tests/test_directional_indicators.py @@ -59,393 +59,271 @@ def setUp(self): 17.360000000000014, 0, 6.349999999999909, 0, 5.340000000000032, 9.17999999999995, 10.670000000000073, 0, 3.67999999999995, 0] - self.pdi_period_6_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, 14.252100038182405, - 6.7457510560959983, 2.7588984544127357, 2.0695918883909363, - 6.9121971437892515, 2.1375933334635855, 0.71346697155916028, - 0.30631578171994084, 2.3699585826215515, 0.44022336188142758, - 0.20617931523498917, 8.6083839668776498, 11.311550111262845, - 2.4777221688988962, 2.2805727912596203, 2.2885945102679672, - 6.8657637055113137, 2.077300913583402, 0.64751735204052696, - 11.103354828408515, 2.1241537989741528, 2.2509974081418025, - 1.2236000683270618, 17.732223591512994, 9.8226371119898612, - 19.673091380203214, 7.2015878138537994, 3.6336998906038205, - 3.5867205034126566, 2.7042951613768755, 5.6065142029799695, - 10.378567655355003, 3.881153526824773, 7.1624602047058143, - 2.5090582921893114, 5.1964113805392307, 6.3846133721604783, - 5.9632589257762776, 2.2074285284817887, 1.5504880538227932, - 5.2522290450999085, 1.8039791216077987, 1.1053824733028641, - 0.4578992028657925, 0.46141926428026186, 6.7472493933611188, - 0.8019926616682076, 4.8530845732391468, 1.4518765202857231, - 4.1157915838547261, 1.9322555998260202, 2.7859354707281554, - 1.19632708857326, 5.42322806392104, 1.4308378397009911, - 12.486285157207933, 2.784732561213489, 2.2203888725997438, - 22.832572928990853, 4.9919508956916605, 3.9659720954267303, - 2.445381894791419, 2.1892900013851402, 4.7961892963836856, - 4.6642824103498457, 0.84947749782169635, 0.88026274993719478, - 13.039270318609212, 2.4439619891759246, 21.358610235466418, - 9.8700289060331539, 4.6432994109568027, 4.1167771778436926, - 2.7152985664347211, 2.686839758603095, 2.3376732442172918, - 4.6914709623132209, 0.82106069113532831, 0.91599883522823544, - 4.1307199129332721, 6.0193428432941376, 2.8750407112589973, - 6.5760569157223401, 8.4531905370174627, 7.3596333851054467, - 2.7817875305224655, 9.9332870199132692, 5.3867770630335015, - 5.4707640147837191, 3.7047839789656547, 1.9037070209709803, - 2.1240370391936843, 4.2750776297389788, 0.92598344922662734, - 4.4952570266562182, 2.798310532272466, 3.6722802768412151, - 1.1872605274176744, 0.63608118495178056, 0.49182103056283871, - 0.2208214587192735, 0.10980039047923498, 0.91264677061251576, - 0.12321957097911006, 2.4326224013607223, 0.47704516032566846, - 0.53822145710316516, 0.50492500663172246, 0.50006115219458824, - 0.32209651657435889, 2.4879656990859749, 0.30712800691897535, - 0.3159179190941675, 0.29816905982252812, 1.8662130851303866, - 0.45249518197902194, 4.8186057488022573] + self.pdi_period_6_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + 17.17245993, 22.34368913, 23.57568532, 21.3664846 , 18.68190766, + 30.78607353, 29.69853337, 24.57613861, 19.41692593, 20.31205509, + 12.95026625, 8.63862852, 5.43198116, 5.79388242, 4.02329203, + 3.22520994, 9.9921133 , 17.18109472, 14.40626259, 12.06687531, + 10.0985882 , 12.9820837 , 11.9385369 , 10.94301187, 19.04670199, + 17.10645221, 15.10913495, 10.63037333, 22.45714669, 23.2089878 , + 31.23989143, 25.06202808, 18.48205104, 15.20424809, 13.17587555, + 14.38245103, 20.61384189, 19.63889159, 20.6313393 , 16.97525788, + 16.60891728, 18.05079377, 19.22459986, 17.22893117, 15.32039154, + 17.03163344, 15.31391622, 12.2956512 , 10.38441109, 8.72022651, + 12.83032279, 11.19141574, 13.76350945, 12.17356566, 12.96181227, + 11.30953289, 11.43545029, 9.83177567, 13.57862577, 12.91268391, + 21.26366754, 18.42660118, 15.66738138, 31.02761477, 26.20788376, + 21.42953827, 16.92693481, 12.81773976, 12.35104846, 13.45005333, + 11.38708826, 9.83313238, 19.10158785, 16.29690792, 30.51435893, + 29.48650644, 23.8610897 , 19.17796695, 15.5221913 , 12.799587 , + 11.99985872, 13.83323059, 12.80809723, 11.90756706, 13.71799765, + 16.59868988, 15.92326873, 18.45930389, 20.88960736, 21.22000487, + 18.19837649, 22.26908561, 21.35843931, 20.911531 , 19.21386894, + 16.50609783, 15.3470583 , 17.0388589 , 12.89321658, 13.47788976, + 12.570757 , 12.59568964, 9.29785548, 5.44570513, 3.50887115, + 2.38033623, 1.71604366, 2.1623727 , 1.99498727, 3.89315676, + 3.69393546, 3.47303828, 2.71515231, 2.34616071, 1.80983659, + 3.63000195, 2.90280805, 2.48823796, 1.95703675, 2.99310996, + 2.40886917, 6.09048059] - self.pdi_period_8_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - 4.228942066862766, 1.1418072449883061, 1.0092631923107418, - 0.8187444876127874, 1.8075447881537603, 0.26148736255889143, - 0.23695350716891075, 5.64454023283787, 7.0660458153460413, - 1.2852252131286719, 1.3087546312764229, 1.3300611059342595, - 3.9371000259824869, 1.5222012550235018, 1.6254989546065757, - 6.6815268735871074, 0.92570389251380325, 0.98894836416634568, - 0.92398900433797793, 11.555283547273556, 6.2240812618844377, - 14.254266464435739, 5.280385618111417, 2.2530223315855533, - 2.0827965462550297, 2.0687097855090593, 4.22857811426059, - 7.7378780182188205, 3.4091188558167205, 4.6809218305076667, - 1.3495822291667634, 3.1042256493460139, 3.8037974584281264, - 4.0038447672058251, 1.7197634831417123, 1.1626762055137527, - 2.961857207005234, 0.95922288010655798, 0.97503940383789167, - 0.77242027443548211, 0.49278840852901251, 3.7061892074151137, - 0.57257349838050642, 2.630977268840732, 0.59004635478061362, - 1.950916005027552, 0.81107338698902554, 1.8400794961057558, - 1.0083651201471779, 2.8938401353997873, 0.81513660566110779, - 5.9069133644804435, 1.3077046284678064, 1.0285910136171437, - 11.635013742844301, 2.5422964575551235, 2.0757776145138851, - 1.7707010685528644, 1.7111625297671176, 2.8701034899562798, - 4.0541984947015877, 1.4119921516482767, 0.45185875085320137, - 7.2455215799000285, 1.1346164397571432, 12.528084512109267, - 6.0985981253596, 2.7217194970066676, 2.1876866659699852, - 2.1715283550177178, 2.157584377190426, 2.5557943444630764, - 4.6156819694520559, 0.80393382567765637, 0.43820360041357614, - 2.1446756314344908, 3.0444588720825316, 1.4449417891751071, - 3.9331781969937158, 4.9251967638013179, 3.8941758210281523, - 1.4434556210677243, 5.6592812583655903, 2.8911401662587379, - 2.9155425727271465, 2.414623647712808, 1.5548415998682015, - 1.1906476104773367, 2.4664051825366253, 1.0518302862906928, - 2.7514989093556403, 1.7616034589397647, 2.1177742073057568, - 0.60014784703419644, 0.45536330201775432, 0.36641690204648331, - 0.24080214358925445, 0.2147378781576568, 0.77994427820323742, - 0.11780257799808681, 1.2581938941621027, 0.19127254704683985, - 0.20928672715997237, 0.21143121384211835, 0.3067110318285341, - 0.21764550667286678, 1.5848133861900982, 0.28353605450045721, - 0.14186325231228017, 0.13103745441733075, 1.0215451141077487, - 0.21848353167642781, 2.8808669546554788] + self.pdi_period_8_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, 12.84476524, 13.96304263, 13.55268862, + 21.45098964, 21.60062608, 19.73122073, 17.17602708, 18.19149004, + 13.01014933, 9.49887776, 6.380009 , 6.03799823, 4.41258806, + 3.48581839, 7.56583328, 12.2591115 , 10.88751608, 9.73831828, + 8.6864877 , 10.13572008, 9.00038007, 8.43561508, 12.89859492, + 12.19732074, 11.42117359, 9.32564335, 17.32057505, 18.67369813, + 25.58091393, 22.10649176, 17.53458861, 14.1852722 , 11.74850059, + 12.33811672, 16.61062459, 16.23226351, 17.32367098, 15.16910778, + 14.76135521, 14.70915491, 14.68981437, 13.28379614, 12.14923166, + 13.04729963, 12.14590806, 10.80378591, 9.5095975 , 8.34765736, + 10.7302867 , 9.7082254 , 10.594433 , 9.61971968, 10.1958856 , + 9.50345605, 9.70219954, 8.94750232, 10.33102091, 9.44928437, + 13.66391887, 12.81202149, 11.83017472, 20.07584789, 18.21899147, + 16.33282596, 14.28013273, 12.07487794, 11.87595887, 12.7004416 , + 10.5191214 , 8.6957451 , 13.93208101, 12.72613563, 21.69167286, + 22.22874858, 19.50558145, 16.9222296 , 14.69757703, 12.77779333, + 12.1085504 , 13.38348903, 11.75411621, 10.31843813, 11.32121047, + 12.86483312, 12.52305946, 14.16633928, 16.00642705, 16.3895316 , + 14.2861356 , 16.44414651, 15.87543075, 15.35793012, 14.61632587, + 13.48522723, 12.38948681, 12.7451686 , 11.08734197, 11.65588668, + 11.19721034, 11.16458894, 9.22205285, 6.12259108, 4.31082792, + 3.25191814, 2.53744095, 2.63369749, 2.1140582 , 2.87420126, + 2.71562928, 2.59996554, 2.29828068, 2.11335075, 1.80843654, + 2.86489709, 2.46142161, 2.06507807, 1.66905275, 2.27104756, + 1.97768954, 4.15227219] - self.pdi_period_10_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, 1.6426714562555931, 0.48203147106950173, - 0.21921575335316165, 4.3786064104820239, 5.2660030172197123, - 0.82774995350381253, 0.76510351179071523, 0.77779272915926911, - 2.6938470527523526, 0.97052172463274433, 0.91942335378840445, - 4.5514272884697364, 1.3040353746570359, 0.98097717444356491, - 0.50401644718867811, 7.6996621955318023, 4.3178190097794626, - 10.315408173805999, 3.6636330199254918, 1.706692518569638, - 1.6055405112539047, 1.3973155457606463, 2.9759420763958566, - 5.6992279937000099, 2.7086971178555364, 3.868590458225416, - 1.474647670917651, 2.208499663396494, 2.597105539861837, - 2.7189151348815965, 1.1308213066438797, 1.118428625886885, - 2.207365192806368, 0.79023855051159453, 0.72828267217314535, - 0.52784189346306765, 0.53878334650298276, 2.6783141251862101, - 0.46844246349933438, 1.6170066440780373, 0.43439931882291177, - 1.2444328267655063, 0.40188658054873228, 1.0081539071714467, - 0.50298854332605802, 1.9362266964017372, 0.68127200651636244, - 3.6001695111468361, 0.81789134329947177, 0.60658174955662081, - 6.9729473656463412, 1.4301027467814496, 1.1386071709022307, - 1.0898883765380487, 1.0876689325010889, 2.1177664825250551, - 2.9602759488546533, 0.83836759502423519, 0.80474441027533095, - 5.4737501037024732, 0.63686257514339717, 7.9099896057872687, - 3.7570655276101417, 1.6465242863308014, 1.4925841299631439, - 1.4108331057239718, 1.2669219579989217, 2.0556104246503439, - 3.5132239468458928, 1.121410124483444, 1.1346863781722856, - 1.628362944364357, 1.8520278277251379, 0.80122652346787682, - 2.3216617147969885, 3.010323713525378, 2.6482981961080463, - 1.0056032126058734, 3.5130061779026405, 1.7667688013521652, - 1.9358821348096238, 1.5054475397590614, 0.98417018509428511, - 0.9966095221640362, 1.8080444605797965, 0.7221389352763653, - 1.9660059379145816, 1.433407149254591, 1.5019551775295774, - 0.46597042560827961, 0.31405027742148667, 0.23762518334554333, - 0.20562486807844013, 0.18330165995577713, 0.66224619328350598, - 0.16216504351552841, 1.0390956167287133, 0.14418102469177094, - 0.1079165019948758, 0.10879348447762004, 0.16888511612769888, - 0.11649795776978532, 1.0498323659778561, 0.19390157590193238, - 0.15288187924074195, 0.1450670853885753, 0.66247831691808323, - 0.11746576454285343, 1.8426669384749923] + self.pdi_period_10_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, np.nan, np.nan, 9.23796092, + 15.5995123 , 16.40825818, 15.90888348, 14.90895578, 16.1807485 , + 12.28384969, 9.44483311, 6.68153207, 6.22348195, 4.67433429, + 3.68787643, 6.75746194, 9.99991825, 8.62772646, 7.85688094, + 7.23360865, 8.39261652, 7.73922191, 7.11879706, 9.81349491, + 9.38208089, 8.91130174, 7.82816511, 13.48221055, 14.88002142, + 20.59742968, 18.77397222, 15.70234562, 13.29192855, 11.44190072, + 11.41683073, 13.85433948, 13.48620514, 14.48624857, 13.18851537, + 13.0821946 , 13.19017287, 13.11744946, 11.56230575, 10.35806537, + 10.73320087, 10.07749647, 9.36513023, 8.63366317, 7.93337868, + 9.33499044, 8.54933336, 9.19910811, 8.50945759, 8.58747767, + 8.04623548, 8.2305099 , 7.84340488, 8.74270827, 8.28512284, + 10.7358965 , 10.20131258, 9.7341179 , 14.90397082, 14.12850872, + 13.06025751, 12.01211781, 10.78861374, 10.78457648, 11.46714592, + 10.06039425, 8.78167148, 11.99825462, 10.53672855, 16.42508872, + 17.25684654, 15.8554005 , 14.40064092, 13.06836317, 11.85021947, + 11.45372658, 12.35840495, 11.18484707, 10.18551662, 10.30943542, + 10.73443819, 10.59925334, 11.63618884, 12.86881587, 13.37773238, + 12.2448139 , 13.65021225, 13.02220293, 12.62069281, 12.0621268 , + 11.15607388, 10.48568678, 10.80393103, 9.91731286, 10.38219181, + 10.18796769, 10.25310323, 8.94502008, 6.61354932, 5.05227241, + 3.93469587, 3.15677541, 3.13416339, 2.62786862, 3.08810535, + 2.63328955, 2.32763682, 2.1118975 , 1.99106827, 1.80419988, + 2.48943087, 2.23677705, 1.96527941, 1.67833889, 1.99976772, + 1.73597824, 3.16818521] - self.ndi_period_6_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, 1.2170675830469666, - 1.2525788387857393, 6.3202940139957535, 17.335933971581603, - 3.1637575629747099, 25.501329539348053, 9.6755962267163778, - 18.8255097453067, 4.5528151718783203, 13.482213528264261, - 4.6702304196141995, 2.9386156779316921, 2.5797895675025324, - 3.664728132149417, 5.6450268339251766, 1.8297888201603816, - 0.98843102088559986, 1.0895540766761778, 10.323378665896252, - 2.0905573644694386, 8.17931536940055, 8.8295188826378475, - 24.831472864697911, 4.6847464118962998, 3.3341175683523856, - 2.7472856341535725, 1.9075939128685884, 6.4903900010136386, - 11.232836751985753, 1.9659932466548591, 2.0199284575697947, - 2.0671879528345296, 2.1298264741299766, 1.4097544956446313, - 1.4746069553413033, 0.18108505321511528, 0.1919264722735893, - 0.19906697074308363, 7.3515603746063336, 2.8931287074461243, - 1.2418965006715694, 5.6931025031230424, 13.841434517887583, - 4.6607803139497213, 3.2885554105811305, 2.3063941205229894, - 4.185647596614996, 2.292221052943864, 13.458347015298804, - 2.0565138949912214, 3.0681956515685509, 2.227379366523226, - 4.766664295769802, 2.6829033970585607, 3.3407194477263542, - 0.9925015621910509, 0.8232094841493881, 13.313089987803174, - 1.8592782799916157, 1.8162427265674865, 18.365325798399827, - 11.446913861463427, 9.2579908418125054, 3.0936274376139932, - 2.9214727840204833, 15.460782879459204, 5.4718708221569967, - 2.5574242202102995, 15.256208794211837, 3.6066397416296856, - 3.4079459532652527, 1.7501689263154034, 13.663347690693426, - 9.5441931646538087, 4.1820312250672247, 2.4615481284343876, - 2.4439143289278444, 6.4784620890189579, 3.7745694860227319, - 1.1530537180273819, 0.92484903704792421, 1.010825021270908, - 1.0473164645021791, 0.32943759202617434, 0.0, 6.7770794765336309, - 0.84451935633104769, 0.88406010329983142, 0.92643961516988238, - 0.95974816641274563, 4.7270922224956911, 5.6846411012336961, - 1.2614657504109783, 25.329856352027324, 3.8032923781251209, - 3.6604868852816481, 3.1387911157283379, 19.578835785930682, - 37.880601825275349, 8.2202561422680596, 8.0583322416930638, - 3.8733649942227206, 3.6864404558625359, 6.8638004072421772, - 1.4015546096316862, 4.5096507719516818, 1.8220298971679887, - 19.361695393891601, 3.2421956910432224, 8.4492818365667173, - 3.0923930450763257, 7.291668339876364, 11.483781472967918, - 11.258115678957676, 3.2055528104244098, 5.4344573200542925, - 2.8594686118791417] + self.ndi_period_6_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + 2.5923733 , 2.6739039 , 2.25765683, 6.42575461, 11.48554738, + 10.26052582, 8.49297409, 12.32086135, 25.36417281, 20.29206827, + 34.73464475, 28.26067756, 31.12756748, 22.68505435, 24.77501448, + 20.26984538, 16.77397286, 14.0828462 , 13.89447581, 15.19756665, + 13.57650704, 12.28982335, 11.30192293, 18.37189092, 16.63853606, + 20.82543767, 24.18118692, 36.55775221, 26.96984518, 20.51573288, + 14.08388656, 9.90425555, 11.8138514 , 19.03283368, 16.30087656, + 13.95802082, 11.90470381, 10.22183058, 8.33364214, 8.15137653, + 6.84043491, 6.04184767, 5.22232067, 10.94683579, 11.25833631, + 10.21637339, 13.00820144, 21.01492078, 18.9302344 , 16.64870457, + 13.96340564, 13.73522997, 12.61462794, 22.46058077, 19.72608661, + 18.13966186, 15.73301658, 15.95717761, 15.27139134, 16.90803792, + 14.64139151, 12.49261706, 21.57404737, 17.77263493, 14.46770852, + 26.69003336, 28.21580466, 26.05366008, 20.17610312, 15.87778011, + 24.41167997, 23.24020572, 19.9699335 , 28.69200178, 23.94103206, + 18.85174348, 15.01552561, 22.82595723, 24.37690436, 21.80016034, + 18.00950344, 14.90040717, 17.10037193, 17.64106934, 16.26847628, + 15.0253795 , 13.68514299, 11.81598791, 9.64768734, 7.86075892, + 12.69203057, 10.80763685, 9.42804572, 8.23333447, 7.10779159, + 9.38798882, 13.27361589, 12.24206696, 30.49859454, 23.60634101, + 18.93331113, 15.45858494, 26.59318714, 46.12312506, 33.05005186, + 26.00140554, 18.74506069, 14.86703641, 16.90599333, 15.92742851, + 18.05892823, 17.60847835, 29.78412757, 24.06789591, 23.82543514, + 19.24759256, 19.50619078, 23.99595546, 26.85455429, 21.8925964 , + 20.21998448, 17.00298171] - self.ndi_period_8_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - 1.8032641838179198, 17.137871860484896, 6.5687865392267897, - 13.481238894548255, 2.8290058403084042, 10.025080418491839, - 3.0593824643821095, 2.2032178068997146, 2.1904840867212205, - 3.0731127356358292, 4.1714816121926948, 1.7530838049458093, - 1.1877788848297306, 0.53036644183495307, 5.5521938754197109, - 1.092744148578157, 4.7861709545211859, 5.0068116479035538, - 14.703759448422845, 2.4299384632182495, 2.319624143786033, - 2.0403296441661478, 1.403227733847024, 5.2141923678309947, - 8.9508162518369527, 1.768120280971617, 1.0444242524020277, - 1.0746247171816579, 1.1054100757491698, 1.1060032439498513, - 2.0876184022710924, 0.83883602115222733, 0.093726558139360289, - 0.091571489182469212, 3.9966899327080805, 1.4303970193690241, - 0.633151436097664, 2.928364539930453, 7.3753271790855157, - 2.1835831066797624, 1.9928703469414448, 1.635039294354778, - 2.1617755749208007, 1.2049447721398543, 7.7215378827459755, - 1.7405485108049452, 1.547057610853144, 1.0158998763617013, - 2.5000190660197226, 1.208573342134311, 2.3489822901865067, - 1.3273718520403084, 0.39602826511492395, 6.6365525253168149, - 0.96814256411317345, 0.9756620177021007, 10.149920565207303, - 6.4507146327727574, 5.2712631060660966, 2.224056600951557, - 2.1697947556549599, 9.2847011510710242, 3.5370902262473769, - 2.3259563133051575, 9.2451721382380576, 2.0226574064938769, - 1.700479355599418, 1.6838109238574979, 9.7226399946445543, - 6.1940646625528624, 3.2704788700482275, 2.0822759791033234, - 1.3522033140191916, 3.6838155390180858, 2.6954983215277566, - 1.8441021321590894, 1.0715134577720642, 0.59028817571524173, - 0.45170169905330398, 0.46206384152068314, 0.46004193053368131, - 3.8678191499192178, 0.37153192248972811, 0.3825137043203517, - 0.3896743488230438, 0.4057623370009833, 2.4270900141546226, - 3.2616718210476772, 0.9548430947804637, 13.076545065149107, - 1.7152341180722426, 1.7076896164242326, 1.7011424123728334, - 12.416979788848717, 25.358738811777798, 5.8850894292765545, - 6.0367217793465686, 2.4014114776445261, 2.1936519642435486, - 4.2280392083069298, 2.1625006848615675, 3.5605266734534529, - 1.2244563558568731, 10.176066264182841, 1.412727257070588, - 4.7922862553745516, 1.7031681199055462, 4.2217413829191566, - 6.2371107451402157, 6.7159793586535166, 2.245824615023039, - 3.1477038637160359, 1.6253951964683033] + self.ndi_period_8_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, 1.21688582, 3.6523134 , 6.84422655, + 6.67236319, 5.93459491, 8.74888223, 17.92815525, 15.5833363 , + 27.0423641 , 23.61411971, 26.19126936, 19.2041072 , 20.73615841, + 16.66633071, 13.47000474, 11.76734413, 11.80296643, 12.90355561, + 12.08392381, 10.75289478, 9.54842272, 13.44459518, 12.54287699, + 15.107347 , 17.37111957, 26.22212362, 21.68289548, 18.10542083, + 13.92080741, 10.74052326, 12.05854934, 16.60111117, 13.62839176, + 11.95754495, 10.77060681, 9.69826919, 8.49296382, 8.31953497, + 7.22458845, 6.17420613, 5.27895004, 8.28742006, 8.41671015, + 7.87038747, 9.35809862, 14.25166666, 13.20230156, 12.00598228, + 10.90010644, 10.73968639, 9.68530271, 14.62658584, 13.69421725, + 13.25888059, 12.30382905, 12.6952261 , 11.65872485, 11.77168431, + 11.01740856, 10.21734746, 15.04013251, 13.38816717, 11.80558415, + 19.01515414, 20.89236945, 20.64784621, 17.5504017 , 14.98186856, + 19.42956968, 17.32205934, 15.48472888, 21.01492869, 18.90822611, + 16.36141671, 14.17589493, 19.55761812, 21.05688828, 19.48296367, + 16.95233747, 14.89612456, 15.17980001, 14.32058763, 13.58779091, + 12.86541632, 12.09151368, 11.18703315, 10.01320582, 8.72321242, + 10.95756392, 9.71079804, 8.74810105, 7.79788081, 7.10484381, + 8.35717042, 10.02671206, 9.17472225, 19.33394357, 16.83178092, + 14.6630253 , 12.78095517, 20.3023948 , 34.64724347, 26.79695286, + 22.94956335, 17.90732713, 14.31330591, 13.48644276, 11.43919777, + 12.30830834, 12.0948933 , 19.2088228 , 16.95977826, 17.58724412, + 15.25719286, 15.62537469, 17.258048 , 18.40252711, 16.19716284, + 15.64280003, 13.81978726] - self.ndi_period_10_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, 1.9644562083471211, 7.6648089139322968, - 2.1308796796702882, 1.7449382652724728, 1.5882481133199038, - 2.3938230565983907, 3.2563691036828377, 1.6302520557012368, - 1.1215901977236127, 0.71355838403019289, 4.1168636860286458, - 0.61032716114110241, 2.9086911670704696, 3.0845267109032379, - 9.7249652163094513, 1.5936549440008361, 1.3899250203895768, - 1.2424269085051285, 1.1385169733727616, 4.1127450443829447, - 7.0240701116574353, 1.4334865479912815, 1.2460357973759268, - 1.0873684595221988, 0.64619455339222653, 0.65253472886290809, - 1.357920570832605, 0.71998318679989048, 0.71160337899682302, - 0.48672021546247468, 2.7394422434410162, 0.88375557376799363, - 0.3362742765091003, 1.7523705964151821, 4.63433391776333, - 1.3132615692727176, 1.1404632896792888, 0.87938390620300066, - 1.5102248328533128, 0.98358783031777008, 4.8141012416180127, - 1.0244800400945155, 1.3911154581523517, 1.0048586531007191, - 1.4777383390726437, 0.64154503978578292, 1.3802991348053575, - 0.73469995844966374, 0.6895315561330333, 4.3872933759662311, - 0.52630611605493438, 0.54173209356506957, 6.2518251105742983, - 3.9789859254921982, 3.2884649865427025, 1.3197230946989309, - 1.2380385758490464, 6.6717681986716615, 2.6154193333948377, - 1.3372331472682404, 6.1956211727505179, 1.7554068666484004, - 1.3257792655543528, 1.1092682691989502, 6.433071407256163, - 4.5381111731888657, 2.6014855943909332, 1.3235633664138771, - 1.2456410742087363, 2.9105831420387793, 1.7513487923107345, - 1.0346314871297695, 1.0447580968444512, 1.1166320237685572, - 0.6294485592180491, 0.33191372124088458, 0.24467331468006737, - 2.6610970682484796, 0.45349086956180695, 0.28371959388064111, - 0.2047472792898942, 0.21034968358884962, 1.4222951530751231, - 1.8931570283247257, 0.48318552969016143, 8.2996696009790742, - 1.158192720997218, 0.92652946823261884, 0.94067885582248156, - 8.2418147086278335, 18.485271884825288, 4.3297995370085474, - 4.3979303535162515, 1.9158444616203401, 1.7842748148338992, - 3.138107104125142, 1.4157890358865082, 2.4830246874276467, - 1.6223386599951375, 6.9950590205750522, 0.97295844638569018, - 3.0560321260430401, 0.92519864037818711, 2.7651142987405133, - 4.1405972239456048, 4.5228107381511409, 1.3482829364231652, - 2.3126720886217083, 1.3126006271452442] + self.ndi_period_10_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, np.nan, np.nan, 4.15544868, + 4.61551901, 4.35605974, 6.51930975, 13.55562287, 12.50272501, + 21.71288972, 19.74078936, 22.29138346, 17.05357195, 18.2833707 , + 14.65125133, 12.04619319, 10.30454995, 9.84438834, 10.60316774, + 10.16426734, 9.39949145, 8.6677081 , 11.03849605, 10.13090354, + 11.76684573, 13.21549775, 19.57031502, 17.24535171, 15.23684361, + 12.61267555, 10.38533088, 11.46368108, 15.16922417, 12.96261451, + 11.16143402, 9.67030469, 8.78395402, 7.98972071, 7.91110403, + 7.15131082, 6.36397621, 5.57749269, 7.36992742, 7.15901389, + 6.66761238, 7.54300977, 10.81162599, 10.39681026, 9.83055575, + 9.0176576 , 8.82274091, 8.26201493, 11.38982632, 10.51383451, + 10.14891803, 9.70923546, 10.06984929, 9.56951005, 9.74919128, + 9.21322642, 8.68271498, 11.64010235, 10.86078492, 10.06133242, + 14.5663087 , 16.12267122, 16.44722376, 14.77508562, 13.27545126, + 16.66119448, 15.46760333, 13.55351659, 16.38976002, 15.1542872 , + 13.79236112, 12.53838876, 16.4170659 , 17.76276337, 16.94664006, + 15.35619125, 13.90608578, 14.1066874 , 13.57406884, 12.34820597, + 11.22213442, 10.79480165, 10.19911148, 9.43738339, 8.65153409, + 10.13202568, 9.23026889, 8.34379998, 7.59273782, 7.02043792, + 7.59966392, 8.57733816, 8.12912603, 14.62444472, 13.40237849, + 12.26371512, 11.20588153, 16.50109118, 28.01589467, 23.29544755, + 20.30596278, 16.29131353, 13.65525305, 13.08456347, 11.09341275, + 10.50692447, 9.48213145, 13.92941996, 12.78172674, 13.58201465, + 12.29941353, 12.74053942, 14.02936805, 15.10801004, 13.13423495, + 12.40651749, 11.34282051] - self.adx_period_6_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, 93.894071353385868, 44.971605082564075, 38.951227517463273, - 55.383750741539458, 34.147821756615656, 24.33691778769597, - 167.5681613968236, 239.01721092849581, 87.723934507855546, - 82.177670584916328, 89.823893894777456, 185.27953482862046, - 86.509569442215181, 37.438116716647471, 235.94323387650803, - 75.149068622672885, 76.30983779758877, 41.608074258439906, - 365.70363177662693, 254.60831347313672, 440.88436534360056, - 244.68414453962703, 181.58612809030075, 184.77669434515701, - 140.40898800572964, 181.59492215082551, 241.15925575563836, - 121.71027983424459, 188.83489546730274, 106.25286630034414, - 163.3155064688878, 185.54042419145037, 168.55492550858858, - 88.843832873391463, 65.744346014265304, 141.86817321974721, - 65.395591621945115, 36.677972392845142, 28.551821493425315, - 25.565688867553554, 139.79543744263759, 20.578133926510809, - 103.56933903012539, 38.041746858837811, 99.639268783593721, - 60.664269493490821, 68.105314306851028, 36.526542968579264, - 116.07783436661052, 43.805368528417347, 258.48140185038972, - 97.078829102091731, 74.926958670954633, 483.25267222088792, - 181.86802366893843, 161.09321006011285, 110.74409537862491, - 104.00737058754075, 161.43858183106266, 116.5830084214669, - 36.194364971725975, 27.634531956031537, 267.95950569590661, - 80.204927177190314, 446.31886988720674, 265.32030560240793, - 187.81029514101979, 178.49673312149335, 129.65057605545806, - 133.15226661669919, 84.048884134506395, 113.93271950016421, - 32.596730814168602, 25.850706336990065, 93.777617009796558, - 135.48721879022347, 82.795462402373488, 151.36213016130739, - 203.63913028384974, 202.8169330450726, 110.44456675815954, - 249.33363078038732, 178.60477168371708, 177.36479233393052, - 135.53507272506317, 82.785019697774302, 84.639104569581917, - 115.38181826788491, 36.520377735313488, 100.17325981241495, - 67.149604542512947, 88.158293671597576, 36.042353726414156, - 29.194113656548286, 31.88877642332718, 29.298906785959506, - 27.965530082002555, 8.2630153803543305, 22.153580272673846, - 46.266560333396981, 18.88018723494406, 14.453539180825739, - 17.475815820738383, 16.344183416633303, 20.420787996988107, - 41.656071446870627, 20.821364636526283, 21.882752396706362, - 22.672474309949216, 33.983825345738303, 20.863494343100331, - 92.938264309078448] + self.adx_period_6_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + 73.76782014, 76.41654278, 78.83164022, 70.76045107, 57.69017918, + 55.76448404, 55.70895193, 50.82380268, 43.06241038, 34.51272381, + 36.66416226, 39.76401887, 45.37515422, 47.89399657, 52.20101789, + 55.78567267, 50.47144949, 43.447372 , 36.28329945, 32.03916018, + 29.08341871, 24.61172374, 20.91044057, 21.65838335, 19.14705308, + 17.57621837, 18.50188508, 24.61275979, 22.01919342, 19.36474044, + 22.45682324, 25.94918316, 25.29108759, 22.93488111, 20.87584473, + 17.6415762 , 19.1667842 , 21.23044453, 24.77111471, 26.49670987, + 29.02499039, 32.49661081, 36.62817734, 34.23871271, 31.07858091, + 30.06724666, 26.41218477, 26.3727615 , 26.83603916, 27.5722316 , + 23.68132182, 21.43513024, 18.58833262, 20.44069951, 20.48283681, + 20.93453441, 20.08178823, 20.69351214, 18.22245218, 17.41834785, + 17.58926777, 17.85637572, 17.52372151, 19.13006583, 20.75222451, + 19.1155327 , 20.09745801, 22.42298075, 22.6953171 , 20.29240626, + 22.97414377, 25.90135997, 21.95486869, 22.88763239, 21.08486333, + 21.23750624, 21.49007493, 19.3558743 , 19.8286899 , 20.85947667, + 20.7205471 , 17.88612705, 17.29700051, 17.64810224, 16.12432329, + 14.26610926, 13.14827215, 14.61406508, 18.31401109, 22.91808104, + 22.06930476, 24.16627104, 26.59723404, 29.41446476, 32.17752621, + 31.39615891, 27.37089263, 25.53940518, 28.04501144, 27.92284562, + 26.63503405, 23.89666922, 27.94529684, 36.43439039, 43.82937485, + 50.39552658, 55.86731968, 58.99014215, 62.30680495, 62.04167517, + 62.70760415, 63.43156065, 66.74146724, 69.32380835, 72.08319131, + 71.44697231, 71.88789007, 73.44151466, 75.60375131, 75.6606507 , + 76.16883479, 71.34963535] - self.adx_period_8_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - 83.954303200124073, 106.23843336745693, 28.636160450853552, - 28.783215452797062, 32.328370936437025, 72.555623955365306, - 42.789516947336473, 37.861297782137754, 110.58325683333288, - 20.701212843699452, 20.944974167851292, 18.506887891974564, - 175.08460856677263, 110.29510728102463, 230.09019308980939, - 122.62493113592416, 71.86169228633085, 69.940418932987626, - 76.13225468221934, 111.90246093468299, 151.57201752327487, - 92.113963348066363, 95.504526004007531, 42.742314693483642, - 71.435722803900006, 85.968148338401079, 91.735003886852269, - 50.608940055034942, 35.912528624751005, 62.578560280377715, - 24.474564839387174, 22.158356966691713, 17.525265048589056, - 16.220456582285642, 54.064475640840335, 13.191617270709443, - 41.759140705851266, 13.690276054440981, 29.686904043893346, - 13.218470997557114, 31.818632407085811, 16.943256263037167, - 44.641600318108473, 12.861936281679748, 88.15279211144329, - 31.057286620546765, 17.851265201439183, 175.88422592638301, - 60.78597053673375, 49.342089100760354, 43.892995060067413, - 44.727768139449523, 58.695891806986047, 78.192870636494533, - 39.194236953196722, 22.6224152449598, 111.19515012132275, - 25.343398423085862, 192.74782117315459, 118.12386734575358, - 73.732271725501519, 58.439099385846575, 60.398702907263726, - 63.479792592644088, 63.683616097514786, 97.879107218578838, - 26.311864000654602, 23.911858553930248, 38.768298964516305, - 54.472000104480919, 33.729112255439922, 70.280317253200025, - 86.632053335299219, 72.674627881728142, 35.21316256686233, - 103.31993612516206, 69.520554415244376, 69.830932366132188, - 64.770384708917248, 44.258253126353878, 32.177536791053186, - 51.603930724994861, 25.035791628363164, 48.634764463249532, - 32.850713918278785, 36.349048978964909, 17.245952206699688, - 18.839642942657552, 19.599142581594979, 19.41754569589655, - 19.985554314377296, 8.544655599308161, 18.138956278188918, - 13.844974735468274, 16.043988015892726, 14.792405516739565, - 16.600023447087398, 13.152180557283625, 16.00104856292716, - 21.500638280898158, 16.058997462775665, 18.625547811478448, - 18.925525531507404, 12.055590154199242, 16.765231487759532, - 42.051282797283427] + self.adx_period_8_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, 82.69213454, 69.80705958, 55.82647992, + 54.83656041, 55.36468478, 51.55411247, 41.38384671, 34.97347929, + 34.98439365, 36.28084667, 40.26616688, 42.127769 , 45.58452836, + 48.51381184, 45.55932571, 39.39211184, 34.46321387, 31.64830476, + 29.57273494, 25.99806974, 22.93195936, 22.92678291, 20.10487131, + 18.87403035, 19.10614935, 22.77325335, 21.28418192, 18.75669215, + 20.13043706, 21.97302364, 21.53242928, 19.79757988, 18.22974465, + 16.12435877, 16.78101408, 17.84181442, 19.9020043 , 21.06669165, + 22.72743794, 25.00612435, 27.78298761, 27.20326774, 26.06784621, + 25.90252254, 24.28124157, 22.96337838, 22.12373876, 21.60414275, + 18.99800901, 17.25159901, 15.65375606, 16.27889175, 16.07428692, + 16.127342 , 15.58886986, 15.80492311, 14.58343231, 14.12829274, + 13.70243515, 13.39788039, 13.21635705, 14.06261384, 14.97505552, + 14.05153777, 14.64512764, 16.08955434, 16.48885403, 15.45781253, + 17.24481153, 19.23381197, 17.48921451, 18.37385813, 16.9340164 , + 16.71778023, 16.60602661, 15.43325627, 15.72736702, 16.35950174, + 16.39802988, 15.01685133, 14.72959512, 14.91879057, 14.19136097, + 12.41770032, 11.08462366, 11.16793701, 12.65114051, 14.88571613, + 14.67321918, 16.05708448, 17.66810701, 19.54067794, 21.42077435, + 21.67787049, 20.28569225, 19.78605608, 20.70130105, 20.38474956, + 19.51191693, 17.9166967 , 20.36828544, 26.56789383, 32.28248418, + 37.64437878, 42.33603538, 45.65883688, 49.0636794 , 50.41059667, + 52.09043544, 53.65587457, 56.77735466, 59.41012318, 62.15288011, + 62.93155355, 64.16287414, 65.97074505, 68.14552662, 69.05307004, + 70.11548496, 68.07503858] - self.adx_period_10_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, 18.562354032040755, 13.217573035460504, - 60.106560001683498, 21.843979436050155, 14.446617163233622, - 12.562200272498128, 90.076020445131391, 59.163967062807068, - 129.59645935275077, 62.706820487655726, 38.848846720766453, - 37.385730354199595, 35.191056474293774, 54.950408134834717, - 88.317407575535725, 59.950638683168265, 68.608870772232862, - 38.547643055135282, 40.800824183857344, 44.054677246285195, - 47.315548318165519, 25.543028121477413, 27.890819575635785, - 41.327039155303211, 16.691604340587954, 14.898178917592805, - 12.208752711114009, 10.988446897697283, 34.317769143198163, - 11.076014356252642, 19.320341503488109, 11.814631477172213, - 15.019610044522505, 9.2992166886414296, 11.016365765416868, - 8.4537865147990505, 24.248296988848118, 7.3763630076572824, - 42.465444563627024, 11.822373105406081, 10.067078413555461, - 82.153148363381433, 25.005380809554467, 16.305256058534258, - 16.243915092187624, 16.640848309188645, 30.659006969964981, - 42.36270022259481, 13.16622997850544, 12.778220188436162, - 69.656903741007554, 13.61245940013994, 94.112618113136591, - 54.674416378240764, 32.997308743216216, 27.676585867183366, - 26.370143063703495, 23.970646696050892, 36.118192468502635, - 54.883926267667725, 21.97449546703908, 23.489754505363614, - 24.769979745764477, 25.480857345954682, 11.834666505616998, - 32.013098980827301, 42.076274140144641, 40.375723236783145, - 16.291388746965431, 47.612069407765887, 31.015307930410586, - 34.31477281057834, 29.869659141774868, 18.984131807316761, - 18.577826001431312, 30.674484233507066, 14.239183305491053, - 27.342311188891582, 22.482261796974761, 21.189089798833034, - 13.792702416385289, 14.626078512978879, 14.431870121923632, - 15.146380959275124, 15.292160527668589, 7.2919605007820003, - 15.040085408811784, 10.757203143144142, 13.926994895345462, - 13.956316994527086, 14.773939569575539, 12.859682320987856, - 14.618191276094111, 11.812734847535289, 13.41465492071193, - 14.794064204899499, 14.949155385156237, 6.3822708236697485, - 14.673622142143818, 21.135546113068049] + self.adx_period_10_expected = [ np.nan, np.nan, np.nan, np.nan, np.nan, + np.nan, np.nan, np.nan, np.nan, 37.94785935, + 46.57307644, 50.80545905, 48.20574644, 37.59518728, 32.30825637, + 31.43168004, 32.10693775, 35.66083635, 37.32914545, 40.52791046, + 43.21105069, 41.18843088, 36.04236479, 32.33306404, 30.19041194, + 28.58875108, 25.89084586, 23.55168652, 23.32807871, 20.8873562 , + 19.82123798, 19.78076851, 22.2884113 , 21.20658549, 19.06610814, + 19.59454012, 20.56258015, 20.04208764, 18.63795538, 17.34807637, + 15.66872117, 15.88717513, 16.42487071, 17.70485646, 18.4523997 , + 19.56085336, 21.1242161 , 23.07701907, 22.98233059, 22.50398122, + 22.59106158, 21.76138885, 20.28787214, 19.17586556, 18.31954621, + 16.64868768, 15.1315492 , 14.1494444 , 14.18214204, 13.77051304, + 13.54816133, 13.01561782, 12.95676039, 12.11001027, 11.70973667, + 11.30103224, 10.97437472, 10.76824683, 11.2615787 , 11.81767739, + 11.18012765, 11.52358641, 12.4499539 , 12.76654715, 12.22021771, + 13.46948218, 14.88079343, 14.00077233, 14.77488781, 13.69920745, + 13.44496244, 13.268603 , 12.59577337, 12.85891054, 13.34296414, + 13.46430895, 12.70694118, 12.59148319, 12.7585546 , 12.38244107, + 11.36613567, 10.32075872, 9.94677331, 10.49049744, 11.58699292, + 11.37245647, 12.16703836, 13.14006506, 14.31358073, 15.52434512, + 15.86810354, 15.282334 , 15.16686456, 15.56820543, 15.28118249, + 14.67758205, 13.65378998, 15.25789873, 19.91262204, 24.35696606, + 28.67500183, 32.56121637, 35.5716483 , 38.66957743, 40.44753227, + 42.394818 , 44.213473 , 47.15908364, 49.74761149, 52.42765661, + 53.81826799, 55.44956593, 57.44720013, 59.70284513, 61.0898195 , + 62.52586245, 61.90667742] def test_positive_directional_movement(self): pdm = directional_indicators.positive_directional_movement(self.high_data, self.low_data) - np.testing.assert_array_equal(pdm, self.positive_directional_movement_expected) + np.testing.assert_allclose(pdm, self.positive_directional_movement_expected) def test_negative_directional_movement(self): ndm = directional_indicators.negative_directional_movement(self.high_data, self.low_data) - np.testing.assert_array_equal(ndm, self.negative_directional_movement_expected) + np.testing.assert_allclose(ndm, self.negative_directional_movement_expected) def test_pdi_period_6(self): period = 6 pdi = directional_indicators.positive_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(pdi, self.pdi_period_6_expected) + np.testing.assert_allclose(pdi, self.pdi_period_6_expected) def test_pdi_period_8(self): period = 8 pdi = directional_indicators.positive_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(pdi, self.pdi_period_8_expected) + np.testing.assert_allclose(pdi, self.pdi_period_8_expected) def test_pdi_period_10(self): period = 10 pdi = directional_indicators.positive_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(pdi, self.pdi_period_10_expected) + np.testing.assert_allclose(pdi, self.pdi_period_10_expected) def test_pdi_invalid_period(self): period = 128 @@ -465,17 +343,17 @@ def test_pdi_invalid_data(self): def test_ndi_period_6(self): period = 6 ndi = directional_indicators.negative_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(ndi, self.ndi_period_6_expected) + np.testing.assert_allclose(ndi, self.ndi_period_6_expected) def test_ndi_period_8(self): period = 8 ndi = directional_indicators.negative_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(ndi, self.ndi_period_8_expected) + np.testing.assert_allclose(ndi, self.ndi_period_8_expected) def test_ndi_period_10(self): period = 10 ndi = directional_indicators.negative_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(ndi, self.ndi_period_10_expected) + np.testing.assert_allclose(ndi, self.ndi_period_10_expected) def test_ndi_invalid_period(self): period = 128 @@ -495,17 +373,17 @@ def test_ndi_invalid_data(self): def test_adx_period_6(self): period = 6 adx = directional_indicators.average_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(adx, self.adx_period_6_expected) + np.testing.assert_allclose(adx, self.adx_period_6_expected) def test_adx_period_8(self): period = 8 adx = directional_indicators.average_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(adx, self.adx_period_8_expected) + np.testing.assert_allclose(adx, self.adx_period_8_expected) def test_adx_period_10(self): period = 10 adx = directional_indicators.average_directional_index(self.close_data, self.high_data, self.low_data, period) - np.testing.assert_array_equal(adx, self.adx_period_10_expected) + np.testing.assert_allclose(adx, self.adx_period_10_expected) def test_adx_invalid_period(self): period = 128 diff --git a/tests/test_smoothed_moving_average.py b/tests/test_smoothed_moving_average.py index 8bb3acd..5faf0fc 100644 --- a/tests/test_smoothed_moving_average.py +++ b/tests/test_smoothed_moving_average.py @@ -11,135 +11,120 @@ def setUp(self): """Create data to use for testing.""" self.data = SampleData().get_sample_close_data() - self.smmma_period_6_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - 246.68995370370371, 247.56712962962965, 248.35231481481483, - 248.0858796296296, 247.64046296296297, 248.79050925925927, - 249.35388888888892, 249.00157407407406, 247.59259259259261, - 247.78032407407409, 245.06074074074073, 243.88435185185185, - 240.37050925925928, 239.85125000000002, 236.55236111111108, - 235.48625000000001, 236.96472222222224, 239.17773148148149, - 238.79185185185187, 237.90601851851852, 238.04259259259257, - 239.52106481481482, 239.69421296296295, 237.91074074074075, - 239.61763888888891, 238.5825462962963, 237.69032407407406, - 233.29800925925929, 236.08425925925926, 237.60759259259257, - 242.27402777777777, 244.07976851851853, 243.04342592592593, - 240.200462962963, 240.62379629629632, 241.85032407407411, - 244.69111111111113, 245.37962962962965, 247.39541666666665, - 247.86620370370372, 249.581712962963, 251.58564814814812, - 253.48444444444445, 251.86555555555552, 251.5084722222222, - 252.6439351851852, 251.69648148148147, 248.75226851851855, - 247.65810185185191, 247.10893518518523, 248.1623611111111, - 247.39013888888886, 247.98736111111111, 245.60212962962964, - 245.96194444444447, 245.58763888888893, 245.63976851851848, - 245.02537037037033, 245.40467592592594, 245.21268518518522, - 246.6109259259259, 246.9425, 245.59259259259258, 247.98175925925929, - 248.42199074074074, 246.65731481481484, 245.54435185185184, - 244.45759259259262, 244.77925925925925, 245.00476851851855, - 242.61972222222224, 241.9521759259259, 243.61328703703703, - 241.73000000000002, 244.2360648148148, 245.25087962962962, - 245.66236111111115, 243.99268518518519, 242.9092592592593, - 242.68263888888887, 242.77486111111111, 243.14314814814816, - 242.36722222222224, 241.918287037037, 242.35254629629631, - 243.00689814814814, 243.18333333333337, 243.72199074074072, - 244.45925925925926, 245.23111111111112, 244.70180555555558, - 245.71370370370369, 246.12916666666669, 246.51874999999998, - 246.6999537037037, 246.57930555555552, 246.2978240740741, - 246.60361111111112, 244.76342592592593, 244.82694444444442, - 244.83319444444444, 244.81847222222223, 242.89694444444444, - 237.69578703703704, 236.23412037037039, 234.55879629629626, - 233.5510185185185, 232.88, 231.21347222222221, 231.45569444444445, - 230.6458796296296, 230.50787037037037, 227.07282407407411, - 226.55763888888887, 224.92722222222224, 224.86347222222221, - 223.37175925925928, 220.98185185185184, 218.57180555555556, - 218.23574074074077, 216.98652777777775, 217.36458333333334] + self.smmma_period_6_expected = [ + 792.45, 798.13909091, 800.68318681, 803.65980626, + 804.81347022, 806.03296478, 807.45870072, 809.13991366, + 809.834554 , 809.8356365 , 810.95540439, 812.25717225, + 812.82395014, 811.93397464, 811.49124318, 808.6154927 , + 805.62303061, 800.524347 , 796.6868385 , 791.17184537, + 786.59880155, 784.77937771, 785.5680531 , 785.60551549, + 784.69505223, 783.73751227, 783.94946985, 784.09209006, + 782.73153039, 783.30535937, 782.74918029, 781.48060569, + 776.75899385, 775.92246204, 776.6516195 , 781.48149706, + 786.57056406, 789.14966358, 787.80695672, 786.87015989, + 787.12861312, 790.1886234 , 793.47514686, 797.82404932, + 801.0792645 , 804.58351889, 808.57869102, 813.10629227, + 814.93215098, 816.04858183, 817.88898672, 818.4892014 , + 816.54754436, 814.55618144, 812.81007409, 812.63672203, + 812.12558602, 812.46633039, 810.50690026, 809.26906158, + 807.92919817, 807.07265459, 805.9572007 , 805.64099788, + 805.140828 , 805.96069487, 806.755583 , 806.07131634, + 807.55276871, 808.95231127, 808.29859116, 806.87882314, + 804.96401611, 803.79834515, 803.37028713, 801.21857054, + 799.13547379, 799.08289479, 797.31574467, 798.23645432, + 799.86204589, 801.22170535, 800.49642093, 798.98035044, + 797.45862508, 796.53552076, 796.41626728, 795.88355601, + 795.11962994, 794.86635827, 795.15363191, 795.4530266 , + 796.1525222 , 797.25210187, 798.61341827, 799.04284857, + 800.19570716, 801.33808932, 802.48174112, 803.48311761, + 804.14926468, 804.32938724, 804.7628227 , 803.51068558, + 802.74557131, 802.30797609, 802.07998007, 800.28998339, + 794.54831948, 789.11859955, 783.87383295, 779.48152746, + 776.11460621, 772.49717184, 769.9276432 , 767.17470266, + 764.84558555, 759.97632129, 755.94693441, 751.53577867, + 748.36481556, 744.8373463 , 740.32778858, 734.81649048, + 730.50874207, 726.23895172, 723.57412644] - self.smmma_period_8_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, 190.14798828125001, 190.08460937500001, - 189.84726562500001, 190.72499999999999, 191.113828125, 190.8981640625, - 189.94382812499998, 190.09998046875, 188.0411328125, 187.29111328125001, - 184.91966796874999, 184.6629296875, 182.21244140624998, - 181.49878906250001, 182.504765625, 183.92619140624998, - 183.34169921874999, 182.48886718750001, 182.37742187500001, - 183.22011718750002, 183.473203125, 182.52859375, 183.94289062500002, - 183.04105468749998, 182.29322265625001, 179.18185546875, 181.398984375, - 182.40208984374999, 185.84882812500001, 187.13990234375001, 186.113125, - 183.51218750000001, 183.74455078125001, 185.00455078125, 187.598203125, - 188.55552734374999, 189.95402343749998, 189.75119140625003, - 190.61933593750001, 192.07431640624998, 193.7051953125, - 192.73246093749998, 192.64951171874998, 193.56703125000001, - 192.89341796874999, 190.91847656250002, 190.39921874999999, - 189.99966796875003, 190.63320312499999, 190.16009765625, - 190.63310546874999, 188.58994140625001, 188.6344921875, 188.32654296875, - 188.49679687499997, 188.1449609375, 188.49955078124998, - 188.22730468750001, 189.09861328124998, 189.31935546874999, - 188.30347656250001, 190.02994140625, 190.33361328125, - 189.03218749999999, 188.31742187499998, 187.66955078125, - 187.82675781250001, 188.104375, 186.59146484375, 186.01521484375002, - 187.043515625, 185.52474609375003, 187.36158203125001, - 188.17759765624999, 188.31874999999999, 186.86539062500003, - 186.19449218749997, 186.01619140625002, 186.18060546875, - 186.76845703124999, 186.31193359375001, 185.84375, 185.93410156250002, - 186.30402343750001, 186.42490234375001, 186.89638671874999, - 187.43195312500001, 187.89695312499998, 187.47716796875002, - 188.27384765625001, 188.59398437499999, 188.89646484375001, - 189.09048828125, 189.0712890625, 188.8239453125, 189.05708984375002, - 187.79322265625001, 187.90572265624999, 187.96097656249998, - 187.96421875000001, 186.52974609375002, 182.77294921875, - 181.69775390625, 180.48400390625, 179.92457031250001, - 179.60261718749999, 178.36892578125003, 178.10302734375, - 177.12570312499997, 176.926640625, 174.3702734375, 174.09279296874999, - 172.91943359375, 172.9321875, 171.89642578125, 170.18162109374998, - 168.23566406250001, 167.84470703125001, 166.91443359375, - 167.23511718750001] + self.smmma_period_8_expected = [792.45 , 798.01266667, 800.49591716, 803.34562242, + 804.4887294 , 805.66598505, 807.01086626, 808.57036599, + 809.27274639, 809.36896616, 810.38886767, 811.56299963, + 812.13613391, 811.51007214, 811.21239663, 808.93864139, + 806.50348876, 802.33636505, 799.06290253, 794.4159284 , + 790.41276513, 788.49452592, 788.61845614, 788.2499492 , + 787.20667149, 786.14795316, 786.00045018, 785.84673853, + 784.58591072, 784.78632077, 784.17580439, 783.0328969 , + 779.26026869, 778.31135767, 778.56101946, 781.96747713, + 785.74605885, 787.79436597, 786.9529643 , 786.3547283 , + 786.61397379, 788.98090716, 791.60421149, 795.1085242 , + 797.89555573, 800.9276292 , 804.38693235, 808.31252669, + 810.2837997 , 811.70386415, 813.62925403, 814.61279616, + 813.64037575, 812.50949347, 811.45512533, 811.49450694, + 811.25382447, 811.61850431, 810.25442448, 809.35732403, + 808.34111376, 807.64704839, 806.73846556, 806.40359229, + 805.93306325, 806.44900711, 806.98420089, 806.44236406, + 807.50717468, 808.56261989, 808.1210087 , 807.078313 , + 805.61718851, 804.66124108, 804.23231675, 802.51070978, + 800.78681202, 800.54095315, 799.03329447, 799.50914358, + 800.56927192, 801.50062929, 800.92179173, 799.73155176, + 798.49634325, 797.67429188, 797.44250331, 796.91468623, + 796.21284561, 795.88623794, 795.97420866, 796.09618314, + 796.54041205, 797.31661329, 798.32953976, 798.68709826, + 799.59621313, 800.52793842, 801.48694786, 802.36233077, + 803.00204031, 803.28053561, 803.73671914, 802.9258785 , + 802.42514328, 802.13700016, 801.98737505, 800.65645244, + 796.30439381, 792.01259279, 787.71726712, 783.94260752, + 780.85978072, 777.55355732, 774.99436211, 772.29631634, + 769.9092764 , 765.62436624, 761.89631999, 757.84427955, + 754.6774943 , 751.24280722, 747.05995601, 742.08496119, + 737.94559081, 733.81364175, 730.86818641] - self.smmma_period_10_expected = [np.nan, np.nan, np.nan, np.nan, np.nan, - np.nan, np.nan, np.nan, np.nan, 153.67744999999999, 154.46725000000001, - 154.82634000000002, 154.66827000000001, 153.90600000000001, 154.07585, - 152.51725999999999, 151.96069000000003, 150.08051, 149.97599, - 148.19157000000001, 147.71669, 148.49359999999999, 149.6165, - 149.05250999999998, 148.23025999999999, 147.96473, 148.50650000000002, - 148.56408000000002, 147.66083, 148.87512999999998, 148.39798000000002, - 147.90949999999998, 145.38952, 147.11615999999998, 147.97096999999999, - 150.74028000000001, 151.62209999999999, 150.78217000000001, - 148.73534000000001, 148.80860999999999, 149.50757000000002, - 151.48645000000002, 152.43856999999997, 153.83485999999999, - 153.94740000000002, 154.57098999999999, 155.36511999999999, - 156.38750999999999, 155.60615000000001, 155.71811, 156.61214000000001, - 156.19622999999999, 154.70368999999999, 154.34504999999999, 154.17362, - 154.84965, 154.45883000000001, 154.72469999999998, 153.16855000000001, - 153.23859999999999, 152.82086000000001, 152.80856, 152.50942000000001, - 152.87255999999996, 152.7176, 153.44421, 153.52164999999999, 152.60997, - 153.96922000000001, 154.18405000000001, 153.12624999999997, - 152.57415999999998, 152.09025000000003, 152.29344, 152.60675000000001, - 151.35335000000001, 150.98126000000002, 151.95679000000001, 150.68447, - 152.00248000000002, 152.54411999999999, 152.62127999999998, - 151.51960000000003, 150.91347000000002, 150.65604999999999, - 150.87619000000001, 151.33009000000001, 151.01969, 150.85306999999997, - 150.99991, 151.19630999999998, 151.13267999999999, 151.42770000000002, - 151.83985000000001, 152.24697999999998, 151.90741, 152.47566999999998, - 152.70913999999999, 152.97624000000002, 153.13925, 153.13625999999999, - 152.98578000000003, 153.22130000000001, 152.2038, 152.31229999999999, - 152.42267000000001, 152.45949000000002, 151.35810000000001, 148.42686, - 147.62118000000001, 146.74070999999998, 146.29831999999999, - 146.04546999999999, 145.17291, 145.06334999999999, 144.27596, - 143.82530000000003, 141.56691000000001, 141.31354999999999, 140.38914, - 140.46588, 139.66199999999998, 138.34649999999999, 136.87015, 136.60816, - 135.76348000000002, 135.91293000000002] + self.smmma_period_10_expected = [792.45 , 797.93947368, 800.38616236, 803.16134051, + 804.29407463, 805.44354041, 806.73861793, 808.22428868, + 808.92227339, 809.06317562, 810.02308907, 811.11941498, + 811.68531859, 811.19450412, 810.9748234 , 809.03486236, + 806.92681288, 803.309138 , 800.408374 , 796.31599938, + 792.72441153, 790.85597188, 790.70060458, 790.16697869, + 789.09319403, 788.01415718, 787.69413208, 787.38873605, + 786.19042022, 786.18724354, 785.54189793, 784.46679241, + 781.24247148, 780.26606778, 780.26852244, 782.85903019, + 785.8313935 , 787.4813628 , 786.83257128, 786.36134907, + 786.56998967, 788.48390508, 790.64884235, 793.56826995, + 795.96738232, 798.60133422, 801.61752421, 805.05162187, + 806.96340737, 808.43766462, 810.31159017, 811.43411721, + 810.97297292, 810.33351336, 809.70625312, 809.9131946 , + 809.87879033, 810.30886544, 809.34705847, 808.7192244 , + 807.96908876, 807.45042493, 806.74245498, 806.47389284, + 806.09009631, 806.48746617, 806.91208451, 806.48554611, + 807.3335819 , 808.19576393, 807.87900892, 807.06869677, + 805.90029339, 805.10693791, 804.71910062, 803.29271559, + 801.83500717, 801.53342511, 800.22776565, 800.48904617, + 801.23928907, 801.91748018, 801.41265176, 800.41124304, + 799.35498247, 798.61139789, 798.33222893, 797.82095795, + 797.16880696, 796.81189907, 796.78970764, 796.80573787, + 797.09017988, 797.65619018, 798.43260609, 798.70835664, + 799.4335474 , 800.19521764, 800.9957195 , 801.74516745, + 802.31866442, 802.60980424, 803.04183218, 802.46263887, + 802.10836943, 801.90952968, 801.81257548, 800.76530596, + 797.27273942, 793.74243278, 790.13315942, 786.87181901, + 784.11261848, 781.14233859, 778.73609157, 776.20346995, + 773.90311276, 770.07578623, 766.64819531, 762.93136377, + 759.88921855, 756.62028815, 752.73625019, 748.18861554, + 744.2667465 , 740.3290651 , 737.32115394] def test_smma_period_6(self): period = 6 smma = smoothed_moving_average.smoothed_moving_average(self.data, period) - np.testing.assert_array_equal(smma, self.smmma_period_6_expected) + np.testing.assert_allclose(smma, self.smmma_period_6_expected) def test_smma_period_8(self): period = 8 smma = smoothed_moving_average.smoothed_moving_average(self.data, period) - np.testing.assert_array_equal(smma, self.smmma_period_8_expected) + np.testing.assert_allclose(smma, self.smmma_period_8_expected) def test_smma_period_10(self): period = 10 smma = smoothed_moving_average.smoothed_moving_average(self.data, period) - np.testing.assert_array_equal(smma, self.smmma_period_10_expected) + np.testing.assert_allclose(smma, self.smmma_period_10_expected) def test_smma_invalid_period(self): period = 128