From 485a0771698ac6c1dbe098d991a48a7f1068db54 Mon Sep 17 00:00:00 2001 From: Dave Skender <8432125+DaveSkender@users.noreply.github.com> Date: Sun, 12 Dec 2021 00:06:59 -0500 Subject: [PATCH] performance tuning (#652) +semver: minor --- docs/_indicators/Adl.md | 8 +- docs/_indicators/Adx.md | 6 +- docs/_indicators/Awesome.md | 4 +- docs/_indicators/Beta.md | 10 +- docs/_indicators/BollingerBands.md | 8 +- docs/_indicators/Bop.md | 2 +- docs/_indicators/Cci.md | 2 +- docs/_indicators/ChaikinOsc.md | 8 +- docs/_indicators/Cmf.md | 6 +- docs/_indicators/ConnorsRsi.md | 8 +- docs/_indicators/Correlation.md | 10 +- docs/_indicators/FisherTransform.md | 4 +- docs/_indicators/ForceIndex.md | 2 +- docs/_indicators/Gator.md | 4 +- docs/_indicators/Kama.md | 2 +- docs/_indicators/Kvo.md | 4 +- docs/_indicators/Mama.md | 4 +- docs/_indicators/Obv.md | 4 +- docs/_indicators/Pmo.md | 4 +- docs/_indicators/Prs.md | 6 +- docs/_indicators/Roc.md | 12 +- docs/_indicators/Rsi.md | 2 +- docs/_indicators/Slope.md | 4 +- docs/_indicators/Sma.md | 6 +- docs/_indicators/StdDev.md | 8 +- docs/_indicators/StdDevChannels.md | 2 +- docs/_indicators/Stoch.md | 4 +- docs/_indicators/SuperTrend.md | 2 +- docs/_indicators/Tsi.md | 4 +- docs/_indicators/UlcerIndex.md | 2 +- docs/_indicators/VolatilityStop.md | 2 +- docs/_indicators/Vortex.md | 4 +- docs/performance.md | 198 ++- src/_common/Quotes/Models.cs | 7 + src/_common/Quotes/Quotes.Functions.cs | 25 + src/a-d/Adl/Adl.Models.cs | 12 +- src/a-d/Adl/Adl.cs | 20 +- src/a-d/Adx/Adx.Models.cs | 10 +- src/a-d/Adx/Adx.cs | 40 +- src/a-d/Alligator/Alligator.cs | 28 +- src/a-d/Alma/Alma.cs | 12 +- src/a-d/Awesome/Awesome.Models.cs | 8 +- src/a-d/Awesome/Awesome.cs | 8 +- src/a-d/Beta/Beta.Models.cs | 10 +- src/a-d/Beta/Beta.cs | 14 +- .../BollingerBands/BollingerBands.Models.cs | 10 +- src/a-d/BollingerBands/BollingerBands.cs | 27 +- src/a-d/Bop/Bop.Models.cs | 6 +- src/a-d/Bop/Bop.cs | 6 +- src/a-d/Cci/Cci.Models.cs | 10 +- src/a-d/Cci/Cci.cs | 12 +- src/a-d/ChaikinOsc/ChaikinOsc.Models.cs | 12 +- src/a-d/ChaikinOsc/ChaikinOsc.cs | 6 +- src/a-d/Chop/Chop.cs | 20 +- src/a-d/Cmf/Cmf.Models.cs | 10 +- src/a-d/Cmf/Cmf.cs | 12 +- src/a-d/ConnorsRsi/ConnorsRsi.Models.cs | 14 +- src/a-d/ConnorsRsi/ConnorsRsi.cs | 43 +- src/a-d/Correlation/Correlation.Models.cs | 14 +- src/a-d/Correlation/Correlation.cs | 38 +- src/a-d/DoubleEma/DoubleEma.cs | 10 +- src/e-k/Ema/Ema.cs | 21 +- src/e-k/Epma/Epma.cs | 2 +- .../FisherTransform/FisherTransform.Models.cs | 6 +- src/e-k/FisherTransform/FisherTransform.cs | 16 +- src/e-k/ForceIndex/ForceIndex.Models.cs | 4 +- src/e-k/ForceIndex/ForceIndex.cs | 15 +- src/e-k/Gator/Gator.Models.cs | 4 +- src/e-k/Gator/Gator.cs | 4 +- src/e-k/Hma/Hma.cs | 4 +- src/e-k/Hurst/Hurst.cs | 9 +- src/e-k/Kama/Kama.Models.cs | 4 +- src/e-k/Kama/Kama.cs | 16 +- src/e-k/Kvo/Kvo.Models.cs | 6 +- src/e-k/Kvo/Kvo.cs | 36 +- src/m-r/Macd/Macd.cs | 12 +- src/m-r/Mama/Mama.cs | 18 +- src/m-r/Mfi/Mfi.cs | 18 +- src/m-r/Obv/Obv.Models.cs | 8 +- src/m-r/Obv/Obv.cs | 19 +- src/m-r/Pmo/Pmo.Models.cs | 10 +- src/m-r/Pmo/Pmo.cs | 26 +- src/m-r/Prs/Prs.Models.cs | 10 +- src/m-r/Prs/Prs.cs | 10 +- src/m-r/Pvo/Pvo.cs | 18 +- src/m-r/Roc/Roc.Models.cs | 14 +- src/m-r/Roc/Roc.cs | 6 +- src/m-r/Roc/RocWb.cs | 10 +- src/m-r/Rsi/Rsi.Models.cs | 4 +- src/m-r/Rsi/Rsi.cs | 24 +- src/s-z/Slope/Slope.Models.cs | 8 +- src/s-z/Slope/Slope.cs | 24 +- src/s-z/Sma/Sma.Models.cs | 8 +- src/s-z/Sma/Sma.cs | 14 +- src/s-z/Sma/SmaExtended.cs | 19 +- src/s-z/Smi/Smi.cs | 38 +- src/s-z/Smma/Smma.cs | 13 +- src/s-z/StdDev/StdDev.Models.cs | 12 +- src/s-z/StdDev/StdDev.cs | 14 +- src/s-z/StdDevChannels/StdDevChannels.cs | 9 +- src/s-z/Stoch/Stoch.cs | 50 +- src/s-z/SuperTrend/SuperTrend.cs | 32 +- src/s-z/T3/T3.cs | 24 +- src/s-z/TripleEma/TripleEma.cs | 12 +- src/s-z/Trix/Trix.cs | 12 +- src/s-z/Tsi/Tsi.Models.cs | 8 +- src/s-z/Tsi/Tsi.cs | 32 +- src/s-z/UlcerIndex/UlcerIndex.Models.cs | 6 +- src/s-z/UlcerIndex/UlcerIndex.cs | 9 +- src/s-z/Ultimate/Ultimate.cs | 28 +- src/s-z/VolatilityStop/VolatilityStop.cs | 20 +- src/s-z/Vortex/Vortex.Models.cs | 6 +- src/s-z/Vortex/Vortex.cs | 18 +- src/s-z/Vwap/Vwap.cs | 14 +- src/s-z/Wma/Wma.cs | 8 +- tests/indicators/Tests.Indicators.csproj | 6 + tests/indicators/_Initialize.cs | 2 + tests/indicators/_common/Data.Quotes.xlsx | Bin 1802214 -> 1957722 bytes tests/indicators/_common/Helper.Functions.cs | 12 + tests/indicators/_common/Helper.Importer.cs | 22 + tests/indicators/_common/data/bad.csv | 924 ++++++------ tests/indicators/_common/data/max.csv | 503 +++++++ tests/indicators/_common/data/toobig.csv | 1247 +++++++++++++++++ tests/indicators/a-d/Adl/Adl.Tests.cs | 29 +- tests/indicators/a-d/Adx/Adx.Tests.cs | 39 +- tests/indicators/a-d/Awesome/Awesome.Tests.cs | 18 +- tests/indicators/a-d/Beta/Beta.Tests.cs | 50 +- .../BollingerBands/BollingerBands.Tests.cs | 20 +- tests/indicators/a-d/Cci/Cci.Tests.cs | 6 +- .../a-d/ChaikinOsc/ChaikinOsc.Tests.cs | 18 +- tests/indicators/a-d/Cmf/Cmf.Tests.cs | 33 +- .../a-d/ConnorsRsi/ConnorsRsi.Tests.cs | 26 +- .../a-d/Correlation/Correlation.Tests.cs | 23 +- .../FisherTransform/FisherTransform.Tests.cs | 36 +- .../e-k/ForceIndex/ForceIndex.Tests.cs | 14 +- tests/indicators/e-k/Gator/Gator.Tests.cs | 30 +- tests/indicators/e-k/Kama/Kama.Tests.cs | 14 +- tests/indicators/e-k/Kvo/Kvo.Tests.cs | 26 +- tests/indicators/m-r/Mama/Mama.Tests.cs | 16 +- tests/indicators/m-r/Obv/Obv.Tests.cs | 17 +- tests/indicators/m-r/Pmo/Pmo.Tests.cs | 14 +- tests/indicators/m-r/Prs/Prs.Tests.cs | 16 +- tests/indicators/m-r/Roc/Roc.Tests.cs | 16 +- tests/indicators/m-r/Roc/RocWb.Tests.cs | 40 +- tests/indicators/m-r/Rsi/Rsi.Tests.cs | 36 +- tests/indicators/s-z/Slope/Slope.Tests.cs | 43 +- tests/indicators/s-z/Sma/SmaExtended.Tests.cs | 8 +- tests/indicators/s-z/StdDev/StdDev.Tests.cs | 47 +- .../StdDevChannels/StdDevChannels.Tests.cs | 6 +- .../s-z/SuperTrend/SuperTrend.Tests.cs | 6 +- tests/indicators/s-z/Tsi/Tsi.Tests.cs | 35 +- .../s-z/UlcerIndex/UlcerIndex.Tests.cs | 6 +- tests/indicators/s-z/Vortex/Vortex.Tests.cs | 22 +- tests/performance/Perf.Indicators.cs | 12 + 154 files changed, 3471 insertions(+), 1559 deletions(-) create mode 100644 tests/indicators/_common/data/max.csv create mode 100644 tests/indicators/_common/data/toobig.csv diff --git a/docs/_indicators/Adl.md b/docs/_indicators/Adl.md index 0e2962ae0..36f13ea92 100644 --- a/docs/_indicators/Adl.md +++ b/docs/_indicators/Adl.md @@ -49,10 +49,10 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `MoneyFlowMultiplier` | decimal | Money Flow Multiplier -| `MoneyFlowVolume` | decimal | Money Flow Volume -| `Adl` | decimal | Accumulation Distribution Line (ADL) -| `AdlSma` | decimal | Moving average (SMA) of ADL based on `smaPeriods` periods, if specified +| `MoneyFlowMultiplier` | double | Money Flow Multiplier +| `MoneyFlowVolume` | double | Money Flow Volume +| `Adl` | double | Accumulation Distribution Line (ADL) +| `AdlSma` | double | Moving average (SMA) of ADL based on `smaPeriods` periods, if specified :warning: **Warning**: absolute values in ADL and MFV are somewhat meaningless, so use with caution. diff --git a/docs/_indicators/Adx.md b/docs/_indicators/Adx.md index cbf070fc4..3a194a387 100644 --- a/docs/_indicators/Adx.md +++ b/docs/_indicators/Adx.md @@ -48,9 +48,9 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Pdi` | decimal | Plus Directional Index (+DI) for `N` lookback periods -| `Mdi` | decimal | Minus Directional Index (-DI) for `N` lookback periods -| `Adx` | decimal | Average Directional Index (ADX) for `N` lookback periods +| `Pdi` | double | Plus Directional Index (+DI) for `N` lookback periods +| `Mdi` | double | Minus Directional Index (-DI) for `N` lookback periods +| `Adx` | double | Average Directional Index (ADX) for `N` lookback periods ### Utilities diff --git a/docs/_indicators/Awesome.md b/docs/_indicators/Awesome.md index f9f83c3fa..746799f0e 100644 --- a/docs/_indicators/Awesome.md +++ b/docs/_indicators/Awesome.md @@ -48,8 +48,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Oscillator` | decimal | Awesome Oscillator -| `Normalized` | decimal | `100 × Oscillator ÷ (median price)` +| `Oscillator` | double | Awesome Oscillator +| `Normalized` | double | `100 × Oscillator ÷ (median price)` ### Utilities diff --git a/docs/_indicators/Beta.md b/docs/_indicators/Beta.md index 2213dceee..d89505c4f 100644 --- a/docs/_indicators/Beta.md +++ b/docs/_indicators/Beta.md @@ -57,11 +57,11 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Beta` | decimal | Beta coefficient based on `N` lookback periods -| `BetaUp` | decimal | Beta+ (Up Beta) -| `BetaDown` | decimal | Beta- (Down Beta) -| `Ratio` | decimal | Beta ratio is `BetaUp/BetaDown` -| `Convexity` | decimal | Beta convexity is (BetaUp-BetaDown)2 +| `Beta` | double | Beta coefficient based on `N` lookback periods +| `BetaUp` | double | Beta+ (Up Beta) +| `BetaDown` | double | Beta- (Down Beta) +| `Ratio` | double | Beta ratio is `BetaUp/BetaDown` +| `Convexity` | double | Beta convexity is (BetaUp-BetaDown)2 ### Utilities diff --git a/docs/_indicators/BollingerBands.md b/docs/_indicators/BollingerBands.md index ba41359ca..da6f72493 100644 --- a/docs/_indicators/BollingerBands.md +++ b/docs/_indicators/BollingerBands.md @@ -23,7 +23,7 @@ IEnumerable results = | name | type | notes | -- |-- |-- | `lookbackPeriods` | int | Number of periods (`N`) for the center line moving average. Must be greater than 1 to calculate; however we suggest a larger period for statistically appropriate sample size. Default is 20. -| `standardDeviations` | int | Width of bands. Standard deviations (`D`) from the moving average. Must be greater than 0. Default is 2. +| `standardDeviations` | double | Width of bands. Standard deviations (`D`) from the moving average. Must be greater than 0. Default is 2. ### Historical quotes requirements @@ -50,9 +50,9 @@ IEnumerable | `Sma` | decimal | Simple moving average (SMA) of Close price (center line) | `UpperBand` | decimal | Upper line is `D` standard deviations above the SMA | `LowerBand` | decimal | Lower line is `D` standard deviations below the SMA -| `PercentB` | decimal | `%B` is the location within the bands. `(Price-LowerBand)/(UpperBand-LowerBand)` -| `ZScore` | decimal | Z-Score of current Close price (number of standard deviations from mean) -| `Width` | decimal | Width as percent of SMA price. `(UpperBand-LowerBand)/Sma` +| `PercentB` | double | `%B` is the location within the bands. `(Price-LowerBand)/(UpperBand-LowerBand)` +| `ZScore` | double | Z-Score of current Close price (number of standard deviations from mean) +| `Width` | double | Width as percent of SMA price. `(UpperBand-LowerBand)/Sma` ### Utilities diff --git a/docs/_indicators/Bop.md b/docs/_indicators/Bop.md index 36e333501..eea92e2ad 100644 --- a/docs/_indicators/Bop.md +++ b/docs/_indicators/Bop.md @@ -47,7 +47,7 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Bop` | decimal | Balance of Power +| `Bop` | double | Balance of Power ### Utilities diff --git a/docs/_indicators/Cci.md b/docs/_indicators/Cci.md index ab7f7de1c..7f670f120 100644 --- a/docs/_indicators/Cci.md +++ b/docs/_indicators/Cci.md @@ -46,7 +46,7 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Cci` | decimal | CCI value for `N` lookback periods +| `Cci` | double | CCI value for `N` lookback periods ### Utilities diff --git a/docs/_indicators/ChaikinOsc.md b/docs/_indicators/ChaikinOsc.md index d9eb0a0ef..9d84d9a76 100644 --- a/docs/_indicators/ChaikinOsc.md +++ b/docs/_indicators/ChaikinOsc.md @@ -49,10 +49,10 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `MoneyFlowMultiplier` | decimal | Money Flow Multiplier -| `MoneyFlowVolume` | decimal | Money Flow Volume -| `Adl` | decimal | Accumulation Distribution Line (ADL) -| `Oscillator` | decimal | Chaikin Oscillator +| `MoneyFlowMultiplier` | double | Money Flow Multiplier +| `MoneyFlowVolume` | double | Money Flow Volume +| `Adl` | double | Accumulation Distribution Line (ADL) +| `Oscillator` | double | Chaikin Oscillator :warning: **Warning**: absolute values in MFV, ADL, and Oscillator are somewhat meaningless, so use with caution. diff --git a/docs/_indicators/Cmf.md b/docs/_indicators/Cmf.md index 713370122..c06827b6e 100644 --- a/docs/_indicators/Cmf.md +++ b/docs/_indicators/Cmf.md @@ -46,9 +46,9 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `MoneyFlowMultiplier` | decimal | Money Flow Multiplier -| `MoneyFlowVolume` | decimal | Money Flow Volume -| `Cmf` | decimal | Chaikin Money Flow = SMA of MFV for `N` lookback periods +| `MoneyFlowMultiplier` | double | Money Flow Multiplier +| `MoneyFlowVolume` | double | Money Flow Volume +| `Cmf` | double | Chaikin Money Flow = SMA of MFV for `N` lookback periods :warning: **Warning**: absolute values in MFV and CMF are somewhat meaningless, so use with caution. diff --git a/docs/_indicators/ConnorsRsi.md b/docs/_indicators/ConnorsRsi.md index f63377565..ce358ac42 100644 --- a/docs/_indicators/ConnorsRsi.md +++ b/docs/_indicators/ConnorsRsi.md @@ -50,10 +50,10 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `RsiClose` | decimal | RSI(`R`) of the Close price. -| `RsiStreak` | decimal | RSI(`S`) of the Streak. -| `PercentRank` | decimal | Percentile rank of the period gain value. -| `ConnorsRsi` | decimal | ConnorsRSI +| `RsiClose` | double | RSI(`R`) of the Close price. +| `RsiStreak` | double | RSI(`S`) of the Streak. +| `PercentRank` | double | Percentile rank of the period gain value. +| `ConnorsRsi` | double | ConnorsRSI ### Utilities diff --git a/docs/_indicators/Correlation.md b/docs/_indicators/Correlation.md index 7b41fffeb..358c3afe2 100644 --- a/docs/_indicators/Correlation.md +++ b/docs/_indicators/Correlation.md @@ -48,11 +48,11 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `VarianceA` | decimal | Variance of A based on `N` lookback periods -| `VarianceB` | decimal | Variance of B based on `N` lookback periods -| `Covariance` | decimal | Covariance of A+B based on `N` lookback periods -| `Correlation` | decimal | Correlation `R` based on `N` lookback periods -| `RSquared` | decimal | R-Squared (R²), aka Coefficient of Determination. Simple linear regression models is used (square of Correlation). +| `VarianceA` | double | Variance of A based on `N` lookback periods +| `VarianceB` | double | Variance of B based on `N` lookback periods +| `Covariance` | double | Covariance of A+B based on `N` lookback periods +| `Correlation` | double | Correlation `R` based on `N` lookback periods +| `RSquared` | double | R-Squared (R²), aka Coefficient of Determination. Simple linear regression models is used (square of Correlation). ### Utilities diff --git a/docs/_indicators/FisherTransform.md b/docs/_indicators/FisherTransform.md index b04dcec0a..2abdd9bc3 100644 --- a/docs/_indicators/FisherTransform.md +++ b/docs/_indicators/FisherTransform.md @@ -47,8 +47,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Fisher` | decimal | Fisher Transform -| `Trigger` | decimal | FT offset by one period +| `Fisher` | double | Fisher Transform +| `Trigger` | double | FT offset by one period ### Utilities diff --git a/docs/_indicators/ForceIndex.md b/docs/_indicators/ForceIndex.md index 8df9bc2f6..c76f3a735 100644 --- a/docs/_indicators/ForceIndex.md +++ b/docs/_indicators/ForceIndex.md @@ -48,7 +48,7 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `ForceIndex` | decimal | Force Index +| `ForceIndex` | double | Force Index ### Utilities diff --git a/docs/_indicators/Gator.md b/docs/_indicators/Gator.md index 4eeb7506d..45733b3a9 100644 --- a/docs/_indicators/Gator.md +++ b/docs/_indicators/Gator.md @@ -42,8 +42,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Upper` | decimal | Absolute value of Alligator `Jaw-Teeth` -| `Lower` | decimal | Absolute value of Alligator `Lips-Teeth` +| `Upper` | double | Absolute value of Alligator `Jaw-Teeth` +| `Lower` | double | Absolute value of Alligator `Lips-Teeth` | `UpperIsExpanding` | boolean | Upper value is growing | `LowerIsExpanding` | boolean | Lower value is growing diff --git a/docs/_indicators/Kama.md b/docs/_indicators/Kama.md index 031a01b4c..0b3d80033 100644 --- a/docs/_indicators/Kama.md +++ b/docs/_indicators/Kama.md @@ -50,7 +50,7 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `ER` | decimal | Efficiency Ratio is the fractal efficiency of price changes +| `ER` | double | Efficiency Ratio is the fractal efficiency of price changes | `Kama` | decimal | Kaufman's adaptive moving average More about Efficiency Ratio: ER fluctuates between 0 and 1, but these extremes are the exception, not the norm. ER would be 1 if prices moved up or down consistently over the `erPeriods` periods. ER would be zero if prices are unchanged over the `erPeriods` periods. diff --git a/docs/_indicators/Kvo.md b/docs/_indicators/Kvo.md index 4290e9713..7b364e7a7 100644 --- a/docs/_indicators/Kvo.md +++ b/docs/_indicators/Kvo.md @@ -50,8 +50,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Oscillator` | decimal | Klinger Oscillator -| `Signal` | decimal | EMA of Klinger Oscillator (signal line) +| `Oscillator` | double | Klinger Oscillator +| `Signal` | double | EMA of Klinger Oscillator (signal line) ### Utilities diff --git a/docs/_indicators/Mama.md b/docs/_indicators/Mama.md index 5f793bd02..e0905d9cc 100644 --- a/docs/_indicators/Mama.md +++ b/docs/_indicators/Mama.md @@ -22,8 +22,8 @@ IEnumerable results = | name | type | notes | -- |-- |-- -| `fastLimit` | decimal | Fast limit threshold. Must be greater than `slowLimit` and less than 1. Default is 0.5. -| `slowLimit` | decimal | Slow limit threshold. Must be greater than 0. Default is 0.05. +| `fastLimit` | double | Fast limit threshold. Must be greater than `slowLimit` and less than 1. Default is 0.5. +| `slowLimit` | double | Slow limit threshold. Must be greater than 0. Default is 0.05. ### Historical quotes requirements diff --git a/docs/_indicators/Obv.md b/docs/_indicators/Obv.md index 58d1cf7f3..78964281a 100644 --- a/docs/_indicators/Obv.md +++ b/docs/_indicators/Obv.md @@ -50,8 +50,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Obv` | decimal | On-balance Volume -| `ObvSma` | decimal | Moving average (SMA) of OBV based on `smaPeriods` periods, if specified +| `Obv` | double | On-balance Volume +| `ObvSma` | double | Moving average (SMA) of OBV based on `smaPeriods` periods, if specified :warning: **Warning**: absolute values in OBV are somewhat meaningless, so use with caution. diff --git a/docs/_indicators/Pmo.md b/docs/_indicators/Pmo.md index d8c8541d8..f0112965b 100644 --- a/docs/_indicators/Pmo.md +++ b/docs/_indicators/Pmo.md @@ -50,8 +50,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Pmo` | decimal | Price Momentum Oscillator -| `Signal` | decimal | Signal line is EMA of PMO +| `Pmo` | double | Price Momentum Oscillator +| `Signal` | double | Signal line is EMA of PMO ### Utilities diff --git a/docs/_indicators/Prs.md b/docs/_indicators/Prs.md index d1ba4230b..9b2ecedd1 100644 --- a/docs/_indicators/Prs.md +++ b/docs/_indicators/Prs.md @@ -52,9 +52,9 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Prs` | decimal | Price Relative Strength compares `Eval` to `Base` histories -| `PrsSma` | decimal | Moving Average (SMA) of PRS over `S` periods -| `PrsPercent` | decimal | Percent change difference between `Eval` and `Base` over `N` periods +| `Prs` | double | Price Relative Strength compares `Eval` to `Base` histories +| `PrsSma` | double | Moving Average (SMA) of PRS over `S` periods +| `PrsPercent` | double | Percent change difference between `Eval` and `Base` over `N` periods ### Utilities diff --git a/docs/_indicators/Roc.md b/docs/_indicators/Roc.md index 221ea0c7a..76760fbdf 100644 --- a/docs/_indicators/Roc.md +++ b/docs/_indicators/Roc.md @@ -52,8 +52,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Roc` | decimal | Rate of Change over `N` lookback periods (%, not decimal) -| `RocSma` | decimal | Moving average (SMA) of ROC based on `smaPeriods` periods, if specified +| `Roc` | double | Rate of Change over `N` lookback periods (%, not decimal) +| `RocSma` | double | Moving average (SMA) of ROC based on `smaPeriods` periods, if specified ### Utilities @@ -96,7 +96,7 @@ IEnumerable results = | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Roc` | decimal | Rate of Change over `N` lookback periods (%, not decimal) -| `RocEma` | decimal | Exponential moving average (EMA) of `Roc` -| `UpperBand` | decimal | Upper band of ROC (overbought indicator) -| `LowerBand` | decimal | Lower band of ROC (oversold indicator) +| `Roc` | double | Rate of Change over `N` lookback periods (%, not decimal) +| `RocEma` | double | Exponential moving average (EMA) of `Roc` +| `UpperBand` | double | Upper band of ROC (overbought indicator) +| `LowerBand` | double | Lower band of ROC (oversold indicator) diff --git a/docs/_indicators/Rsi.md b/docs/_indicators/Rsi.md index f169c2bda..8eaa9c818 100644 --- a/docs/_indicators/Rsi.md +++ b/docs/_indicators/Rsi.md @@ -50,7 +50,7 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Rsi` | decimal | RSI over prior `N` lookback periods +| `Rsi` | double | RSI over prior `N` lookback periods ### Utilities diff --git a/docs/_indicators/Slope.md b/docs/_indicators/Slope.md index 89be15202..baf6e7f25 100644 --- a/docs/_indicators/Slope.md +++ b/docs/_indicators/Slope.md @@ -48,8 +48,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Slope` | decimal | Slope `m` of the best-fit line of Close price -| `Intercept` | decimal | Y-Intercept `b` of the best-fit line +| `Slope` | double | Slope `m` of the best-fit line of Close price +| `Intercept` | double | Y-Intercept `b` of the best-fit line | `StdDev` | double | Standard Deviation of Close price over `N` lookback periods | `RSquared` | double | R-Squared (R²), aka Coefficient of Determination | `Line` | decimal | Best-fit line `y` over the last 'N' periods (i.e. `y=mx+b` using last period values) diff --git a/docs/_indicators/Sma.md b/docs/_indicators/Sma.md index cc9b4bd61..1e46c7511 100644 --- a/docs/_indicators/Sma.md +++ b/docs/_indicators/Sma.md @@ -97,6 +97,6 @@ IEnumerable results = | -- |-- |-- | `Date` | DateTime | Date | `Sma` | decimal | Simple moving average -| `Mad` | decimal | Mean absolute deviation -| `Mse` | decimal | Mean square error -| `Mape` | decimal | Mean absolute percentage error +| `Mad` | double | Mean absolute deviation +| `Mse` | double | Mean square error +| `Mape` | double | Mean absolute percentage error diff --git a/docs/_indicators/StdDev.md b/docs/_indicators/StdDev.md index 1f7ea484a..8bab725b6 100644 --- a/docs/_indicators/StdDev.md +++ b/docs/_indicators/StdDev.md @@ -52,10 +52,10 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `StdDev` | decimal | Standard Deviation of Close price over `N` lookback periods -| `Mean` | decimal | Mean value of Close price over `N` lookback periods -| `ZScore` | decimal | Z-Score of current Close price (number of standard deviations from mean) -| `StdDevSma` | decimal | Moving average (SMA) of STDDEV based on `smaPeriods` periods, if specified +| `StdDev` | double | Standard Deviation of Close price over `N` lookback periods +| `Mean` | double | Mean value of Close price over `N` lookback periods +| `ZScore` | double | Z-Score of current Close price (number of standard deviations from mean) +| `StdDevSma` | double | Moving average (SMA) of STDDEV based on `smaPeriods` periods, if specified ### Utilities diff --git a/docs/_indicators/StdDevChannels.md b/docs/_indicators/StdDevChannels.md index 5b10d418f..4079962b3 100644 --- a/docs/_indicators/StdDevChannels.md +++ b/docs/_indicators/StdDevChannels.md @@ -23,7 +23,7 @@ IEnumerable results = | name | type | notes | -- |-- |-- | `lookbackPeriods` | int | Size (`N`) of the evaluation window. Must be `null` or greater than 1 to calculate. A `null` value will produce a full `quotes` evaluation window ([see below](#alternative-depiction-for-full-quotes-variant)). Default is 20. -| `standardDeviations` | int | Width of bands. Standard deviations (`D`) from the regression line. Must be greater than 0. Default is 2. +| `standardDeviations` | double | Width of bands. Standard deviations (`D`) from the regression line. Must be greater than 0. Default is 2. ### Historical quotes requirements diff --git a/docs/_indicators/Stoch.md b/docs/_indicators/Stoch.md index d07678417..a83dc1499 100644 --- a/docs/_indicators/Stoch.md +++ b/docs/_indicators/Stoch.md @@ -33,8 +33,8 @@ IEnumerable results = | `lookbackPeriods` | int | Lookback period (`N`) for the oscillator (%K). Must be greater than 0. Default is 14. | `signalPeriods` | int | Smoothing period for the signal (%D). Must be greater than 0. Default is 3. | `smoothPeriods` | int | Smoothing period (`S`) for the Oscillator (%K). "Slow" stochastic uses 3, "Fast" stochastic uses 1. Must be greater than 0. Default is 3. -| `kFactor` | int | Optional. Weight of %K in the %J calculation. Must be greater than 0. Default is 3. -| `dFactor` | int | Optional. Weight of %D in the %J calculation. Must be greater than 0. Default is 2. +| `kFactor` | decimal | Optional. Weight of %K in the %J calculation. Must be greater than 0. Default is 3. +| `dFactor` | decimal | Optional. Weight of %D in the %J calculation. Must be greater than 0. Default is 2. | `movingAverageType` | MaType | Optional. Type of moving average (SMA or SMMA) used for smoothing. See [MaType options](#matype-options) below. Default is `MaType.SMA`. ### Historical quotes requirements diff --git a/docs/_indicators/SuperTrend.md b/docs/_indicators/SuperTrend.md index 9deac4157..0b95f391b 100644 --- a/docs/_indicators/SuperTrend.md +++ b/docs/_indicators/SuperTrend.md @@ -24,7 +24,7 @@ IEnumerable results = | name | type | notes | -- |-- |-- | `lookbackPeriods` | int | Number of periods (`N`) for the ATR evaluation. Must be greater than 1 and is usually set between 7 and 14. Default is 10. -| `multiplier` | decimal | Multiplier sets the ATR band width. Must be greater than 0 and is usually set around 2 to 3. Default is 3. +| `multiplier` | double | Multiplier sets the ATR band width. Must be greater than 0 and is usually set around 2 to 3. Default is 3. ### Historical quotes requirements diff --git a/docs/_indicators/Tsi.md b/docs/_indicators/Tsi.md index 26cdb161d..bc79fcb4b 100644 --- a/docs/_indicators/Tsi.md +++ b/docs/_indicators/Tsi.md @@ -51,8 +51,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Tsi` | decimal | True Strength Index -| `Signal` | decimal | Signal line (EMA of TSI) +| `Tsi` | double | True Strength Index +| `Signal` | double | Signal line (EMA of TSI) ### Utilities diff --git a/docs/_indicators/UlcerIndex.md b/docs/_indicators/UlcerIndex.md index 6fa1e3a5e..a14cbbbee 100644 --- a/docs/_indicators/UlcerIndex.md +++ b/docs/_indicators/UlcerIndex.md @@ -46,7 +46,7 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `UI` | decimal | Ulcer Index +| `UI` | double | Ulcer Index ### Utilities diff --git a/docs/_indicators/VolatilityStop.md b/docs/_indicators/VolatilityStop.md index 4b8415724..a54fd5508 100644 --- a/docs/_indicators/VolatilityStop.md +++ b/docs/_indicators/VolatilityStop.md @@ -23,7 +23,7 @@ IEnumerable results = | name | type | notes | -- |-- |-- | `lookbackPeriods` | int | Number of periods (`N`) ATR lookback window. Must be greater than 1. Default is 7. -| `multiplier` | decimal | ATR multiplier for the offset. Must be greater than 0. Default is 3.0. +| `multiplier` | double | ATR multiplier for the offset. Must be greater than 0. Default is 3.0. ### Historical quotes requirements diff --git a/docs/_indicators/Vortex.md b/docs/_indicators/Vortex.md index 9be17c414..4427d2294 100644 --- a/docs/_indicators/Vortex.md +++ b/docs/_indicators/Vortex.md @@ -46,8 +46,8 @@ IEnumerable | name | type | notes | -- |-- |-- | `Date` | DateTime | Date -| `Pvi` | decimal | Positive Vortex Indicator (VI+) -| `Nvi` | decimal | Negative Vortex Indicator (VI-) +| `Pvi` | double | Positive Vortex Indicator (VI+) +| `Nvi` | double | Negative Vortex Indicator (VI-) ### Utilities diff --git a/docs/performance.md b/docs/performance.md index 5e9cb57a5..169a8e94d 100644 --- a/docs/performance.md +++ b/docs/performance.md @@ -1,5 +1,5 @@ --- -title: Performance benchmarks for v1.15.0 +title: Performance benchmarks for v1.20.0 permalink: /performance/ layout: default redirect_from: @@ -12,111 +12,101 @@ redirect_from: These are the execution times for the current indicators using two years of historical daily stock quotes (502 periods) with default or typical parameters. ``` bash -BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19043.1165 (21H1/May2021Update) +BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1348 (21H2) Intel Core i7-7700HQ CPU 2.80GHz (Kaby Lake), 1 CPU, 8 logical and 4 physical cores -.NET SDK=5.0.303 - [Host] : .NET 5.0.9 (5.0.921.35908), X64 RyuJIT - DefaultJob : .NET 5.0.9 (5.0.921.35908), X64 RyuJIT +.NET SDK=6.0.100 ``` ## indicators -| Method | Mean | Error | StdDev | Median | -|------------------- |------------:|----------:|----------:|------------:| -| GetAdl | 142.97 μs | 0.497 μs | 0.388 μs | 142.94 μs | -| GetAdlWithSma | 381.47 μs | 3.150 μs | 3.093 μs | 380.48 μs | -| GetAdx | 751.34 μs | 2.972 μs | 2.482 μs | 750.57 μs | -| GetAlligator | 234.74 μs | 1.240 μs | 1.160 μs | 234.56 μs | -| GetAlma | 215.96 μs | 1.546 μs | 1.370 μs | 215.42 μs | -| GetAroon | 353.01 μs | 0.803 μs | 0.670 μs | 352.93 μs | -| GetAtr | 159.49 μs | 1.414 μs | 1.254 μs | 159.12 μs | -| GetAwesome | 330.95 μs | 1.490 μs | 1.321 μs | 331.14 μs | -| GetBeta | 959.70 μs | 2.365 μs | 1.975 μs | 959.47 μs | -| GetBollingerBands | 457.88 μs | 1.584 μs | 1.323 μs | 457.95 μs | -| GetBop | 282.34 μs | 1.319 μs | 1.030 μs | 282.14 μs | -| GetCci | 843.90 μs | 2.398 μs | 2.003 μs | 843.66 μs | -| GetChaikinOsc | 268.11 μs | 0.989 μs | 0.826 μs | 268.18 μs | -| GetChandelier | 368.09 μs | 3.612 μs | 2.820 μs | 367.56 μs | -| GetChop | 304.53 μs | 1.161 μs | 0.906 μs | 304.36 μs | -| GetCmf | 669.74 μs | 1.981 μs | 1.655 μs | 669.63 μs | -| GetConnorsRsi | 1,235.14 μs | 21.665 μs | 43.764 μs | 1,212.54 μs | -| GetCorrelation | 870.27 μs | 3.443 μs | 2.875 μs | 869.54 μs | -| GetDonchian | 340.71 μs | 3.841 μs | 3.207 μs | 339.06 μs | -| GetDoubleEma | 178.53 μs | 0.528 μs | 0.441 μs | 178.45 μs | -| GetElderRay | 165.20 μs | 0.599 μs | 0.500 μs | 165.24 μs | -| GetEma | 100.30 μs | 0.622 μs | 0.582 μs | 100.25 μs | -| GetEpma | 1,384.73 μs | 3.229 μs | 2.863 μs | 1,384.37 μs | -| GetFcb | 392.19 μs | 2.354 μs | 2.202 μs | 391.52 μs | -| GetFisherTransform | 280.99 μs | 0.783 μs | 0.694 μs | 280.92 μs | -| GetForceIndex | 127.98 μs | 0.682 μs | 0.604 μs | 127.83 μs | -| GetFractal | 104.33 μs | 0.469 μs | 0.392 μs | 104.32 μs | -| GetGator | 285.22 μs | 1.183 μs | 0.923 μs | 284.83 μs | -| GetHeikinAshi | 180.60 μs | 4.060 μs | 11.046 μs | 175.51 μs | -| GetHma | 1,381.84 μs | 3.634 μs | 3.035 μs | 1,381.41 μs | -| GetHtTrendline | 174.17 μs | 1.182 μs | 1.048 μs | 173.99 μs | -| GetHurst | 5,577.92 μs | 21.799 μs | 20.390 μs | 5,567.51 μs | -| GetIchimoku | 938.48 μs | 3.479 μs | 3.084 μs | 938.72 μs | -| GetKama | 329.93 μs | 1.653 μs | 1.466 μs | 329.66 μs | -| GetKlinger | 494.76 μs | 1.875 μs | 1.565 μs | 494.16 μs | -| GetKeltner | 472.58 μs | 2.184 μs | 2.042 μs | 471.92 μs | -| GetMacd | 217.86 μs | 1.426 μs | 1.264 μs | 217.51 μs | -| GetMaEnvelopes | 148.26 μs | 0.713 μs | 0.632 μs | 148.01 μs | -| GetMama | 287.17 μs | 2.075 μs | 1.620 μs | 286.68 μs | -| GetMfi | 485.62 μs | 1.907 μs | 1.690 μs | 485.18 μs | -| GetObv | 62.31 μs | 0.372 μs | 0.330 μs | 62.31 μs | -| GetObvWithSma | 140.16 μs | 1.793 μs | 1.677 μs | 139.93 μs | -| GetParabolicSar | 94.90 μs | 0.533 μs | 0.472 μs | 94.89 μs | -| GetPivotPoints | 97.13 μs | 0.690 μs | 0.612 μs | 97.04 μs | -| GetPmo | 265.15 μs | 1.907 μs | 1.784 μs | 264.94 μs | -| GetPrs | 133.24 μs | 1.900 μs | 1.586 μs | N/A | -| GetPrsWithSma | 205.19 μs | 1.452 μs | 1.287 μs | N/A | -| GetPvo | 343.26 μs | 4.831 μs | 4.034 μs | 341.35 μs | -| GetRenko | 94.18 μs | 0.328 μs | 0.256 μs | 94.18 μs | -| GetRenkoAtr | 101.58 μs | 0.526 μs | 0.439 μs | 101.42 μs | -| GetRoc | 94.60 μs | 0.350 μs | 0.310 μs | 94.58 μs | -| GetRocWb | 200.73 μs | 0.623 μs | 0.552 μs | 200.64 μs | -| GetRocWithSma | 355.20 μs | 1.624 μs | 1.519 μs | 354.83 μs | -| GetRsi | 340.61 μs | 1.052 μs | 0.821 μs | 340.70 μs | -| GetSlope | 880.85 μs | 5.654 μs | 5.012 μs | 879.30 μs | -| GetSma | 107.26 μs | 0.363 μs | 0.303 μs | 107.21 μs | -| GetSmaExtended | 942.89 μs | 5.649 μs | 5.284 μs | 940.02 μs | -| GetSmma | 96.63 μs | 0.469 μs | 0.439 μs | 96.42 μs | -| GetStarcBands | 418.00 μs | 1.100 μs | 0.918 μs | 417.84 μs | -| GetStdDev | 296.16 μs | 0.870 μs | 0.726 μs | 296.26 μs | -| GetStdDevWithSma | 383.25 μs | 2.206 μs | 2.063 μs | 382.67 μs | -| GetStdDevChannels | 947.06 μs | 2.845 μs | 2.376 μs | 947.12 μs | -| GetStoch | 403.67 μs | 1.003 μs | 0.838 μs | 403.38 μs | -| GetStochRsi | 708.34 μs | 2.750 μs | 2.296 μs | 707.45 μs | -| GetSuperTrend | 301.10 μs | 0.886 μs | 0.692 μs | 301.20 μs | -| GetTripleEma | 260.73 μs | 0.781 μs | 0.692 μs | 260.85 μs | -| GetTrix | 319.06 μs | 0.923 μs | 0.771 μs | 319.08 μs | -| GetTrixWithSma | 374.94 μs | 0.969 μs | 0.757 μs | 375.28 μs | -| GetTsi | 371.20 μs | 1.001 μs | 0.836 μs | 371.11 μs | -| GetT3 | 464.78 μs | 0.754 μs | 0.668 μs | 464.94 μs | -| GetUlcerIndex | 1,513.72 μs | 20.189 μs | 19.828 μs | 1,502.68 μs | -| GetUltimate | 555.05 μs | 2.761 μs | 2.306 μs | 554.72 μs | -| GetVolSma | 120.00 μs | 0.459 μs | 0.430 μs | 119.86 μs | -| GetVortex | 282.67 μs | 0.636 μs | 0.564 μs | 282.51 μs | -| GetVwap | 98.52 μs | 0.734 μs | 0.573 μs | 98.41 μs | -| GetWilliamsR | 295.51 μs | 1.869 μs | 1.459 μs | 295.22 μs | -| GetWma | 734.43 μs | 4.447 μs | 3.942 μs | 733.00 μs | -| GetZigZag | 147.16 μs | 0.613 μs | 0.512 μs | 147.16 μs | - -## quotes functions (mostly internal) - -| Method | Mean | Error | StdDev | -|---------------- |-------------:|-----------:|-----------:| -| Sort | 37,768.62 ns | 406.995 ns | 360.790 ns | -| Validate | 40,457.78 ns | 301.177 ns | 266.985 ns | -| Aggregate | 83.36 ns | 0.699 ns | 0.545 ns | -| ConvertToBasic | 42,362.26 ns | 144.200 ns | 120.414 ns | -| ConvertToQuotes | 8,378.83 ns | 71.755 ns | 63.609 ns | - -## math functions (internal) - -| Method | Periods | Mean | Error | StdDev | -|------- |-------- |------------:|---------:|---------:| -| StdDev | 20 | 36.84 ns | 0.194 ns | 0.172 ns | -| StdDev | 50 | 95.47 ns | 0.306 ns | 0.256 ns | -| StdDev | 250 | 530.23 ns | 1.303 ns | 1.088 ns | -| StdDev | 1000 | 2,142.94 ns | 5.994 ns | 5.313 ns | +| Method | Mean | Error | StdDev | +|------------------- |------------:|----------:|----------:| +| GetAdl | 124.29 μs | 2.414 μs | 3.687 μs | +| GetAdlWithSma | 115.54 μs | 1.839 μs | 2.753 μs | +| GetAdx | 237.15 μs | 1.069 μs | 0.948 μs | +| GetAlligator | 155.55 μs | 0.993 μs | 0.880 μs | +| GetAlma | 83.36 μs | 0.531 μs | 0.444 μs | +| GetAroon | 309.18 μs | 1.777 μs | 1.576 μs | +| GetAtr | 156.35 μs | 0.484 μs | 0.404 μs | +| GetAwesome | 66.29 μs | 0.259 μs | 0.230 μs | +| GetBeta | 286.29 μs | 0.851 μs | 0.665 μs | +| GetBetaUp | 377.75 μs | 1.433 μs | 1.270 μs | +| GetBetaDown | 369.43 μs | 1.257 μs | 1.050 μs | +| GetBetaAll | 878.41 μs | 16.218 μs | 13.543 μs | +| GetBollingerBands | 259.73 μs | 1.392 μs | 1.234 μs | +| GetBop | 108.02 μs | 0.246 μs | 0.205 μs | +| GetCci | 81.89 μs | 0.852 μs | 0.797 μs | +| GetChaikinOsc | 162.76 μs | 1.113 μs | 0.987 μs | +| GetChandelier | 346.43 μs | 1.250 μs | 1.044 μs | +| GetChop | 119.33 μs | 0.454 μs | 0.402 μs | +| GetCmf | 212.59 μs | 1.732 μs | 1.446 μs | +| GetConnorsRsi | 249.64 μs | 1.196 μs | 0.999 μs | +| GetCorrelation | 229.14 μs | 0.633 μs | 0.494 μs | +| GetDonchian | 312.26 μs | 2.677 μs | 2.236 μs | +| GetDoubleEma | 100.06 μs | 0.361 μs | 0.302 μs | +| GetDpo | 149.42 μs | 0.430 μs | 0.402 μs | +| GetElderRay | 117.93 μs | 0.895 μs | 0.793 μs | +| GetEma | 57.01 μs | 0.494 μs | 0.386 μs | +| GetEpma | 154.44 μs | 0.546 μs | 0.456 μs | +| GetFcb | 346.71 μs | 3.460 μs | 3.067 μs | +| GetFisherTransform | 80.28 μs | 0.213 μs | 0.178 μs | +| GetForceIndex | 48.03 μs | 0.178 μs | 0.149 μs | +| GetFractal | 95.96 μs | 0.528 μs | 0.441 μs | +| GetGator | 201.69 μs | 0.528 μs | 0.412 μs | +| GetHeikinAshi | 173.05 μs | 1.270 μs | 1.060 μs | +| GetHma | 326.51 μs | 2.386 μs | 2.116 μs | +| GetHtTrendline | 165.08 μs | 0.916 μs | 0.812 μs | +| GetHurst | 996.05 μs | 2.921 μs | 2.589 μs | +| GetIchimoku | 872.99 μs | 6.311 μs | 5.903 μs | +| GetKama | 218.28 μs | 1.158 μs | 1.026 μs | +| GetKlinger | 75.66 μs | 0.409 μs | 0.342 μs | +| GetKeltner | 381.80 μs | 1.465 μs | 1.299 μs | +| GetMacd | 143.19 μs | 0.550 μs | 0.429 μs | +| GetMaEnvelopes | 86.82 μs | 0.665 μs | 0.622 μs | +| GetMama | 132.06 μs | 1.773 μs | 1.571 μs | +| GetMarubozu | 125.23 μs | 2.474 μs | 2.540 μs | +| GetMfi | 172.48 μs | 1.895 μs | 1.773 μs | +| GetObv | 60.26 μs | 0.430 μs | 0.381 μs | +| GetObvWithSma | 65.82 μs | 0.340 μs | 0.302 μs | +| GetParabolicSar | 94.03 μs | 0.178 μs | 0.158 μs | +| GetPivots | 159.44 μs | 0.464 μs | 0.387 μs | +| GetPivotPoints | 93.03 μs | 0.871 μs | 0.772 μs | +| GetPmo | 113.49 μs | 2.236 μs | 2.196 μs | +| GetPrs | 133.71 μs | 1.256 μs | 1.175 μs | +| GetPrsWithSma | 138.15 μs | 0.610 μs | 0.541 μs | +| GetPvo | 203.95 μs | 0.467 μs | 0.390 μs | +| GetRenko | 94.77 μs | 0.744 μs | 0.659 μs | +| GetRenkoAtr | 99.85 μs | 0.271 μs | 0.240 μs | +| GetRoc | 95.43 μs | 0.331 μs | 0.310 μs | +| GetRocWb | 115.57 μs | 0.942 μs | 0.835 μs | +| GetRocWithSma | 106.40 μs | 0.837 μs | 0.742 μs | +| GetRollingPivots | 326.90 μs | 1.383 μs | 1.226 μs | +| GetRsi | 53.08 μs | 0.098 μs | 0.087 μs | +| GetSlope | 175.21 μs | 0.348 μs | 0.309 μs | +| GetSma | 82.92 μs | 0.180 μs | 0.159 μs | +| GetSmaExtended | 174.34 μs | 0.276 μs | 0.244 μs | +| GetSmi | 151.84 μs | 1.414 μs | 1.253 μs | +| GetSmma | 80.26 μs | 0.302 μs | 0.283 μs | +| GetStarcBands | 366.64 μs | 0.567 μs | 0.531 μs | +| GetStc | 395.16 μs | 3.675 μs | 3.257 μs | +| GetStdDev | 169.55 μs | 1.396 μs | 1.237 μs | +| GetStdDevWithSma | 178.82 μs | 0.296 μs | 0.247 μs | +| GetStdDevChannels | 209.56 μs | 0.692 μs | 0.613 μs | +| GetStoch | 290.82 μs | 0.536 μs | 0.418 μs | +| GetStochSMMA | 238.85 μs | 2.398 μs | 2.003 μs | +| GetStochRsi | 345.09 μs | 4.706 μs | 3.929 μs | +| GetSuperTrend | 247.28 μs | 1.870 μs | 1.658 μs | +| GetTripleEma | 143.98 μs | 2.074 μs | 1.619 μs | +| GetTrix | 185.84 μs | 1.499 μs | 1.402 μs | +| GetTrixWithSma | 243.63 μs | 1.639 μs | 1.533 μs | +| GetTsi | 61.29 μs | 0.603 μs | 0.564 μs | +| GetT3 | 66.47 μs | 0.776 μs | 0.726 μs | +| GetUlcerIndex | 1,102.98 μs | 3.249 μs | 3.039 μs | +| GetUltimate | 110.62 μs | 0.974 μs | 0.863 μs | +| GetVolatilityStop | 243.24 μs | 0.560 μs | 0.497 μs | +| GetVolSma | 159.04 μs | 1.197 μs | 1.120 μs | +| GetVortex | 90.71 μs | 1.141 μs | 0.953 μs | +| GetVwap | 67.75 μs | 0.362 μs | 0.338 μs | +| GetWilliamsR | 254.60 μs | 1.243 μs | 1.038 μs | +| GetWma | 101.64 μs | 0.579 μs | 0.541 μs | +| GetZigZag | 163.98 μs | 3.266 μs | 5.458 μs | diff --git a/src/_common/Quotes/Models.cs b/src/_common/Quotes/Models.cs index d41904a2b..f6e29fbac 100644 --- a/src/_common/Quotes/Models.cs +++ b/src/_common/Quotes/Models.cs @@ -31,4 +31,11 @@ internal class BasicData internal DateTime Date { get; set; } internal decimal Value { get; set; } } + + [Serializable] + internal class BasicDouble + { + internal DateTime Date { get; set; } + internal double Value { get; set; } + } } diff --git a/src/_common/Quotes/Quotes.Functions.cs b/src/_common/Quotes/Quotes.Functions.cs index 3715375f5..e405d816d 100644 --- a/src/_common/Quotes/Quotes.Functions.cs +++ b/src/_common/Quotes/Quotes.Functions.cs @@ -129,5 +129,30 @@ internal static List ConvertToBasic( : bdList; } + // convert to basic double + internal static List ConvertToBasicDouble( + this IEnumerable quotes, CandlePart element = CandlePart.Close) + where TQuote : IQuote + { + // elements represents the targeted OHLCV parts, so use "O" to return as base data, etc. + // convert to basic double precision format + IEnumerable basicDouble = element switch + { + CandlePart.Open => quotes.Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Open }), + CandlePart.High => quotes.Select(x => new BasicDouble { Date = x.Date, Value = (double)x.High }), + CandlePart.Low => quotes.Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Low }), + CandlePart.Close => quotes.Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Close }), + CandlePart.Volume => quotes.Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Volume }), + _ => new List(), + }; + + List bdList = basicDouble.OrderBy(x => x.Date).ToList(); + + // validate + return bdList == null || bdList.Count == 0 + ? throw new BadQuotesException(nameof(quotes), "No historical quotes provided.") + : bdList; + } + } } diff --git a/src/a-d/Adl/Adl.Models.cs b/src/a-d/Adl/Adl.Models.cs index f1b0a4656..8c7081660 100644 --- a/src/a-d/Adl/Adl.Models.cs +++ b/src/a-d/Adl/Adl.Models.cs @@ -1,13 +1,13 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class AdlResult : ResultBase { - public decimal MoneyFlowMultiplier { get; set; } - public decimal MoneyFlowVolume { get; set; } - public decimal Adl { get; set; } - public decimal? AdlSma { get; set; } + public double MoneyFlowMultiplier { get; set; } + public double MoneyFlowVolume { get; set; } + public double Adl { get; set; } + public double? AdlSma { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/Adl/Adl.cs b/src/a-d/Adl/Adl.cs index 66c85d1f3..62a23bc9d 100644 --- a/src/a-d/Adl/Adl.cs +++ b/src/a-d/Adl/Adl.cs @@ -23,7 +23,7 @@ public static IEnumerable GetAdl( // initialize List results = new(quotesList.Count); - decimal prevAdl = 0; + double prevAdl = 0; // roll through quotes for (int i = 0; i < quotesList.Count; i++) @@ -31,9 +31,9 @@ public static IEnumerable GetAdl( TQuote q = quotesList[i]; int index = i + 1; - decimal mfm = (q.High == q.Low) ? 0 : ((q.Close - q.Low) - (q.High - q.Close)) / (q.High - q.Low); - decimal mfv = mfm * q.Volume; - decimal adl = mfv + prevAdl; + double mfm = (q.High == q.Low) ? 0 : (double)(((q.Close - q.Low) - (q.High - q.Close)) / (q.High - q.Low)); + double mfv = mfm * (double)q.Volume; + double adl = mfv + prevAdl; AdlResult result = new() { @@ -49,7 +49,7 @@ public static IEnumerable GetAdl( // optional SMA if (smaPeriods != null && index >= smaPeriods) { - decimal sumSma = 0m; + double sumSma = 0; for (int p = index - (int)smaPeriods; p < index; p++) { sumSma += results[p].Adl; @@ -73,11 +73,11 @@ public static IEnumerable ConvertToQuotes( .Select(x => new Quote { Date = x.Date, - Open = x.Adl, - High = x.Adl, - Low = x.Adl, - Close = x.Adl, - Volume = x.Adl + Open = (decimal)x.Adl, + High = (decimal)x.Adl, + Low = (decimal)x.Adl, + Close = (decimal)x.Adl, + Volume = (decimal)x.Adl }) .ToList(); } diff --git a/src/a-d/Adx/Adx.Models.cs b/src/a-d/Adx/Adx.Models.cs index 8515025d1..9cfbe4938 100644 --- a/src/a-d/Adx/Adx.Models.cs +++ b/src/a-d/Adx/Adx.Models.cs @@ -1,12 +1,12 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class AdxResult : ResultBase { - public decimal? Pdi { get; set; } - public decimal? Mdi { get; set; } - public decimal? Adx { get; set; } + public double? Pdi { get; set; } + public double? Mdi { get; set; } + public double? Adx { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/Adx/Adx.cs b/src/a-d/Adx/Adx.cs index fa0db3732..78cf2fcf0 100644 --- a/src/a-d/Adx/Adx.cs +++ b/src/a-d/Adx/Adx.cs @@ -27,15 +27,15 @@ public static IEnumerable GetAdx( decimal prevHigh = 0; decimal prevLow = 0; - decimal prevTrs = 0; // smoothed - decimal prevPdm = 0; - decimal prevMdm = 0; - decimal prevAdx = 0; + double prevTrs = 0; // smoothed + double prevPdm = 0; + double prevMdm = 0; + double prevAdx = 0; - decimal sumTr = 0; - decimal sumPdm = 0; - decimal sumMdm = 0; - decimal sumDx = 0; + double sumTr = 0; + double sumPdm = 0; + double sumMdm = 0; + double sumDx = 0; // roll through quotes for (int i = 0; i < quotesList.Count; i++) @@ -57,13 +57,13 @@ public static IEnumerable GetAdx( continue; } - decimal tr = (decimal)atr[i].Tr; + double tr = (double)atr[i].Tr; - decimal pdm1 = (q.High - prevHigh) > (prevLow - q.Low) ? - Math.Max(q.High - prevHigh, 0) : 0; + double pdm1 = (q.High - prevHigh) > (prevLow - q.Low) ? + (double)Math.Max(q.High - prevHigh, 0) : 0; - decimal mdm1 = (prevLow - q.Low) > (q.High - prevHigh) ? - Math.Max(prevLow - q.Low, 0) : 0; + double mdm1 = (prevLow - q.Low) > (q.High - prevHigh) ? + (double)Math.Max(prevLow - q.Low, 0) : 0; prevHigh = q.High; prevLow = q.Low; @@ -84,9 +84,9 @@ public static IEnumerable GetAdx( // smoothed true range and directional movement - decimal trs; - decimal pdm; - decimal mdm; + double trs; + double pdm; + double mdm; if (index == lookbackPeriods + 1) { @@ -111,8 +111,8 @@ public static IEnumerable GetAdx( } // directional increments - decimal pdi = 100 * pdm / trs; - decimal mdi = 100 * mdm / trs; + double pdi = 100 * pdm / trs; + double mdi = 100 * mdm / trs; result.Pdi = pdi; result.Mdi = mdi; @@ -123,8 +123,8 @@ public static IEnumerable GetAdx( } // calculate ADX - decimal dx = 100 * Math.Abs(pdi - mdi) / (pdi + mdi); - decimal adx; + double dx = 100 * Math.Abs(pdi - mdi) / (pdi + mdi); + double adx; if (index > 2 * lookbackPeriods) { diff --git a/src/a-d/Alligator/Alligator.cs b/src/a-d/Alligator/Alligator.cs index 8cc490b08..ea902d49a 100644 --- a/src/a-d/Alligator/Alligator.cs +++ b/src/a-d/Alligator/Alligator.cs @@ -21,7 +21,7 @@ public static IEnumerable GetAlligator( // initialize int size = quotesList.Count; - decimal[] pr = new decimal[size]; // median price + double[] pr = new double[size]; // median price int jawLookback = 13; int jawOffset = 8; @@ -43,7 +43,7 @@ public static IEnumerable GetAlligator( { TQuote q = quotesList[i]; int index = i + 1; - pr[i] = (q.High + q.Low) / 2; + pr[i] = (double)(q.High + q.Low) / 2; // only calculate jaw if the array index + offset is still in valid range if (i + jawOffset < size) @@ -54,19 +54,19 @@ public static IEnumerable GetAlligator( // first value: calculate SMA if (index == jawLookback) { - decimal sumMedianPrice = 0m; + double sumMedianPrice = 0; for (int p = index - jawLookback; p < index; p++) { sumMedianPrice += pr[p]; } - jawResult.Jaw = sumMedianPrice / jawLookback; + jawResult.Jaw = (decimal)sumMedianPrice / jawLookback; } // remaining values: SMMA else if (index > jawLookback) { - decimal? prevValue = results[i + jawOffset - 1].Jaw; - jawResult.Jaw = (prevValue * (jawLookback - 1) + pr[i]) / jawLookback; + double? prevValue = (double)results[i + jawOffset - 1].Jaw; + jawResult.Jaw = (decimal)(prevValue * (jawLookback - 1) + pr[i]) / jawLookback; } } @@ -79,19 +79,19 @@ public static IEnumerable GetAlligator( // first value: calculate SMA if (index == teethLookback) { - decimal sumMedianPrice = 0m; + double sumMedianPrice = 0; for (int p = index - teethLookback; p < index; p++) { sumMedianPrice += pr[p]; } - teethResult.Teeth = sumMedianPrice / teethLookback; + teethResult.Teeth = (decimal)sumMedianPrice / teethLookback; } // remaining values: SMMA else if (index > teethLookback) { - decimal? prevValue = results[i + teethOffset - 1].Teeth; - teethResult.Teeth = (prevValue * (teethLookback - 1) + pr[i]) / teethLookback; + double? prevValue = (double)results[i + teethOffset - 1].Teeth; + teethResult.Teeth = (decimal)(prevValue * (teethLookback - 1) + pr[i]) / teethLookback; } } @@ -104,19 +104,19 @@ public static IEnumerable GetAlligator( // first value: calculate SMA if (index == lipsLookback) { - decimal sumMedianPrice = 0m; + double sumMedianPrice = 0; for (int p = index - lipsLookback; p < index; p++) { sumMedianPrice += pr[p]; } - lipsResult.Lips = sumMedianPrice / lipsLookback; + lipsResult.Lips = (decimal)sumMedianPrice / lipsLookback; } // remaining values: SMMA else if (index > lipsLookback) { - decimal? prevValue = results[i + lipsOffset - 1].Lips; - lipsResult.Lips = (prevValue * (lipsLookback - 1) + pr[i]) / lipsLookback; + double? prevValue = (double)results[i + lipsOffset - 1].Lips; + lipsResult.Lips = (decimal)(prevValue * (lipsLookback - 1) + pr[i]) / lipsLookback; } } } diff --git a/src/a-d/Alma/Alma.cs b/src/a-d/Alma/Alma.cs index 64bc17492..f0538796d 100644 --- a/src/a-d/Alma/Alma.cs +++ b/src/a-d/Alma/Alma.cs @@ -30,12 +30,12 @@ public static IEnumerable GetAlma( double m = offset * (lookbackPeriods - 1); double s = lookbackPeriods / sigma; - decimal[] weight = new decimal[lookbackPeriods]; - decimal norm = 0; + double[] weight = new double[lookbackPeriods]; + double norm = 0; for (int i = 0; i < lookbackPeriods; i++) { - decimal wt = (decimal)Math.Exp(-((i - m) * (i - m)) / (2 * s * s)); + double wt = Math.Exp(-((i - m) * (i - m)) / (2 * s * s)); weight[i] = wt; norm += wt; } @@ -53,17 +53,17 @@ public static IEnumerable GetAlma( if (index >= lookbackPeriods) { - decimal weightedSum = 0m; + double weightedSum = 0; int n = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote d = quotesList[p]; - weightedSum += weight[n] * d.Close; + weightedSum += weight[n] * (double)d.Close; n++; } - r.Alma = weightedSum / norm; + r.Alma = (decimal)(weightedSum / norm); } results.Add(r); diff --git a/src/a-d/Awesome/Awesome.Models.cs b/src/a-d/Awesome/Awesome.Models.cs index e8d311f70..74156a941 100644 --- a/src/a-d/Awesome/Awesome.Models.cs +++ b/src/a-d/Awesome/Awesome.Models.cs @@ -1,11 +1,11 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class AwesomeResult : ResultBase { - public decimal? Oscillator { get; set; } - public decimal? Normalized { get; set; } + public double? Oscillator { get; set; } + public double? Normalized { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/Awesome/Awesome.cs b/src/a-d/Awesome/Awesome.cs index 4e9a8f70b..07c230d8b 100644 --- a/src/a-d/Awesome/Awesome.cs +++ b/src/a-d/Awesome/Awesome.cs @@ -25,13 +25,13 @@ public static IEnumerable GetAwesome( // initialize int size = quotesList.Count; List results = new(); - decimal[] pr = new decimal[size]; // median price + double[] pr = new double[size]; // median price // roll through quotes for (int i = 0; i < size; i++) { TQuote q = quotesList[i]; - pr[i] = (q.High + q.Low) / 2; + pr[i] = (double)(q.High + q.Low) / 2; int index = i + 1; AwesomeResult r = new() @@ -41,8 +41,8 @@ public static IEnumerable GetAwesome( if (index >= slowPeriods) { - decimal sumSlow = 0m; - decimal sumFast = 0m; + double sumSlow = 0; + double sumFast = 0; for (int p = index - slowPeriods; p < index; p++) { diff --git a/src/a-d/Beta/Beta.Models.cs b/src/a-d/Beta/Beta.Models.cs index b66224fce..a9ac50b36 100644 --- a/src/a-d/Beta/Beta.Models.cs +++ b/src/a-d/Beta/Beta.Models.cs @@ -5,11 +5,11 @@ namespace Skender.Stock.Indicators [Serializable] public class BetaResult : ResultBase { - public decimal? Beta { get; set; } - public decimal? BetaUp { get; set; } - public decimal? BetaDown { get; set; } - public decimal? Ratio { get; set; } - public decimal? Convexity { get; set; } + public double? Beta { get; set; } + public double? BetaUp { get; set; } + public double? BetaDown { get; set; } + public double? Ratio { get; set; } + public double? Convexity { get; set; } } public enum BetaType diff --git a/src/a-d/Beta/Beta.cs b/src/a-d/Beta/Beta.cs index cc085ced1..8f73d1e64 100644 --- a/src/a-d/Beta/Beta.cs +++ b/src/a-d/Beta/Beta.cs @@ -115,13 +115,13 @@ private static void CalcBeta( // initialize CorrResult c = new(); - List dataA = new(lookbackPeriods); - List dataB = new(lookbackPeriods); + List dataA = new(lookbackPeriods); + List dataB = new(lookbackPeriods); for (int p = index - lookbackPeriods + 1; p <= index; p++) { - decimal a = quotesListMrkt[p].Close; - decimal b = quotesListEval[p].Close; + double a = (double)quotesListMrkt[p].Close; + double b = (double)quotesListEval[p].Close; if (type is BetaType.Standard) { @@ -129,13 +129,13 @@ private static void CalcBeta( dataB.Add(b); } else if (type is BetaType.Down - && a < quotesListMrkt[p - 1].Close) + && a < (double)quotesListMrkt[p - 1].Close) { dataA.Add(a); dataB.Add(b); } else if (type is BetaType.Up - && a > quotesListMrkt[p - 1].Close) + && a > (double)quotesListMrkt[p - 1].Close) { dataA.Add(a); dataB.Add(b); @@ -150,7 +150,7 @@ private static void CalcBeta( // calculate beta if (c.Covariance != null && c.VarianceA != null && c.VarianceA != 0) { - decimal? beta = c.Covariance / c.VarianceA; + double? beta = c.Covariance / c.VarianceA; if (type == BetaType.Standard) { diff --git a/src/a-d/BollingerBands/BollingerBands.Models.cs b/src/a-d/BollingerBands/BollingerBands.Models.cs index 2c6c37b4f..a19e6cf53 100644 --- a/src/a-d/BollingerBands/BollingerBands.Models.cs +++ b/src/a-d/BollingerBands/BollingerBands.Models.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Skender.Stock.Indicators { @@ -9,8 +9,8 @@ public class BollingerBandsResult : ResultBase public decimal? UpperBand { get; set; } public decimal? LowerBand { get; set; } - public decimal? PercentB { get; set; } - public decimal? ZScore { get; set; } - public decimal? Width { get; set; } + public double? PercentB { get; set; } + public double? ZScore { get; set; } + public double? Width { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/BollingerBands/BollingerBands.cs b/src/a-d/BollingerBands/BollingerBands.cs index 5ef5550d3..4ab343c9e 100644 --- a/src/a-d/BollingerBands/BollingerBands.cs +++ b/src/a-d/BollingerBands/BollingerBands.cs @@ -12,7 +12,7 @@ public static partial class Indicator public static IEnumerable GetBollingerBands( this IEnumerable quotes, int lookbackPeriods = 20, - decimal standardDeviations = 2) + double standardDeviations = 2) where TQuote : IQuote { @@ -39,29 +39,30 @@ public static IEnumerable GetBollingerBands( if (index >= lookbackPeriods) { double[] periodClose = new double[lookbackPeriods]; - decimal sum = 0m; + double sum = 0; int n = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote d = quotesList[p]; - periodClose[n] = (double)d.Close; - sum += d.Close; + double close = (double)d.Close; + periodClose[n] = close; + sum += close; n++; } - decimal periodAvg = sum / lookbackPeriods; - decimal stdDev = (decimal)Functions.StdDev(periodClose); + double periodAvg = sum / lookbackPeriods; + double stdDev = Functions.StdDev(periodClose); - r.Sma = periodAvg; - r.UpperBand = periodAvg + standardDeviations * stdDev; - r.LowerBand = periodAvg - standardDeviations * stdDev; + r.Sma = (decimal)periodAvg; + r.UpperBand = (decimal)(periodAvg + standardDeviations * stdDev); + r.LowerBand = (decimal)(periodAvg - standardDeviations * stdDev); r.PercentB = (r.UpperBand == r.LowerBand) ? null - : (q.Close - r.LowerBand) / (r.UpperBand - r.LowerBand); + : (double)((q.Close - r.LowerBand) / (r.UpperBand - r.LowerBand)); - r.ZScore = (stdDev == 0) ? null : (q.Close - r.Sma) / stdDev; - r.Width = (r.Sma == 0) ? null : (r.UpperBand - r.LowerBand) / r.Sma; + r.ZScore = (stdDev == 0) ? null : (double)(q.Close - r.Sma) / stdDev; + r.Width = (periodAvg == 0) ? null : (double)(r.UpperBand - r.LowerBand) / periodAvg; } results.Add(r); @@ -89,7 +90,7 @@ public static IEnumerable RemoveWarmupPeriods( private static void ValidateBollingerBands( IEnumerable quotes, int lookbackPeriods, - decimal standardDeviations) + double standardDeviations) where TQuote : IQuote { diff --git a/src/a-d/Bop/Bop.Models.cs b/src/a-d/Bop/Bop.Models.cs index 33f9cb145..f89db391e 100644 --- a/src/a-d/Bop/Bop.Models.cs +++ b/src/a-d/Bop/Bop.Models.cs @@ -1,10 +1,10 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class BopResult : ResultBase { - public decimal? Bop { get; set; } + public double? Bop { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/Bop/Bop.cs b/src/a-d/Bop/Bop.cs index b91b932da..e1cc12da1 100644 --- a/src/a-d/Bop/Bop.cs +++ b/src/a-d/Bop/Bop.cs @@ -25,9 +25,9 @@ public static IEnumerable GetBop( int size = quotesList.Count; List results = new(size); - decimal?[] raw = quotesList + double?[] raw = quotesList .Select(x => (x.High != x.Low) ? - (x.Close - x.Open) / (x.High - x.Low) : (decimal?)null) + (double?)((x.Close - x.Open) / (x.High - x.Low)) : null) .ToArray(); // roll through quotes @@ -40,7 +40,7 @@ public static IEnumerable GetBop( if (i >= smoothPeriods - 1) { - decimal? sum = 0m; + double? sum = 0; for (int p = i - smoothPeriods + 1; p <= i; p++) { sum += raw[p]; diff --git a/src/a-d/Cci/Cci.Models.cs b/src/a-d/Cci/Cci.Models.cs index 5f97e61f8..13f4f9aaf 100644 --- a/src/a-d/Cci/Cci.Models.cs +++ b/src/a-d/Cci/Cci.Models.cs @@ -1,11 +1,13 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class CciResult : ResultBase { - internal decimal? Tp { get; set; } - public decimal? Cci { get; set; } + public double? Cci { get; set; } + + // internal use only + internal double? Tp { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/Cci/Cci.cs b/src/a-d/Cci/Cci.cs index 02cb1944d..64fd7cb97 100644 --- a/src/a-d/Cci/Cci.cs +++ b/src/a-d/Cci/Cci.cs @@ -33,32 +33,32 @@ public static IEnumerable GetCci( CciResult result = new() { Date = q.Date, - Tp = (q.High + q.Low + q.Close) / 3 + Tp = (double?)(q.High + q.Low + q.Close) / 3 }; results.Add(result); if (index >= lookbackPeriods) { // average TP over lookback - decimal avgTp = 0; + double avgTp = 0; for (int p = index - lookbackPeriods; p < index; p++) { CciResult d = results[p]; - avgTp += (decimal)d.Tp; + avgTp += (double)d.Tp; } avgTp /= lookbackPeriods; // average Deviation over lookback - decimal avgDv = 0; + double avgDv = 0; for (int p = index - lookbackPeriods; p < index; p++) { CciResult d = results[p]; - avgDv += Math.Abs(avgTp - (decimal)d.Tp); + avgDv += Math.Abs(avgTp - (double)d.Tp); } avgDv /= lookbackPeriods; result.Cci = (avgDv == 0) ? null - : (result.Tp - avgTp) / ((decimal)0.015 * avgDv); + : (result.Tp - avgTp) / (0.015 * avgDv); } } diff --git a/src/a-d/ChaikinOsc/ChaikinOsc.Models.cs b/src/a-d/ChaikinOsc/ChaikinOsc.Models.cs index 6883bb8de..54a065912 100644 --- a/src/a-d/ChaikinOsc/ChaikinOsc.Models.cs +++ b/src/a-d/ChaikinOsc/ChaikinOsc.Models.cs @@ -1,13 +1,13 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class ChaikinOscResult : ResultBase { - public decimal MoneyFlowMultiplier { get; set; } - public decimal MoneyFlowVolume { get; set; } - public decimal Adl { get; set; } - public decimal? Oscillator { get; set; } + public double MoneyFlowMultiplier { get; set; } + public double MoneyFlowVolume { get; set; } + public double Adl { get; set; } + public double? Oscillator { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/ChaikinOsc/ChaikinOsc.cs b/src/a-d/ChaikinOsc/ChaikinOsc.cs index c65240e31..f77c38361 100644 --- a/src/a-d/ChaikinOsc/ChaikinOsc.cs +++ b/src/a-d/ChaikinOsc/ChaikinOsc.cs @@ -31,8 +31,8 @@ public static IEnumerable GetChaikinOsc( .ToList(); // EMA of ADL - List adlBasicData = results - .Select(x => new BasicData { Date = x.Date, Value = x.Adl }) + List adlBasicData = results + .Select(x => new BasicDouble { Date = x.Date, Value = x.Adl }) .ToList(); List adlEmaSlow = CalcEma(adlBasicData, slowPeriods); @@ -46,7 +46,7 @@ public static IEnumerable GetChaikinOsc( EmaResult f = adlEmaFast[i]; EmaResult s = adlEmaSlow[i]; - r.Oscillator = f.Ema - s.Ema; + r.Oscillator = (double)(f.Ema - s.Ema); } return results; diff --git a/src/a-d/Chop/Chop.cs b/src/a-d/Chop/Chop.cs index 63f8e5e98..64d0320d1 100644 --- a/src/a-d/Chop/Chop.cs +++ b/src/a-d/Chop/Chop.cs @@ -22,16 +22,16 @@ public static IEnumerable GetChop( ValidateChop(quotesList, lookbackPeriods); // initialize - decimal sum; - decimal high; - decimal low; - decimal range; + double sum; + double high; + double low; + double range; int size = quotesList.Count; List results = new(size); - decimal[] trueHigh = new decimal[size]; - decimal[] trueLow = new decimal[size]; - decimal[] trueRange = new decimal[size]; + double[] trueHigh = new double[size]; + double[] trueLow = new double[size]; + double[] trueRange = new double[size]; // roll through quotes for (int i = 0; i < quotesList.Count; i++) @@ -44,8 +44,8 @@ public static IEnumerable GetChop( if (i > 0) { - trueHigh[i] = Math.Max(quotesList[i].High, quotesList[i - 1].Close); - trueLow[i] = Math.Min(quotesList[i].Low, quotesList[i - 1].Close); + trueHigh[i] = (double)Math.Max(quotesList[i].High, quotesList[i - 1].Close); + trueLow[i] = (double)Math.Min(quotesList[i].Low, quotesList[i - 1].Close); trueRange[i] = trueHigh[i] - trueLow[i]; // calculate CHOP @@ -70,7 +70,7 @@ public static IEnumerable GetChop( // calculate CHOP if (range != 0) { - r.Chop = (decimal)(100 * (Math.Log((double)(sum / range)) / Math.Log(lookbackPeriods))); + r.Chop = (decimal)(100 * (Math.Log(sum / range) / Math.Log(lookbackPeriods))); } } } diff --git a/src/a-d/Cmf/Cmf.Models.cs b/src/a-d/Cmf/Cmf.Models.cs index 4597a56f7..de94d6813 100644 --- a/src/a-d/Cmf/Cmf.Models.cs +++ b/src/a-d/Cmf/Cmf.Models.cs @@ -1,12 +1,12 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class CmfResult : ResultBase { - public decimal MoneyFlowMultiplier { get; set; } - public decimal MoneyFlowVolume { get; set; } - public decimal? Cmf { get; set; } + public double MoneyFlowMultiplier { get; set; } + public double MoneyFlowVolume { get; set; } + public double? Cmf { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/Cmf/Cmf.cs b/src/a-d/Cmf/Cmf.cs index 748ef0dc4..c5798a5af 100644 --- a/src/a-d/Cmf/Cmf.cs +++ b/src/a-d/Cmf/Cmf.cs @@ -40,20 +40,20 @@ public static IEnumerable GetCmf( if (index >= lookbackPeriods) { - decimal sumMfv = 0; - decimal sumVol = 0; + double sumMfv = 0; + double sumVol = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote q = quotesList[p]; - sumVol += q.Volume; + sumVol += (double)q.Volume; AdlResult d = adlResults[p]; - sumMfv += d.MoneyFlowVolume; + sumMfv += (double)d.MoneyFlowVolume; } - decimal avgMfv = sumMfv / lookbackPeriods; - decimal avgVol = sumVol / lookbackPeriods; + double avgMfv = sumMfv / lookbackPeriods; + double avgVol = sumVol / lookbackPeriods; if (avgVol != 0) { diff --git a/src/a-d/ConnorsRsi/ConnorsRsi.Models.cs b/src/a-d/ConnorsRsi/ConnorsRsi.Models.cs index a3fbe0c9a..bebd9a02f 100644 --- a/src/a-d/ConnorsRsi/ConnorsRsi.Models.cs +++ b/src/a-d/ConnorsRsi/ConnorsRsi.Models.cs @@ -1,16 +1,16 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class ConnorsRsiResult : ResultBase { - public decimal? RsiClose { get; set; } - public decimal? RsiStreak { get; set; } - public decimal? PercentRank { get; set; } - public decimal? ConnorsRsi { get; set; } + public double? RsiClose { get; set; } + public double? RsiStreak { get; set; } + public double? PercentRank { get; set; } + public double? ConnorsRsi { get; set; } // internal use only - internal decimal? Streak { get; set; } + internal int? Streak { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/ConnorsRsi/ConnorsRsi.cs b/src/a-d/ConnorsRsi/ConnorsRsi.cs index c89f853c5..8e4d0853b 100644 --- a/src/a-d/ConnorsRsi/ConnorsRsi.cs +++ b/src/a-d/ConnorsRsi/ConnorsRsi.cs @@ -18,7 +18,7 @@ public static IEnumerable GetConnorsRsi( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // check parameter arguments ValidateConnorsRsi(bdList, rsiPeriods, streakPeriods, rankPeriods); @@ -28,9 +28,9 @@ public static IEnumerable GetConnorsRsi( int startPeriod = Math.Max(rsiPeriods, Math.Max(streakPeriods, rankPeriods)) + 2; // RSI of streak - List bdStreak = results + List bdStreak = results .Where(x => x.Streak != null) - .Select(x => new BasicData { Date = x.Date, Value = (decimal)x.Streak }) + .Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Streak }) .ToList(); List rsiStreakResults = CalcRsi(bdStreak, streakPeriods); @@ -69,44 +69,44 @@ public static IEnumerable RemoveWarmupPeriods( // parameter validation private static List CalcConnorsRsiBaseline( - List bdList, int rsiPeriods, int rankPeriods) + List bdList, int rsiPeriods, int rankPeriods) { // initialize List rsiResults = CalcRsi(bdList, rsiPeriods); int size = bdList.Count; List results = new(size); - decimal?[] gain = new decimal?[size]; + double?[] gain = new double?[size]; - decimal? lastClose = null; - decimal streak = 0; + double? lastClose = null; + int streak = 0; // compose interim results for (int i = 0; i < size; i++) { - BasicData h = bdList[i]; + BasicDouble q = bdList[i]; int index = i + 1; - ConnorsRsiResult result = new() + ConnorsRsiResult r = new() { - Date = h.Date, + Date = q.Date, RsiClose = rsiResults[i].Rsi }; + results.Add(r); // bypass for first record if (lastClose == null) { - lastClose = h.Value; - results.Add(result); + lastClose = q.Value; continue; } // streak of up or down - if (h.Value == lastClose) + if (q.Value == lastClose) { streak = 0; } - else if (h.Value > lastClose) + else if (q.Value > lastClose) { if (streak >= 0) { @@ -129,13 +129,11 @@ private static List CalcConnorsRsiBaseline( } } - result.Streak = streak; + r.Streak = streak; // percentile rank - gain[i] = (lastClose == 0) ? null - : (decimal)((lastClose <= 0) ? null : (h.Value - lastClose) / lastClose); - - results.Add(result); + gain[i] = (lastClose <= 0) ? null + : (q.Value - lastClose) / lastClose; if (index > rankPeriods) { @@ -148,11 +146,10 @@ private static List CalcConnorsRsiBaseline( } } - result.PercentRank = 100m * qty / rankPeriods; + r.PercentRank = 100 * qty / rankPeriods; } - - lastClose = h.Value; + lastClose = q.Value; } return results; @@ -160,7 +157,7 @@ private static List CalcConnorsRsiBaseline( private static void ValidateConnorsRsi( - IEnumerable quotes, + IEnumerable quotes, int rsiPeriods, int streakPeriods, int rankPeriods) diff --git a/src/a-d/Correlation/Correlation.Models.cs b/src/a-d/Correlation/Correlation.Models.cs index f7f701791..ebc8ca8db 100644 --- a/src/a-d/Correlation/Correlation.Models.cs +++ b/src/a-d/Correlation/Correlation.Models.cs @@ -1,14 +1,14 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class CorrResult : ResultBase { - public decimal? VarianceA { get; set; } - public decimal? VarianceB { get; set; } - public decimal? Covariance { get; set; } - public decimal? Correlation { get; set; } - public decimal? RSquared { get; set; } + public double? VarianceA { get; set; } + public double? VarianceB { get; set; } + public double? Covariance { get; set; } + public double? Correlation { get; set; } + public double? RSquared { get; set; } } -} \ No newline at end of file +} diff --git a/src/a-d/Correlation/Correlation.cs b/src/a-d/Correlation/Correlation.cs index 9f1397263..b6afebac2 100644 --- a/src/a-d/Correlation/Correlation.cs +++ b/src/a-d/Correlation/Correlation.cs @@ -47,14 +47,14 @@ public static IEnumerable GetCorrelation( // calculate correlation if (index >= lookbackPeriods) { - decimal[] dataA = new decimal[lookbackPeriods]; - decimal[] dataB = new decimal[lookbackPeriods]; + double[] dataA = new double[lookbackPeriods]; + double[] dataB = new double[lookbackPeriods]; int z = 0; for (int p = index - lookbackPeriods; p < index; p++) { - dataA[z] = quotesListA[p].Close; - dataB[z] = quotesListB[p].Close; + dataA[z] = (double)quotesListA[p].Close; + dataB[z] = (double)quotesListB[p].Close; z++; } @@ -86,21 +86,21 @@ public static IEnumerable RemoveWarmupPeriods( // calculate correlation private static void CalcCorrelation( this CorrResult r, - decimal[] dataA, - decimal[] dataB + double[] dataA, + double[] dataB ) { int size = dataA.Length; - decimal sumA = 0m; - decimal sumB = 0m; - decimal sumA2 = 0m; - decimal sumB2 = 0m; - decimal sumAB = 0m; + double sumA = 0; + double sumB = 0; + double sumA2 = 0; + double sumB2 = 0; + double sumAB = 0; for (int i = 0; i < size; i++) { - decimal a = dataA[i]; - decimal b = dataB[i]; + double a = dataA[i]; + double b = dataB[i]; sumA += a; sumB += b; @@ -109,11 +109,11 @@ decimal[] dataB sumAB += a * b; } - decimal avgA = sumA / size; - decimal avgB = sumB / size; - decimal avgA2 = sumA2 / size; - decimal avgB2 = sumB2 / size; - decimal avgAB = sumAB / size; + double avgA = sumA / size; + double avgB = sumB / size; + double avgA2 = sumA2 / size; + double avgB2 = sumB2 / size; + double avgAB = sumAB / size; r.VarianceA = avgA2 - avgA * avgA; r.VarianceB = avgB2 - avgB * avgB; @@ -121,7 +121,7 @@ decimal[] dataB double divisor = Math.Sqrt((double)(r.VarianceA * r.VarianceB)); - r.Correlation = (divisor == 0) ? null : r.Covariance / (decimal)divisor; + r.Correlation = (divisor == 0) ? null : r.Covariance / divisor; r.RSquared = r.Correlation * r.Correlation; } diff --git a/src/a-d/DoubleEma/DoubleEma.cs b/src/a-d/DoubleEma/DoubleEma.cs index acb42461e..8fa0813ed 100644 --- a/src/a-d/DoubleEma/DoubleEma.cs +++ b/src/a-d/DoubleEma/DoubleEma.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -16,7 +16,7 @@ public static IEnumerable GetDoubleEma( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // check parameter arguments ValidateDema(bdList, lookbackPeriods); @@ -25,9 +25,9 @@ public static IEnumerable GetDoubleEma( List results = new(bdList.Count); List emaN = CalcEma(bdList, lookbackPeriods); - List bd2 = emaN + List bd2 = emaN .Where(x => x.Ema != null) - .Select(x => new BasicData { Date = x.Date, Value = (decimal)x.Ema }) + .Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Ema }) .ToList(); // note: ToList seems to be required when changing data List emaN2 = CalcEma(bd2, lookbackPeriods); @@ -72,7 +72,7 @@ public static IEnumerable RemoveWarmupPeriods( // parameter validation private static void ValidateDema( - IEnumerable quotes, + IEnumerable quotes, int lookbackPeriods) { diff --git a/src/e-k/Ema/Ema.cs b/src/e-k/Ema/Ema.cs index 221ac8496..9ab34730b 100644 --- a/src/e-k/Ema/Ema.cs +++ b/src/e-k/Ema/Ema.cs @@ -16,7 +16,7 @@ public static IEnumerable GetEma( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // calculate return bdList.CalcEma(lookbackPeriods); @@ -34,7 +34,7 @@ public static IEnumerable GetEma( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(candlePart); + List bdList = quotes.ConvertToBasicDouble(candlePart); // calculate return bdList.CalcEma(lookbackPeriods); @@ -57,7 +57,7 @@ public static IEnumerable RemoveWarmupPeriods( // standard calculation private static List CalcEma( - this List bdList, int lookbackPeriods) + this List bdList, int lookbackPeriods) { // check parameter arguments @@ -66,8 +66,8 @@ private static List CalcEma( // initialize List results = new(bdList.Count); - decimal k = 2 / (decimal)(lookbackPeriods + 1); - decimal lastEma = 0; + double k = 2d / (lookbackPeriods + 1); + double? lastEma = 0; for (int i = 0; i < lookbackPeriods; i++) { @@ -78,7 +78,7 @@ private static List CalcEma( // roll through quotes for (int i = 0; i < bdList.Count; i++) { - BasicData h = bdList[i]; + BasicDouble h = bdList[i]; int index = i + 1; EmaResult result = new() @@ -88,12 +88,13 @@ private static List CalcEma( if (index > lookbackPeriods) { - result.Ema = lastEma + k * (h.Value - lastEma); - lastEma = (decimal)result.Ema; + double? ema = (lastEma + k * (h.Value - lastEma)); + result.Ema = (decimal?)ema; + lastEma = ema; } else if (index == lookbackPeriods) { - result.Ema = lastEma; + result.Ema = (decimal?)lastEma; } results.Add(result); @@ -105,7 +106,7 @@ private static List CalcEma( // parameter validation private static void ValidateEma( - List quotes, + List quotes, int lookbackPeriods) { diff --git a/src/e-k/Epma/Epma.cs b/src/e-k/Epma/Epma.cs index 190a7fabd..0a3cea077 100644 --- a/src/e-k/Epma/Epma.cs +++ b/src/e-k/Epma/Epma.cs @@ -33,7 +33,7 @@ public static IEnumerable GetEpma( EpmaResult r = new() { Date = s.Date, - Epma = s.Slope * (i + 1) + s.Intercept + Epma = (decimal?)(s.Slope * (i + 1) + s.Intercept) }; results.Add(r); diff --git a/src/e-k/FisherTransform/FisherTransform.Models.cs b/src/e-k/FisherTransform/FisherTransform.Models.cs index 16c8c21d1..042423ff3 100644 --- a/src/e-k/FisherTransform/FisherTransform.Models.cs +++ b/src/e-k/FisherTransform/FisherTransform.Models.cs @@ -1,12 +1,12 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class FisherTransformResult : ResultBase { - public decimal? Fisher { get; set; } - public decimal? Trigger { get; set; } + public double? Fisher { get; set; } + public double? Trigger { get; set; } } } diff --git a/src/e-k/FisherTransform/FisherTransform.cs b/src/e-k/FisherTransform/FisherTransform.cs index 141fdb946..031379aea 100644 --- a/src/e-k/FisherTransform/FisherTransform.cs +++ b/src/e-k/FisherTransform/FisherTransform.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -23,7 +23,7 @@ public static IEnumerable GetFisherTransform( // initialize int size = quotesList.Count; - decimal[] pr = new decimal[size]; // median price + double[] pr = new double[size]; // median price double[] xv = new double[size]; // price transform "value" List results = new(size); @@ -32,10 +32,10 @@ public static IEnumerable GetFisherTransform( for (int i = 0; i < quotesList.Count; i++) { TQuote q = quotesList[i]; - pr[i] = (q.High + q.Low) / 2m; + pr[i] = (double)(q.High + q.Low) / 2; - decimal minPrice = pr[i]; - decimal maxPrice = pr[i]; + double minPrice = pr[i]; + double maxPrice = pr[i]; for (int p = Math.Max(i - lookbackPeriods + 1, 0); p <= i; p++) { @@ -51,15 +51,15 @@ public static IEnumerable GetFisherTransform( if (i > 0) { xv[i] = maxPrice != minPrice - ? 0.33 * 2 * ((double)((pr[i] - minPrice) / (maxPrice - minPrice) - 0.5m)) + ? 0.33 * 2 * ((pr[i] - minPrice) / (maxPrice - minPrice) - 0.5) + 0.67 * xv[i - 1] : 0; xv[i] = (xv[i] > 0.99) ? 0.999 : xv[i]; xv[i] = (xv[i] < -0.99) ? -0.999 : xv[i]; - r.Fisher = 0.5m * (decimal)Math.Log((1 + xv[i]) / (1 - xv[i])) - + 0.5m * results[i - 1].Fisher; + r.Fisher = 0.5 * Math.Log((1 + xv[i]) / (1 - xv[i])) + + 0.5 * results[i - 1].Fisher; r.Trigger = results[i - 1].Fisher; } diff --git a/src/e-k/ForceIndex/ForceIndex.Models.cs b/src/e-k/ForceIndex/ForceIndex.Models.cs index b5617dc79..6259ea1ac 100644 --- a/src/e-k/ForceIndex/ForceIndex.Models.cs +++ b/src/e-k/ForceIndex/ForceIndex.Models.cs @@ -1,10 +1,10 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class ForceIndexResult : ResultBase { - public decimal? ForceIndex { get; set; } + public double? ForceIndex { get; set; } } } diff --git a/src/e-k/ForceIndex/ForceIndex.cs b/src/e-k/ForceIndex/ForceIndex.cs index ea6c86a03..ff3a416fc 100644 --- a/src/e-k/ForceIndex/ForceIndex.cs +++ b/src/e-k/ForceIndex/ForceIndex.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -24,14 +24,15 @@ public static IEnumerable GetForceIndex( // initialize int size = quotesList.Count; List results = new(size); - decimal? prevClose = null, prevFI = null; - decimal k = 2m / (lookbackPeriods + 1), sumRawFI = 0m; + double? prevClose = null, prevFI = null, sumRawFI = 0; + double k = 2d / (lookbackPeriods + 1); // roll through quotes for (int i = 0; i < size; i++) { TQuote q = quotesList[i]; int index = i + 1; + double? close = (double?)q.Close; ForceIndexResult r = new() { @@ -42,13 +43,13 @@ public static IEnumerable GetForceIndex( // skip first period if (i == 0) { - prevClose = q.Close; + prevClose = close; continue; } // raw Force Index - decimal? rawFI = q.Volume * (q.Close - prevClose); - prevClose = q.Close; + double? rawFI = (double?)q.Volume * (close - prevClose); + prevClose = close; // calculate EMA if (index > lookbackPeriods + 1) @@ -59,7 +60,7 @@ public static IEnumerable GetForceIndex( // initialization period else { - sumRawFI += (decimal)rawFI; + sumRawFI += rawFI; // first EMA value if (index == lookbackPeriods + 1) diff --git a/src/e-k/Gator/Gator.Models.cs b/src/e-k/Gator/Gator.Models.cs index 4f28a2e9b..080009f94 100644 --- a/src/e-k/Gator/Gator.Models.cs +++ b/src/e-k/Gator/Gator.Models.cs @@ -5,8 +5,8 @@ namespace Skender.Stock.Indicators [Serializable] public class GatorResult : ResultBase { - public decimal? Upper { get; set; } - public decimal? Lower { get; set; } + public double? Upper { get; set; } + public double? Lower { get; set; } public bool? UpperIsExpanding { get; set; } public bool? LowerIsExpanding { get; set; } diff --git a/src/e-k/Gator/Gator.cs b/src/e-k/Gator/Gator.cs index 81d0b128f..20d6e425b 100644 --- a/src/e-k/Gator/Gator.cs +++ b/src/e-k/Gator/Gator.cs @@ -24,10 +24,10 @@ public static IEnumerable GetGator( Date = x.Date, Upper = ((x.Jaw - x.Teeth) is null) ? null : - Math.Abs(x.Jaw.Value - x.Teeth.Value), + (double)Math.Abs(x.Jaw.Value - x.Teeth.Value), Lower = ((x.Teeth - x.Lips) is null) ? null : - -Math.Abs(x.Teeth.Value - x.Lips.Value) + -(double)Math.Abs(x.Teeth.Value - x.Lips.Value) }) .ToList(); diff --git a/src/e-k/Hma/Hma.cs b/src/e-k/Hma/Hma.cs index 0a30457a5..fb721300e 100644 --- a/src/e-k/Hma/Hma.cs +++ b/src/e-k/Hma/Hma.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -60,7 +60,7 @@ public static IEnumerable GetHma( .ToList(); // calculate final HMA = WMA with period SQRT(n) - List hmaResults = GetWma(synthHistory, sqN) + List hmaResults = synthHistory.GetWma(sqN) .Select(x => new HmaResult { Date = x.Date, diff --git a/src/e-k/Hurst/Hurst.cs b/src/e-k/Hurst/Hurst.cs index 9dc16d900..83dab0b6c 100644 --- a/src/e-k/Hurst/Hurst.cs +++ b/src/e-k/Hurst/Hurst.cs @@ -16,7 +16,8 @@ public static IEnumerable GetHurst( { // sort quotes - List quotesList = quotes.Sort(); + List quotesList = + quotes.ConvertToBasicDouble(CandlePart.Close); // check parameter arguments ValidateHurst(quotes, lookbackPeriods); @@ -29,7 +30,7 @@ public static IEnumerable GetHurst( for (int i = 0; i < size; i++) { int index = i + 1; - TQuote q = quotesList[i]; + BasicDouble q = quotesList[i]; HurstResult result = new() { @@ -45,9 +46,9 @@ public static IEnumerable GetHurst( for (int p = index - lookbackPeriods; p < index; p++) { // compile return values - if (quotesList[p - 1].Close != 0) + if (quotesList[p - 1].Value != 0) { - values[x] = (double)(quotesList[p].Close / quotesList[p - 1].Close - 1); + values[x] = quotesList[p].Value / quotesList[p - 1].Value - 1; } x++; diff --git a/src/e-k/Kama/Kama.Models.cs b/src/e-k/Kama/Kama.Models.cs index 8e0643b0f..04a5c4c42 100644 --- a/src/e-k/Kama/Kama.Models.cs +++ b/src/e-k/Kama/Kama.Models.cs @@ -1,11 +1,11 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class KamaResult : ResultBase { - public decimal? ER { get; set; } + public double? ER { get; set; } public decimal? Kama { get; set; } } } diff --git a/src/e-k/Kama/Kama.cs b/src/e-k/Kama/Kama.cs index 0d9da93cd..4f23d6bfa 100644 --- a/src/e-k/Kama/Kama.cs +++ b/src/e-k/Kama/Kama.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -25,8 +25,8 @@ public static IEnumerable GetKama( // initialize List results = new(quotesList.Count); - decimal scFast = 2m / (fastPeriods + 1); - decimal scSlow = 2m / (slowPeriods + 1); + double scFast = 2d / (fastPeriods + 1); + double scSlow = 2d / (slowPeriods + 1); // roll through quotes for (int i = 0; i < quotesList.Count; i++) @@ -42,23 +42,23 @@ public static IEnumerable GetKama( if (index > erPeriods) { // ER period change - decimal change = Math.Abs(q.Close - quotesList[i - erPeriods].Close); + double change = (double)Math.Abs(q.Close - quotesList[i - erPeriods].Close); // volatility - decimal sumPV = 0m; + double sumPV = 0; for (int p = i - erPeriods + 1; p <= i; p++) { - sumPV += Math.Abs(quotesList[p].Close - quotesList[p - 1].Close); + sumPV += (double)Math.Abs(quotesList[p].Close - quotesList[p - 1].Close); } if (sumPV != 0) { // efficiency ratio - decimal er = change / sumPV; + double er = change / sumPV; r.ER = er; // smoothing constant - decimal sc = er * (scFast - scSlow) + scSlow; // squared later + decimal sc = (decimal)(er * (scFast - scSlow) + scSlow); // squared later // kama calculation decimal? pk = results[i - 1].Kama; // prior KAMA diff --git a/src/e-k/Kvo/Kvo.Models.cs b/src/e-k/Kvo/Kvo.Models.cs index 4b4eac507..fd4855296 100644 --- a/src/e-k/Kvo/Kvo.Models.cs +++ b/src/e-k/Kvo/Kvo.Models.cs @@ -1,11 +1,11 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class KvoResult : ResultBase { - public decimal? Oscillator { get; set; } - public decimal? Signal { get; set; } + public double? Oscillator { get; set; } + public double? Signal { get; set; } } } diff --git a/src/e-k/Kvo/Kvo.cs b/src/e-k/Kvo/Kvo.cs index bd6af6c9e..22af17048 100644 --- a/src/e-k/Kvo/Kvo.cs +++ b/src/e-k/Kvo/Kvo.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -27,18 +27,18 @@ public static IEnumerable GetKvo( int size = quotesList.Count; List results = new(size); - decimal[] hlc = new decimal[size]; // trend basis - decimal[] t = new decimal[size]; // trend direction - decimal[] dm = new decimal[size]; // daily measurement - decimal[] cm = new decimal[size]; // cumulative measurement - decimal?[] vf = new decimal?[size]; // volume force (VF) - decimal?[] vfFastEma = new decimal?[size]; // EMA of VF (short-term) - decimal?[] vfSlowEma = new decimal?[size]; // EMA of VP (long-term) + double[] hlc = new double[size]; // trend basis + double[] t = new double[size]; // trend direction + double[] dm = new double[size]; // daily measurement + double[] cm = new double[size]; // cumulative measurement + double?[] vf = new double?[size]; // volume force (VF) + double?[] vfFastEma = new double?[size]; // EMA of VF (short-term) + double?[] vfSlowEma = new double?[size]; // EMA of VP (long-term) // EMA multipliers - decimal kFast = 2m / (fastPeriods + 1); - decimal kSlow = 2m / (slowPeriods + 1); - decimal kSignal = 2m / (signalPeriods + 1); + double kFast = 2d / (fastPeriods + 1); + double kSlow = 2d / (slowPeriods + 1); + double kSignal = 2d / (signalPeriods + 1); // roll through quotes for (int i = 0; i < size; i++) @@ -53,10 +53,10 @@ public static IEnumerable GetKvo( results.Add(r); // trend basis comparator - hlc[i] = q.High + q.Low + q.Close; + hlc[i] = (double)(q.High + q.Low + q.Close); // daily measurement - dm[i] = q.High - q.Low; + dm[i] = (double)(q.High - q.Low); if (i <= 0) { @@ -78,8 +78,8 @@ public static IEnumerable GetKvo( // volume force (VF) vf[i] = (dm[i] == cm[i] || q.Volume == 0) ? 0 - : (dm[i] == 0) ? q.Volume * 2 * t[i] * 100m - : (cm[i] != 0) ? q.Volume * Math.Abs(2 * (dm[i] / cm[i] - 1)) * t[i] * 100m + : (dm[i] == 0) ? (double)q.Volume * 2 * t[i] * 100d + : (cm[i] != 0) ? (double)q.Volume * Math.Abs(2 * (dm[i] / cm[i] - 1)) * t[i] * 100d : vf[i - 1]; // fast-period EMA of VF @@ -89,7 +89,7 @@ public static IEnumerable GetKvo( } else if (index == fastPeriods + 2) { - decimal? sum = 0m; + double? sum = 0; for (int p = 2; p <= i; p++) { sum += vf[p]; @@ -104,7 +104,7 @@ public static IEnumerable GetKvo( } else if (index == slowPeriods + 2) { - decimal? sum = 0m; + double? sum = 0; for (int p = 2; p <= i; p++) { sum += vf[p]; @@ -125,7 +125,7 @@ public static IEnumerable GetKvo( } else if (index == slowPeriods + signalPeriods + 1) { - decimal? sum = 0m; + double? sum = 0; for (int p = slowPeriods + 1; p <= i; p++) { sum += results[p].Oscillator; diff --git a/src/m-r/Macd/Macd.cs b/src/m-r/Macd/Macd.cs index 17aa812dc..7e7e8dc29 100644 --- a/src/m-r/Macd/Macd.cs +++ b/src/m-r/Macd/Macd.cs @@ -18,7 +18,7 @@ public static IEnumerable GetMacd( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // check parameter arguments ValidateMacd(quotes, fastPeriods, slowPeriods, signalPeriods); @@ -28,13 +28,13 @@ public static IEnumerable GetMacd( List emaSlow = CalcEma(bdList, slowPeriods); int size = bdList.Count; - List emaDiff = new(); + List emaDiff = new(); List results = new(size); // roll through quotes for (int i = 0; i < size; i++) { - BasicData h = bdList[i]; + BasicDouble h = bdList[i]; EmaResult df = emaFast[i]; EmaResult ds = emaSlow[i]; @@ -48,11 +48,11 @@ public static IEnumerable GetMacd( if (df?.Ema != null && ds?.Ema != null) { - decimal macd = (decimal)df.Ema - (decimal)ds.Ema; - result.Macd = macd; + double macd = (double)(df.Ema - ds.Ema); + result.Macd = (decimal)macd; // temp data for interim EMA of macd - BasicData diff = new() + BasicDouble diff = new() { Date = h.Date, Value = macd diff --git a/src/m-r/Mama/Mama.cs b/src/m-r/Mama/Mama.cs index 33c339b98..ae0f546d6 100644 --- a/src/m-r/Mama/Mama.cs +++ b/src/m-r/Mama/Mama.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -11,8 +11,8 @@ public static partial class Indicator /// public static IEnumerable GetMama( this IEnumerable quotes, - decimal fastLimit = 0.5m, - decimal slowLimit = 0.05m) + double fastLimit = 0.5, + double slowLimit = 0.05) where TQuote : IQuote { @@ -107,14 +107,14 @@ public static IEnumerable GetMama( ph[i] = (i1[i] != 0) ? Math.Atan(q1[i] / i1[i]) * 180 / Math.PI : 0; // change in phase - decimal delta = Math.Max((decimal)(ph[i - 1] - ph[i]), 1m); + double delta = Math.Max((ph[i - 1] - ph[i]), 1d); // adaptive alpha value - decimal alpha = Math.Max(fastLimit / delta, slowLimit); + double alpha = Math.Max(fastLimit / delta, slowLimit); // final indicators - r.Mama = alpha * (decimal)pr[i] + (1m - alpha) * results[i - 1].Mama; - r.Fama = 0.5m * alpha * r.Mama + (1m - 0.5m * alpha) * results[i - 1].Fama; + r.Mama = (decimal)(alpha * pr[i] + (1d - alpha) * (double)results[i - 1].Mama); + r.Fama = (decimal)(0.5d * alpha * (double)r.Mama + (1d - 0.5d * alpha) * (double)results[i - 1].Fama); } // initialization period @@ -163,8 +163,8 @@ public static IEnumerable RemoveWarmupPeriods( // parameter validation private static void ValidateMama( IEnumerable quotes, - decimal fastLimit, - decimal slowLimit) + double fastLimit, + double slowLimit) where TQuote : IQuote { diff --git a/src/m-r/Mfi/Mfi.cs b/src/m-r/Mfi/Mfi.cs index c7bd6b90a..b5810df7b 100644 --- a/src/m-r/Mfi/Mfi.cs +++ b/src/m-r/Mfi/Mfi.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -24,11 +24,11 @@ public static IEnumerable GetMfi( // initialize int size = quotesList.Count; List results = new(size); - decimal[] tp = new decimal[size]; // true price - decimal[] mf = new decimal[size]; // raw MF value + double[] tp = new double[size]; // true price + double[] mf = new double[size]; // raw MF value int[] direction = new int[size]; // direction - decimal? prevTP = null; + double? prevTP = null; // roll through quotes, to get preliminary data for (int i = 0; i < quotesList.Count; i++) @@ -41,10 +41,10 @@ public static IEnumerable GetMfi( }; // true price - tp[i] = (q.High + q.Low + q.Close) / 3; + tp[i] = (double)(q.High + q.Low + q.Close) / 3; // raw money flow - mf[i] = tp[i] * q.Volume; + mf[i] = tp[i] * (double)q.Volume; // direction if (prevTP == null || tp[i] == prevTP) @@ -71,8 +71,8 @@ public static IEnumerable GetMfi( MfiResult r = results[i]; int index = i + 1; - decimal sumPosMFs = 0; - decimal sumNegMFs = 0; + double sumPosMFs = 0; + double sumNegMFs = 0; for (int p = index - lookbackPeriods; p < index; p++) { @@ -94,7 +94,7 @@ public static IEnumerable GetMfi( } // calculate MFI normally - decimal mfRatio = sumPosMFs / sumNegMFs; + decimal mfRatio = (decimal)(sumPosMFs / sumNegMFs); r.Mfi = 100 - (100 / (1 + mfRatio)); } diff --git a/src/m-r/Obv/Obv.Models.cs b/src/m-r/Obv/Obv.Models.cs index 752d88375..6be5df6f1 100644 --- a/src/m-r/Obv/Obv.Models.cs +++ b/src/m-r/Obv/Obv.Models.cs @@ -1,11 +1,11 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class ObvResult : ResultBase { - public decimal Obv { get; set; } - public decimal? ObvSma { get; set; } + public double Obv { get; set; } + public double? ObvSma { get; set; } } -} \ No newline at end of file +} diff --git a/src/m-r/Obv/Obv.cs b/src/m-r/Obv/Obv.cs index 843277e6e..c75b49d0a 100644 --- a/src/m-r/Obv/Obv.cs +++ b/src/m-r/Obv/Obv.cs @@ -25,13 +25,14 @@ public static IEnumerable GetObv( List results = new(quotesList.Count); decimal? prevClose = null; - decimal obv = 0; + double obv = 0; // roll through quotes for (int i = 0; i < quotesList.Count; i++) { TQuote q = quotesList[i]; int index = i + 1; + double volume = (double)q.Volume; if (prevClose == null || q.Close == prevClose) { @@ -39,11 +40,11 @@ public static IEnumerable GetObv( } else if (q.Close > prevClose) { - obv += q.Volume; + obv += volume; } else if (q.Close < prevClose) { - obv -= q.Volume; + obv -= volume; } ObvResult result = new() @@ -58,7 +59,7 @@ public static IEnumerable GetObv( // optional SMA if (smaPeriods != null && index > smaPeriods) { - decimal sumSma = 0m; + double sumSma = 0; for (int p = index - (int)smaPeriods; p < index; p++) { sumSma += results[p].Obv; @@ -82,11 +83,11 @@ public static IEnumerable ConvertToQuotes( .Select(x => new Quote { Date = x.Date, - Open = x.Obv, - High = x.Obv, - Low = x.Obv, - Close = x.Obv, - Volume = x.Obv + Open = (decimal)x.Obv, + High = (decimal)x.Obv, + Low = (decimal)x.Obv, + Close = (decimal)x.Obv, + Volume = (decimal)x.Obv }) .ToList(); } diff --git a/src/m-r/Pmo/Pmo.Models.cs b/src/m-r/Pmo/Pmo.Models.cs index adb810a76..92d7a21a5 100644 --- a/src/m-r/Pmo/Pmo.Models.cs +++ b/src/m-r/Pmo/Pmo.Models.cs @@ -1,14 +1,14 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class PmoResult : ResultBase { - public decimal? Pmo { get; set; } - public decimal? Signal { get; set; } + public double? Pmo { get; set; } + public double? Signal { get; set; } // internal use only - internal decimal? RocEma { get; set; } + internal double? RocEma { get; set; } } -} \ No newline at end of file +} diff --git a/src/m-r/Pmo/Pmo.cs b/src/m-r/Pmo/Pmo.cs index b54cce40d..4f7a208d5 100644 --- a/src/m-r/Pmo/Pmo.cs +++ b/src/m-r/Pmo/Pmo.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -22,8 +22,8 @@ public static IEnumerable GetPmo( // initialize List results = CalcPmoRocEma(quotes, timePeriods); - decimal smoothingConstant = 2m / smoothPeriods; - decimal? lastPmo = null; + double smoothingConstant = 2d / smoothPeriods; + double? lastPmo = null; // calculate PMO int startIndex = timePeriods + smoothPeriods; @@ -39,11 +39,11 @@ public static IEnumerable GetPmo( } else if (index == startIndex) { - decimal sumRocEma = 0; + double? sumRocEma = 0; for (int p = index - smoothPeriods; p < index; p++) { PmoResult d = results[p]; - sumRocEma += (decimal)d.RocEma; + sumRocEma += d.RocEma; } pr.Pmo = sumRocEma / smoothPeriods; } @@ -79,8 +79,8 @@ private static List CalcPmoRocEma( where TQuote : IQuote { // initialize - decimal smoothingMultiplier = 2m / timePeriods; - decimal? lastRocEma = null; + double smoothingMultiplier = 2d / timePeriods; + double? lastRocEma = null; List roc = GetRoc(quotes, 1).ToList(); List results = new(); @@ -102,11 +102,11 @@ private static List CalcPmoRocEma( } else if (index == startIndex) { - decimal sumRoc = 0; + double? sumRoc = 0; for (int p = index - timePeriods; p < index; p++) { RocResult d = roc[p]; - sumRoc += (decimal)d.Roc; + sumRoc += d.Roc; } result.RocEma = sumRoc / timePeriods; } @@ -126,8 +126,8 @@ private static void CalcPmoSignal( int smoothPeriods, int signalPeriods) { - decimal signalConstant = 2m / (signalPeriods + 1); - decimal? lastSignal = null; + double signalConstant = 2d / (signalPeriods + 1); + double? lastSignal = null; int startIndex = timePeriods + smoothPeriods + signalPeriods - 1; @@ -142,11 +142,11 @@ private static void CalcPmoSignal( } else if (index == startIndex) { - decimal sumPmo = 0; + double? sumPmo = 0; for (int p = index - signalPeriods; p < index; p++) { PmoResult d = results[p]; - sumPmo += (decimal)d.Pmo; + sumPmo += d.Pmo; } pr.Signal = sumPmo / signalPeriods; } diff --git a/src/m-r/Prs/Prs.Models.cs b/src/m-r/Prs/Prs.Models.cs index cc935ba6a..69143e1d8 100644 --- a/src/m-r/Prs/Prs.Models.cs +++ b/src/m-r/Prs/Prs.Models.cs @@ -1,12 +1,12 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class PrsResult : ResultBase { - public decimal? Prs { get; set; } - public decimal? PrsSma { get; set; } - public decimal? PrsPercent { get; set; } + public double? Prs { get; set; } + public double? PrsSma { get; set; } + public double? PrsPercent { get; set; } } -} \ No newline at end of file +} diff --git a/src/m-r/Prs/Prs.cs b/src/m-r/Prs/Prs.cs index 772a7852e..b93b9939d 100644 --- a/src/m-r/Prs/Prs.cs +++ b/src/m-r/Prs/Prs.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -43,7 +43,7 @@ public static IEnumerable GetPrs( PrsResult r = new() { Date = ei.Date, - Prs = (bi.Close == 0) ? null : ei.Close / bi.Close // relative strength ratio + Prs = (bi.Close == 0) ? null : (double)(ei.Close / bi.Close) // relative strength ratio }; results.Add(r); @@ -54,8 +54,8 @@ public static IEnumerable GetPrs( if (bo.Close != 0 && eo.Close != 0) { - decimal pctB = (bi.Close - bo.Close) / bo.Close; - decimal pctE = (ei.Close - eo.Close) / eo.Close; + double pctB = (double)((bi.Close - bo.Close) / bo.Close); + double pctE = (double)((ei.Close - eo.Close) / eo.Close); r.PrsPercent = pctE - pctB; } @@ -64,7 +64,7 @@ public static IEnumerable GetPrs( // optional moving average of PRS if (smaPeriods != null && index >= smaPeriods) { - decimal? sumRs = 0m; + double? sumRs = 0; for (int p = index - (int)smaPeriods; p < index; p++) { PrsResult d = results[p]; diff --git a/src/m-r/Pvo/Pvo.cs b/src/m-r/Pvo/Pvo.cs index 83a2c6612..01c4697bc 100644 --- a/src/m-r/Pvo/Pvo.cs +++ b/src/m-r/Pvo/Pvo.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -18,7 +18,7 @@ public static IEnumerable GetPvo( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Volume); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Volume); // check parameter arguments ValidatePvo(quotes, fastPeriods, slowPeriods, signalPeriods); @@ -28,13 +28,13 @@ public static IEnumerable GetPvo( List emaSlow = CalcEma(bdList, slowPeriods); int size = bdList.Count; - List emaDiff = new(); + List emaDiff = new(); List results = new(size); // roll through quotes for (int i = 0; i < size; i++) { - BasicData h = bdList[i]; + BasicDouble h = bdList[i]; EmaResult df = emaFast[i]; EmaResult ds = emaSlow[i]; @@ -46,16 +46,16 @@ public static IEnumerable GetPvo( if (df?.Ema != null && ds?.Ema != null) { - decimal? pvo = (ds.Ema != 0) ? - 100 * (df.Ema - ds.Ema) / ds.Ema : null; + double? pvo = (ds.Ema != 0) ? + 100 * (double)((df.Ema - ds.Ema) / ds.Ema) : null; - result.Pvo = pvo; + result.Pvo = (decimal?)pvo; // temp data for interim EMA of PVO - BasicData diff = new() + BasicDouble diff = new() { Date = h.Date, - Value = (decimal)pvo + Value = (double)pvo }; emaDiff.Add(diff); diff --git a/src/m-r/Roc/Roc.Models.cs b/src/m-r/Roc/Roc.Models.cs index 3e3ca3e28..49dd21dc4 100644 --- a/src/m-r/Roc/Roc.Models.cs +++ b/src/m-r/Roc/Roc.Models.cs @@ -1,20 +1,20 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class RocResult : ResultBase { - public decimal? Roc { get; set; } - public decimal? RocSma { get; set; } + public double? Roc { get; set; } + public double? RocSma { get; set; } } [Serializable] public class RocWbResult : ResultBase { - public decimal? Roc { get; set; } - public decimal? RocEma { get; set; } - public decimal? UpperBand { get; set; } - public decimal? LowerBand { get; set; } + public double? Roc { get; set; } + public double? RocEma { get; set; } + public double? UpperBand { get; set; } + public double? LowerBand { get; set; } } } diff --git a/src/m-r/Roc/Roc.cs b/src/m-r/Roc/Roc.cs index ee19ae02e..8dda05850 100644 --- a/src/m-r/Roc/Roc.cs +++ b/src/m-r/Roc/Roc.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -41,7 +41,7 @@ public static IEnumerable GetRoc( TQuote back = quotesList[index - lookbackPeriods - 1]; result.Roc = (back.Close == 0) ? null - : 100 * (q.Close - back.Close) / back.Close; + : 100 * (double)((q.Close - back.Close) / back.Close); } results.Add(result); @@ -49,7 +49,7 @@ public static IEnumerable GetRoc( // optional SMA if (smaPeriods != null && index >= lookbackPeriods + smaPeriods) { - decimal? sumSma = 0m; + double? sumSma = 0; for (int p = index - (int)smaPeriods; p < index; p++) { sumSma += results[p].Roc; diff --git a/src/m-r/Roc/RocWb.cs b/src/m-r/Roc/RocWb.cs index 4fde8e88c..35fee3491 100644 --- a/src/m-r/Roc/RocWb.cs +++ b/src/m-r/Roc/RocWb.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; @@ -29,8 +29,8 @@ public static IEnumerable GetRocWb( }) .ToList(); - decimal k = 2m / (emaPeriods + 1); - decimal? lastEma = 0; + double k = 2d / (emaPeriods + 1); + double? lastEma = 0; for (int i = lookbackPeriods; i < lookbackPeriods + emaPeriods; i++) { @@ -39,7 +39,7 @@ public static IEnumerable GetRocWb( lastEma /= emaPeriods; double?[] rocSq = results - .Select(x => (double?)(x.Roc * x.Roc)) + .Select(x => (x.Roc * x.Roc)) .ToArray(); // roll through quotes @@ -70,7 +70,7 @@ public static IEnumerable GetRocWb( if (sumSq is not null) { - decimal? rocDev = (decimal?)Math.Sqrt((double)sumSq / stdDevPeriods); + double? rocDev = Math.Sqrt((double)sumSq / stdDevPeriods); r.UpperBand = rocDev; r.LowerBand = -rocDev; diff --git a/src/m-r/Rsi/Rsi.Models.cs b/src/m-r/Rsi/Rsi.Models.cs index fb6feb78e..c797cc91c 100644 --- a/src/m-r/Rsi/Rsi.Models.cs +++ b/src/m-r/Rsi/Rsi.Models.cs @@ -1,10 +1,10 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class RsiResult : ResultBase { - public decimal? Rsi { get; set; } + public double? Rsi { get; set; } } } diff --git a/src/m-r/Rsi/Rsi.cs b/src/m-r/Rsi/Rsi.cs index d2244929d..0210583fb 100644 --- a/src/m-r/Rsi/Rsi.cs +++ b/src/m-r/Rsi/Rsi.cs @@ -16,7 +16,7 @@ public static IEnumerable GetRsi( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // calculate return CalcRsi(bdList, lookbackPeriods); @@ -57,26 +57,26 @@ public static IEnumerable RemoveWarmupPeriods( // internals - private static List CalcRsi(List bdList, int lookbackPeriods) + private static List CalcRsi(List bdList, int lookbackPeriods) { // check parameter arguments ValidateRsi(bdList, lookbackPeriods); // initialize - decimal lastValue = bdList[0].Value; - decimal avgGain = 0m; - decimal avgLoss = 0m; + double lastValue = bdList[0].Value; + double avgGain = 0; + double avgLoss = 0; int size = bdList.Count; List results = new(size); - decimal[] gain = new decimal[size]; // gain - decimal[] loss = new decimal[size]; // loss + double[] gain = new double[size]; // gain + double[] loss = new double[size]; // loss // roll through quotes for (int i = 0; i < bdList.Count; i++) { - BasicData h = bdList[i]; + BasicDouble h = bdList[i]; int index = i + 1; RsiResult r = new() @@ -97,7 +97,7 @@ private static List CalcRsi(List bdList, int lookbackPerio if (avgLoss > 0) { - decimal rs = avgGain / avgLoss; + double rs = avgGain / avgLoss; r.Rsi = 100 - (100 / (1 + rs)); } else @@ -109,8 +109,8 @@ private static List CalcRsi(List bdList, int lookbackPerio // initialize average gain else if (index == lookbackPeriods + 1) { - decimal sumGain = 0; - decimal sumLoss = 0; + double sumGain = 0; + double sumLoss = 0; for (int p = 1; p <= lookbackPeriods; p++) { @@ -130,7 +130,7 @@ private static List CalcRsi(List bdList, int lookbackPerio // parameter validation private static void ValidateRsi( - List quotes, + List quotes, int lookbackPeriods) { diff --git a/src/s-z/Slope/Slope.Models.cs b/src/s-z/Slope/Slope.Models.cs index 73b0ca7db..a88fec04f 100644 --- a/src/s-z/Slope/Slope.Models.cs +++ b/src/s-z/Slope/Slope.Models.cs @@ -1,14 +1,14 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class SlopeResult : ResultBase { - public decimal? Slope { get; set; } - public decimal? Intercept { get; set; } + public double? Slope { get; set; } + public double? Intercept { get; set; } public double? StdDev { get; set; } public double? RSquared { get; set; } public decimal? Line { get; set; } // last line segment only } -} \ No newline at end of file +} diff --git a/src/s-z/Slope/Slope.cs b/src/s-z/Slope/Slope.cs index b887188b6..4a0cfad68 100644 --- a/src/s-z/Slope/Slope.cs +++ b/src/s-z/Slope/Slope.cs @@ -45,31 +45,31 @@ public static IEnumerable GetSlope( } // get averages for period - decimal sumX = 0m; - decimal sumY = 0m; + double sumX = 0; + double sumY = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote d = quotesList[p]; - sumX += p + 1m; - sumY += d.Close; + sumX += p + 1d; + sumY += (double)d.Close; } - decimal avgX = sumX / lookbackPeriods; - decimal avgY = sumY / lookbackPeriods; + double avgX = sumX / lookbackPeriods; + double avgY = sumY / lookbackPeriods; // least squares method - decimal sumSqX = 0m; - decimal sumSqY = 0m; - decimal sumSqXY = 0m; + double sumSqX = 0; + double sumSqY = 0; + double sumSqXY = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote d = quotesList[p]; - decimal devX = (p + 1m - avgX); - decimal devY = (d.Close - avgY); + double devX = (p + 1d - avgX); + double devY = ((double)d.Close - avgY); sumSqX += devX * devX; sumSqY += devY * devY; @@ -96,7 +96,7 @@ public static IEnumerable GetSlope( for (int p = size - lookbackPeriods; p < size; p++) { SlopeResult d = results[p]; - d.Line = last.Slope * (p + 1) + last.Intercept; + d.Line = (decimal?)(last.Slope * (p + 1) + last.Intercept); } return results; diff --git a/src/s-z/Sma/Sma.Models.cs b/src/s-z/Sma/Sma.Models.cs index 45f45d18d..ef6a4e891 100644 --- a/src/s-z/Sma/Sma.Models.cs +++ b/src/s-z/Sma/Sma.Models.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace Skender.Stock.Indicators { @@ -11,8 +11,8 @@ public class SmaResult : ResultBase [Serializable] public class SmaExtendedResult : SmaResult { - public decimal? Mad { get; set; } // mean absolute deviation - public decimal? Mse { get; set; } // mean square error - public decimal? Mape { get; set; } // mean absolute percentage error + public double? Mad { get; set; } // mean absolute deviation + public double? Mse { get; set; } // mean square error + public double? Mape { get; set; } // mean absolute percentage error } } diff --git a/src/s-z/Sma/Sma.cs b/src/s-z/Sma/Sma.cs index 3df724d7a..9cdec75ae 100644 --- a/src/s-z/Sma/Sma.cs +++ b/src/s-z/Sma/Sma.cs @@ -19,7 +19,7 @@ public static IEnumerable GetSma( ValidateSma(quotes, lookbackPeriods); // initialize - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // calculate return bdList.CalcSma(lookbackPeriods); @@ -40,7 +40,7 @@ public static IEnumerable GetSma( ValidateSma(quotes, lookbackPeriods); // initialize - List bdList = quotes.ConvertToBasic(candlePart); + List bdList = quotes.ConvertToBasicDouble(candlePart); // calculate return bdList.CalcSma(lookbackPeriods); @@ -63,7 +63,7 @@ public static IEnumerable RemoveWarmupPeriods( // calculate private static IEnumerable CalcSma( - this List bdList, + this List bdList, int lookbackPeriods) { @@ -74,7 +74,7 @@ private static IEnumerable CalcSma( // roll through quotes for (int i = 0; i < bdList.Count; i++) { - BasicData q = bdList[i]; + BasicDouble q = bdList[i]; int index = i + 1; SmaResult result = new() @@ -84,14 +84,14 @@ private static IEnumerable CalcSma( if (index >= lookbackPeriods) { - decimal sumSma = 0m; + double sumSma = 0; for (int p = index - lookbackPeriods; p < index; p++) { - BasicData d = bdList[p]; + BasicDouble d = bdList[p]; sumSma += d.Value; } - result.Sma = sumSma / lookbackPeriods; + result.Sma = (decimal)sumSma / lookbackPeriods; } results.Add(result); diff --git a/src/s-z/Sma/SmaExtended.cs b/src/s-z/Sma/SmaExtended.cs index 85f22eb3b..97bc94274 100644 --- a/src/s-z/Sma/SmaExtended.cs +++ b/src/s-z/Sma/SmaExtended.cs @@ -26,21 +26,24 @@ public static IEnumerable GetSmaExtended( // roll through quotes for (int i = lookbackPeriods - 1; i < results.Count; i++) { - SmaExtendedResult r = results[i]; int index = i + 1; + SmaExtendedResult r = results[i]; + double sma = (double)r.Sma; - decimal sumMad = 0m; - decimal sumMse = 0m; - decimal? sumMape = 0m; + double sumMad = 0; + double sumMse = 0; + double? sumMape = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote d = quotesList[p]; - sumMad += Math.Abs(d.Close - (decimal)r.Sma); - sumMse += (d.Close - (decimal)r.Sma) * (d.Close - (decimal)r.Sma); + double close = (double)d.Close; + + sumMad += Math.Abs(close - sma); + sumMse += (close - sma) * (close - sma); - sumMape += (d.Close == 0) ? null - : Math.Abs(d.Close - (decimal)r.Sma) / d.Close; + sumMape += (close == 0) ? null + : Math.Abs(close - sma) / close; } // mean absolute deviation diff --git a/src/s-z/Smi/Smi.cs b/src/s-z/Smi/Smi.cs index 0e583e781..ad4c8ff4c 100644 --- a/src/s-z/Smi/Smi.cs +++ b/src/s-z/Smi/Smi.cs @@ -34,15 +34,15 @@ public static IEnumerable GetSmi( int size = quotesList.Count; List results = new(size); - decimal k1 = 2m / (firstSmoothPeriods + 1m); - decimal k2 = 2m / (secondSmoothPeriods + 1m); - decimal kS = 2m / (signalPeriods + 1m); + double k1 = 2d / (firstSmoothPeriods + 1); + double k2 = 2d / (secondSmoothPeriods + 1); + double kS = 2d / (signalPeriods + 1); - decimal lastSmEma1 = 0m; - decimal lastSmEma2 = 0m; - decimal lastHlEma1 = 0m; - decimal lastHlEma2 = 0m; - decimal lastSignal = 0m; + double lastSmEma1 = 0; + double lastSmEma2 = 0; + double lastHlEma1 = 0; + double lastHlEma2 = 0; + double lastSignal = 0; // roll through quotes for (int i = 0; i < size; i++) @@ -75,8 +75,8 @@ public static IEnumerable GetSmi( } } - decimal sm = q.Close - 0.5m * (HH + LL); - decimal hl = HH - LL; + double sm = (double)(q.Close - 0.5m * (HH + LL)); + double hl = (double)(HH - LL); // initialize last EMA values if (index == lookbackPeriods) @@ -88,31 +88,33 @@ public static IEnumerable GetSmi( } // first smoothing - decimal smEma1 = lastSmEma1 + k1 * (sm - lastSmEma1); - decimal hlEma1 = lastHlEma1 + k1 * (hl - lastHlEma1); + double smEma1 = lastSmEma1 + k1 * (sm - lastSmEma1); + double hlEma1 = lastHlEma1 + k1 * (hl - lastHlEma1); // second smoothing - decimal smEma2 = lastSmEma2 + k2 * (smEma1 - lastSmEma2); - decimal hlEma2 = lastHlEma2 + k2 * (hlEma1 - lastHlEma2); + double smEma2 = lastSmEma2 + k2 * (smEma1 - lastSmEma2); + double hlEma2 = lastHlEma2 + k2 * (hlEma1 - lastHlEma2); // stochastic momentum index - r.Smi = 100 * (smEma2 / (0.5m * hlEma2)); + double smi = 100 * (smEma2 / (0.5 * hlEma2)); + r.Smi = (decimal)smi; // initialize signal line if (index == lookbackPeriods) { - lastSignal = (decimal)r.Smi; + lastSignal = smi; } // signal line - r.Signal = lastSignal + kS * (r.Smi - lastSignal); + double signal = (lastSignal + kS * (smi - lastSignal)); + r.Signal = (decimal)signal; // carryover values lastSmEma1 = smEma1; lastSmEma2 = smEma2; lastHlEma1 = hlEma1; lastHlEma2 = hlEma2; - lastSignal = (decimal)r.Signal; + lastSignal = signal; } results.Add(r); } diff --git a/src/s-z/Smma/Smma.cs b/src/s-z/Smma/Smma.cs index 2fe32d673..9734e79d5 100644 --- a/src/s-z/Smma/Smma.cs +++ b/src/s-z/Smma/Smma.cs @@ -22,7 +22,7 @@ public static IEnumerable GetSmma( // initialize List results = new(quotesList.Count); - decimal? prevValue = null; + double? prevValue = null; // roll through quotes for (int i = 0; i < quotesList.Count; i++) @@ -38,23 +38,24 @@ public static IEnumerable GetSmma( // calculate SMMA if (index > lookbackPeriods) { - result.Smma = (prevValue * (lookbackPeriods - 1) + q.Close) / lookbackPeriods; + result.Smma = (decimal)(prevValue * (lookbackPeriods - 1) + (double)q.Close) + / lookbackPeriods; } // first SMMA calculated as simple SMA else if (index == lookbackPeriods) { - decimal sumClose = 0m; + double sumClose = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote d = quotesList[p]; - sumClose += d.Close; + sumClose += (double)d.Close; } - result.Smma = sumClose / lookbackPeriods; + result.Smma = (decimal)(sumClose / lookbackPeriods); } - prevValue = result.Smma; + prevValue = (double?)result.Smma; results.Add(result); } diff --git a/src/s-z/StdDev/StdDev.Models.cs b/src/s-z/StdDev/StdDev.Models.cs index ee6167eda..debf41538 100644 --- a/src/s-z/StdDev/StdDev.Models.cs +++ b/src/s-z/StdDev/StdDev.Models.cs @@ -1,13 +1,13 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class StdDevResult : ResultBase { - public decimal? StdDev { get; set; } - public decimal? Mean { get; set; } - public decimal? ZScore { get; set; } - public decimal? StdDevSma { get; set; } + public double? StdDev { get; set; } + public double? Mean { get; set; } + public double? ZScore { get; set; } + public double? StdDevSma { get; set; } } -} \ No newline at end of file +} diff --git a/src/s-z/StdDev/StdDev.cs b/src/s-z/StdDev/StdDev.cs index 69b4bd026..6b6d320b0 100644 --- a/src/s-z/StdDev/StdDev.cs +++ b/src/s-z/StdDev/StdDev.cs @@ -63,24 +63,24 @@ private static List CalcStdDev( if (index >= lookbackPeriods) { double[] periodValues = new double[lookbackPeriods]; - decimal sum = 0m; + double sum = 0; int n = 0; for (int p = index - lookbackPeriods; p < index; p++) { BasicData d = bdList[p]; periodValues[n] = (double)d.Value; - sum += d.Value; + sum += (double)d.Value; n++; } - decimal periodAvg = sum / lookbackPeriods; + double periodAvg = sum / lookbackPeriods; - result.StdDev = (decimal)Functions.StdDev(periodValues); + result.StdDev = Functions.StdDev(periodValues); result.Mean = periodAvg; result.ZScore = (result.StdDev == 0) ? null - : (bd.Value - periodAvg) / result.StdDev; + : ((double)bd.Value - periodAvg) / result.StdDev; } results.Add(result); @@ -88,10 +88,10 @@ private static List CalcStdDev( // optional SMA if (smaPeriods != null && index >= lookbackPeriods + smaPeriods - 1) { - decimal sumSma = 0m; + double sumSma = 0; for (int p = index - (int)smaPeriods; p < index; p++) { - sumSma += (decimal)results[p].StdDev; + sumSma += (double)results[p].StdDev; } result.StdDevSma = sumSma / smaPeriods; diff --git a/src/s-z/StdDevChannels/StdDevChannels.cs b/src/s-z/StdDevChannels/StdDevChannels.cs index 0f62b1b19..90a6bddad 100644 --- a/src/s-z/StdDevChannels/StdDevChannels.cs +++ b/src/s-z/StdDevChannels/StdDevChannels.cs @@ -12,7 +12,7 @@ public static partial class Indicator public static IEnumerable GetStdDevChannels( this IEnumerable quotes, int? lookbackPeriods = 20, - decimal standardDeviations = 2) + double standardDeviations = 2) where TQuote : IQuote { @@ -37,6 +37,7 @@ public static IEnumerable GetStdDevChannels( for (int w = size - 1; w >= lookbackPeriods - 1; w -= (int)lookbackPeriods) { SlopeResult s = slopeResults[w]; + decimal? width = (decimal?)(standardDeviations * s.StdDev); // add regression line (y = mx + b) and channels for (int p = w - (int)lookbackPeriods + 1; p <= w; p++) @@ -44,9 +45,7 @@ public static IEnumerable GetStdDevChannels( if (p >= 0) { StdDevChannelsResult d = results[p]; - d.Centerline = s.Slope * (p + 1) + s.Intercept; - - decimal width = standardDeviations * (decimal)s.StdDev; + d.Centerline = (decimal?)(s.Slope * (p + 1) + s.Intercept); d.UpperChannel = d.Centerline + width; d.LowerChannel = d.Centerline - width; @@ -77,7 +76,7 @@ public static IEnumerable RemoveWarmupPeriods( private static void ValidateStdDevChannels( IEnumerable quotes, int? lookbackPeriods, - decimal standardDeviations) + double standardDeviations) where TQuote : IQuote { diff --git a/src/s-z/Stoch/Stoch.cs b/src/s-z/Stoch/Stoch.cs index f6589e005..ab699af17 100644 --- a/src/s-z/Stoch/Stoch.cs +++ b/src/s-z/Stoch/Stoch.cs @@ -30,8 +30,8 @@ public static IEnumerable GetStoch( int lookbackPeriods, int signalPeriods, int smoothPeriods, - int kFactor, - int dFactor, + decimal kFactor, + decimal dFactor, MaType movingAverageType) where TQuote : IQuote { @@ -61,26 +61,26 @@ public static IEnumerable GetStoch( if (index >= lookbackPeriods) { - decimal highHigh = decimal.MinValue; - decimal lowLow = decimal.MaxValue; + double? highHigh = double.MinValue; + double? lowLow = double.MaxValue; for (int p = index - lookbackPeriods; p < index; p++) { TQuote x = quotesList[p]; - if (x.High > highHigh) + if ((double?)x.High > highHigh) { - highHigh = x.High; + highHigh = (double?)x.High; } - if (x.Low < lowLow) + if ((double?)x.Low < lowLow) { - lowLow = x.Low; + lowLow = (double?)x.Low; } } result.Oscillator = lowLow != highHigh - ? 100 * ((q.Close - lowLow) / (highHigh - lowLow)) + ? 100 * (decimal?)(((double?)q.Close - lowLow) / (highHigh - lowLow)) : 0; } results.Add(result); @@ -97,7 +97,7 @@ public static IEnumerable GetStoch( // signal (%D) and %J int signalIndex = lookbackPeriods + smoothPeriods + signalPeriods - 2; - decimal? s = results[lookbackPeriods - 1].Oscillator; + double? s = (double?)results[lookbackPeriods - 1].Oscillator; for (int i = lookbackPeriods - 1; i < size; i++) { @@ -114,23 +114,23 @@ public static IEnumerable GetStoch( // SMA case else if (index >= signalIndex && movingAverageType is MaType.SMA) { - decimal sumOsc = 0m; + double? sumOsc = 0; for (int p = index - signalPeriods; p < index; p++) { StochResult x = results[p]; - sumOsc += (decimal)x.Oscillator; + sumOsc += (double?)x.Oscillator; } - r.Signal = sumOsc / signalPeriods; + r.Signal = (decimal?)(sumOsc / signalPeriods); } // SMMA case else if (i >= lookbackPeriods - 1 && movingAverageType is MaType.SMMA) { - s = (s == null) ? results[i].Oscillator : s; // reset if null + s = (s == null) ? (double?)results[i].Oscillator : s; // reset if null - s = (s * (signalPeriods - 1) + results[i].Oscillator) / signalPeriods; - r.Signal = s; + s = (s * (signalPeriods - 1) + (double?)results[i].Oscillator) / signalPeriods; + r.Signal = (decimal?)s; } // %J @@ -165,7 +165,7 @@ private static List SmoothOscillator( { // temporarily store interim smoothed oscillator - decimal?[] smooth = new decimal?[size]; // smoothed value + double?[] smooth = new double?[size]; // smoothed value if (movingAverageType is MaType.SMA) { @@ -175,10 +175,10 @@ private static List SmoothOscillator( { int index = i + 1; - decimal sumOsc = 0m; + double? sumOsc = 0; for (int p = index - smoothPeriods; p < index; p++) { - sumOsc += (decimal)results[p].Oscillator; + sumOsc += (double?)results[p].Oscillator; } smooth[i] = sumOsc / smoothPeriods; @@ -187,13 +187,13 @@ private static List SmoothOscillator( else if (movingAverageType is MaType.SMMA) { // initialize with unsmoothed value - decimal? k = results[lookbackPeriods - 1].Oscillator; + double? k = (double?)results[lookbackPeriods - 1].Oscillator; for (int i = lookbackPeriods - 1; i < size; i++) { - k = (k == null) ? results[i].Oscillator : k; // reset if null + k = (k == null) ? (double?)results[i].Oscillator : k; // reset if null - k = (k * (smoothPeriods - 1) + results[i].Oscillator) / smoothPeriods; + k = (k * (smoothPeriods - 1) + (double?)results[i].Oscillator) / smoothPeriods; smooth[i] = k; } } @@ -205,7 +205,7 @@ private static List SmoothOscillator( // replace oscillator for (int i = 0; i < size; i++) { - results[i].Oscillator = (smooth[i] != null) ? smooth[i] : null; + results[i].Oscillator = (smooth[i] != null) ? (decimal?)smooth[i] : null; } return results; @@ -218,8 +218,8 @@ private static void ValidateStoch( int lookbackPeriods, int signalPeriods, int smoothPeriods, - int kFactor, - int dFactor, + decimal kFactor, + decimal dFactor, MaType movingAverageType) where TQuote : IQuote { diff --git a/src/s-z/SuperTrend/SuperTrend.cs b/src/s-z/SuperTrend/SuperTrend.cs index f7c12fa73..f90994e62 100644 --- a/src/s-z/SuperTrend/SuperTrend.cs +++ b/src/s-z/SuperTrend/SuperTrend.cs @@ -12,7 +12,7 @@ public static partial class Indicator public static IEnumerable GetSuperTrend( this IEnumerable quotes, int lookbackPeriods = 10, - decimal multiplier = 3) + double multiplier = 3) where TQuote : IQuote { @@ -27,8 +27,8 @@ public static IEnumerable GetSuperTrend( List atrResults = GetAtr(quotes, lookbackPeriods).ToList(); bool isBullish = true; - decimal? upperBand = null; - decimal? lowerBand = null; + double? upperBand = null; + double? lowerBand = null; // roll through quotes for (int i = 0; i < quotesList.Count; i++) @@ -43,18 +43,18 @@ public static IEnumerable GetSuperTrend( if (i >= lookbackPeriods - 1) { - decimal mid = (q.High + q.Low) / 2; - decimal atr = (decimal)atrResults[i].Atr; - decimal prevClose = quotesList[i - 1].Close; + double mid = (double)(q.High + q.Low) / 2; + double atr = (double)atrResults[i].Atr; + double prevClose = (double)quotesList[i - 1].Close; // potential bands - decimal upperEval = mid + multiplier * atr; - decimal lowerEval = mid - multiplier * atr; + double upperEval = mid + multiplier * atr; + double lowerEval = mid - multiplier * atr; // initial values if (i == lookbackPeriods - 1) { - isBullish = (q.Close >= mid); + isBullish = ((double)q.Close >= mid); upperBand = upperEval; lowerBand = lowerEval; @@ -73,16 +73,16 @@ public static IEnumerable GetSuperTrend( } // supertrend - if (q.Close <= ((isBullish) ? lowerBand : upperBand)) + if ((double)q.Close <= ((isBullish) ? lowerBand : upperBand)) { - r.SuperTrend = upperBand; - r.UpperBand = upperBand; + r.SuperTrend = (decimal?)upperBand; + r.UpperBand = (decimal?)upperBand; isBullish = false; } else { - r.SuperTrend = lowerBand; - r.LowerBand = lowerBand; + r.SuperTrend = (decimal?)lowerBand; + r.LowerBand = (decimal?)lowerBand; isBullish = true; } } @@ -112,7 +112,7 @@ public static IEnumerable RemoveWarmupPeriods( private static void ValidateSuperTrend( IEnumerable quotes, int lookbackPeriods, - decimal multiplier) + double multiplier) where TQuote : IQuote { @@ -123,7 +123,7 @@ private static void ValidateSuperTrend( "Lookback periods must be greater than 1 for SuperTrend."); } - if (multiplier <= 0m) + if (multiplier <= 0) { throw new ArgumentOutOfRangeException(nameof(multiplier), multiplier, "Multiplier must be greater than 0 for SuperTrend."); diff --git a/src/s-z/T3/T3.cs b/src/s-z/T3/T3.cs index 56fcde9eb..1b68a94be 100644 --- a/src/s-z/T3/T3.cs +++ b/src/s-z/T3/T3.cs @@ -26,15 +26,15 @@ public static IEnumerable GetT3( int size = quotesList.Count; List results = new(size); - decimal k = 2 / (decimal)(lookbackPeriods + 1); - decimal a = (decimal)volumeFactor; - decimal c1 = -a * a * a; - decimal c2 = 3 * a * a + 3 * a * a * a; - decimal c3 = -6 * a * a - 3 * a - 3 * a * a * a; - decimal c4 = 1 + 3 * a + a * a * a + 3 * a * a; + double k = 2d / (lookbackPeriods + 1); + double a = volumeFactor; + double c1 = -a * a * a; + double c2 = 3 * a * a + 3 * a * a * a; + double c3 = -6 * a * a - 3 * a - 3 * a * a * a; + double c4 = 1 + 3 * a + a * a * a + 3 * a * a; - decimal e1 = 0, e2 = 0, e3 = 0, e4 = 0, e5 = 0, e6 = 0; - decimal sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0; + double e1 = 0, e2 = 0, e3 = 0, e4 = 0, e5 = 0, e6 = 0; + double sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0; // roll through quotes for (int i = 0; i < size; i++) @@ -48,7 +48,7 @@ public static IEnumerable GetT3( // first smoothing if (i > lookbackPeriods - 1) { - e1 += k * (q.Close - e1); + e1 += k * ((double)q.Close - e1); // second smoothing if (i > 2 * (lookbackPeriods - 1)) @@ -76,7 +76,7 @@ public static IEnumerable GetT3( e6 += k * (e5 - e6); // T3 moving average - r.T3 = c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3; + r.T3 = (decimal?)(c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3); } // sixth warmup @@ -89,7 +89,7 @@ public static IEnumerable GetT3( e6 = sum6 / lookbackPeriods; // initial T3 moving average - r.T3 = c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3; + r.T3 = (decimal?)(c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3); } } } @@ -145,7 +145,7 @@ public static IEnumerable GetT3( // first warmup else { - sum1 += q.Close; + sum1 += (double)q.Close; if (i == lookbackPeriods - 1) { diff --git a/src/s-z/TripleEma/TripleEma.cs b/src/s-z/TripleEma/TripleEma.cs index d07245529..2bc20b346 100644 --- a/src/s-z/TripleEma/TripleEma.cs +++ b/src/s-z/TripleEma/TripleEma.cs @@ -16,7 +16,7 @@ public static IEnumerable GetTripleEma( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // check parameter arguments ValidateTema(bdList, lookbackPeriods); @@ -25,16 +25,16 @@ public static IEnumerable GetTripleEma( List results = new(bdList.Count); List emaN1 = CalcEma(bdList, lookbackPeriods); - List bd2 = emaN1 + List bd2 = emaN1 .Where(x => x.Ema != null) - .Select(x => new BasicData { Date = x.Date, Value = (decimal)x.Ema }) + .Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Ema }) .ToList(); List emaN2 = CalcEma(bd2, lookbackPeriods); - List bd3 = emaN2 + List bd3 = emaN2 .Where(x => x.Ema != null) - .Select(x => new BasicData { Date = x.Date, Value = (decimal)x.Ema }) + .Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Ema }) .ToList(); List emaN3 = CalcEma(bd3, lookbackPeriods); @@ -81,7 +81,7 @@ public static IEnumerable RemoveWarmupPeriods( // parameter validation private static void ValidateTema( - IEnumerable quotes, + IEnumerable quotes, int lookbackPeriods) { diff --git a/src/s-z/Trix/Trix.cs b/src/s-z/Trix/Trix.cs index 1b12c8041..e845f5b3f 100644 --- a/src/s-z/Trix/Trix.cs +++ b/src/s-z/Trix/Trix.cs @@ -17,7 +17,7 @@ public static IEnumerable GetTrix( { // convert quotes to basic format - List bdList = quotes.ConvertToBasic(CandlePart.Close); + List bdList = quotes.ConvertToBasicDouble(CandlePart.Close); // check parameter arguments ValidateTrix(bdList, lookbackPeriods); @@ -28,16 +28,16 @@ public static IEnumerable GetTrix( List emaN1 = CalcEma(bdList, lookbackPeriods); - List bd2 = emaN1 + List bd2 = emaN1 .Where(x => x.Ema != null) - .Select(x => new BasicData { Date = x.Date, Value = (decimal)x.Ema }) + .Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Ema }) .ToList(); List emaN2 = CalcEma(bd2, lookbackPeriods); - List bd3 = emaN2 + List bd3 = emaN2 .Where(x => x.Ema != null) - .Select(x => new BasicData { Date = x.Date, Value = (decimal)x.Ema }) + .Select(x => new BasicDouble { Date = x.Date, Value = (double)x.Ema }) .ToList(); List emaN3 = CalcEma(bd3, lookbackPeriods); @@ -111,7 +111,7 @@ private static void GetTrixSignal( // parameter validation private static void ValidateTrix( - IEnumerable quotes, + IEnumerable quotes, int lookbackPeriods) { diff --git a/src/s-z/Tsi/Tsi.Models.cs b/src/s-z/Tsi/Tsi.Models.cs index ecdd67cbd..649efc296 100644 --- a/src/s-z/Tsi/Tsi.Models.cs +++ b/src/s-z/Tsi/Tsi.Models.cs @@ -1,11 +1,11 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class TsiResult : ResultBase { - public decimal? Tsi { get; set; } - public decimal? Signal { get; set; } + public double? Tsi { get; set; } + public double? Signal { get; set; } } -} \ No newline at end of file +} diff --git a/src/s-z/Tsi/Tsi.cs b/src/s-z/Tsi/Tsi.cs index 8485360b2..8b34e19ea 100644 --- a/src/s-z/Tsi/Tsi.cs +++ b/src/s-z/Tsi/Tsi.cs @@ -25,24 +25,24 @@ public static IEnumerable GetTsi( // initialize int size = quotesList.Count; - decimal mult1 = 2m / (lookbackPeriods + 1); - decimal mult2 = 2m / (smoothPeriods + 1); - decimal multS = 2m / (signalPeriods + 1); - decimal? sumS = 0m; + double mult1 = 2d / (lookbackPeriods + 1); + double mult2 = 2d / (smoothPeriods + 1); + double multS = 2d / (signalPeriods + 1); + double? sumS = 0; List results = new(size); - decimal[] c = new decimal[size]; // price change - decimal[] cs1 = new decimal[size]; // smooth 1 - decimal[] cs2 = new decimal[size]; // smooth 2 - decimal sumC = 0m; - decimal sumC1 = 0m; + double[] c = new double[size]; // price change + double[] cs1 = new double[size]; // smooth 1 + double[] cs2 = new double[size]; // smooth 2 + double sumC = 0; + double sumC1 = 0; - decimal[] a = new decimal[size]; // abs of price change - decimal[] as1 = new decimal[size]; // smooth 1 - decimal[] as2 = new decimal[size]; // smooth 2 - decimal sumA = 0m; - decimal sumA1 = 0m; + double[] a = new double[size]; // abs of price change + double[] as1 = new double[size]; // smooth 1 + double[] as2 = new double[size]; // smooth 2 + double sumA = 0; + double sumA1 = 0; // roll through quotes for (int i = 0; i < size; i++) @@ -63,7 +63,7 @@ public static IEnumerable GetTsi( } // price change - c[i] = q.Close - quotesList[i - 1].Close; + c[i] = (double)(q.Close - quotesList[i - 1].Close); a[i] = Math.Abs(c[i]); // smoothing @@ -79,7 +79,7 @@ public static IEnumerable GetTsi( cs2[i] = (cs1[i] - cs2[i - 1]) * mult2 + cs2[i - 1]; as2[i] = (as1[i] - as2[i - 1]) * mult2 + as2[i - 1]; - r.Tsi = (as2[i] != 0) ? 100 * cs2[i] / as2[i] : null; + r.Tsi = (as2[i] != 0) ? 100d * (cs2[i] / as2[i]) : null; // signal line if (signalPeriods > 0) diff --git a/src/s-z/UlcerIndex/UlcerIndex.Models.cs b/src/s-z/UlcerIndex/UlcerIndex.Models.cs index 5e702c1e0..5c4521dcf 100644 --- a/src/s-z/UlcerIndex/UlcerIndex.Models.cs +++ b/src/s-z/UlcerIndex/UlcerIndex.Models.cs @@ -1,10 +1,10 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class UlcerIndexResult : ResultBase { - public decimal? UI { get; set; } // ulcer index + public double? UI { get; set; } // ulcer index } -} \ No newline at end of file +} diff --git a/src/s-z/UlcerIndex/UlcerIndex.cs b/src/s-z/UlcerIndex/UlcerIndex.cs index e4924fb7a..e9613e3d2 100644 --- a/src/s-z/UlcerIndex/UlcerIndex.cs +++ b/src/s-z/UlcerIndex/UlcerIndex.cs @@ -53,19 +53,18 @@ public static IEnumerable GetUlcerIndex( } } - decimal? percentDrawdown = (maxClose == 0) ? null - : 100 * (d.Close - maxClose) / maxClose; + double? percentDrawdown = (maxClose == 0) ? null + : 100 * (double)((d.Close - maxClose) / maxClose); - sumSquared += (double?)(percentDrawdown * percentDrawdown); + sumSquared += percentDrawdown * percentDrawdown; } result.UI = (sumSquared == null) ? null - : (decimal)Math.Sqrt((double)sumSquared / lookbackPeriods); + : Math.Sqrt((double)sumSquared / lookbackPeriods); } results.Add(result); } - return results; } diff --git a/src/s-z/Ultimate/Ultimate.cs b/src/s-z/Ultimate/Ultimate.cs index e10886deb..c2054f647 100644 --- a/src/s-z/Ultimate/Ultimate.cs +++ b/src/s-z/Ultimate/Ultimate.cs @@ -26,8 +26,8 @@ public static IEnumerable GetUltimate( // initialize int size = quotesList.Count; List results = new(size); - decimal[] bp = new decimal[size]; // buying pressure - decimal[] tr = new decimal[size]; // true range + double[] bp = new double[size]; // buying pressure + double[] tr = new double[size]; // true range decimal priorClose = 0; @@ -45,19 +45,19 @@ public static IEnumerable GetUltimate( if (i > 0) { - bp[i] = q.Close - Math.Min(q.Low, priorClose); - tr[i] = Math.Max(q.High, priorClose) - Math.Min(q.Low, priorClose); + bp[i] = (double)(q.Close - Math.Min(q.Low, priorClose)); + tr[i] = (double)(Math.Max(q.High, priorClose) - Math.Min(q.Low, priorClose)); } if (index >= longPeriods + 1) { - decimal sumBP1 = 0m; - decimal sumBP2 = 0m; - decimal sumBP3 = 0m; + double sumBP1 = 0; + double sumBP2 = 0; + double sumBP3 = 0; - decimal sumTR1 = 0m; - decimal sumTR2 = 0m; - decimal sumTR3 = 0m; + double sumTR1 = 0; + double sumTR2 = 0; + double sumTR3 = 0; for (int p = index - longPeriods; p < index; p++) { @@ -82,11 +82,11 @@ public static IEnumerable GetUltimate( sumTR3 += tr[p]; } - decimal? avg1 = (sumTR1 == 0) ? null : sumBP1 / sumTR1; - decimal? avg2 = (sumTR2 == 0) ? null : sumBP2 / sumTR2; - decimal? avg3 = (sumTR3 == 0) ? null : sumBP3 / sumTR3; + double? avg1 = (sumTR1 == 0) ? null : sumBP1 / sumTR1; + double? avg2 = (sumTR2 == 0) ? null : sumBP2 / sumTR2; + double? avg3 = (sumTR3 == 0) ? null : sumBP3 / sumTR3; - r.Ultimate = 100 * (4m * avg1 + 2m * avg2 + avg3) / 7m; + r.Ultimate = (decimal?)(100 * (4d * avg1 + 2d * avg2 + avg3) / 7d); } priorClose = q.Close; diff --git a/src/s-z/VolatilityStop/VolatilityStop.cs b/src/s-z/VolatilityStop/VolatilityStop.cs index e99464810..02567dcfd 100644 --- a/src/s-z/VolatilityStop/VolatilityStop.cs +++ b/src/s-z/VolatilityStop/VolatilityStop.cs @@ -12,7 +12,7 @@ public static partial class Indicator public static IEnumerable GetVolatilityStop( this IEnumerable quotes, int lookbackPeriods = 7, - decimal multiplier = 3m) + double multiplier = 3) where TQuote : IQuote { @@ -28,13 +28,14 @@ public static IEnumerable GetVolatilityStop( List atrList = quotes.GetAtr(lookbackPeriods).ToList(); // initial trend (guess) - decimal sic = quotesList[0].Close; - bool isLong = (quotesList[lookbackPeriods - 1].Close > sic); + double sic = (double)quotesList[0].Close; + bool isLong = ((double)quotesList[lookbackPeriods - 1].Close > sic); for (int i = 0; i < lookbackPeriods; i++) { TQuote q = quotesList[i]; - sic = isLong ? Math.Max(sic, q.Close) : Math.Min(sic, q.Close); + double close = (double)q.Close; + sic = isLong ? Math.Max(sic, close) : Math.Min(sic, close); results.Add(new VolatilityStopResult() { Date = q.Date }); } @@ -42,16 +43,17 @@ public static IEnumerable GetVolatilityStop( for (int i = lookbackPeriods; i < size; i++) { TQuote q = quotesList[i]; + double close = (double)q.Close; // average true range × multiplier constant - decimal arc = (decimal)atrList[i - 1].Atr * multiplier; + double arc = (double)atrList[i - 1].Atr * multiplier; VolatilityStopResult r = new() { Date = q.Date, // stop and reverse threshold - Sar = isLong ? sic - arc : sic + arc + Sar = (decimal?)(isLong ? sic - arc : sic + arc) }; results.Add(r); @@ -69,7 +71,7 @@ public static IEnumerable GetVolatilityStop( if ((isLong && q.Close < r.Sar) || (!isLong && q.Close > r.Sar)) { r.IsStop = true; - sic = q.Close; + sic = close; isLong = !isLong; } else @@ -78,7 +80,7 @@ public static IEnumerable GetVolatilityStop( // significant close adjustment // extreme favorable close while in trade - sic = isLong ? Math.Max(sic, q.Close) : Math.Min(sic, q.Close); + sic = isLong ? Math.Max(sic, close) : Math.Min(sic, close); } } @@ -126,7 +128,7 @@ public static IEnumerable RemoveWarmupPeriods( private static void ValidateVolatilityStop( IEnumerable quotes, int lookbackPeriods, - decimal multiplier) + double multiplier) where TQuote : IQuote { diff --git a/src/s-z/Vortex/Vortex.Models.cs b/src/s-z/Vortex/Vortex.Models.cs index efdeb056b..19281faef 100644 --- a/src/s-z/Vortex/Vortex.Models.cs +++ b/src/s-z/Vortex/Vortex.Models.cs @@ -1,11 +1,11 @@ -using System; +using System; namespace Skender.Stock.Indicators { [Serializable] public class VortexResult : ResultBase { - public decimal? Pvi { get; set; } - public decimal? Nvi { get; set; } + public double? Pvi { get; set; } + public double? Nvi { get; set; } } } diff --git a/src/s-z/Vortex/Vortex.cs b/src/s-z/Vortex/Vortex.cs index 4f359479e..72b76cd84 100644 --- a/src/s-z/Vortex/Vortex.cs +++ b/src/s-z/Vortex/Vortex.cs @@ -25,9 +25,9 @@ public static IEnumerable GetVortex( int size = quotesList.Count; List results = new(size); - decimal[] tr = new decimal[size]; - decimal[] pvm = new decimal[size]; - decimal[] nvm = new decimal[size]; + double[] tr = new double[size]; + double[] pvm = new double[size]; + double[] nvm = new double[size]; decimal prevHigh = 0; decimal prevLow = 0; @@ -58,9 +58,9 @@ public static IEnumerable GetVortex( decimal highMinusPrevClose = Math.Abs(q.High - prevClose); decimal lowMinusPrevClose = Math.Abs(q.Low - prevClose); - tr[i] = Math.Max((q.High - q.Low), Math.Max(highMinusPrevClose, lowMinusPrevClose)); - pvm[i] = Math.Abs(q.High - prevLow); - nvm[i] = Math.Abs(q.Low - prevHigh); + tr[i] = (double)Math.Max((q.High - q.Low), Math.Max(highMinusPrevClose, lowMinusPrevClose)); + pvm[i] = (double)Math.Abs(q.High - prevLow); + nvm[i] = (double)Math.Abs(q.Low - prevHigh); prevHigh = q.High; prevLow = q.Low; @@ -70,9 +70,9 @@ public static IEnumerable GetVortex( if (index > lookbackPeriods) { - decimal sumTr = 0; - decimal sumPvm = 0; - decimal sumNvm = 0; + double sumTr = 0; + double sumPvm = 0; + double sumNvm = 0; for (int p = index - lookbackPeriods; p < index; p++) { diff --git a/src/s-z/Vwap/Vwap.cs b/src/s-z/Vwap/Vwap.cs index 14018c055..ebace13b6 100644 --- a/src/s-z/Vwap/Vwap.cs +++ b/src/s-z/Vwap/Vwap.cs @@ -26,13 +26,17 @@ public static IEnumerable GetVwap( startDate = (startDate == null) ? quotesList[0].Date : startDate; List results = new(size); - decimal cumVolume = 0m; - decimal cumVolumeTP = 0m; + double? cumVolume = 0; + double? cumVolumeTP = 0; // roll through quotes for (int i = 0; i < size; i++) { TQuote q = quotesList[i]; + double? v = (double?)q.Volume; + double? h = (double?)q.High; + double? l = (double?)q.Low; + double? c = (double?)q.Close; VwapResult r = new() { @@ -41,10 +45,10 @@ public static IEnumerable GetVwap( if (q.Date >= startDate) { - cumVolume += q.Volume; - cumVolumeTP += q.Volume * (q.High + q.Low + q.Close) / 3; + cumVolume += v; + cumVolumeTP += v * (h + l + c) / 3; - r.Vwap = (cumVolume != 0) ? cumVolumeTP / cumVolume : null; + r.Vwap = (cumVolume != 0) ? (decimal?)(cumVolumeTP / cumVolume) : null; } results.Add(r); diff --git a/src/s-z/Wma/Wma.cs b/src/s-z/Wma/Wma.cs index 3892d8cf8..cc28a331a 100644 --- a/src/s-z/Wma/Wma.cs +++ b/src/s-z/Wma/Wma.cs @@ -23,7 +23,7 @@ public static IEnumerable GetWma( // initialize List results = new(quotesList.Count); - decimal divisor = (lookbackPeriods * (lookbackPeriods + 1)) / 2m; + double divisor = (lookbackPeriods * (lookbackPeriods + 1)) / 2d; // roll through quotes for (int i = 0; i < quotesList.Count; i++) @@ -38,14 +38,14 @@ public static IEnumerable GetWma( if (index >= lookbackPeriods) { - decimal wma = 0; + double wma = 0; for (int p = index - lookbackPeriods; p < index; p++) { TQuote d = quotesList[p]; - wma += d.Close * (lookbackPeriods - (decimal)(index - p - 1)) / divisor; + wma += (double)d.Close * (lookbackPeriods - (index - p - 1)) / divisor; } - result.Wma = wma; + result.Wma = (decimal)wma; } results.Add(result); diff --git a/tests/indicators/Tests.Indicators.csproj b/tests/indicators/Tests.Indicators.csproj index 5aa7b0afc..dc2276452 100644 --- a/tests/indicators/Tests.Indicators.csproj +++ b/tests/indicators/Tests.Indicators.csproj @@ -64,6 +64,9 @@ Always + + Always + Always @@ -73,6 +76,9 @@ Always + + Always + diff --git a/tests/indicators/_Initialize.cs b/tests/indicators/_Initialize.cs index 00150fa1a..b99fcc0e2 100644 --- a/tests/indicators/_Initialize.cs +++ b/tests/indicators/_Initialize.cs @@ -20,6 +20,8 @@ public abstract class TestBase internal static readonly IEnumerable quotes = TestData.GetDefault(); internal static readonly IEnumerable otherQuotes = TestData.GetCompare(); internal static readonly IEnumerable badQuotes = TestData.GetBad(); + internal static readonly IEnumerable bigQuotes = TestData.GetTooBig(); + internal static readonly IEnumerable maxQuotes = TestData.GetMax(); internal static readonly IEnumerable longishQuotes = TestData.GetLongish(); internal static readonly IEnumerable longestQuotes = TestData.GetLongest(); internal static readonly IEnumerable mismatchQuotes = TestData.GetMismatch(); diff --git a/tests/indicators/_common/Data.Quotes.xlsx b/tests/indicators/_common/Data.Quotes.xlsx index c0c4302c978c99e493c9690a50f753b1258f0dcd..be82f2bfd0ec26588e1e0c58a3e10a13fa535f7e 100644 GIT binary patch delta 379183 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∓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 z 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 q#W1pK*2%Pa;vzww(C= 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 J&0Z9A^*`-36?Xst delta 223897 zcmZ^KWmuGNn>R{#cSuQhHzM6#(%s#8ON$`g4blQqGIYbxE!{03EgkRR?mqk9XW#uY z$9%ZX`#jHIU2`zQV!PMwvjc&OJTwdr6dV)+6ciK%)Uf25%ib#}s5!J60?OAw>agPy z8;0aH>^b^tP?#jG!*qRhmgJjZo_EXWd3`mKI+TQCd_SJssRUSYlr$(|%D=3(?xDd? z^o_818R#v)f461-R%y75u5(t2xTUK1d*Ah77+qY_&vFkuh8lRB)Qd#ky1rFtyw*k2 zw?vfBx^fl7`#33MAv?T`_yUst0P*b9H{Y+b8Sei`_Fx4$ZvI0to-z4NblQou)?yfh3!Puswa~{0eT)657f+$BJ}Xc4Wdtt zY&hq1obRG+CR)nn3<9h=0RgIfli&pz|5oD2*lVh@GZSi&G3m{%Eg66P z=w5Ki^L7Z|*LVF}hk%Ky<$6S)jaB}!8!~6=gM?2f^i+G;@=eG-Mw9BROKz9f-|L9I z%Z1lNW)i&K^{XH6e=b0LST>DM9vUareD3a8ct6jIrs&-|wh}456Y9CGG%^Eu8PW(m z4prFMQ|gDjk$8F2EheHYtKH?ZEyncDmu5v-`0*gpiUPrW-Q<{`M^p&I=d+&&!h2B~ z+X?A;j+mkg(Zrf{+&UGQx6nxRl%HI2p`oB8;1dCOJV4XHDU%H+Ah-Uxv!Ydv?Jad4 zjV31%vl>X!ZcZ+sO#cYxn=#dvf7t=B#tkEvkXkN|II#THZTxY2(>2p-Hlr*-p8fsJ zh$J3%WT8Hj^!~}p3>oFO83~mH*)Az-u$(*p)7_3K)z9I&Bvw3(Pp+YAl~DsOL(~@h z^yB7TFn|u8+KxnzDsy(NO7sMWg~DF?R+HoUb||t2r^EpjiEGU|Vw6SgQ2GRSq$%Mf zd540JDv!O-Ic9TKX{x3PEeGqz&2%gM69zT&9a%0tq_P1wI1?wAwMB*-*i$gea%(?! znv(vGkZNrbasb?n67wB(;E@2qn?hs1jF4FNTOh{N&e3+hT&;^%6P8)~R4IJr*|KNi zgXVXMxK`!bKY9*iL`F>B{l|y1KV(!ND4WVO!YiVa?lN3Q_YqLn>3EOU!#?09;*NJ7 z+~)8~D2;k#V!;MDrSm*8*RH&Q`xzqgH5{H;WBSs~BFJrYM*oak*0bNfYo_``kHOGz z#3SHO9#spgYjKAL_cb2*h8&@-ePg-2lzvs8(YZaRj~AnpSy!Adj;s0PDqYp(i5d%c zqhv0hmqf`$s3t<2qT#Xn%~ImGAiH}PzAq(n)8CvwuaR#te8Q5|5?HYsQi+X2x8Y}h zq+aR|Ua{``)e^1k1uX3PxZBw~(U8<(AM*oCNhb>&(suWqu*sR2wKec!ztLhdhi*E{ zl=A8F51|VKuS3o(kUqNr)`ss-2rQ`F^XRH@6*p=}f4_^Lj@NK_6Q?E2tm>hlKL>x6 zrK_l!5?@5QB{6EPdClVg-Wq=K^4)I03-3zlDuexxY!%maIdgo_= zAdsprA=O5km%6l1d-SKK*(n=5Y3o`LJowU$rnd?@99?W!m=A6|R4X)rg{(n3>bq3M zx1D&_H-oi3WS$fGCSDn8T{q5MrRhv``g`@PYk%-|RpOXvGK9JaEIB9^9Mt6ojECqg zcDKU&6PwA`d|l9`+ujHt-G(5S^dJV}pg+FSem(6-rfC&A|Hn39l!f3KI?)6k2Pv>` zqEQSIk>BC#+>q&C0m;L*Juev<_7pPNp7NVoNsZD<9ciKA7d(Q`19^iv*Fg_pWMZB5 zPNfcG5y3Ll673o-W96yjq=0o|o?%dih?e>_y~e^&Mttnn;dHo!bt98c2{jwX>x6)_ zn`*z17~*?`OwY~%t@r^MvyoE;`pC8z@(Ec7!$gIR z<%FbiQkVJlkFi_Eg3m^JnwpI3l9A(Ng-w&efs6s&aGmo7`g6tv{3UTpyqWV@*uKOx z1~-LW;dXRuUm8re6x@?NC%wa(#52N>ElKA~eoU8)d{eeOI-1XwhAWx>xn_4Sm^GMX z3gb!R(X|~UXyRJJQKn3kUkJng70M67eceEjn zYD)Q3%B4=WB~b$3AC^%@FX4lP($M^l!4?YYSSxX2oe*GW@piD!O4NHvAMhIOZ$X_v zbhrdARHU+EP2GDA#Y2|y7=9Q=0?wr-n?#YhUizERJ)m{2Wd%GuhKW1PGsx_DtHB8Qu1sgBseP-IuGo8p@8$-24Z?ph;(g_WOnHEeRBzBqk~NY59hISwn0&G!fCKSsJ7) z0k$qUyG70v{T*2Bp7&ib54JNYbfQm_8ArOJSV5t+I|XrR0VnM2D!Z5J2?6Q-W*t~c zj|tAzPW`=Se~@R$N%De2v5Z>nDnWr;oJxJGhV$#``g~0h<0^Cf0o^NC%GJT*T%Eqi zP5>C+?wiVSY4gW~6WeQpH#zSd86qr82w;pPbzOX67_0p!os*P=HTQ`y=ds>C3iqCG zftAXc^pmFr0aWF7th4u3UCqgt3Ua+;0+oSYEy3M6!SpCNN9Zee0bKH%x8C7ua2#xI zK|zn{>?g_V%kPG^6~tH_=}H~REj){j0jy$b8?NlWEtn8*#BsodsrL@I?llIhHBuAk z$B?WQ6qIhzUzu?Hl}XZ4OePyf_zB}5(zp};+}B9Dl9^I1yqZ6^ewZm#2ebdkPAqS~ zk0DJkptlXvdfjh)^DsW*w2Mx=$`8+giyaX5p7kBt@5oZ!j>?JH6FaYPk|GzQEv3u) z_g3W-J)2t*x2gl#w)8*IFnl%hwGQ(y10+8T)tvXf1N_o#Lbr8#DwpqU<8bD#s8(-P zG0a8471H?c=}XuorrF+W2OshO{sT*C6T!W&%}hL#+&_pz0(J$x(WktD`h+0o~<)h@=I^?*zU6ISeq))Q0hc|yNxD|QqX7yKaEWCf9HRiE@2SIneZg((-t_9OB_2tVPw~^z-dEQ5N1F4=Y0@QPUZEb*I%XP1<{hdf zkJ+?1ZA5!6=v%(qj&kpezU17U2yyCn#5~8p$Pl|$?2jo_3`;S&O@gaQuQ7Twzbsvi zCN-P=f+5IxhC=zer-bxvKMz{Cb6#xyA;Tp}Ft7&bF`&HKU;E?)*1lU@B-WU%@48n4 zaKW@g4VB?-N$;onxh(<=RV6#Cs;lvf!sR635gG-u(gWZWPYJcRGKX_EKSrKkJoi#%QWqdf-_T$;L?k;%A}ZRZ+XDAnK$*Uy|aYZ4*78V z{QUPNDSN5vs4>|d=$k*uR$6)cwfy7Q4-U6ysr-+<3Q)H zmY;@jThS6If!mAchsTrWyQfE^j%VO%SoHbi`F>awc$|E=8P0uvycd1yeZB_Wf{mU^ zegV&0PS1Zj)_~`W*pBBdqmHM>wZ#pvQ^&*EPga%51o<0lHhphbWo` zZkoW}H`tMsprD@tLB7aobBas{Wvw4jPzqfBC+MweagS0z`hd$;33U|FP-!d%vPjHD!wjW&YMm)=hR-M>164 zU-CZnwRD$mg%BkGaj@Ccm>9SnmQV3X+DdQZ(J)Ceh0v%HUXtSygKK3={q`LP% z`Vu{s@dE3N*A2Uoo0r}4VWs$PeE8Ce5B2)KUS;snCV_F*#N2hIIhIdH8n`u!dV4sq z_?| z@YXsgMSZ>sevf_#`}>RCWt95*?qwU|NOO%{s?By+B&25Uod!GKQ)!3~2g_>kpfK4& z<;mS2Y1@+zWQ&oe#WWZ6NXLqX1qA!dPU<>+q%D9?^pVlX!jCS>a$nn+3%%oC^Qh|vWOje(y>~td55M2YYtq2_R{C|Y zCPc71LNYN@D282(qb6VLLJvnDH@EPkxB)e%BjC+>aFp zIyi)4Od0w~IboQlG`Stjkrk?iTsei-PIX+s=LftE40)<(ySojM22)emNG?sf+VZcF zC{%cgH0PH=h_yLk(!7NPj%{fJtzG1g30%i&xo*@p$BNUSkgIWAl_?F?!SWauj#M44 z<^i+stk^L4;HB(A37lY>LIM~=!xEcTMU!bnd0yP`c`>&#&5F%L8h9MC0%4{Mg(O5k z107?_q2T?wgDgxYZMvs-f@!PA)Q?lWdXc>>4$ns}53jOu+`K7`_@VNcxAD4t1%na? z7wrmha+F>qYX$4SLQ3cwtpXwo62+91n4nVp1QCvO8B(P_JK)w<99UCwMnSMz7R@A2 z<6DNS8Y|CB6_O3oCCV726$A9lrF;Q1#&4qmAg09{9fmofiuWlz(kUtNkS^jm&TL`_ zem=%$ik~<7v%3>|rpqSvg0*jsheTBWmk= zg$l@gVao-XhZh8ET?#cUl?pZ@1Lb?9B1!L(#EQR#>?TBLc24bfPMyDxgj5L0afuyh z!stk_a|$HB-Xf;|6!^ou^-EI!(o}UYpFbW})7~v1SE@qACN2|!)uHhN) zZRCS_>Dlo1G|gl~4i4lK2nxw}?dZitM-+L_B+`mpM|&7P*tmVz03zEVYL4KLGLK2~ zK?5fsu#EE_W9JkSAS)IC!|q!inV=#Q_1fWOl?BO~q#zcyN*%6rx)6zu zQ}#9Q&F!TG85&!ME1OQrJ3?035af#`oXK7roqD$_9phi+))t!5*y&m?f+Hm-rh$n{ zA?8I`O9`c4YynavzFWt^jfX@A*PJ;ZWzOZ?-=iFVt&|pXD{?z7cec<3XOl<2z{m00 zKb<_C&!uA%mo2`eiyBeaIG&p3SWCg=Yi~Yj4bS)werpyV9Z5z5B}P)#Y8@`00c<`R znZD?`xDMILRU$H5JEG80YHLU2KaNi7_GB!hLaQEXfZ$6JD3!4Um*qJ&rooMUA~2oY z`;%yF3$9wHxSSz3`=(Ame82|47Tr5N_V;;dk~Runy`8i8aE$~T>&VcjsVED@#*q3v{dY-;o$ zEP`VnBZSrK3cEsxvD~NJIuuPpi0zXyi3llPg7lk8(XeWm)z%w4MY5sweusfz@nwrZ zJ*+MZ1uQv(E1NtLIk9cfX>lv4txo{h^-15=Z5V+aeT)6KRnb|P*2$kRW#m^v zUu2NxnP>#CY?ky`Q46&5#Nq3@{p)sbHnH+= zt;nh{BQ45m#uo^nPYH0TGaz~%^h`fNPsMSC8_rKG={jKy0qwQjJ@j5D{*IV+ULH%x=7A>+wLXYJomJldZ>VVfa?{!nJu#VF-|$b3Raq{OURvAs zgOaE8VB~<6LaN}t5GX68NUSMFsN?NyQ|gc?1M-sFKWk}u>}z`$-Iz?8Q;rLzkstc_ ze568J1>I4@hO7VH;LweZFcyCz9gb#>6e1@6n|aBBU&DTfd{}kAeJK*KLMNWT?h+Jaj?~z& zh*!orpNyq5A6>-k_ZxlIy_rdWNLWrVVUTeekV1l|CJDQ7VT zkaq0p<7T1oXPx4!qDRr}HB#|(Rk`ID^fvXJ9`c?2J%l-!c*L(AMj;+UA@uX98gk0Y^5v8j#{W2!4>{CFCO$?c zL=>RI#Sf+u!9Eh$!{`5JzW~CQp`20polkooAQI*$-1W&?AB6S`1kdle+<1@#>fQ7< zO#x_C!h7X(W&`vgR$*j#U&hWFAs?PvEXKq?CH-T1howaq$BOq+nxxWiqw(+*$IjfN z5U;WX(L`f=zHgl_b%V!XCzH>Xb^5Ts3GjiZv0h;Cj_HGG8EbNS@7-|Y^Kf~{_t0<} z=~i?ido`qwD;~`+eoCPW{5>dS6>P9)Ef$i(8k-wP8nK2a;!<_Fat}cag?(3^v{iHG zFZg>9ESA~DNkkuCnDXD$hZT?3M5!q^bJ!WxfehucW(#>v4B_U@uQ`{S7eE;ZOe;)3 zX_97}g}3 z$TGmoHZQQ?qOfbS_m;h_jq{#zw@w?{A<~@$nC}REvYA{7HL%7b*N&W+i2Z70u;eI)ebJ{SQEUoq~n;VtU56AdZCSu*OZyJ&a?SJ;jVPx-eO#e4s z75!s~mjgL&|E^8>zuF|pZ9VS^4iC|0#Z<98O4(|KCrb4LD>MpTF=!aUuDy z*b1ijA8S@Y)Nk=`7R>O&m9RhGCsmg~pam|xo2lupmIWiXayrLPzNDg_&jQO>-UMLM zAianAuF~e$*o{M_$5nj~>UOPzPF;ZgU=btLHdpWWy!q=>0(zyKh=_>s9&zaK-(=4B z8fnUkpUUmXv|M1(E{Dc`firu1n8}7I00(q*hy8Zk(5u-^0^O`Syl3I(kh_eNZh%T0 z|H=Eoi7Ga)en{{5Rvym>W_Os%0J!Oidvi6QMScehMz1#`28fzM1li>06X4z+a~|&+ z_AzG)abb8TZjbPsD)aYXqf)@?bKEvDULo`-VI?v+~jDV5t?Du=$Q{wK%sz%0`w6?2sh%WV}sFjlbaM77Z(4AkC={AgUa zaJ;+mE2S==XJB7&WG)S^-ECKuAAstw#ZV^fq-x9iLJQM(W(y67>I*@+pshm#L#GWO#B#1V%&;+mIm#= zNYrezRbpOpi1HJvUi^H(A6P^ir1I%d*bEl2sNgO~SnGi_j0ofZ$yxEEYfaMQzI*C-wZKmqr6VaNCe>ZvZM@5iE?u(Mh(z zVZ85{>sUBJpETe$cg=8Ve@vViM$~mmxH;&R!-({G+i!Y(v2%+D82rfgO#&<~XZ~8$ z_2fcM{cjNtz;pqHS)^=w}oI?1xY6Gst(5s};xE;u` zBLYyqol{LBKzQ(3aHss(N2Eoz9I~J@ zEAgMFpHP#I--R|2s);kCtBQ{v_FdxsG&bvxBYZ#VIUZ0B$MN0rbHy3|FYC!0j3rM8 z8zgaT$Hkr}xO57{HIH{uo&!PWpAyYa8pi}`gB!$)xO-M+J7Us^rAPcbscd`j&?_5HsaAJbV3QbdiIGo@%Q?su(D0*pZVA6d>oxPs{-1<8!$h9h;E^` z&yxMzaNTlFN1u>D^VT=?owRUjrSPtkl zt9c+e)%XbLlejr8@>sTv$iX}oU6oeqF&XZ#^M24}YVaOHeFd$)-Q>~_K9@P1m6G35 z3m6`BWpE9rZ`E~b{#>b)UxE-jf6#69x&-poN`B6OH#dX=1yWIvBVvZ~sDEB>1!o1j z)y*bQ_&slcsGP!xf$qnL6zf^1wP}HqHa2SC1HFvR<@my7CZ7(2j5g$0oo_#u?=V5M zy~}YHdwCrx#2&+AmC*ZIP>Y-Nyyk{Kadd_0Z$eY#7PKP7oU<*i?-y{wMW&Mazlk+8 ziENQSzGA{bj=97Y14jP{*gBGOUxZDSLQ9MS3Ld49r&@_Ei8=)Nds<|uMr$-po(jq~yb@PMc%qx$> zkIl)j)=?#nViC&CV|pLl8$xT_9}JK1__&XL4j_5dkj;n$OAWGeQNc@@yOV?rCrM2h z4F?J2Ig+Y?UeDmg@{@yOd5Z@Gb`w!ufKuY%AzGAZDcO|7`>ig5W@I0ElLq9bjbB7j zS&fVE`n8~CyvsS)uQ646poit5^SVBD#{ryN`r4f=b|-PUY2v$qK{;X95CWnWPGvW7 zGXCs4WT!~v{L;4<1hj+}!-f+^L+Mp$E!sW@t*|W+-Aln$7k}cv_{FT8l6#8@C}^jq zeB|1xno*OrE&37Zg>AkoFuRgsktB%o^(bS(Lt~{$(@I3|W>QBeow?4xm{0c}2bU+7 zjOTj%^nhuDg0^*Pv84Si{KICUm$&(Fh+}^>?zf4149v?pj<0Big78z>M>`O~qNJa3 zO77~GMd9Jz4R+^fr2LR~;WgX3-VuGMi9jJYSAcpu-%TIRpd{xWbLM!MfuVA%biFaH*O*7uPRAa_+xhc z$|uP%r7w!kjl|-=h=NHBetvWcfDu$dyGQ0ydOZ+egR5k2;PNOsU=QT{Xv&ApSiB)N zr=j|rQi5JF*|&0f+fX%iS<-KCZfBMkDnM^D$bLnb^-7{4IIh{+ZNk7ZXwIHnm0mr*y@G!@ERPm#Xk$yH() zwcXcKA`|oKQdj|ja~1L~t`r`ds=Z(LolRNC84Sk>Bps8;c?D15DHBq*Kr6)a^7$kh zW%wjZhv$Dn80mggS)@>xVg81&lV1+rJLah;4LKaAp$7a%uLZ1+Nw~aTkK!q}Gcunh zoU-Bina6MV-d=v+ZxIR(3;#-QhZE>y&Q!?>lm2H+XQeB!!4Xh@2N70KJ6epkPw1A? z`b!|gU@F8XKP2u{o=A}q-qno@|6xuHjJRPa($_gciClQn@UNUOQI-l7OP5Byvm;c2 zA8CUIEZZp_A=Dg4+~d5xuBC6x-jz|lr{lgGb13;JR)Bz^n)cAMZq2MU`a5|AM4C zzuVOE*9c=0viq$+rrRi@!K{Cfjm|&WJ0qsvFbkP7PCiyXt}lrRm+3|xA6ok+1K_9T zROMWVFU2RiaCAkTIrxK?jk(B>#8tMThVN>6?K2i-UET#a!+g0Fc6V`D9I5=1AD(wF z5Nx`DXyjcC^ex9pFPCBTjV&>YZ!v=WIuwxX zH?EEBk`54>yx*xgRjn(!?fytxb=@2wT$31fE>s0gGc@qyax@%E!hX{84L zpw(^W#|3<}4NPdniib-++|4|vs)aS-nVL%mW#N$O`abnB1l2T3V)`cjh$#ZCH#XzG zh(6|g6kYgu+K3+2oafa8ty@$LNHZ(dbo1l2eS(GlW#uRy_H9FE;m(rYTrbWDd8@wd zpuvuv_7U7|BRGBvw6|_1t0)=4`UWVzt*@q?LO~lI+egkM6Yd@`lpJ}rOGNBg4f!_ZfoXMeU`sgRIC`BZbQ47jnbI*t%Z+U1h3`l@#1 zgwd?3$xVZ~&t@^aE<8KO3{ie*d-dt58(uV^Il{w(LOLt^5w(Kd^lnK*HJNiplEs?o zgPnetrsSyt^M=?G23=TOZH6;fA7G7HB4&Cnnc;2)VL=l4EvvJt`|GnV z@cAlH(oWK(cJ}nW91A#Ye<+Q;%GO=watHlwaOjF!+R;#};&*m`^O;>_R2IlKaqs+) z%12{?hffXZEP5Fm-{$jtO4Syl4Nk+H#H7mQY!q{glS93&#({_rm5xX$m zrdv&^b^$HVnry9CyI|PYd!K7rVk=@gFuIFbV>iqdPKJ7(SYx*$+!!%{3_~%s%DT9j zmRk*+7iH-hH!JDCCoc(bkdP3fy${DzUOjO3lBZ}ughbGzR&V2>hm%hX%4mCDOE-zRF z_POl#Xhok7bh#S_6h-&G9LZ^rm9e##H-SZ`#gRvMOTO><`pzNe86Xd99s#Z`7pT^v z?>5rurJRx^VU>cuy?W>xb~cF=RfUCL=d^FcYA~Da?$6OEFFfsC8nY|mWtzA@wd^{O zW_)q{>59Wu=gkCi%~UY^y#HIEk9E~I??4KcAxV$b7Wo0riM~k64ytu@(!Mir4G)+e zk>o-ivRj?aU)Z0pemeWL%wNNc&P*jFq7(XW?r+DS%7m@IJ;8dJL8rl+nF% zqzuzQ4}uiNFYFIQcVLKRR=-f(%`JJ^z~=pkHb~t|*8mE2IxN*#)Wb?1c2Kh1;>z;@ zEwI^O+YZ=QP}OPX+;IRDoKdt+9(n7kh{z~ms%dYrIgNLy3F&T<*k0)ogt^GsX{Nen zCK94ONSU?F(agjx=tx_B6Y^m+w|sF?SUP14Hqu2P9Vn-yn!kdrdnc(M>yN9Pq%Yg# zZ0bg%ia&mxc$=6{rD7>n-DLa%-M`B427idBT%`bccC+1I+DD?AyFWn(5Ej9(Oq8)< zFYuXk^3HCIxc~R4LzQvqko^SO-|pM~kSSR9oz%hT(lc#+{~f{Umq!?)d^9#m`ifPw za}Vv2sUvE-qKA3IP-4@2OFZS>A*eYVmj?V!^>S=!0x=FXaltS#H3xgW=+xp;m(!J3IlMX0A`Do)(W z)R2jRS*24?k6*8?Z?Z>Rh(N8CdxzWUu+!evm}fBKWmpaahyolieRVZhKoU-{n5{+J zb(_(_kriEiHj8O9EA$|4z?kP}&;o<#3IZG zPDU;6ti*Zt!z*9e z&;ZXcL|COVgf^PmWOx$t0PvpF(vvcMBeyxv&v*#1u-XFN zz=?;;6Df3-=hTcmjmC<{e5mA2MyDgE*Y(?qjc2TjaV!S@Kfv|OMICeX{d-a9y=1`W zV|_=6@Iq@!s}o^XAwLAPXj@lr9qpU@SceH;oI9CAmE zSb|J>kpChLt^ZO}7tKUe?-v2eY1*Z{tSzm6ca28BK#tpLS-2Z5+^g5PTPuz?aILI!|DSIEL+p##}yq#1dQ0~#|FrB?NBM6htRH-xN znR}7$UqwK0QeuN7kIKqMCAh4p5fm;lEdbw%jr7p$>X#X^P>o`3;JMzF(4ylAamZ?C zuhLvL>(vWHz)gEDk52s4=?1wnB zvaJ%jZsE5@)=TBz!mN4_TFJzG%2lYU+=cH+O_CnEqqF9^(7QBEW5oT ze0W!YMQ>+NZ-e6{BmED>Z0O1H7h!0-XL(5t^I5+pA(^8<;{5#unv)w#X8cNL9I0oi zE}Py#qkS^1Q`j&hJa$^BI-rXA6*r!yuu|g@#BX0;xXOh&ps)rS&=+}OEC4rnOH$zb zu^2YLy&vuNWm~nHkRtkCX|tDj4NdR1}%D8^*c z9b@%%F$xOW1;5;s`VD+6dgfh!b89UF(hwK!f)0e%G;x*O?z5hRq$i=`7$DauP(MSn zt{gYGhpkAVum3^z5olU@?le_cKRXHtrwyHcoiX+xh`pNwk6|ZP}Ali zNO)g#c%O}~%-j^U^B>#!pA+^Y>Ou17!uTaD!651bH;Z6Oz>hmZ7>-B9v2J%`tl-}jPqA_SM_fITw9oEN#+y!K`Fp}2TcYoeXooh)P^54#^elD#( zzrs>ALB16H)WA;Q_^J!FbH}H;v~|}3H+7@;_YoXx>)>-+EQa#xxsZ+uwG(p7xuk|E zJSMJE%}0=9+la_oiOYM8bPzL*?e4k0qK4rG(C~S9(XTxo(+SI|2j3ES{GBTLbUtnb z_=iacr$figB$^&!MvM0KdXbAy6*P{`FKf3^#hioam}!*u)+ zU7=v^=Y3Y&Db1Nvl$R*Svk>JU-uAI;zkAG%CmFm8+@RC(lBpFMU*3lctgI9kiwOrg zpw}?AVNagbI5)CtK|4(Qw=kHoRrUyZ*f2eS%sHIc%e;DAzMq)8!8sPYNj(bnnh#Ut z14$7pm~I5Yv{dwTVNcb4w4EW?_Jm(-L(y~%&#P!WWQ=YH?kX~rNaJSjZO@kzqK^R6 zhMDh%QH&fF!--X9>&z4U3@3gQ1^e7;zU>Qt&ljI# zhhF99y%}#(Lx!VK?UxX22B98yTRt zys*~=1&w{aOH7=+a=z@n#YvjOuu<@=7U|i3RZv}G-&LQ5mL0O60eI|B@?BcP2s0f& zTu87XYIlmJIQO7Gw@M(hKbRo`3?b)xvw^37wm;hWH{QWbaz7tTd<9(gyDDd(kwduU9T<8(7s7Ujz?C(LA6GXSp4XEP zO`aw4u4)!Bk2hGO3*3=^g?1U?lA6c ze!bu&Cy@s^}|JiZsY5nSoICvS2y6Y)3&5jR%rm8sXkiXWS>N0?!bxEhbu;i zhyp!I@L34cSmIkiL~5rgeIN?$azmGhQs@TS)y{Se6SJiu&T{a6Mu5lmB;Wb^t)Pa{ zTl9Nnn{EB-*g^4P18Pi>2Ba$&O8qW~0?GKSU*juY@ZktMp?cSQtk(>w|HeJ7_BOmb z5`BArV-1X-q)=l!PV8=$lnoS?6?R*#wf96t3pwY_M2jmmURS$6yk8}|Y4F&t8Ttw= zpNo8e3ui##G)$r0TG2k_X zsH-zI7+mHg5gNFh`Cvc8Dg0tonb#b}8>qn1aFf}w;8D;7|2=uLr4gxDeT?7--Sg_k zy4d{pB?d=jT&)|S8@YuAKj!4wJSh+#hMS(7r@y4mJLR;6phlT|{aJ9JeKOPve5d0<@Kp(pat6}>h1U`-BV>ax$T6p!aKNy3pq~7}tbE-rLgk4M z*U}Z@I&i2M($zcLIX!4H2U72f^X=S^FZ1NUrx0&(K&1bDt5dWXiKXB)_H7i?O-8TC z$NopttQE@;3KZ3<$eNy1m8dm7VIPX3(dcpetE>r2lhecOqOX?EwLI2{Y^5A;f ziN8DVsABzOn) z5@0v*^&3^JX3hildA0X(?qkUaN&3}ALVlAAknjCkb*28vb*t{3A+;C-=VPl^TxbZd z^VapJOl|KY`;%rZphe(PXJ@ig2@hgz6!-lgWOAQOu$P^3IyjDPuKQiCoSU7+s3NsL z95%|xf|=BB2j{HV8|@x415&>iFsfg`KqEFrd)7T2mw$&>yDNpIqX6(C!ah7?qMF z=QSq&4kqFqZK+G#h zfsCz=$(xeyO1eb|9cNg5<7e=A!l#ix@H&W|_785%l1nyeA50+4dVtrLZ)%S%(Zd$M z!Qx!qO0e}#9{0$rbXly7s?}^p9P&HoiF*HrtAt!~SNu%xe(!XV ze$Gw3tffPIro%O?pP{Zl-aS3zZ$q_9u{A{XclS7jxP1Zprn-@HoV^Rms{Zg4>j*d1 z0$rXjX}rC9EtYyw8pwy#1YJ~#B1;Q+Rt3ejqlvua)_Tuo6L6KQ)=`cPPp)}0&6So)t=YpAys8(gN7^Q{y_Uh8sS_Q zj?@a#B|wJ0OMF#P3~&@T-~^}EIrd{o1||!f@JTjpUms32%T^eWxCjW3Z6|ovz$xDe z2+Q(+6W<=A z{DSCB@8+0jEb2UWA>?|y*2^=vOi=YS=mJDp#kTVPEM5%y+D4~z5Q+Rcy!i`;@=F*j zf8^Fn&#fs@)7&+oe%R8OH@yL4Wr5n30`p=Ad2PP%eZseDv3}!FV5ewKT5*Y{<=uv& zSlIpfu|xyeCwX5`C|P#E(fgN)MS>%VVXe6kfk*dnmO=FjmUfV9$tCCKDjz@>%<{-n z1@eIpSMqM^GibUr4j$bVaeYM$d;;B80yQ-7?IZop~og0S~7?GhQ39K3olV06iQt zo~K({$IduU7ovsN-veQ0iPw5TBW=_u;5Ip&lhS!d`R)~W12f*Q1El~t_3mf4JG}?( zb8%9p%5(FU&V;^@->9)|CN23g9Om@=qvetgAx#Oh8XR+FiwRA)N*o%fm$sgLp&5FV zWd?4CGPcgtec$fUm#?kWDRN&gd7*-0*ycV`C;!SfXDMs;qh(0*qhL*8Jb+HqUcRSf<_PWYi=H#YP#4u5pO5U z5Txq%t1NJ&{4@ux)hiTxqhq03YFOXY<72m2x|4dNI+}dy_#8Z`Cq&2`(V9j{xUz1a zcVtv1LyY+L>yNh|rz@K6mY_@8%D3IotT;t8r_T+bzJ76y#k3w9t&Qc1o}t$zZ#N2-_ch=zi1KINGW*MJ)1QG~w zx4E6GRV&#;P45*W>Z={hN*dMxzd16{CEcE*M`c%&R^zdWRUuaWT*ddE{>jRkvm6zj zj=sb{GiBYr?}4_eOk^rt)i762<2GvlO$LtOH!f}}VP_Z|l(Y)=ntl7QYadSP`M5vv z&q98#sLUMWUu%ArgvnvfC22b~?C}xv;=R-Wl_TbNF7uhSf;yN}5qK36rJzx{$1&Ul zRliEC8O;5Cgd~t@9u`K>`Db>9SBaFCpOrgh$mqXNaIXMU)IY-tjXlxwb)x&ZG_w>o zZoBf@EImoXVq)I=U^9-;AnlBDvSpgouqtXq+6q%&8@pdKQTtDc=Jjo?xnAL!ON^Du zi*8xRXCKmjz5F0D!+x+&kbEsm{-(j(-r2i@=R8RD{KyIHElozB;;V()M-fw~X>aDr zCE3DlCS(KP%M8Q`KQ!BU&ei_{l%Ci= zrP?WALBx;pMJs8n!o2JlR^oOR_}TS~L3tKA>w^%$&BT$xD@in%rN+^v@$xs<8@6>mF&M!q!`Q$#umy?*3JiAGwP|#Z>%E6?(}_7H&+Ql# zWy{OCEb_{`&nI9pA4aczSXS7^T#j?4xy5`(R|P_|NxIKLn6a~)lZHh{HedjCe4aTawl2KYA(L&ag;8x^WAxK|^qt;O_43?yli(@}2wM8E?ElFc`bLWY((evC}U1g6*~EuLCXD>jYJ-yESk4_72TIh6U%}V&Zu9m15hzJLAse| z_p~jO(SUySA2cO^KBTZ&jBqFO{D%mqSR=h~H(D)+UYykV$jHLGxV1^3j7#8D_aQca z{_pmBn6FE>4D)MNmDN)1N^fi%);6?jdH5X5KFq$)h#gD{#1#%Ff28Q$nvzXgO*do8 zkRTiU{BK%qlNH%K=^={3msUg7mYKjK6uYSw0=3fS8!tW}nNz$cD;#hXMswq)(NVhF zpum{!Ki^i;xjm@oc!slwwem(gp7(iarPHzN`0a_kVYw4&yHXghK{6lmz6*JOV7>iE zmk1%L#3_V<>{$?_j^1fMbj^T^MA531tV?ix8H?=9pnBN@+Vau>MyZv)q$|CsuGCOb zcGMcfkI583ocuMTi~C_T{+(5ZIS^qkPYA_Q73fCC<5G_hA=l^UBW%n8Gfk@y2yHC1t6;WCcxLT5qEF z&QgB@0yd0&x9;1E*X}4S{cp)&Sfmm=LMTLslBz29t3V{yXdNxGBj4F>GMmQFc0!wm zbBp2gAAOV%2E6JC%HGX*DHM&Kb3=xz)LzyWU)|WhXO?xbfBcmlYgV2eEIb|Nx!HkQ z7f^h*<>@r`y~A36qUbJFF=Hdr+To`5QnD@`2qw%)Q2_hr1< z7q(U;rg5_&I#Uvl%2@h}+~EcoH<`e-rAG{0tD_b=Ei-pw7%HvOW>lyZ{i>j=_m@=F zfG2Hv!b{fD=pu2z9V%yU}Q1#cg5sTMZy&jl01{2mg+`9I%x9^Htk zc5&+aXJay7kpZQGSRJhCc0w}iYHi>G0=CWwMB;qLv3%S+)nIftq5GvUI$M!1=aQ-F zR>I6`wC;WvR3;*_lB%7*f=_ge277&MNchWa>fjp{^i78|(pvM9$yC$!ywCJp%^`KN zB3~=cFZwA4ug(BZ?hGnJr{Ch^QxEigvDgH;aHbd)BmURI{7Wv=Rq|BuywAYthia5N zrl^%ZSA_s!f4H4_#cyex@4%C7zJ_#pXwz(eVG5r1B39f~xsZnQ&~@DpLjD7yY~m_a zWiE_P9Z%mlVjtM>?BGUJxP5|MqIr5RhUScsJ37V_sCChA{}UG-t%anf!l!-4=$N$r z(N)4(*fPf{n5Ry{S?i(6vi`dm7ng0&-TP*qFC);(cH0MuWv7JN$)`um@97Xt}Y(|_W4{Ub7y=t zUQt*!HuAdX;a6(>Bt(T&W@?TcixbDo?~9|=<5=Ous*K>rzrkzc@Few~ATgH%kz zzi@zA!ir#q%lBOMJ|9I&@!ogei3};28jst@U7qd&mQG>)2qXH7XV7a|9)zwawTj## z7JmJnSlrGq(hX8k9?Qaa%sf_*Bx4(^=^=vX_3k~vwQ3m*;GN^g>+o@6q>& z9do5Wo0S7Ny*?*Jw1|jzeIFS^JZ~KLHAh6FqU`SSQS zX>fJ6E`q4>4E<5-2C30hf>)eyBLAV3ayI)r$d=)^Y|DKSPI!A@W%!I*Xv zMBCFGZWu#qQPZb%!3?11%eEWYi9e6VJ9eSkYdU|WEF`U}jy7g8re`>B zpa37|j)puX==8zq;`v0UfR&Gtcui4`Z`{xyse^2fj(7W&rQkT>$J|3jKZ?GthKI)k zzc(L1&pfYfX@AR_Y8XQ~hkyF@8{0HHC31nSFG1&5{R(`TSyI=6vzW-vRmRf57Q42} zw!aTcS-{Kl)&+gcbJo`N(wWH17_jzwe{?7E_xWy2gzUX#Hj(e^hQ7$_J$g4ZN_-Xq z1C!lxrBw3V`Z47hu8+T4Fa=G^ud!646?z;ocU|tD@0>DmdT|R z7|r#-(WU;-rJSd?K}0qpMlx_ag2_Tw7KpBnAV{<*Vz~m}bp!ql`}~t6WMxQb zYzZdXY55m6kpcoLUYwD_(D1ort~nu-T}I4U>AEHc)ic!)=E&TBAf~^(@FF7hHU%FL z@liL>oT`&8#N9P$%eiAiu+KzKnflf;6?XCgKEgE(f^Qj{pV9(vH6aHZZorR3nX_M1 zPh5xayDdH@g=8HYj3_^azn=g{DhnO7JISh@l#D}Tj^y%8-oOWG>``8nQ|Z+6PjILH zzd!oFE5P5DKv*1kAVg$0@KL_~#4@D|JhIIr6Kz9=Kb%ltcBoH-T2kTo;7~io(2ipX z!$-otu`vdBeGI^WDPnRNM6UHC(j$CtyA|+W)O-!O37W^6wPCOzysz$*chW2 zfAx;R|AA13wUL;=eXgOLdr(mz4n&ED+I!+T59Bvj(!(PLYw(z+9?vm3AYirL)bT9l zeINK`6UCP9j4dzOFT+0XH;^rh_MR5_V5J>%)vcVL~ zOrt;cbrqD?!UKxXf`ry8fq@adq*~CFV^L2*MRbfsssF~7tVgHesT2q81dG~xRYWIe z>Q1d>9Gbv$+1+3Q;?^)RQULuic6sELqxIZX!q^U$EoFq$_uM!Ed3)B2(sPQmV@7j* zcSM2;3fTRLE&1Kwnu$F%7ib`$VYre_x7_xUJ7%Tengxj`FH&k=2@)>0I5$!gbaV3F zR`sDtxhgcK`#WwRxKnU3CShkG7#d4y=IEYfQ1VX6-U+Hwn@;~7Ehh;XK<*bUp-hbO zlxVt!?rk1UEbx>htt~LKe?QA$f#w9Sn42m3*X-bzsHqM*)lIuaAkeNsk@y>-kzz@Z zg+{}z0dMuusP6b?_$G|Av;mwUHbW_26h?>7xwXU6D=)!6MF%lPh}w6lWAGzs=8LyU z**nqM7A6R#O|a!t=?6D5>5(8ixgw8{h;BwxH~CrjK36~P;Qi| zgjazeap6F&kc@fRUSv)0A%5{WlJ~d#$TLjaz+b$Q+rzyu;EVqeCxwglbGp^0Sul@^ z#IuG6b%I?<2I|D^C$~x|?Cp!rtla>sj*c{qt0KG!DSf?AM6&Ms9`DjR)nc<67XCSy zF%4F3)d=s_mlY}T1H2#9@mCe$hbb{rpFd@7yh^A3{RU5P~ z-Cd`@nF`L~0Anb2$Dx~*m%W+kuLL;^nE}#d{@?nC2n2v_OgQpNE!}& zr0nr8>r6%)>73rE=iOJ*983R4O033V$f{RhGdR!*^&RDjXNmUw%~`xvM;?9Q#x2F# zGKJd0M{0ia=_^aeU6O4SDWvWOTD~qRLc1vQ?V@NPS#2`$#G96qSLfmWS_;!~(+K0L zHf{U~q~&veI%UU1-hH09!UuN5i30cXMbcriM2VJ=_i24!|` ziq*CZzLNo)+4_8-pdK_;{SJ7l8Q4&j?T7>(s-5#bj1|>)e_fzF@>a88vh?n+k*U*I zxBx*Bzy4J@6nv`<`huo$(cDNMkUm@BtHY!Ba`rvYe$CLm8%1JS4$ zXzdD7UGa9&kE7Hmn}2CT;1i96zB^BY{-mn#!RL26&~%V8;D!#LflQSNtYJ0P?H9FU z@G0#vVgl^_*N;PX$()<@G6XSTkPT8?gn(5%`n^=%lnoo0a9%LM{au7i9Xi*Dgra)} zlt)_;9f^5^F=3<}s7_D}k1kF?$QJ<_>vaezmQ=>UJeT5uV74eJI-zU`p?gI%9JXX3 zes7T%_kK@RU*>HYB%3QVrHIo;efvr7((yRE10vJX(KxuA)6otP()P$z9<@dRCM+7a zyOGo3R=yj-XLf(I{6Tlf1wqxAh>>iSK)_wA$;J$$qe?AjfCk}P_^1oHI=qBCAs;?})x4W8kf9RH%wKYZR> zjsRW?p9je%F-FfGg3KiBiBtyx7b2367%=b{jtdfGKS+Om?_ZUKuHUAn`fDM@HEw=A zCq9BBK0<@9U($@pK+hL!Pj%CZ4ni?aXF4wM>Gsr&M2Ko-{w+zdK=@wzq-B&uR+>QC)V>1;`o!HG(!Uu6gp3N~kUxaGSZHCN#aAAp>qU2+!W82275 zcA}r_Px|=LxZM65m-wl$8ZR0VrsfykFQ0jtZ6~N@HlzjJr8ucL1aPGz>2OJu3+inB zbBV+FVk!2Vu^>BII^gKzfC|>%cy8mM^;DEpf0WH%;1|^xV?2!;^}|Ct^~5MiQXxdy zkN?!3LikRoF0&JI83G^MLi30=!}c5~Ib=!KQ%%mwFa@_3Ks)9<^yJzaY}o-AK76Hh~9k2Qcr)u+bbF^;vaj znk9cU3{9fu{*=CBx=gR`{{?3v`D?g^d_!tyCW~1D8qtLYwp5Y?=6p|3I1GBlWpD01 zEMd+_nmvNmYqzbK{c%C}mXhVL>n;Ts6794!`imndH1`NvJ+8({ODK2bDW5LN^nQ`= z;ri^xdM8qK!HFox23QqC!E0QWuxFMm*+g`Z7b@&vC@$6Blz{Oa@v9c^Z0PC^h{wds zLL+inOyzBYG2`au|E}+7y5%#IM$PXqU2Jtyqx^2eU&eFZcI?cxtcryeVOsMNilPBu zAxU5wwizjK-DbkMD71iZmA?W+2YwFHh>}N{m=L{4>Q?>~SbQ4;JImHn~TWzp3K@dd_ zaXncST|tcV{)+I+oD)Xw#b&&Pvp*(j-{ptDqh+!aAFLa|_|qq7MPiDm8|O3Qz9X7s zjG+I}JAayh1wbW`JIqM+)qR(YH&bBH^;g+6!HB14pv}~qpw7Mi&Z1l+AZoA4;4lCm zt7B9*2UAqi;x6qstw-8n8D&H#gyAp_noi|!f^q3ChgOjxb$Ep>QvS6L<-K_wGQiQ9 zr7Ie{=yJNfcSY)Bzlcn0ToK|pNo@)r$yby9c$cH<>nZ zMK&Qi_;t^zSWbI+!Zd#B?c0GBztuwIi9bUaVj%NJBf{_~wa6!2ou!zN1vf1?)ajJz z(lF>TEbm0G|L(z8oxmW%ni^}<)c%5q_z59^*(V6B|3V$}bUDda|nI@*oNZD|5`7E(8Yg!8b9%flJ<5`;e6 z@os=xvYD@w(5GLyS3uNu&Fh4jDp;s`2I%J|cb*B>2E@i%UcjVF?0vIjcLe!c9igx(#1r&3$7QhkiZ*7p?;B zQwc8l0g`#M+v8mQl($ImMRE`PR%lg508OQfhw!}eYT&3VHhfcaCDxtjVfiCF;b)s&c$S0IyEXNFk#6WI4 zS=w^g=Ld>yh+PAUyPj`Nree3Q1qJ$MoLjX=(1S2CCqOS!l{+FSyxZJ?3jjJn+o zqirJi62E8Wx-`8RBDciL9dgT4Y#}naiMTzgPo+rRU@BV1d}EF@?ob*fQIV&J1m&i< zSPU{VQ8ODAf)4(UrJty^60)A{`h7{BtYMlZo~Yrr4M>=UKFv~1eNb4G=)6&<72?IOP%!94l+F0K51 zdM;JR4)#e9CX|SngJ`zaH+;OOJkjMsQc+~O``WAS{a={zTn0|aoxx{x-(|44mu=q@ z1}WHLLdRo9A<%6O(Q;ijF6^!UG!(AavKH(@G^pw1H5WHl0G5{h>oz36OM~C<#7D{= z=q3YG5I^JzGvUM$VaAPRQok!o)8ztfjG?Q

  • eKUsAkaS^n|dg}dP(<>>|@N&aHoemvW4 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

    {Z!hUT6u*Zcd`;1EJWjg!wPg)7wBKw)y7a{e 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 O;CCBz&#hrtkorGrgln<@ diff --git a/tests/indicators/_common/Helper.Functions.cs b/tests/indicators/_common/Helper.Functions.cs index 8daec9bdc..9644ad282 100644 --- a/tests/indicators/_common/Helper.Functions.cs +++ b/tests/indicators/_common/Helper.Functions.cs @@ -15,11 +15,23 @@ internal static decimal ToDecimal(this string value) return decimal.TryParse(value, out decimal d) ? d : null; } + internal static double? ToDoubleNull(this string value) + { + return double.TryParse(value, out double d) ? d : null; + } + internal static decimal? NullRound(this decimal? value, int decimals) { return value == null ? value : Math.Round((decimal)value, decimals); } + + internal static double? NullRound(this double? value, int decimals) + { + return value == null + ? value + : Math.Round((double)value, decimals); + } } } diff --git a/tests/indicators/_common/Helper.Importer.cs b/tests/indicators/_common/Helper.Importer.cs index 44613b8ac..84d4039c8 100644 --- a/tests/indicators/_common/Helper.Importer.cs +++ b/tests/indicators/_common/Helper.Importer.cs @@ -93,6 +93,28 @@ internal static IEnumerable GetBad(int days = 502) .ToList(); } + // TOO BIG DATA + internal static IEnumerable GetTooBig(int days = 1246) + { + return File.ReadAllLines("_common/data/toobig.csv") + .Skip(1) + .Select(v => Importer.QuoteFromCsv(v)) + .OrderByDescending(x => x.Date) + .Take(days) + .ToList(); + } + + // MAX SIZE DATA + internal static IEnumerable GetMax(int days = 502) + { + return File.ReadAllLines("_common/data/toobig.csv") + .Skip(1) + .Select(v => Importer.QuoteFromCsv(v)) + .OrderByDescending(x => x.Date) + .Take(days) + .ToList(); + } + // BITCOIN DATA internal static IEnumerable GetBitcoin(int days = 1246) { diff --git a/tests/indicators/_common/data/bad.csv b/tests/indicators/_common/data/bad.csv index fe2ee6aba..c82fa2159 100644 --- a/tests/indicators/_common/data/bad.csv +++ b/tests/indicators/_common/data/bad.csv @@ -1,453 +1,453 @@ date,open,high,low,close,volume -1/3/2017,212.6100000000,213.3500000000,211.5200000000,212.8000000000,96708880.0000000000 -1/4/2017,213.1600000000,214.2200000000,213.1500000000,214.0600000000,83348752.0000000000 -1/5/2017,213.7700000000,214.0600000000,213.0200000000,213.8900000000,82961968.0000000000 -1/6/2017,214.0200000000,215.1700000000,213.4200000000,214.6600000000,75744152.0000000000 -1/9/2017,214.3800000000,214.5300000000,213.9100000000,213.9500000000,49684316.0000000000 -1/10/2017,213.9700000000,214.8900000000,213.5200000000,213.9500000000,67500792.0000000000 -1/11/2017,213.8600000000,214.5500000000,213.1300000000,214.5500000000,79014928.0000000000 -1/12/2017,213.9900000000,214.2200000000,212.5300000000,214.0200000000,76329760.0000000000 -1/13/2017,214.2100000000,214.8400000000,214.1700000000,214.5100000000,66385084.0000000000 -1/17/2017,213.8100000000,214.2500000000,213.3300000000,213.7500000000,64821664.0000000000 -1/18/2017,214.0200000000,214.2700000000,213.4200000000,214.2200000000,57997156.0000000000 -1/19/2017,214.3100000000,214.4600000000,212.9600000000,213.4300000000,70503512.0000000000 -1/20/2017,214.1800000000,214.7500000000,213.4900000000,214.2100000000,136721344.0000000000 -1/23/2017,213.8500000000,214.2800000000,212.8300000000,213.6600000000,79450624.0000000000 -1/24/2017,213.8900000000,215.4800000000,213.7700000000,215.0300000000,101142584.0000000000 -1/25/2017,216.0700000000,216.8900000000,215.8900000000,216.8900000000,89374928.0000000000 -1/26/2017,216.7300000000,217.0200000000,216.3600000000,216.6600000000,63477304.0000000000 -1/27/2017,216.7500000000,216.9100000000,216.1200000000,216.3200000000,63202528.0000000000 -1/30/2017,215.5700000000,215.5900000000,213.9000000000,214.9800000000,84399624.0000000000 -1/31/2017,214.4400000000,215.0300000000,213.8200000000,214.9600000000,80317680.0000000000 -2/1/2017,215.6500000000,215.9600000000,214.4000000000,215.0500000000,83743792.0000000000 -2/2/2017,214.6500000000,215.5000000000,214.2900000000,215.1900000000,73730552.0000000000 -2/3/2017,216.1800000000,216.8700000000,215.8400000000,216.6700000000,85273832.0000000000 -2/6/2017,216.2300000000,216.6600000000,215.9200000000,216.2800000000,61169192.0000000000 -2/7/2017,216.7100000000,216.9700000000,216.0900000000,216.2900000000,61318484.0000000000 -2/8/2017,215.9800000000,216.7200000000,215.7000000000,216.5800000000,54581376.0000000000 -2/9/2017,216.8800000000,218.1900000000,216.8400000000,217.8600000000,69811760.0000000000 -2/10/2017,218.2400000000,218.9700000000,217.8800000000,218.7200000000,69875952.0000000000 -2/13/2017,219.2600000000,220.1900000000,219.2300000000,219.9100000000,58408632.0000000000 -2/14/2017,219.7100000000,220.8000000000,219.3300000000,220.7900000000,75266840.0000000000 -2/15/2017,220.5500000000,222.1500000000,220.5000000000,221.9400000000,91860344.0000000000 -2/16/2017,221.9800000000,222.1600000000,220.9300000000,221.7500000000,89676304.0000000000 -2/17/2017,221.0300000000,222.1000000000,221.0100000000,222.1000000000,81718352.0000000000 -2/21/2017,222.5100000000,223.6200000000,222.5000000000,223.4300000000,94146880.0000000000 -2/22/2017,222.9800000000,223.4700000000,222.8000000000,223.2300000000,65747160.0000000000 -2/23/2017,223.7900000000,223.8100000000,222.5500000000,223.3800000000,78978816.0000000000 -2/24/2017,222.4500000000,223.7100000000,222.4100000000,223.6600000000,87198608.0000000000 -2/27/2017,223.5700000000,224.2000000000,223.2900000000,224.0100000000,59819992.0000000000 -2/28/2017,223.6000000000,223.8600000000,222.9800000000,223.4100000000,102631472.0000000000 -3/1/2017,225.2200000000,227.0400000000,225.2000000000,226.5300000000,157879712.0000000000 -3/2/2017,226.3300000000,226.3400000000,225.0500000000,225.1100000000,74353376.0000000000 -3/3/2017,225.0100000000,225.4300000000,224.6000000000,225.2500000000,86767480.0000000000 -3/6/2017,224.3800000000,224.9700000000,223.9200000000,224.5800000000,58630368.0000000000 -3/7/2017,224.2500000000,224.6400000000,223.6800000000,223.9100000000,68910464.0000000000 -3/8/2017,224.2300000000,224.5100000000,223.3400000000,223.4900000000,82739456.0000000000 -3/9/2017,223.6200000000,224.1300000000,222.7200000000,223.7800000000,95986360.0000000000 -3/10/2017,224.8200000000,224.8700000000,223.5200000000,224.5600000000,86785840.0000000000 -3/13/2017,224.4900000000,224.7200000000,224.1300000000,224.6700000000,60604724.0000000000 -3/14/2017,224.0800000000,224.1300000000,223.1400000000,223.8100000000,63382108.0000000000 -3/15/2017,224.4400000000,226.2100000000,224.1800000000,225.7500000000,101699816.0000000000 -3/16/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/17/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/20/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/21/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/22/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/23/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/24/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/27/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/28/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/29/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/30/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -3/31/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/3/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/4/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/5/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/6/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/7/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/10/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/11/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/12/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/13/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/17/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/18/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/19/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/20/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/21/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/24/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/25/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/26/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/27/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -4/28/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/1/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/2/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/3/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/4/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/5/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/8/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/9/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/10/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/11/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/12/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/15/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/16/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/17/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/18/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/19/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/22/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/23/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/24/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/25/2017,225.0000000000,225.0000000000,225.0000000000,225.0000000000,100000000.0000000000 -5/26/2017,0.0002291900,0.0002295300,0.0002291000,0.0002293500,49.1426200000 -5/30/2017,0.0002290000,0.0002294300,0.0002288300,0.0002291500,37.0987960000 -5/31/2017,0.0002294700,0.0002295100,0.0002283400,0.0002290900,96.7425760000 -6/1/2017,0.0002296000,0.0002309400,0.0002292800,0.0002309200,72.6781440000 -6/2/2017,0.0002309700,0.0002318600,0.0002306500,0.0002316900,93.4440320000 -6/5/2017,0.0002315000,0.0002318100,0.0002313000,0.0002315100,47.1074800000 -6/6/2017,0.0002309000,0.0002315100,0.0002306900,0.0002307700,53.0899760000 -6/7/2017,0.0002311400,0.0002314500,0.0002304100,0.0002312000,57.0619520000 -6/8/2017,0.0002313100,0.0002318400,0.0002307400,0.0002313200,69.5045360000 -6/9/2017,0.0002316100,0.0002324800,0.0002295800,0.0002309600,139.3831840000 -6/12/2017,0.0002307000,0.0002309700,0.0002299900,0.0002309200,90.7481600000 -6/13/2017,0.0002315100,0.0002321000,0.0002311300,0.0002320500,63.3037440000 -6/14/2017,0.0002323400,0.0002323500,0.0002308500,0.0002317500,82.8379040000 -6/15/2017,0.0002302700,0.0002314400,0.0002299700,0.0002313100,70.0464400000 -6/16/2017,0.0002314800,0.0002315400,0.0002304000,0.0002313600,88.6768800000 -6/19/2017,0.0002322600,0.0002333500,0.0002321600,0.0002332800,68.2999920000 -6/20/2017,0.0002328900,0.0002329000,0.0002316900,0.0002317100,59.6817760000 -6/21/2017,0.0002321000,0.0002322600,0.0002311400,0.0002316500,58.7076800000 -6/22/2017,0.0002316600,0.0002322100,0.0002313600,0.0002315500,46.3012240000 -6/23/2017,0.0002316100,0.0002321900,0.0002311900,0.0002318200,70.2538480000 -6/26/2017,0.0002325600,0.0002330200,0.0002317400,0.0002319800,59.4658480000 -6/27/2017,0.0002317400,0.0002320600,0.0002300900,0.0002301100,86.2590160000 -6/28/2017,0.0002312200,0.0002323800,0.0002309700,0.0002321700,73.4586880000 -6/29/2017,0.0002323300,0.0002323900,0.0002288000,0.0002301300,112.1658240000 -6/30/2017,0.0002310100,0.0002314200,0.0002303400,0.0002305600,91.0550800000 -7/3/2017,0.0002315900,0.0002320600,0.0002309500,0.0002309500,41.0633960000 -7/5/2017,0.0002313500,0.0002317100,0.0002304600,0.0002314800,57.0821120000 -7/6/2017,0.0002306400,0.0002307700,0.0002291600,0.0002293600,69.3398640000 -7/7/2017,0.0002299900,0.0002310100,0.0002293800,0.0002308500,60.7996640000 -7/10/2017,0.0002307000,0.0002315100,0.0002305200,0.0002311000,38.4513960000 -7/11/2017,0.0002309000,0.0002312700,0.0002296500,0.0002309300,52.8104840000 -7/12/2017,0.0002319900,0.0002328400,0.0002319900,0.0002326600,62.5176960000 -7/13/2017,0.0002326700,0.0002331800,0.0002324200,0.0002330500,41.3967280000 -7/14/2017,0.0002330600,0.0002345300,0.0002329500,0.0002341400,63.2017960000 -7/17/2017,0.0002340500,0.0002344700,0.0002339200,0.0002341100,35.1673160000 -7/18/2017,0.0002336600,0.0002342900,0.0002332900,0.0002342400,44.8271120000 -7/19/2017,0.0002345800,0.0002355100,0.0002345700,0.0002355000,53.5232800000 -7/20/2017,0.0002357800,0.0002359100,0.0002350100,0.0002356100,49.4340360000 -7/21/2017,0.0002349800,0.0002354300,0.0002347300,0.0002354000,93.0375920000 -7/24/2017,0.0002353100,0.0002354900,0.0002348300,0.0002353400,48.8960960000 -7/25/2017,0.0002361600,0.0002362800,0.0002356700,0.0002359100,57.5939080000 -7/26/2017,0.0002362300,0.0002362700,0.0002356400,0.0002359200,49.8957440000 -7/27/2017,0.0002364300,0.0002364700,0.0002342600,0.0002357000,74.2179680000 -7/28/2017,0.0002351800,0.0002355700,0.0002346800,0.0002354300,52.5312440000 -7/31/2017,0.0002358700,0.0002359700,0.0002350700,0.0002352900,69.0497120000 -8/1/2017,0.0002359500,0.0002359900,0.0002352400,0.0002358200,57.7352920000 -8/2/2017,0.0002359600,0.0002360900,0.0002349100,0.0002359300,49.5137760000 -8/3/2017,0.0002358100,0.0002358400,0.0002351700,0.0002354800,42.8486080000 -8/4/2017,0.0002360100,0.0002362700,0.0002354900,0.0002359000,63.1274880000 -8/7/2017,0.0002359800,0.0002363400,0.0002358700,0.0002363400,33.5554640000 -8/8/2017,23600000.0000000000,23733000.0000000000,23535000.0000000000,23576000.0000000000,6472950000000.0000000000 -8/9/2017,23501000.0000000000,23581000.0000000000,23462000.0000000000,23575000.0000000000,6568730000000.0000000000 -8/10/2017,23484000.0000000000,23498000.0000000000,23237000.0000000000,23242000.0000000000,12635500000000.0000000000 -8/11/2017,23267000.0000000000,23342000.0000000000,23241000.0000000000,23277000.0000000000,7852150000000.0000000000 -8/14/2017,23417000.0000000000,23531000.0000000000,23413000.0000000000,23507000.0000000000,7686650000000.0000000000 -8/15/2017,23549000.0000000000,23551000.0000000000,23471000.0000000000,23505000.0000000000,5793700000000.0000000000 -8/16/2017,23562000.0000000000,23606000.0000000000,23499000.0000000000,23546000.0000000000,5948160000000.0000000000 -8/17/2017,23479000.0000000000,23513000.0000000000,23179000.0000000000,23179000.0000000000,13475700000000.0000000000 -8/18/2017,23160000.0000000000,23283000.0000000000,23094000.0000000000,23142000.0000000000,14341700000000.0000000000 -8/21/2017,23136000.0000000000,23189000.0000000000,23058000.0000000000,23160000.0000000000,6866280000000.0000000000 -8/22/2017,23224000.0000000000,23420000.0000000000,23222000.0000000000,23403000.0000000000,6621950000000.0000000000 -8/23/2017,23297000.0000000000,23365000.0000000000,23281000.0000000000,23319000.0000000000,5265240000000.0000000000 -8/24/2017,23361000.0000000000,23378000.0000000000,23241000.0000000000,23264000.0000000000,5321640000000.0000000000 -8/25/2017,23351000.0000000000,23419000.0000000000,23302000.0000000000,23319000.0000000000,6758900000000.0000000000 -8/28/2017,23377000.0000000000,23380000.0000000000,23274000.0000000000,23320000.0000000000,4254410000000.0000000000 -8/29/2017,23176000.0000000000,23375000.0000000000,23163000.0000000000,23346000.0000000000,5362970000000.0000000000 -8/30/2017,23344000.0000000000,23487000.0000000000,23324000.0000000000,23457000.0000000000,6505610000000.0000000000 -8/31/2017,23525000.0000000000,23625000.0000000000,23461000.0000000000,23598000.0000000000,10886700000000.0000000000 -9/1/2017,23639000.0000000000,23678000.0000000000,23615000.0000000000,23631000.0000000000,6503120000000.0000000000 -9/5/2017,23576000.0000000000,23601000.0000000000,23356000.0000000000,23462000.0000000000,9585640000000.0000000000 -9/6/2017,23536000.0000000000,23578000.0000000000,23478000.0000000000,23542000.0000000000,6074160000000.0000000000 -9/7/2017,23575000.0000000000,23577000.0000000000,23494000.0000000000,23539000.0000000000,6086520000000.0000000000 -9/8/2017,23507000.0000000000,23562000.0000000000,23485000.0000000000,23511000.0000000000,6694610000000.0000000000 -9/11/2017,23651000.0000000000,23771000.0000000000,23649000.0000000000,23762000.0000000000,7484540000000.0000000000 -9/12/2017,23802000.0000000000,23846000.0000000000,23782000.0000000000,23842000.0000000000,5967090000000.0000000000 -9/13/2017,23811000.0000000000,23857000.0000000000,23798000.0000000000,23854000.0000000000,6211660000000.0000000000 -9/14/2017,23818000.0000000000,23868000.0000000000,23799000.0000000000,23846000.0000000000,10010100000000.0000000000 -9/15/2017,23830000.0000000000,23888000.0000000000,23819000.0000000000,23878000.0000000000,9959270000000.0000000000 -9/18/2017,23918000.0000000000,23967000.0000000000,23887000.0000000000,23929000.0000000000,4825080000000.0000000000 -9/19/2017,23956000.0000000000,23962000.0000000000,23917000.0000000000,23953000.0000000000,4916180000000.0000000000 -9/20/2017,23962000.0000000000,23974000.0000000000,23852000.0000000000,23961000.0000000000,6217120000000.0000000000 -9/21/2017,23944000.0000000000,23954000.0000000000,23878000.0000000000,23897000.0000000000,5031310000000.0000000000 -9/22/2017,23865000.0000000000,23920000.0000000000,23862000.0000000000,23902000.0000000000,5344670000000.0000000000 -9/25/2017,23874000.0000000000,23913000.0000000000,23772000.0000000000,23853000.0000000000,5955200000000.0000000000 -9/26/2017,23900000.0000000000,23927000.0000000000,23841000.0000000000,23868000.0000000000,5643960000000.0000000000 -9/27/2017,23944000.0000000000,24003000.0000000000,23847000.0000000000,23960000.0000000000,8453260000000.0000000000 -9/28/2017,23930000.0000000000,23998000.0000000000,23920000.0000000000,23989000.0000000000,4673090000000.0000000000 -9/29/2017,23988000.0000000000,24082000.0000000000,23968000.0000000000,24074000.0000000000,8930870000000.0000000000 -10/2/2017,24098000.0000000000,24178000.0000000000,24080000.0000000000,24178000.0000000000,6159600000000.0000000000 -10/3/2017,24191000.0000000000,24233000.0000000000,24169000.0000000000,24230000.0000000000,6972270000000.0000000000 -10/4/2017,24213000.0000000000,24285000.0000000000,24201000.0000000000,24258000.0000000000,5839290000000.0000000000 -10/5/2017,24295000.0000000000,24404000.0000000000,24262000.0000000000,24402000.0000000000,6629200000000.0000000000 -10/6/2017,24353000.0000000000,24406000.0000000000,24325000.0000000000,24374000.0000000000,8416170000000.0000000000 -10/9/2017,24399000.0000000000,24406000.0000000000,24305000.0000000000,24334000.0000000000,3736390000000.0000000000 -10/10/2017,24396000.0000000000,24440000.0000000000,24337000.0000000000,24398000.0000000000,4493440000000.0000000000 -10/11/2017,24388000.0000000000,24437000.0000000000,24370000.0000000000,24437000.0000000000,4975260000000.0000000000 -10/12/2017,24402000.0000000000,24441000.0000000000,24374000.0000000000,24400000.0000000000,4911690000000.0000000000 -10/13/2017,24448000.0000000000,24461000.0000000000,24400000.0000000000,24430000.0000000000,5718940000000.0000000000 -10/16/2017,24455000.0000000000,24484000.0000000000,24418000.0000000000,24463000.0000000000,3988790000000.0000000000 -10/17/2017,24457000.0000000000,24485000.0000000000,24433000.0000000000,24480000.0000000000,3293680000000.0000000000 -,245.2100000000,245.2600000000,244.8300000000,245.0400000000,42670820.0000000000 -,244.1800000000,245.1400000000,243.7200000000,245.1000000000,64602432.0000000000 -,245.9800000000,246.4000000000,245.0900000000,246.3700000000,93063952.0000000000 -,246.7200000000,246.7500000000,245.3300000000,245.4100000000,66701640.0000000000 -,245.8800000000,246.1000000000,245.4500000000,245.8400000000,69853928.0000000000 -,245.4800000000,245.6000000000,243.3900000000,244.6300000000,108236672.0000000000 -,245.3000000000,245.5900000000,244.8100000000,244.9400000000,72840760.0000000000 -,245.7600000000,247.1200000000,244.9500000000,246.9400000000,89292576.0000000000 -,246.3300000000,246.8400000000,245.7000000000,246.0200000000,56652224.0000000000 -,246.4400000000,246.6900000000,246.0800000000,246.4100000000,62933720.0000000000 -,247.2600000000,247.6300000000,246.3300000000,246.7300000000,56565660.0000000000 -,246.6600000000,246.9800000000,245.4900000000,246.8300000000,58910404.0000000000 -,247.0000000000,247.7000000000,246.5500000000,247.6500000000,62187496.0000000000 -,247.5100000000,248.1800000000,247.4300000000,248.0400000000,51817160.0000000000 -,248.1500000000,248.5200000000,247.3100000000,247.8600000000,60008920.0000000000 -,247.6700000000,248.3900000000,247.3700000000,248.2900000000,52669760.0000000000 -,246.9600000000,247.6000000000,245.6500000000,247.3900000000,99230672.0000000000 -,246.9600000000,247.5000000000,246.6200000000,247.3100000000,62599644.0000000000 -,246.5600000000,247.7900000000,246.5200000000,247.5400000000,52418324.0000000000 -,246.6600000000,247.0800000000,245.8000000000,246.9600000000,63988136.0000000000 -,245.9000000000,246.4800000000,244.9500000000,245.7300000000,84334432.0000000000 -,246.7600000000,248.2200000000,246.7200000000,247.8200000000,70731712.0000000000 -,247.4300000000,247.7900000000,247.0000000000,247.0900000000,79059392.0000000000 -,247.3600000000,247.7300000000,247.0900000000,247.5100000000,50171324.0000000000 -,248.3500000000,249.3300000000,247.4700000000,249.1300000000,72192504.0000000000 -,249.1400000000,249.2800000000,248.7300000000,248.9100000000,46996584.0000000000 -,249.4500000000,249.6000000000,249.2900000000,249.4800000000,29070892.0000000000 -,249.5300000000,249.8600000000,249.1400000000,249.3600000000,54553804.0000000000 -,249.8700000000,251.9200000000,249.7700000000,251.8900000000,103286312.0000000000 -,252.0300000000,252.6200000000,251.2500000000,251.7400000000,80891176.0000000000 -,252.7400000000,254.9400000000,252.6600000000,253.9400000000,133469840.0000000000 -,253.7000000000,254.2300000000,249.8700000000,253.4100000000,171557392.0000000000 -,255.1900000000,255.6500000000,253.0500000000,253.1100000000,98140184.0000000000 -,253.3800000000,254.0700000000,252.0500000000,252.2000000000,81394656.0000000000 -,251.8900000000,252.7100000000,251.7400000000,252.2400000000,79207304.0000000000 -,252.1000000000,253.3800000000,251.9600000000,253.0400000000,80584848.0000000000 -,253.9200000000,254.4300000000,253.0000000000,254.4200000000,79901608.0000000000 -,254.4900000000,255.2500000000,254.3900000000,255.1900000000,86699232.0000000000 -,255.4300000000,256.1500000000,255.2200000000,255.6400000000,88909792.0000000000 -,255.9000000000,256.3800000000,255.5100000000,255.6100000000,107391488.0000000000 -,255.9300000000,256.0600000000,254.5100000000,254.5600000000,105055176.0000000000 -,255.6600000000,257.1900000000,255.6000000000,256.6800000000,150146832.0000000000 -,258.2100000000,258.7000000000,258.1000000000,258.3100000000,86856320.0000000000 -,258.5800000000,258.6300000000,257.2400000000,257.3200000000,85536976.0000000000 -,258.3800000000,258.4400000000,256.8600000000,257.1800000000,79690000.0000000000 -,257.8700000000,258.4900000000,257.4400000000,257.7100000000,69598728.0000000000 -,257.7300000000,257.7700000000,257.0600000000,257.6500000000,81734768.0000000000 -,257.2000000000,257.5800000000,257.0400000000,257.3400000000,46976656.0000000000 -,257.5200000000,257.8600000000,257.1600000000,257.4600000000,59962032.0000000000 -,258.0100000000,258.0400000000,257.5900000000,257.9900000000,46843448.0000000000 -12/29/2017,0.0000000129,0.0000000129,0.0000000128,0.0000000100,99683200000000.0000000000 -1/2/2018,0.0000000129,0.0000000129,0.0000000129,0.0000000200,89973400000000.0000000000 -1/3/2018,0.0000000130,0.0000000130,0.0000000130,0.0000000100,93518800000000.0000000000 -1/4/2018,0.0000000131,0.0000000131,0.0000000130,0.0000000100,83723600000000.0000000000 -1/5/2018,0.0000000131,0.0000000132,0.0000000131,0.0000000100,86721800000000.0000000000 -1/8/2018,0.0000000132,0.0000000132,0.0000000131,0.0000000200,59513700000000.0000000000 -1/9/2018,0.0000000132,0.0000000133,0.0000000132,0.0000000132,59446000000000.0000000000 -1/10/2018,0.0000000132,0.0000000132,0.0000000131,0.0000000132,72238000000000.0000000000 -1/11/2018,0.0000000132,0.0000000133,0.0000000132,0.0000000133,64749000000000.0000000000 -1/12/2018,0.0000000133,0.0000000134,0.0000000133,0.0000000134,94293000000000.0000000000 -1/16/2018,0.0000000135,0.0000000135,0.0000000133,0.0000000133,110635000000000.0000000000 -1/17/2018,0.0000000134,0.0000000135,0.0000000133,0.0000000135,117595000000000.0000000000 -1/18/2018,0.0000000135,0.0000000135,0.0000000134,0.0000000134,104584000000000.0000000000 -1/19/2018,0.0000000135,0.0000000135,0.0000000134,0.0000000135,146315000000000.0000000000 -1/22/2018,0.0000000135,0.0000000136,0.0000000135,0.0000000136,94818800000000.0000000000 -1/23/2018,0.0000000136,0.0000000137,0.0000000136,0.0000000136,100802000000000.0000000000 -1/24/2018,0.0000000137,0.0000000137,0.0000000136,0.0000000136,139978000000000.0000000000 -1/25/2018,0.0000000137,0.0000000137,0.0000000136,0.0000000136,87825800000000.0000000000 -1/26/2018,0.0000000137,0.0000000138,0.0000000137,0.0000000138,111868000000000.0000000000 -1/29/2018,0.0000000138,0.0000000138,0.0000000137,0.0000000137,93568600000000.0000000000 -1/30/2018,0.0000000136,0.0000000137,0.0000000135,0.0000000136,136842000000000.0000000000 -1/31/2018,0.0000000136,0.0000000136,0.0000000135,0.0000000136,123502000000000.0000000000 -2/1/2018,0.0000000135,0.0000000136,0.0000000135,0.0000000136,93552100000000.0000000000 -2/2/2018,0.0000000135,0.0000000135,0.0000000133,0.0000000133,179805000000000.0000000000 -2/5/2018,0.0000000132,0.0000000133,0.0000000127,0.0000000127,305964000000000.0000000000 -2/6/2018,0.0000000125,0.0000000130,0.0000000125,0.0000000130,368619000000000.0000000000 -2/7/2018,0.0000000129,0.0000000131,0.0000000129,0.0000000129,173784000000000.0000000000 -2/8/2018,0.0000000129,0.0000000129,0.0000000124,0.0000000124,255885000000000.0000000000 -2/9/2018,0.0000000126,0.0000000127,0.0000000122,0.0000000126,294422000000000.0000000000 -2/12/2018,0.0000000127,0.0000000129,0.0000000126,0.0000000128,149239000000000.0000000000 -2/13/2018,0.0000000127,0.0000000128,0.0000000127,0.0000000128,84333400000000.0000000000 -2/14/2018,0.0000000127,0.0000000130,0.0000000127,0.0000000130,125358000000000.0000000000 -2/15/2018,0.0000000131,0.0000000131,0.0000000129,0.0000000131,115458000000000.0000000000 -2/16/2018,0.0000000131,0.0000000133,0.0000000131,0.0000000132,166562000000000.0000000000 -2/20/2018,0.0000000131,0.0000000132,0.0000000130,0.0000000131,89676400000000.0000000000 -2/21/2018,0.0000000131,0.0000000132,0.0000000130,0.0000000130,102670000000000.0000000000 -2/22/2018,0.0000000131,0.0000000131,0.0000000130,0.0000000130,114742000000000.0000000000 -2/23/2018,0.0000000131,0.0000000132,0.0000000131,0.0000000132,96318100000000.0000000000 -2/26/2018,0.0000000133,0.0000000134,0.0000000133,0.0000000134,89802800000000.0000000000 -2/27/2018,0.0000000134,0.0000000134,0.0000000132,0.0000000132,102893000000000.0000000000 -2/28/2018,0.0000000133,0.0000000133,0.0000000131,0.0000000131,126575000000000.0000000000 -3/1/2018,0.0000000131,0.0000000132,0.0000000128,0.0000000129,183626000000000.0000000000 -3/2/2018,0.0000000128,0.0000000130,0.0000000128,0.0000000130,144408000000000.0000000000 -3/5/2018,0.0000000129,0.0000000131,0.0000000129,0.0000000131,101033000000000.0000000000 -3/6/2018,0.0000000132,0.0000000132,0.0000000131,0.0000000131,82245900000000.0000000000 -3/7/2018,0.0000000130,0.0000000132,0.0000000130,0.0000000131,90396800000000.0000000000 -3/8/2018,0.0000000132,0.0000000132,0.0000000131,0.0000000132,69462500000000.0000000000 -3/9/2018,0.0000000133,0.0000000134,0.0000000133,0.0000000134,117976000000000.0000000000 -3/12/2018,0.0000000134,0.0000000135,0.0000000134,0.0000000134,74678500000000.0000000000 -3/13/2018,0.0000000135,0.0000000135,0.0000000133,0.0000000133,95490000000000.0000000000 -3/14/2018,267.5700000000,267.7700000000,264.5400000000,265.1500000000,109949368.0000000000 -3/15/2018,265.7100000000,266.4100000000,264.3100000000,264.8600000000,86627344.0000000000 -3/16/2018,265.4400000000,266.3000000000,265.0900000000,265.1500000000,103769888.0000000000 -3/19/2018,264.3200000000,265.3400000000,259.7500000000,261.5600000000,112937344.0000000000 -3/20/2018,261.9900000000,262.7000000000,261.2600000000,262.0000000000,61797672.0000000000 -3/21/2018,261.9600000000,264.2500000000,261.2700000000,261.5000000000,81397104.0000000000 -3/22/2018,259.0600000000,259.9900000000,254.6600000000,254.9600000000,153866192.0000000000 -3/23/2018,255.4500000000,256.2700000000,249.3200000000,249.5300000000,189801520.0000000000 -3/26/2018,253.4800000000,256.6700000000,250.8400000000,256.3600000000,146803168.0000000000 -3/27/2018,257.3800000000,257.9600000000,250.2900000000,252.0000000000,134378272.0000000000 -3/28/2018,252.1400000000,253.9700000000,250.0400000000,251.2500000000,151452896.0000000000 -3/29/2018,252.5000000000,256.5000000000,251.2600000000,254.4600000000,128487112.0000000000 -4/2/2018,253.8800000000,254.4400000000,246.2600000000,248.9700000000,192647056.0000000000 -4/3/2018,250.3200000000,252.6800000000,248.3600000000,252.1600000000,124052768.0000000000 -4/4/2018,248.2700000000,255.6300000000,248.1300000000,254.8600000000,127939576.0000000000 -4/5/2018,256.7800000000,257.8400000000,255.5900000000,256.8700000000,85474776.0000000000 -4/6/2018,254.7200000000,256.3600000000,249.4800000000,251.1400000000,185650928.0000000000 -4/9/2018,252.7400000000,256.1000000000,251.3500000000,252.3800000000,109043264.0000000000 -4/10/2018,255.5400000000,257.2600000000,254.3000000000,256.4000000000,109178536.0000000000 -4/11/2018,254.7700000000,256.8700000000,254.6900000000,255.0500000000,94252208.0000000000 -4/12/2018,256.5000000000,258.1800000000,256.3100000000,257.1500000000,71242736.0000000000 -4/13/2018,258.5800000000,258.7100000000,255.2900000000,256.4000000000,87984192.0000000000 -4/16/2018,258.1800000000,259.3400000000,257.2900000000,258.5000000000,65570252.0000000000 -4/17/2018,260.4400000000,261.9300000000,259.8800000000,261.2700000000,66890592.0000000000 -4/18/2018,261.7500000000,262.3400000000,260.9600000000,261.4600000000,59260488.0000000000 -4/19/2018,260.7500000000,260.9700000000,258.8800000000,260.0100000000,80307456.0000000000 -4/20/2018,259.9300000000,260.1800000000,256.8400000000,257.8100000000,103366016.0000000000 -4/23/2018,258.4400000000,259.0400000000,256.5900000000,257.7700000000,67796416.0000000000 -4/24/2018,258.8900000000,259.1300000000,252.6500000000,254.3000000000,116739904.0000000000 -4/25/2018,254.2300000000,255.4100000000,252.2400000000,254.9300000000,107386584.0000000000 -4/26/2018,256.0500000000,258.4200000000,255.5600000000,257.5200000000,70044640.0000000000 -4/27/2018,258.1800000000,258.5100000000,256.7300000000,257.7600000000,59001736.0000000000 -4/30/2018,258.4400000000,259.0400000000,255.7000000000,255.7800000000,84988424.0000000000 -5/1/2018,255.1600000000,256.3500000000,253.4600000000,256.2300000000,76737024.0000000000 -5/2/2018,256.0200000000,256.9100000000,254.0800000000,254.5100000000,89317992.0000000000 -5/3/2018,253.6000000000,254.6600000000,250.5000000000,253.9500000000,140965808.0000000000 -5/4/2018,252.8900000000,257.9800000000,252.5300000000,257.2400000000,94336840.0000000000 -5/7/2018,258.0800000000,259.1700000000,257.3200000000,258.1100000000,57193284.0000000000 -5/8/2018,257.7000000000,258.5000000000,256.4000000000,258.1100000000,69804000.0000000000 -5/9/2018,258.8400000000,260.9500000000,258.2700000000,260.6000000000,61703432.0000000000 -5/10/2018,261.4100000000,263.4000000000,261.3000000000,263.0400000000,74524544.0000000000 -5/11/2018,263.1700000000,264.1300000000,262.6100000000,263.8400000000,61915812.0000000000 -5/14/2018,264.3100000000,265.0300000000,263.3700000000,263.9700000000,56661420.0000000000 -5/15/2018,262.6200000000,262.6400000000,261.1100000000,262.1500000000,90007968.0000000000 -5/16/2018,262.1900000000,263.7500000000,262.1600000000,263.2500000000,55784492.0000000000 -5/17/2018,262.9600000000,264.2100000000,262.1800000000,263.0300000000,58466824.0000000000 -5/18/2018,262.6500000000,263.0500000000,261.9800000000,262.3700000000,66565792.0000000000 -5/21/2018,264.0000000000,264.9300000000,262.3900000000,264.3400000000,60007156.0000000000 -5/22/2018,264.9100000000,265.2000000000,263.2500000000,263.6100000000,54774884.0000000000 -5/23/2018,262.2200000000,264.3600000000,262.0400000000,264.3300000000,66903156.0000000000 -5/24/2018,263.9000000000,264.2000000000,261.8400000000,263.7900000000,78640328.0000000000 -5/25/2018,263.1600000000,263.8500000000,262.6100000000,263.1600000000,58299660.0000000000 -5/29/2018,261.3900000000,262.2200000000,258.9200000000,260.1400000000,119866288.0000000000 -5/30/2018,261.5700000000,264.0900000000,261.4900000000,263.6100000000,72057608.0000000000 -5/31/2018,263.1600000000,263.4900000000,261.3300000000,261.9900000000,96713160.0000000000 -6/1/2018,263.4200000000,264.9000000000,263.3400000000,264.5700000000,73691520.0000000000 -6/4/2018,265.4700000000,266.1000000000,265.2000000000,265.8200000000,46934832.0000000000 -6/5/2018,265.9700000000,266.4300000000,265.1300000000,266.0200000000,52881036.0000000000 -6/6/2018,266.6800000000,268.3600000000,266.0100000000,268.2400000000,64874192.0000000000 -6/7/2018,268.7700000000,269.0900000000,267.2200000000,268.2100000000,75460928.0000000000 -6/8/2018,267.7100000000,269.0600000000,267.5300000000,269.0000000000,74602920.0000000000 -6/11/2018,269.2500000000,270.1500000000,269.1200000000,269.3600000000,60903392.0000000000 -6/12/2018,269.8200000000,270.1100000000,269.0000000000,269.7100000000,74798688.0000000000 -6/13/2018,269.9700000000,270.2500000000,268.6300000000,268.8500000000,81770464.0000000000 -6/14/2018,269.8000000000,270.1100000000,268.8800000000,269.5300000000,79730104.0000000000 -6/15/2018,268.6700000000,269.5500000000,267.4500000000,269.1800000000,123585600.0000000000 -6/18/2018,267.5900000000,268.7700000000,267.0700000000,268.6300000000,54479888.0000000000 -6/19/2018,266.1400000000,267.8400000000,265.6900000000,267.6000000000,100410976.0000000000 -6/20/2018,268.3500000000,268.7800000000,267.6900000000,268.0600000000,55373416.0000000000 -6/21/2018,268.0500000000,268.0700000000,265.8300000000,266.3800000000,73159376.0000000000 -6/22/2018,267.7600000000,267.8800000000,266.6200000000,266.8600000000,58283384.0000000000 -6/25/2018,265.6000000000,265.7700000000,261.3800000000,263.2300000000,141924096.0000000000 -6/26/2018,263.8500000000,264.7400000000,263.0200000000,263.8100000000,70710976.0000000000 -6/27/2018,264.4500000000,266.0100000000,261.4600000000,261.6300000000,108213904.0000000000 -6/28/2018,261.5700000000,263.9600000000,260.7900000000,263.1200000000,78913504.0000000000 -6/29/2018,264.3200000000,265.8100000000,263.3700000000,263.5000000000,100473760.0000000000 -7/2/2018,261.7800000000,264.2400000000,261.5200000000,264.0600000000,65431128.0000000000 -7/3/2018,265.0500000000,265.1500000000,262.6700000000,263.1300000000,43432576.0000000000 -7/5/2018,264.3600000000,265.3500000000,263.1900000000,265.2800000000,58606568.0000000000 -7/6/2018,265.3100000000,267.9300000000,264.8900000000,267.5200000000,68456816.0000000000 -7/9/2018,268.6200000000,269.9900000000,268.5700000000,269.9300000000,52042820.0000000000 -7/10/2018,270.4300000000,271.0100000000,270.1100000000,270.9000000000,53501064.0000000000 -7/11/2018,269.2000000000,270.0700000000,268.5900000000,268.9200000000,79329656.0000000000 -7/12/2018,270.3000000000,271.4200000000,269.6400000000,271.3600000000,61899772.0000000000 -7/13/2018,271.1600000000,271.9000000000,270.6700000000,271.5700000000,49659024.0000000000 -7/16/2018,271.6200000000,271.7800000000,270.8400000000,271.3300000000,49624096.0000000000 -7/17/2018,270.4800000000,272.8500000000,270.4300000000,272.4300000000,53860032.0000000000 -7/18/2018,272.5100000000,273.1200000000,272.0300000000,273.0000000000,45910016.0000000000 -7/19/2018,272.2700000000,272.6900000000,271.4500000000,271.9700000000,63225212.0000000000 -7/20/2018,271.7500000000,272.4400000000,271.4800000000,271.6600000000,84804656.0000000000 -7/23/2018,271.4400000000,272.3900000000,271.0600000000,272.1600000000,48436568.0000000000 -7/24/2018,273.7100000000,274.4600000000,272.5800000000,273.5300000000,70035320.0000000000 -7/25/2018,273.2600000000,276.2200000000,273.2100000000,275.8700000000,81211824.0000000000 -7/26/2018,275.0800000000,275.9600000000,274.9700000000,275.2100000000,59629476.0000000000 -7/27/2018,275.5700000000,275.6800000000,272.3400000000,273.3500000000,79050080.0000000000 -7/30/2018,273.4400000000,273.6100000000,271.3500000000,271.9200000000,65624404.0000000000 -7/31/2018,272.7600000000,273.9300000000,272.3400000000,273.2600000000,70594928.0000000000 -8/1/2018,273.4900000000,274.0400000000,272.1000000000,272.8100000000,55443260.0000000000 -8/2/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/3/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/6/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/7/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/8/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/9/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/10/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/13/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/14/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/15/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/16/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/17/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/20/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/21/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/22/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/23/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/24/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/27/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/28/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/29/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/30/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -8/31/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/4/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/5/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/6/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/7/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/10/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/11/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/12/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/13/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/14/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/17/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/18/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/19/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/20/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/21/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/24/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/25/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/26/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/27/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -9/28/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/1/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/2/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/3/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/4/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/5/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/8/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/9/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/10/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/11/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 -10/12/2018,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000 +01/03/2017,212.61,213.35,211.52,212.8,96708880 +01/04/2017,213.16,214.22,213.15,214.06,83348752 +01/05/2017,213.77,214.06,213.02,213.89,82961968 +01/06/2017,214.02,215.17,213.42,214.66,75744152 +01/09/2017,214.38,214.53,213.91,213.95,49684316 +01/10/2017,213.97,214.89,213.52,213.95,67500792 +01/11/2017,213.86,214.55,213.13,214.55,79014928 +01/12/2017,213.99,214.22,212.53,214.02,76329760 +01/13/2017,214.21,214.84,214.17,214.51,66385084 +01/17/2017,213.81,214.25,213.33,213.75,64821664 +01/18/2017,214.02,214.27,213.42,214.22,57997156 +01/19/2017,214.31,214.46,212.96,213.43,70503512 +01/20/2017,214.18,214.75,213.49,214.21,136721344 +01/23/2017,213.85,214.28,212.83,213.66,79450624 +01/24/2017,213.89,215.48,213.77,215.03,101142584 +01/25/2017,216.07,216.89,215.89,216.89,89374928 +01/26/2017,216.73,217.02,216.36,216.66,63477304 +01/27/2017,216.75,216.91,216.12,216.32,63202528 +01/30/2017,215.57,215.59,213.9,214.98,84399624 +01/31/2017,214.44,215.03,213.82,214.96,80317680 +02/01/2017,215.65,215.96,214.4,215.05,83743792 +02/02/2017,214.65,215.5,214.29,215.19,73730552 +02/03/2017,216.18,216.87,215.84,216.67,85273832 +02/06/2017,216.23,216.66,215.92,216.28,61169192 +02/07/2017,216.71,216.97,216.09,216.29,61318484 +02/08/2017,215.98,216.72,215.7,216.58,54581376 +02/09/2017,216.88,218.19,216.84,217.86,69811760 +02/10/2017,218.24,218.97,217.88,218.72,69875952 +02/13/2017,219.26,220.19,219.23,219.91,58408632 +02/14/2017,219.71,220.8,219.33,220.79,75266840 +02/15/2017,220.55,222.15,220.5,221.94,91860344 +02/16/2017,221.98,222.16,220.93,221.75,89676304 +02/17/2017,221.03,222.1,221.01,222.1,81718352 +02/21/2017,222.51,223.62,222.5,223.43,94146880 +02/22/2017,222.98,223.47,222.8,223.23,65747160 +02/23/2017,223.79,223.81,222.55,223.38,78978816 +02/24/2017,222.45,223.71,222.41,223.66,87198608 +02/27/2017,223.57,224.2,223.29,224.01,59819992 +02/28/2017,223.6,223.86,222.98,223.41,102631472 +03/01/2017,225.22,227.04,225.2,226.53,157879712 +03/02/2017,226.33,226.34,225.05,225.11,74353376 +03/03/2017,225.01,225.43,224.6,225.25,86767480 +03/06/2017,224.38,224.97,223.92,224.58,58630368 +03/07/2017,224.25,224.64,223.68,223.91,68910464 +03/08/2017,224.23,224.51,223.34,223.49,82739456 +03/09/2017,223.62,224.13,222.72,223.78,95986360 +03/10/2017,224.82,224.87,223.52,224.56,86785840 +03/13/2017,224.49,224.72,224.13,224.67,60604724 +03/14/2017,224.08,224.13,223.14,223.81,63382108 +03/15/2017,224.44,226.21,224.18,225.75,101699816 +03/16/2017,225,225,225,225,100000000 +03/17/2017,225,225,225,225,100000000 +03/20/2017,225,225,225,225,100000000 +03/21/2017,225,225,225,225,100000000 +03/22/2017,225,225,225,225,100000000 +03/23/2017,225,225,225,225,100000000 +03/24/2017,225,225,225,225,100000000 +03/27/2017,225,225,225,225,100000000 +03/28/2017,225,225,225,225,100000000 +03/29/2017,225,225,225,225,100000000 +03/30/2017,225,225,225,225,100000000 +03/31/2017,225,225,225,225,100000000 +04/03/2017,225,225,225,225,100000000 +04/04/2017,225,225,225,225,100000000 +04/05/2017,225,225,225,225,100000000 +04/06/2017,225,225,225,225,100000000 +04/07/2017,225,225,225,225,100000000 +04/10/2017,225,225,225,225,100000000 +04/11/2017,225,225,225,225,100000000 +04/12/2017,225,225,225,225,100000000 +04/13/2017,225,225,225,225,100000000 +04/17/2017,225,225,225,225,100000000 +04/18/2017,225,225,225,225,100000000 +04/19/2017,225,225,225,225,100000000 +04/20/2017,225,225,225,225,100000000 +04/21/2017,225,225,225,225,100000000 +04/24/2017,225,225,225,225,100000000 +04/25/2017,225,225,225,225,100000000 +04/26/2017,225,225,225,225,100000000 +04/27/2017,225,225,225,225,100000000 +04/28/2017,225,225,225,225,100000000 +05/01/2017,225,225,225,225,100000000 +05/02/2017,225,225,225,225,100000000 +05/03/2017,225,225,225,225,100000000 +05/04/2017,225,225,225,225,100000000 +05/05/2017,225,225,225,225,100000000 +05/08/2017,225,225,225,225,100000000 +05/09/2017,225,225,225,225,100000000 +05/10/2017,225,225,225,225,100000000 +05/11/2017,225,225,225,225,100000000 +05/12/2017,225,225,225,225,100000000 +05/15/2017,225,225,225,225,100000000 +05/16/2017,225,225,225,225,100000000 +05/17/2017,225,225,225,225,100000000 +05/18/2017,225,225,225,225,100000000 +05/19/2017,225,225,225,225,100000000 +05/22/2017,225,225,225,225,100000000 +05/23/2017,225,225,225,225,100000000 +05/24/2017,225,225,225,225,100000000 +05/25/2017,225,225,225,225,100000000 +05/26/2017,0.00022919,0.00022953,0.0002291,0.00022935,49.14262 +05/30/2017,0.000229,0.00022943,0.00022883,0.00022915,37.098796 +05/31/2017,0.00022947,0.00022951,0.00022834,0.00022909,96.742576 +06/01/2017,0.0002296,0.00023094,0.00022928,0.00023092,72.678144 +06/02/2017,0.00023097,0.00023186,0.00023065,0.00023169,93.444032 +06/05/2017,0.0002315,0.00023181,0.0002313,0.00023151,47.10748 +06/06/2017,0.0002309,0.00023151,0.00023069,0.00023077,53.089976 +06/07/2017,0.00023114,0.00023145,0.00023041,0.0002312,57.061952 +06/08/2017,0.00023131,0.00023184,0.00023074,0.00023132,69.504536 +06/09/2017,0.00023161,0.00023248,0.00022958,0.00023096,139.383184 +06/12/2017,0.0002307,0.00023097,0.00022999,0.00023092,90.74816 +06/13/2017,0.00023151,0.0002321,0.00023113,0.00023205,63.303744 +06/14/2017,0.00023234,0.00023235,0.00023085,0.00023175,82.837904 +06/15/2017,0.00023027,0.00023144,0.00022997,0.00023131,70.04644 +06/16/2017,0.00023148,0.00023154,0.0002304,0.00023136,88.67688 +06/19/2017,0.00023226,0.00023335,0.00023216,0.00023328,68.299992 +06/20/2017,0.00023289,0.0002329,0.00023169,0.00023171,59.681776 +06/21/2017,0.0002321,0.00023226,0.00023114,0.00023165,58.70768 +06/22/2017,0.00023166,0.00023221,0.00023136,0.00023155,46.301224 +06/23/2017,0.00023161,0.00023219,0.00023119,0.00023182,70.253848 +06/26/2017,0.00023256,0.00023302,0.00023174,0.00023198,59.465848 +06/27/2017,0.00023174,0.00023206,0.00023009,0.00023011,86.259016 +06/28/2017,0.00023122,0.00023238,0.00023097,0.00023217,73.458688 +06/29/2017,0.00023233,0.00023239,0.0002288,0.00023013,112.1658242 +06/30/2017,0.00023101,0.00023142,0.00023034,0.00023056,91.05508 +07/03/2017,0.00023159,0.00023206,0.00023095,0.00023095,41.063396 +07/05/2017,0.00023135,0.00023171,0.00023046,0.00023148,57.082112 +07/06/2017,0.00023064,0.00023077,0.00022916,0.00022936,69.339864 +07/07/2017,0.00022999,0.00023101,0.00022938,0.00023085,60.79966487 +07/10/2017,0.0002307,0.00023151,0.00023052,0.0002311,38.451396 +07/11/2017,0.0002309,0.00023127,0.00022965,0.00023093,52.810484 +07/12/2017,0.00023199,0.00023284,0.00023199,0.00023266,62.517696 +07/13/2017,0.00023267,0.00023318,0.00023242,0.00023305,41.396728 +07/14/2017,0.00023306,0.00023453,0.00023295,0.00023414,63.201796 +07/17/2017,0.00023405,0.00023447,0.00023392,0.00023411,35.167316 +07/18/2017,0.00023366,0.00023429,0.00023329,0.00023424,44.827112 +07/19/2017,0.00023458,0.00023551,0.00023457,0.0002355,53.52328 +07/20/2017,0.00023578,0.00023591,0.00023501,0.00023561,49.434036 +07/21/2017,0.00023498,0.00023543,0.00023473,0.0002354,93.037592 +07/24/2017,0.00023531,0.00023549,0.00023483,0.00023534,48.896096 +07/25/2017,0.00023616,0.00023628,0.00023567,0.00023591,57.593908 +07/26/2017,0.00023623,0.00023627,0.00023564,0.00023592,49.895744 +07/27/2017,0.00023643,0.00023647,0.00023426,0.0002357,74.217968 +07/28/2017,0.00023518,0.00023557,0.00023468,0.00023543,52.531244 +07/31/2017,0.00023587,0.00023597,0.00023507,0.00023529,69.049712 +08/01/2017,0.00023595,0.00023599,0.00023524,0.00023582,57.735292 +08/02/2017,0.00023596,0.00023609,0.00023491,0.00023593,49.513776 +08/03/2017,0.00023581,0.00023584,0.00023517,0.00023548,42.848608 +08/04/2017,0.00023601,0.00023627,0.00023549,0.0002359,63.127488 +08/07/2017,0.00023598,0.00023634,0.00023587,0.00023634,33.555464 +08/08/2017,23600000,23733000,23535000,23576000,6472950000000.00 +08/09/2017,23501000,23581000,23462000,23575000,6568731200000.00 +08/10/2017,23484000,23498000,23237000,23242000,12635544800000.00 +08/11/2017,23267000,23342000,23241000,23277000,7852147200000.00 +08/14/2017,23417000,23531000,23413000,23507000,7686648000000.00 +08/15/2017,23549000,23551000,23471000,23505000,5793702000000.00 +08/16/2017,23562000,23606000,23499000,23546000,5948164800000.00 +08/17/2017,23479000,23513000,23179000,23179000,13475707200000.00 +08/18/2017,23160000,23283000,23094000,23142000,14341740800000.00 +08/21/2017,23136000,23189000,23058000,23160000,6866279200000.00 +08/22/2017,23224000,23420000,23222000,23403000,6621954400000.00 +08/23/2017,23297000,23365000,23281000,23319000,5265235200000.00 +08/24/2017,23361000,23378000,23241000,23264000,5321642000000.00 +08/25/2017,23351000,23419000,23302000,23319000,6758904000000.00 +08/28/2017,23377000,23380000,23274000,23320000,4254405200000.00 +08/29/2017,23176000,23375000,23163000,23346000,5362968000000.00 +08/30/2017,23344000,23487000,23324000,23457000,6505614400000.00 +08/31/2017,23525000,23625000,23461000,23598000,10886656000000.00 +09/01/2017,23639000,23678000,23615000,23631000,6503116400000.00 +09/05/2017,23576000,23601000,23356000,23462000,9585644000000.00 +09/06/2017,23536000,23578000,23478000,23542000,6074156400000.00 +09/07/2017,23575000,23577000,23494000,23539000,6086517200000.00 +09/08/2017,23507000,23562000,23485000,23511000,6694605200000.00 +09/11/2017,23651000,23771000,23649000,23762000,7484542400000.00 +09/12/2017,23802000,23846000,23782000,23842000,5967093200000.00 +09/13/2017,23811000,23857000,23798000,23854000,6211664000000.00 +09/14/2017,23818000,23868000,23799000,23846000,10010141600000.00 +09/15/2017,23830000,23888000,23819000,23878000,9959268000000.00 +09/18/2017,23918000,23967000,23887000,23929000,4825082400000.00 +09/19/2017,23956000,23962000,23917000,23953000,4916178800000.00 +09/20/2017,23962000,23974000,23852000,23961000,6217116400000.00 +09/21/2017,23944000,23954000,23878000,23897000,5031313600000.00 +09/22/2017,23865000,23920000,23862000,23902000,5344666400000.00 +09/25/2017,23874000,23913000,23772000,23853000,5955203200000.00 +09/26/2017,23900000,23927000,23841000,23868000,5643961600000.00 +09/27/2017,23944000,24003000,23847000,23960000,8453261600000.00 +09/28/2017,23930000,23998000,23920000,23989000,4673093600000.00 +09/29/2017,23988000,24082000,23968000,24074000,8930870400000.00 +10/02/2017,24098000,24178000,24080000,24178000,6159604400000.00 +10/03/2017,24191000,24233000,24169000,24230000,6972270400000.00 +10/04/2017,24213000,24285000,24201000,24258000,5839287200000.00 +10/05/2017,24295000,24404000,24262000,24402000,6629198000000.00 +10/06/2017,24353000,24406000,24325000,24374000,8416169600000.00 +10/09/2017,24399000,24406000,24305000,24334000,3736394400000.00 +10/10/2017,24396000,24440000,24337000,24398000,4493441200000.00 +10/11/2017,24388000,24437000,24370000,24437000,4975264400000.00 +10/12/2017,24402000,24441000,24374000,24400000,4911690800000.00 +10/13/2017,24448000,24461000,24400000,24430000,5718941600000.00 +10/16/2017,24455000,24484000,24418000,24463000,3988791600000.00 +10/17/2017,24457000,24485000,24433000,24480000,3293683600000.00 +,245.21,245.26,244.83,245.04,42670820 +,244.18,245.14,243.72,245.1,64602432 +,245.98,246.4,245.09,246.37,93063952 +,246.72,246.75,245.33,245.41,66701640 +,245.88,246.1,245.45,245.84,69853928 +,245.48,245.6,243.39,244.63,108236672 +,245.3,245.59,244.81,244.94,72840760 +,245.76,247.12,244.95,246.94,89292576 +,246.33,246.84,245.7,246.02,56652224 +,246.44,246.69,246.08,246.41,62933720 +,247.26,247.63,246.33,246.73,56565660 +,246.66,246.98,245.49,246.83,58910404 +,247,247.7,246.55,247.65,62187496 +,247.51,248.18,247.43,248.04,51817160 +,248.15,248.52,247.31,247.86,60008920 +,247.67,248.39,247.37,248.29,52669760 +,246.96,247.6,245.65,247.39,99230672 +,246.96,247.5,246.62,247.31,62599644 +,246.56,247.79,246.52,247.54,52418324 +,246.66,247.08,245.8,246.96,63988136 +,245.9,246.48,244.95,245.73,84334432 +,246.76,248.22,246.72,247.82,70731712 +,247.43,247.79,247,247.09,79059392 +,247.36,247.73,247.09,247.51,50171324 +,248.35,249.33,247.47,249.13,72192504 +,249.14,249.28,248.73,248.91,46996584 +,249.45,249.6,249.29,249.48,29070892 +,249.53,249.86,249.14,249.36,54553804 +,249.87,251.92,249.77,251.89,103286312 +,252.03,252.62,251.25,251.74,80891176 +,252.74,254.94,252.66,253.94,133469840 +,253.7,254.23,249.87,253.41,171557392 +,255.19,255.65,253.05,253.11,98140184 +,253.38,254.07,252.05,252.2,81394656 +,251.89,252.71,251.74,252.24,79207304 +,252.1,253.38,251.96,253.04,80584848 +,253.92,254.43,253,254.42,79901608 +,254.49,255.25,254.39,255.19,86699232 +,255.43,256.15,255.22,255.64,88909792 +,255.9,256.38,255.51,255.61,107391488 +,255.93,256.06,254.51,254.56,105055176 +,255.66,257.19,255.6,256.68,150146832 +,258.21,258.7,258.1,258.31,86856320 +,258.58,258.63,257.24,257.32,85536976 +,258.38,258.44,256.86,257.18,79690000 +,257.87,258.49,257.44,257.71,69598728 +,257.73,257.77,257.06,257.65,81734768 +,257.2,257.58,257.04,257.34,46976656 +,257.52,257.86,257.16,257.46,59962032 +,258.01,258.04,257.59,257.99,46843448 +12/29/2017,0.00000001293,0.00000001293,0.00000001284,0.00000001000,99683152000000.00 +01/02/2018,0.00000001289,0.00000001294,0.00000001287,0.00000002000,89973440000000.00 +01/03/2018,0.00000001295,0.00000001303,0.00000001295,0.00000001000,93518840000000.00 +01/04/2018,0.00000001306,0.00000001310,0.00000001302,0.00000001000,83723648000000.00 +01/05/2018,0.00000001312,0.00000001317,0.00000001309,0.00000001000,86721784000000.00 +01/08/2018,0.00000001316,0.00000001319,0.00000001314,0.00000002000,59513708000000.00 +01/09/2018,0.00000001321,0.00000001325,0.00000001319,0.00000001322,59445976000000.00 +01/10/2018,0.00000001317,0.00000001321,0.00000001314,0.00000001320,72238032000000.00 +01/11/2018,0.00000001323,0.00000001329,0.00000001322,0.00000001329,64749016000000.00 +01/12/2018,0.00000001331,0.00000001339,0.00000001329,0.00000001338,94293048000000.00 +01/16/2018,0.00000001345,0.00000001348,0.00000001330,0.00000001333,110634704000000.00 +01/17/2018,0.00000001338,0.00000001348,0.00000001333,0.00000001346,117595008000000.00 +01/18/2018,0.00000001345,0.00000001348,0.00000001341,0.00000001344,104584464000000.00 +01/19/2018,0.00000001347,0.00000001350,0.00000001344,0.00000001350,146315344000000.00 +01/22/2018,0.00000001349,0.00000001361,0.00000001348,0.00000001361,94818768000000.00 +01/23/2018,0.00000001361,0.00000001365,0.00000001359,0.00000001364,100801672000000.00 +01/24/2018,0.00000001367,0.00000001371,0.00000001357,0.00000001363,139977680000000.00 +01/25/2018,0.00000001368,0.00000001368,0.00000001359,0.00000001364,87825816000000.00 +01/26/2018,0.00000001368,0.00000001380,0.00000001367,0.00000001380,111868160000000.00 +01/29/2018,0.00000001376,0.00000001379,0.00000001370,0.00000001370,93568600000000.00 +01/30/2018,0.00000001360,0.00000001371,0.00000001354,0.00000001356,136842368000000.00 +01/31/2018,0.00000001361,0.00000001364,0.00000001351,0.00000001357,123502168000000.00 +02/01/2018,0.00000001353,0.00000001363,0.00000001351,0.00000001356,93552120000000.00 +02/02/2018,0.00000001348,0.00000001349,0.00000001326,0.00000001326,179804944000000.00 +02/05/2018,0.00000001316,0.00000001328,0.00000001268,0.00000001271,305963968000000.00 +02/06/2018,0.00000001251,0.00000001298,0.00000001245,0.00000001296,368619296000000.00 +02/07/2018,0.00000001293,0.00000001311,0.00000001288,0.00000001289,173784240000000.00 +02/08/2018,0.00000001290,0.00000001291,0.00000001240,0.00000001240,255885040000000.00 +02/09/2018,0.00000001255,0.00000001269,0.00000001217,0.00000001259,294421856000000.00 +02/12/2018,0.00000001270,0.00000001285,0.00000001260,0.00000001277,149239040000000.00 +02/13/2018,0.00000001271,0.00000001283,0.00000001268,0.00000001280,84333360000000.00 +02/14/2018,0.00000001272,0.00000001300,0.00000001272,0.00000001298,125358160000000.00 +02/15/2018,0.00000001307,0.00000001314,0.00000001294,0.00000001314,115457688000000.00 +02/16/2018,0.00000001311,0.00000001325,0.00000001311,0.00000001315,166561968000000.00 +02/20/2018,0.00000001310,0.00000001317,0.00000001302,0.00000001306,89676400000000.00 +02/21/2018,0.00000001309,0.00000001322,0.00000001299,0.00000001300,102669592000000.00 +02/22/2018,0.00000001305,0.00000001314,0.00000001298,0.00000001302,114742312000000.00 +02/23/2018,0.00000001308,0.00000001322,0.00000001306,0.00000001322,96318072000000.00 +02/26/2018,0.00000001328,0.00000001338,0.00000001325,0.00000001338,89802808000000.00 +02/27/2018,0.00000001339,0.00000001343,0.00000001321,0.00000001321,102893264000000.00 +02/28/2018,0.00000001327,0.00000001330,0.00000001306,0.00000001308,126575120000000.00 +03/01/2018,0.00000001307,0.00000001315,0.00000001280,0.00000001289,183626128000000.00 +03/02/2018,0.00000001280,0.00000001298,0.00000001275,0.00000001295,144408144000000.00 +03/05/2018,0.00000001289,0.00000001314,0.00000001288,0.00000001310,101032888000000.00 +03/06/2018,0.00000001316,0.00000001316,0.00000001305,0.00000001314,82245904000000.00 +03/07/2018,0.00000001302,0.00000001315,0.00000001301,0.00000001313,90396808000000.00 +03/08/2018,0.00000001317,0.00000001320,0.00000001311,0.00000001319,69462520000000.00 +03/09/2018,0.00000001327,0.00000001342,0.00000001325,0.00000001342,117975584000000.00 +03/12/2018,0.00000001344,0.00000001347,0.00000001339,0.00000001341,74678496000000.00 +03/13/2018,0.00000001347,0.00000001350,0.00000001329,0.00000001332,95490048000000.00 +03/14/2018,267.57,267.77,264.54,265.15,109949368 +03/15/2018,265.71,266.41,264.31,264.86,86627344 +03/16/2018,265.44,266.3,265.09,265.15,103769888 +03/19/2018,264.32,265.34,259.75,261.56,112937344 +03/20/2018,261.99,262.7,261.26,262,61797672 +03/21/2018,262,262.71,261.27,262.01,61798672 +03/22/2018,262.01,262.72,261.28,262.02,61799672 +03/23/2018,262.02,262.73,261.29,262.03,61800672 +03/26/2018,262.03,262.74,261.3,262.04,61801672 +03/27/2018,262.04,262.75,261.31,262.05,61802672 +03/28/2018,262.05,262.76,261.32,262.06,61803672 +03/29/2018,262.06,262.77,261.33,262.07,61804672 +04/02/2018,262.07,262.78,261.34,262.08,61805672 +04/03/2018,262.08,262.79,261.35,262.09,61806672 +04/04/2018,262.09,262.8,261.36,262.1,61807672 +04/05/2018,262.1,262.81,261.37,262.11,61808672 +04/06/2018,262.11,262.82,261.38,262.12,61809672 +04/09/2018,262.12,262.83,261.39,262.13,61810672 +04/10/2018,262.13,262.84,261.4,262.14,61811672 +04/11/2018,262.14,262.85,261.41,262.15,61812672 +04/12/2018,262.15,262.86,261.42,262.16,61813672 +04/13/2018,262.16,262.87,261.43,262.17,61814672 +04/16/2018,262.17,262.88,261.44,262.18,61815672 +04/17/2018,262.18,262.89,261.45,262.19,61816672 +04/18/2018,262.19,262.9,261.46,262.2,61817672 +04/19/2018,262.2,262.91,261.47,262.21,61818672 +04/20/2018,262.21,262.92,261.48,262.22,61819672 +04/23/2018,262.22,262.93,261.49,262.23,61820672 +04/24/2018,262.23,262.94,261.5,262.24,61821672 +04/25/2018,254.23,255.41,252.24,254.93,107386584 +04/26/2018,254.22,255.4,252.23,254.92,107385584 +04/27/2018,254.21,255.39,252.22,254.91,107384584 +04/30/2018,254.2,255.38,252.21,254.9,107383584 +05/01/2018,254.19,255.37,252.2,254.89,107382584 +05/02/2018,254.18,255.36,252.19,254.88,107381584 +05/03/2018,254.17,255.35,252.18,254.87,107380584 +05/04/2018,254.16,255.34,252.17,254.86,107379584 +05/07/2018,254.15,255.33,252.16,254.85,107378584 +05/08/2018,254.14,255.32,252.15,254.84,107377584 +05/09/2018,254.13,255.31,252.14,254.83,107376584 +05/10/2018,254.12,255.3,252.13,254.82,107375584 +05/11/2018,254.11,255.29,252.12,254.81,107374584 +05/14/2018,254.1,255.28,252.11,254.8,107373584 +05/15/2018,254.09,255.27,252.1,254.79,107372584 +05/16/2018,254.08,255.26,252.09,254.78,107371584 +05/17/2018,254.07,255.25,252.08,254.77,107370584 +05/18/2018,254.06,255.24,252.07,254.76,107369584 +05/21/2018,254.05,255.23,252.06,254.75,107368584 +05/22/2018,254.04,255.22,252.05,254.74,107367584 +05/23/2018,254.03,255.21,252.04,254.73,107366584 +05/24/2018,254.02,255.2,252.03,254.72,107365584 +05/25/2018,254.01,255.19,252.02,254.71,107364584 +05/29/2018,254,255.18,252.01,254.7,107363584 +05/30/2018,253.99,255.17,252,254.69,107362584 +05/31/2018,-263.16,263.49,261.33,261.99,96713160 +06/01/2018,263.42,264.9,263.34,264.57,73691520 +06/04/2018,265.47,-266.1,265.2,265.82,46934832 +06/05/2018,265.97,266.43,-265.13,-266.02,52881036 +06/06/2018,266.68,268.36,266.01,268.24,-64874192 +06/07/2018,270.77,269.09,267.22,268.21,75460928 +06/08/2018,267.71,255.06,267.53,269,74602920 +06/11/2018,269.25,270.15,275.12,280.36,60903392 +06/12/2018,269.82,270.11,269,269.71,74798688 +06/13/2018,269.97,270.25,268.63,268.85,81770464 +06/14/2018,269.8,270.11,268.88,269.53,79730104 +06/15/2018,268.67,269.55,267.45,269.18,123585600 +06/18/2018,267.59,268.77,267.07,268.63,54479888 +06/19/2018,266.14,267.84,265.69,267.6,100410976 +06/20/2018,268.35,268.78,267.69,268.06,55373416 +06/21/2018,268.05,268.07,265.83,266.38,73159376 +06/22/2018,267.76,267.88,266.62,266.86,58283384 +06/25/2018,265.6,265.77,261.38,263.23,141924096 +06/26/2018,263.85,264.74,263.02,263.81,70710976 +06/27/2018,264.45,266.01,261.46,261.63,108213904 +06/28/2018,261.57,263.96,260.79,263.12,78913504 +06/29/2018,264.32,265.81,263.37,263.5,100473760 +07/02/2018,261.78,264.24,261.52,264.06,65431128 +07/03/2018,265.05,265.15,262.67,263.13,43432576 +07/05/2018,264.36,265.35,263.19,265.28,58606568 +07/06/2018,265.31,267.93,264.89,267.52,68456816 +07/09/2018,268.62,269.99,268.57,269.93,52042820 +07/10/2018,270.43,271.01,270.11,270.9,53501064 +07/11/2018,269.2,270.07,268.59,268.92,79329656 +07/12/2018,270.3,271.42,269.64,271.36,61899772 +07/13/2018,271.16,271.9,270.67,271.57,49659024 +07/16/2018,271.62,271.78,270.84,271.33,49624096 +07/17/2018,270.48,272.85,270.43,272.43,53860032 +07/18/2018,272.51,273.12,272.03,273,45910016 +07/19/2018,272.27,272.69,271.45,271.97,63225212 +07/20/2018,271.75,272.44,271.48,271.66,84804656 +07/23/2018,271.44,272.39,271.06,272.16,48436568 +07/24/2018,273.71,274.46,272.58,273.53,70035320 +07/25/2018,273.26,276.22,273.21,275.87,81211824 +07/26/2018,275.08,275.96,274.97,275.21,59629476 +07/27/2018,275.57,275.68,272.34,273.35,79050080 +07/30/2018,273.44,273.61,271.35,271.92,65624404 +07/31/2018,272.76,273.93,272.34,273.26,70594928 +08/01/2018,273.49,274.04,272.1,272.81,55443260 +08/02/2018,0,0,0,0,0 +08/03/2018,0,0,0,0,0 +08/06/2018,0,0,0,0,0 +08/07/2018,0,0,0,0,0 +08/08/2018,0,0,0,0,0 +08/09/2018,0,0,0,0,0 +08/10/2018,0,0,0,0,0 +08/13/2018,0,0,0,0,0 +08/14/2018,0,0,0,0,0 +08/15/2018,0,0,0,0,0 +08/16/2018,0,0,0,0,0 +08/17/2018,0,0,0,0,0 +08/20/2018,0,0,0,0,0 +08/21/2018,0,0,0,0,0 +08/22/2018,0,0,0,0,0 +08/23/2018,0,0,0,0,0 +08/24/2018,0,0,0,0,0 +08/27/2018,0,0,0,0,0 +08/28/2018,0,0,0,0,0 +08/29/2018,0,0,0,0,0 +08/30/2018,0,0,0,0,0 +08/31/2018,0,0,0,0,0 +09/04/2018,0,0,0,0,0 +09/05/2018,0,0,0,0,0 +09/06/2018,0,0,0,0,0 +09/07/2018,0,0,0,0,0 +09/10/2018,0,0,0,0,0 +09/11/2018,0,0,0,0,0 +09/12/2018,0,0,0,0,0 +09/13/2018,0,0,0,0,0 +09/14/2018,0,0,0,0,0 +09/17/2018,0,0,0,0,0 +09/18/2018,0,0,0,0,0 +09/19/2018,0,0,0,0,0 +09/20/2018,0,0,0,0,0 +09/21/2018,0,0,0,0,0 +09/24/2018,0,0,0,0,0 +09/25/2018,0,0,0,0,0 +09/26/2018,0,0,0,0,0 +09/27/2018,0,0,0,0,0 +09/28/2018,0,0,0,0,0 +10/01/2018,0,0,0,0,0 +10/02/2018,0,0,0,0,0 +10/03/2018,0,0,0,0,0 +10/04/2018,0,0,0,0,0 +10/05/2018,0,0,0,0,0 +10/08/2018,0,0,0,0,0 +10/09/2018,0,0,0,0,0 +10/10/2018,0,0,0,0,0 +10/11/2018,0,0,0,0,0 +10/12/2018,0,0,0,0,0 10/15/2018,,,,, 10/16/2018,,,,, 10/17/2018,,,,, @@ -461,13 +461,13 @@ 10/29/2018,,,,, 10/30/2018,,,,, 10/31/2018,,,,, -11/1/2018,,,,, -11/2/2018,,,,, -11/5/2018,,,,, -11/6/2018,,,,, -11/7/2018,,,,, -11/8/2018,,,,, -11/9/2018,,,,, +11/01/2018,,,,, +11/02/2018,,,,, +11/05/2018,,,,, +11/06/2018,,,,, +11/07/2018,,,,, +11/08/2018,,,,, +11/09/2018,,,,, 11/12/2018,,,,, 11/13/2018,,,,, 11/14/2018,,,,, @@ -482,10 +482,10 @@ 11/28/2018,,,,, 11/29/2018,,,,, 11/30/2018,,,,, -12/3/2018,,,,, -12/4/2018,,,,, -12/6/2018,,,,, -12/7/2018,,,,, +12/03/2018,,,,, +12/04/2018,,,,, +12/06/2018,,,,, +12/07/2018,,,,, 12/10/2018,,,,, 12/11/2018,,,,, 12/12/2018,,,,, @@ -499,5 +499,5 @@ 12/24/2018,,,,, 12/26/2018,,,,, 12/27/2018,,,,, -12/28/2018,244.9400000000,246.7300000000,241.8700000000,243.1500000000,155998912.0000000000 -12/31/2018,244.9200000000,245.5400000000,242.8700000000,245.2800000000,147031456.0000000000 +12/28/2018,244.94,246.73,241.87,243.15,155998912 +12/31/2018,244.92,245.54,242.87,245.28,147031456 diff --git a/tests/indicators/_common/data/max.csv b/tests/indicators/_common/data/max.csv new file mode 100644 index 000000000..d243212b7 --- /dev/null +++ b/tests/indicators/_common/data/max.csv @@ -0,0 +1,503 @@ +date,open,high,low,close,volume +08/30/2019,9583943.05677936,9685705.61850764,9421913.05554497,9588653.63826083,1713240492460.72 +08/31/2019,9589923.79505096,9831213.58023587,9521175.30863128,9726180.61480389,1954781785592.16 +09/01/2019,9724790.44319895,10451290.12344510,9713699.07406316,10341276.54319830,4474577158036.86 +09/02/2019,10341276.54319830,10774329.99998790,10273268.14813660,10616590.52838310,4800430250647.46 +09/03/2019,10613160.10492630,10800333.20986440,10371170.23332170,10568324.57035850,4394931419743.53 +09/04/2019,10567224.43455600,10901345.67900010,10451290.12344510,10565794.25801280,3397515458471.97 +09/05/2019,10564434.09011160,10907216.40369150,10151253.08640840,10300001.44813660,5880690017386.71 +09/06/2019,10299981.44566740,10559303.45677830,10289840.19381560,10457170.84937100,2764128947559.76 +09/07/2019,10457190.85184010,10593807.71603750,10209260.24690210,10382461.62714880,2398763308859.26 +09/08/2019,10382521.63455620,10481293.82714870,10069743.02468000,10304391.99011190,3984064559901.80 +09/09/2019,10303851.92344520,10386272.09751920,9954228.76542092,10099396.68517380,2891898202894.59 +09/10/2019,10099436.69011210,10294270.74072920,9881219.75307532,10159584.11480340,3195776947857.67 +09/11/2019,10160004.16665530,10450099.97653150,10041239.50616160,10416295.80369200,3451542339233.84 +09/12/2019,10416295.80369200,10440288.76542040,10154253.45677870,10343336.79751920,3028407808951.86 +09/13/2019,10345407.05307480,10421276.41850680,10223592.01603790,10336295.92838350,2362444975767.95 +09/14/2019,10334085.65554390,10361279.01233400,10253415.69751930,10303281.85307480,1804988211841.34 +09/15/2019,10304612.01727240,10356278.39505010,10079244.19751950,10252575.59381560,2897497837322.14 +09/16/2019,10250945.39258110,10276268.51850700,10129260.37159360,10189077.75554410,2291715349193.27 +09/17/2019,10188737.71356880,10259286.42221070,10101246.91356890,10158243.94937130,2425324316091.14 +09/18/2019,10157663.87776640,10326274.69134640,9654191.72838422,10245554.72714900,4483181668791.00 +09/19/2019,10244964.65430950,10282269.25924770,10062632.14690230,10169845.38147010,2509158841354.82 +09/20/2019,10169175.29875400,10177956.38270460,9901222.22221110,9987622.88764310,2054671151390.24 +09/21/2019,9986382.73455668,10090245.55554420,9855186.53949510,10030108.13208750,2205199738872.29 +09/22/2019,10029288.03085290,10051230.73949490,9616957.13208796,9703447.80863108,3194117522415.62 +09/23/2019,9703397.80245824,9796199.25801369,7800962.96295420,8494188.53579293,9401895104798.12 +09/24/2019,8498599.08023737,8731077.77776797,8216654.27653398,8431090.74690411,6079139644216.11 +09/25/2019,8431090.74690411,8467035.18394111,7750956.79011475,8064725.52221316,6793924027407.79 +09/26/2019,8064485.49258353,8266020.37036109,7853119.40122575,8178919.61850933,4388834226996.61 +09/27/2019,8178479.56418834,8316026.54320053,8002077.78887990,8199822.19875622,3447786116559.89 +09/28/2019,8200392.26912659,8230145.94196606,7890974.07406521,8044813.06418849,3154810573504.95 +09/29/2019,8044032.96789220,8338289.29134866,7710951.85184319,8290363.37529933,5587238423367.30 +09/30/2019,8290993.45307711,8501049.38270650,8174059.01850934,8293463.75801538,4347778505614.76 +10/01/2019,8293693.78641044,8374943.81603997,8152226.32344763,8360972.09134863,2624662656824.76 +10/02/2019,8361032.09875604,8394036.17283008,8060995.06171934,8224975.30369446,3049204804365.19 +10/03/2019,8225445.36171916,8233426.34690433,8005988.27159594,8138134.58394148,2647959908673.62 +10/04/2019,8138094.57900320,8184420.29752167,8013969.25678112,8127193.23332420,2191032020787.22 +10/05/2019,8128553.40122544,8154876.65060812,7785961.11110236,7855219.66048500,3468038504946.09 +10/06/2019,7856269.79011463,8300944.68147216,7762958.27159622,8191101.12221302,5220851699722.49 +10/07/2019,8191831.21233648,8326027.77776842,8089748.61110202,8169398.44320070,3545703429424.70 +10/08/2019,8171798.73949699,8671070.37036063,8116001.85184273,8561796.88147186,5504549927971.32 +10/09/2019,8563207.05554594,8645067.16048412,8415558.82962018,8559086.54690397,3914277801216.18 +10/10/2019,8558876.52097804,8780593.89011359,8213393.87406485,8259519.56789196,5041150729256.29 +10/11/2019,8258969.49999072,8401037.03702760,8251018.51850925,8301114.70245981,2134196858366.71 +10/12/2019,8303004.93579314,8452413.37900285,8161007.40739824,8276031.60616354,2784417708135.80 +10/13/2019,8276261.63455860,8389885.66048440,8204012.71604017,8349230.64196593,2981434358176.32 +10/14/2019,8347890.47653383,8404037.40739797,8090998.76542301,8160297.31974392,3277710853305.90 +10/15/2019,8160307.32097849,8182170.01974390,7917977.40739851,7992726.63455892,3473788206398.15 +10/16/2019,7996007.03949719,8125923.07653408,7930008.89258368,8071576.36789217,2966061050971.46 +10/17/2019,8071706.38394155,8116001.85184273,7816974.93949739,7947991.11233675,3135705217910.26 +10/18/2019,7947871.09752194,8099099.76542300,7867891.22468252,7948991.23579354,2663117678172.17 +10/19/2019,7950851.46542317,8298024.32097833,7870971.60492943,8224365.22838582,3429068554935.09 +10/20/2019,8224365.22838582,8334028.76542274,8143035.18887974,8198282.00863277,3045243863520.52 +10/21/2019,8198292.00986733,8299014.44320055,8000987.65431200,8020990.12344778,3465610666649.97 +10/22/2019,8021050.13085519,8048583.52962059,7300901.23455970,7467541.80492988,6390534567287.86 +10/23/2019,7469392.03332494,7504606.38023848,7338895.92468311,7413325.11233735,3271842207771.20 +10/24/2019,7413325.11233735,8800086.29628641,7361908.76542383,8656088.52097793,9075942165762.32 +10/25/2019,8656948.62715077,10371280.24690190,8471425.72591641,9231139.50616247,16260865807768.30 +10/26/2019,9231139.50616247,9796189.25677912,9075460.28887869,9531106.53455720,9384512599174.69 +10/27/2019,9529406.32468065,9903322.48147036,9161130.86418724,9206276.43702669,8018411537443.13 +10/28/2019,9205586.35184151,9551179.01233495,9073119.99998981,9408781.43455733,6416638324376.08 +10/29/2019,9408781.43455733,9411001.70863140,9002121.23579236,9155850.21233539,5524860640757.18 +10/30/2019,9155150.12591564,9406161.11110055,8914100.37036036,9141978.49998973,5438273799143.30 +10/31/2019,9141988.50122430,9280145.55554513,9031114.81480467,9232749.70492790,4360019619076.77 +11/01/2019,9232539.67900197,9374897.25184132,9187344.09998968,9290666.85431055,2892663157621.79 +11/02/2019,9290996.89505129,9363725.87282899,9067259.27653302,9195845.14937239,2789782202937.35 +11/03/2019,9197595.36542177,9514854.52838437,9116965.41233544,9394509.67282895,4590012225920.49 +11/04/2019,9393559.55554500,9456117.27776716,9176892.80986623,9309809.21727349,4594154476046.26 +11/05/2019,9308879.10245868,9442075.54443384,9251151.97653282,9340202.96912531,3734077977570.77 +11/06/2019,9340312.98270556,9376157.40739688,9102123.58023669,9217337.80245878,3912230017034.53 +11/07/2019,9215137.53085385,9262143.33332293,8697073.58023714,8774813.17653335,6211495680950.34 +11/08/2019,8774823.17776792,8881096.29628632,8725957.14566921,8810497.58147158,2947311961254.78 +11/09/2019,8810267.55307652,9148319.28270577,8751080.24690375,9040585.98394046,3442627943026.96 +11/10/2019,9041276.06912565,9073440.03949598,8619744.03455822,8734348.18147167,4489359527995.51 +11/11/2019,8734438.19258278,8889097.28394063,8568657.72838544,8823029.12838515,4037161300545.72 +11/12/2019,8822999.12468145,8846081.97406414,8703074.32097788,8778203.59505187,2681342680894.74 +11/13/2019,8778623.64690372,8801086.41974320,8583659.58023727,8647747.49134831,3347260087071.07 +11/14/2019,8647447.45431127,8791085.18517531,8401037.03702760,8472775.89258307,4609310755560.88 +11/15/2019,8472665.87900283,8544054.69134843,8401037.03702760,8492068.27406454,2090488028281.01 +11/16/2019,8491788.23949663,8636066.04937302,8351710.94813877,8503449.67900279,2701237153099.21 +11/17/2019,8503919.73702748,8504569.81727440,8060995.06171934,8188180.76171920,4302300176599.36 +11/18/2019,8187510.67900315,8219644.64566978,8003988.02468237,8134644.15307728,4356143831643.56 +11/19/2019,8134834.17653407,8265310.28270677,8039392.39505270,8099009.75431189,3247023915662.77 +11/20/2019,8099559.82221312,8135734.28764518,7500925.92591750,7628681.69628773,5842599245602.83 +11/21/2019,7628731.70246057,7750956.79011475,6790838.27159731,7269127.31233751,12661877027617.40 +11/22/2019,7269127.31233751,7345386.72591767,7080884.07530069,7312472.66295475,5045612313701.18 +11/23/2019,7312002.60493006,7331294.98641152,6861847.03702933,6904132.25678237,6789858798989.69 +11/24/2019,6901081.88023916,7378600.82591764,6515804.32098033,7110447.72468337,11966050627528.50 +11/25/2019,7110867.77653522,7340906.17283126,7018346.35554767,7157023.47406603,6573051156618.42 +11/26/2019,7155633.30246110,7655945.06171979,6840844.44443676,7509446.97776934,9246428742489.49 +11/27/2019,7508826.90122613,7643943.58023833,7360908.64196704,7420405.98641142,5694100999549.27 +11/28/2019,7419435.86665833,7850969.13579365,7363208.92591766,7740635.51604069,6075280029279.26 +11/29/2019,7741945.67776908,7810964.19752209,7441918.64196695,7542821.09752239,4699523478359.15 +11/30/2019,7541560.94196684,7542781.09258412,7210890.12344869,7391802.45554725,6077684470087.16 +12/01/2019,7392412.53085589,7421476.11851018,7151982.85184382,7295180.52838687,4633597582464.42 +12/02/2019,7295320.54567082,7400913.58023860,7242243.99381903,7293610.33455971,3315357001504.76 +12/03/2019,7293610.33455971,7750956.79011475,7067872.46912786,7195208.18764624,8315741422204.76 +12/04/2019,7195478.22097957,7485924.07406566,7150882.71604135,7389912.22221392,5931400066713.77 +12/05/2019,7389912.22221392,7590967.04073221,7305901.85184364,7528399.31727549,4819503721406.24 +12/06/2019,7528729.35801623,7620560.69381860,7471082.24196692,7489134.47036196,3150257289940.57 +12/07/2019,7488234.35925085,7564933.82715200,7375770.47653492,7511037.17406564,2986058366771.10 +12/08/2019,7511037.17406564,7650944.44443585,7273897.90122640,7339546.00493003,4662764328152.70 +12/09/2019,7339546.00493003,7408514.51851020,7157983.59258455,7225021.86789312,4972990087601.08 +12/10/2019,7225041.87036225,7276398.20986837,7126539.71110311,7210890.12344869,3009680714050.25 +12/11/2019,7210890.12344869,7295900.61727575,7081174.11110316,7198968.65184376,4229382174688.24 +12/12/2019,7198648.61233759,7309952.35184364,7191647.74814007,7259376.10863382,2761328242136.34 +12/13/2019,7258265.97159678,7272667.74937455,7012865.67900447,7064922.10493034,2956563559486.40 +12/14/2019,7065012.11604145,7201188.92591784,7009215.22838719,7119468.83826361,2639903687501.20 +12/15/2019,7120478.96295496,7150882.71604135,6836843.95060960,6892570.82962189,4386940836673.58 +12/16/2019,6892290.79505399,6943067.06295516,6560809.87653584,6624637.75554811,5387171993757.27 +12/17/2019,6624657.75801725,7440918.51851016,6435794.44443722,7278728.49752269,9564845824487.42 +12/18/2019,7278728.49752269,7380911.11110282,7039178.92715259,7151182.75307839,5551590204395.92 +12/19/2019,7152192.87776974,7220891.35801658,7080374.01233773,7188717.38641168,3213603612708.80 +12/20/2019,7188897.40863390,7191467.72591785,7105877.16048585,7133630.58641174,1946957738279.64 +12/21/2019,7132470.44320186,7519468.21480637,7123349.31727595,7502366.10369528,3914228693454.25 +12/22/2019,7501636.01357182,7696330.04690493,7266737.01727579,7317993.34443622,6806039868405.97 +12/23/2019,7318203.37036215,7437598.10863362,7157923.58517714,7256665.77406592,4363488054525.81 +12/24/2019,7256665.77406592,7272667.74937455,7129740.10616483,7205519.46048573,2749543840251.52 +12/25/2019,7205899.50739931,7435917.90122622,7158003.59505369,7202889.13579438,3626423758967.24 +12/26/2019,7202889.13579438,7276758.25431281,7077293.63209082,7255635.64690543,3364685528094.50 +12/27/2019,7255665.65060913,7365919.26048555,7239563.66295483,7317043.22715227,2685229688813.02 +12/28/2019,7316263.13085598,7529379.43826315,7288899.75307823,7389152.12838676,3139098103633.33 +12/29/2019,7389342.15184355,7409154.59752254,7220891.35801658,7246894.56789309,2960956683280.40 +12/30/2019,7246894.56789309,7320903.70369548,7145892.09999197,7196118.29999192,2595765778649.34 +12/31/2019,7196128.30122648,7255895.67900420,7176035.82097959,7201738.99381907,1679446129932.25 +01/01/2020,7201658.98394253,7213390.43209066,6925594.90616506,6966569.96418971,3195542855961.00 +01/02/2020,6966349.93702921,7405914.19752255,6871888.27653549,7345866.78517693,6843694841394.18 +01/03/2020,7345906.79011520,7404914.07406576,7273107.80369553,7355017.91480655,2999167719609.93 +01/04/2020,7355097.92468310,7495925.30863355,7318903.45678190,7359658.48764605,3833581783674.76 +01/05/2020,7358548.35060902,7796302.38764556,7347667.00739915,7758957.77776906,5464244046350.85 +01/06/2020,7759857.88888017,8208693.29381794,7724663.54443577,8146285.59011431,9118294042443.60 +01/07/2020,8146925.66912665,8456043.82715099,7870971.60492943,8056974.56542305,11263654666982.90 +01/08/2020,8055714.40986749,8056954.56295391,7750956.79011475,7818725.15554677,6424745063484.51 +01/09/2020,7818705.15307764,8200012.22221301,7672947.16048521,8198031.97776857,8241695112413.56 +01/10/2020,8199872.20492906,8287363.00492896,8004148.04443545,8021000.12468235,5481679933763.81 +01/11/2020,8021000.12468235,8198011.97529943,7960982.71604044,8185990.49134883,3813620192785.05 +01/12/2020,8185980.49011426,8197011.85184264,8056884.55431194,8111341.27653410,3116360256638.26 +01/13/2020,8111341.27653410,8881096.29628632,8106540.68394151,8811097.65554566,12041399083158.60 +01/14/2020,8815728.22715059,8917580.79998998,8565057.28394100,8822499.06295305,8482676875375.73 +01/15/2020,8821098.89011355,8860903.80369375,8587059.99999035,8721086.54443465,5199749293508.78 +01/16/2020,8721226.56171860,9042766.25307626,8673510.67159520,8914380.40492826,7090649018400.39 +01/17/2020,8914370.40369369,8989989.73826151,8807467.20739751,8917060.73579245,3829947429144.40 +01/18/2020,8916190.62838505,9200115.67653287,8467045.18517567,8702774.28394084,7068561480080.44 +01/19/2020,8702794.28640998,8748069.87529881,8522332.00986697,8643416.95678042,3890144180024.59 +01/20/2020,8643416.95678042,8790085.06171852,8489047.90122503,8737108.52221241,3649919317595.39 +01/21/2020,8737118.52344698,8819088.64196540,8591060.49381751,8683431.89628654,2908414733020.66 +01/22/2020,8683841.94690383,8692883.06295320,8307415.48023758,8405557.59505229,4817189100985.91 +01/23/2020,8405557.59505229,8529072.84196573,8239017.03702778,8440041.85184237,4169267613753.70 +01/24/2020,8440031.85060780,8452303.36542260,8255919.12344752,8341609.70122520,2552430869220.98 +01/25/2020,8341039.63085483,8619193.96665698,8294683.90863266,8616063.58023723,3113432843373.84 +01/26/2020,8615453.50492859,9001111.11110100,8536053.70369411,8908669.69998999,5398020639630.92 +01/27/2020,8908669.69998999,9401160.49381660,8863494.12344683,9375367.30986601,7459406177155.39 +01/28/2020,9376497.44937218,9450406.57282889,9217137.77776742,9302678.33702659,5387071500652.25 +01/29/2020,9302718.34196486,9579182.46912504,9205576.35060694,9514384.47035968,6063422904217.37 +01/30/2020,9512694.26171771,9531396.57035966,9211147.03826126,9354044.67776727,4555764605841.20 +01/31/2020,9352864.53208826,9465698.46048320,9282145.80245871,9385768.59381662,2858159551043.14 +02/01/2020,9385568.56912526,9478200.00369306,9121125.92591568,9332662.03826112,4569655339334.87 +02/02/2020,9332742.04813766,9619977.50492747,9235139.99998963,9293387.19011302,5089841643038.12 +02/03/2020,9292497.08023648,9351154.32097715,9094132.59381695,9198155.43455757,5331475652214.58 +02/04/2020,9198155.43455757,9745653.01850757,9178352.99011315,9613226.67159414,6487842430821.29 +02/05/2020,9613216.67035957,9863787.60122349,9527526.09258189,9773206.41974211,6495772507022.18 +02/06/2020,9773206.41974211,9886220.37035926,9731201.23455697,9814941.57159391,4397154254733.73 +02/07/2020,9815081.58887786,9941227.16048266,9668303.47035951,9896271.61109999,4360622648615.67 +02/08/2020,9896261.60986543,10167255.06171700,9881969.84566791,10153003.30245770,4341383468701.49 +02/09/2020,10152973.29875400,10189257.77776630,9757204.44443348,9853046.27529757,5958043932073.79 +02/10/2020,9852956.26418646,10324864.51727240,9701197.53085330,10224342.10863050,6243010169247.60 +02/11/2020,10224342.10863050,10451290.12344510,10224342.10863050,10327734.87159330,6101559578967.59 +02/12/2020,10326604.73208720,10501296.29628450,10081244.44443310,10230892.91727250,7935415435875.76 +02/13/2020,10229042.68887740,10382841.67406240,10112618.31727260,10345637.08146990,4704428739272.16 +02/14/2020,10345637.08146990,10376280.86418590,9802209.99998899,9905942.80492714,5766432112013.86 +02/15/2020,9905682.77282838,10051240.74072940,9639309.89134720,9918494.35430985,6003140990724.58 +02/16/2020,9911923.54319874,9965390.14319868,9453836.99628568,9707198.27159403,7026968609992.12 +02/17/2020,9707198.27159403,10251265.43208730,9577192.22344603,10165964.90245770,7061284057744.15 +02/18/2020,10166034.91109970,10251265.43208730,9351154.32097715,9594974.41850774,5516939709085.10 +02/19/2020,9595834.52468058,9700197.40739651,9401160.49381660,9597604.74319910,6015976912910.70 +02/20/2020,9598394.84072996,9756714.38393966,9551389.03826088,9678244.69751999,4218676212327.66 +02/21/2020,9678244.69751999,9710368.66295205,9561200.24937198,9652051.46418669,2463979919798.75 +02/22/2020,9652041.46295212,9991233.33332211,9646190.74072991,9937626.71603822,3770674442195.06 +02/23/2020,9937626.71603822,9991233.33332211,9474729.57529800,9657322.11480397,5580348458859.41 +02/24/2020,9656712.03949532,9676194.44443358,9251141.97529825,9316990.10369324,5438605805126.63 +02/25/2020,9317630.18270558,9378597.70863144,8634695.88023721,8786334.59875556,9214171959862.27 +02/26/2020,8787084.69134815,8972877.62591585,8532053.20986696,8824299.28517527,7249252735188.92 +02/27/2020,8824339.29011354,8901098.76542210,8446042.59258310,8693983.19875567,7116399357062.09 +02/28/2020,8691872.93826184,8791085.18517531,8524602.29011388,8524662.29752129,3675271984767.91 +02/29/2020,8524662.29752129,8751080.24690375,8412038.39505228,8532933.31850893,4389762056929.38 +03/01/2020,8531353.12344721,8966856.88270598,8499049.13579292,8916340.64690356,6040877468273.83 +03/02/2020,8912280.14566900,8920751.19134800,8652068.02468164,8761151.49011361,5516180654086.17 +03/03/2020,8761151.49011361,8849382.38147154,8661069.13579274,8751950.35431116,3870125992148.47 +03/04/2020,8752070.36912597,9160550.79258230,8747619.81974326,9055797.86171822,5820905177053.40 +03/05/2020,9055757.85677995,9171132.09875513,8986609.32097756,9133007.39258233,4378835334617.85 +03/06/2020,9132017.27036011,9189134.32097733,8836090.74073081,8887757.11850853,4542781220452.00 +03/07/2020,8886346.94443446,8887857.13085421,8000987.65431200,8034301.76665764,7754688767395.81 +03/08/2020,8035751.94566999,8180319.79134884,7632952.22344822,7930848.99628739,11698330386827.20 +03/09/2020,7930848.99628739,8150006.04937356,7728964.07529996,7895534.63702817,8679415788031.92 +03/10/2020,7895544.63826274,7980985.18517622,7590937.03702851,7935499.57036146,7995228060538.82 +03/11/2020,7935559.57776886,7967153.47776883,4410544.44443949,4800592.59258720,26153789329575.00 +03/12/2020,4800602.59382177,5955735.18517850,3782596.92962538,5579288.71604312,40225132829117.30 +03/13/2020,5576738.40122830,5641216.36048749,5055754.09011778,5172698.52592012,13692703845976.90 +03/14/2020,5173118.57777197,5940733.33332666,5093728.77777206,5361961.88888287,13993342013218.00 +03/15/2020,5360991.76912978,5366082.39752484,4442668.40987155,5029590.86048818,22730498163909.80 +03/16/2020,5029480.84690793,5525682.09875922,4922057.58641422,5313295.88147551,15010845593836.40 +03/17/2020,5313295.88147551,5436841.13209266,5009988.44073511,5393705.80740135,13714456423148.70 +03/18/2020,5393925.83456184,6400790.12344960,5253178.46048793,6163130.78641283,19904544391697.90 +03/19/2020,6162810.74690666,6900851.85184410,5670699.99999363,6209126.46419056,21932540338159.50 +03/20/2020,6205335.99628932,6457777.15801744,5860743.45925268,6187743.82468441,12892958363055.40 +03/21/2020,6187803.83209181,6408661.09505453,5734717.90246269,5816908.04814161,11913069620470.90 +03/22/2020,5816768.03085766,6600814.81480740,5688702.22221583,6468108.43332607,16469454593491.20 +03/23/2020,6466048.17900508,6833843.58023924,6372116.58394346,6745552.68147390,15115666889139.50 +03/24/2020,6745522.67777020,6958819.00739959,6450796.29628905,6678254.37406657,13217205051169.00 +03/25/2020,6678244.37283200,6780837.03702942,6510803.70369639,6738191.77283194,8303680540290.81 +03/26/2020,6738101.76172083,6843434.76418984,6261772.96295593,6359895.07530150,8292520476975.30 +03/27/2020,6359895.07530150,6360785.18517804,6024743.70369694,6237419.95678312,9317119462561.50 +03/28/2020,6237419.95678312,6266773.58023987,5867284.26666008,5882146.10122796,6331944396426.39 +03/29/2020,5881225.98764771,6599814.69135061,5858483.18024033,6395169.42962245,11890422771408.80 +03/30/2020,6395239.43826442,6524035.33702971,6322180.41974598,6411231.41233848,7234652582623.47 +03/31/2020,6412931.62221502,6680764.68394311,6150869.27283260,6643740.11357278,9751278952981.64 +04/01/2020,6644180.16789377,7198888.64196722,6551808.76542474,6794928.77653558,14931833895810.00 +04/02/2020,6794698.74814051,7048870.12344887,6602915.07406666,6734931.37036281,10409312635578.90 +04/03/2020,6733801.23085663,6991273.01357239,6650830.98888142,6857836.54196761,7299987235634.26 +04/04/2020,6858256.59381946,6896391.30122682,6678344.38517768,6773616.14567140,4969149097763.34 +04/05/2020,6773616.14567140,7356048.04196705,6765835.18517759,7330804.92591769,11806657515295.80 +04/06/2020,7330804.92591769,7460610.94937433,7077873.70369575,7198208.55801660,10359795721034.30 +04/07/2020,7198208.55801660,7420916.04937438,7150882.71604135,7362188.79999173,7606853585591.92 +04/08/2020,7361168.67406581,7372830.11357197,7108957.54073276,7284439.20246095,6110241499377.30 +04/09/2020,7284439.20246095,7296650.70986835,6740812.09628872,6859766.78023921,10468754616789.20 +04/10/2020,6859766.78023921,6945157.32097985,6760834.56789364,6877678.99135030,4547590682239.41 +04/11/2020,6877688.99258487,7177886.04937465,6780837.03702942,6904642.31974533,7387778608937.39 +04/12/2020,6904642.31974533,6904642.31974533,6575811.72838768,6838754.18641207,9642737971814.76 +04/13/2020,6838884.20246145,6978861.48147364,6755113.86172081,6869547.98764660,6907715027545.14 +04/14/2020,6869417.97159722,6933855.92591814,6605815.43209135,6622057.43702960,6157898639948.56 +04/15/2020,6622067.43826417,7190887.65431291,6469068.55184459,7102816.78270807,12502529085460.50 +04/16/2020,7102866.78888091,7149002.48394259,6973840.86172056,7028417.59875754,5413319204809.51 +04/17/2020,7027647.50369581,7293980.38023872,7015265.97530076,7249494.88888075,4949465251558.87 +04/18/2020,7249494.88888075,7267047.05554739,7056471.06172047,7121619.10369570,4567050156747.09 +04/19/2020,7122279.18517718,7220891.35801658,6751833.45678254,6827672.81851085,9016062093673.45 +04/20/2020,6829823.08394295,6940856.79011566,6762834.81480722,6842214.61357256,6011713175988.41 +04/21/2020,6842204.61233799,7157263.50369566,6818841.72838740,7126019.64690558,6149396824471.29 +04/22/2020,7125999.64443644,7738955.30863328,7020866.66665878,7483313.75184345,10278625765589.20 +04/23/2020,7484883.94567060,7616900.24196675,7388912.09875713,7505926.54320144,6018954983028.29 +04/24/2020,7505926.54320144,7705951.23455924,7431987.41604103,7539600.69999153,4387984432196.63 +04/25/2020,7539960.74443597,7700950.61727530,7480923.45678172,7694049.76542346,5052885356896.90 +04/26/2020,7694049.76542346,7792981.97776902,7606939.01233713,7775579.82962089,6544941875365.19 +04/27/2020,7774469.69258386,7780960.49381842,7660065.57036177,7739935.42962093,4630846902716.25 +04/28/2020,7739535.38023822,8953995.29505167,7711001.85801603,8779653.77406421,18356954762336.30 +04/29/2020,8779663.77529878,9461167.90122394,8402037.16048439,8621064.19752118,20630268044650.00 +04/30/2020,8621064.19752118,9060298.41727377,8614623.40245946,8828049.74813823,9148010750520.08 +05/01/2020,8826759.58887897,9011112.34566889,8754080.61727412,8973157.66048375,5900937175827.32 +05/02/2020,8973687.72591585,9201135.80245880,8713075.55554577,8895258.04443445,9013719231766.95 +05/03/2020,8895248.04319988,8951104.93826155,8523052.09875586,8873055.30369374,8442893436946.46 +05/04/2020,8873015.29875547,9119705.75060704,8761081.48147164,9022943.80616270,7649020741170.94 +05/05/2020,9022473.74813801,9396159.87653266,8907309.53208876,9144048.75554528,10593837961771.10 +05/06/2020,9144528.81480454,10068242.83949490,9022113.70369357,9987632.88887767,14717277861380.70 +05/07/2020,9987532.87653199,10037199.00739610,9706198.14813725,9801219.87776677,10069622649820.80 +05/08/2020,9801229.87900134,9915473.98147034,9521175.30863128,9540577.70369299,8196079693475.57 +05/09/2020,9540277.66665595,9576012.07776702,8118002.09875631,8723846.88517539,18388788143298.20 +05/10/2020,8723846.88517539,9169131.85184155,8201012.34566980,8562576.97776816,16882809223327.10 +05/11/2020,8563097.04196569,8979368.42715041,8529832.93579289,8811877.75184195,8653346189060.23 +05/12/2020,8812077.77653331,9399160.24690302,8794075.55431111,9310519.30492781,9247768960728.11 +05/13/2020,9310499.30245868,9940227.03702587,9257902.80986614,9793188.88640875,12958137319546.80 +05/14/2020,9793178.88517418,9846835.50863091,9151129.62961935,9317570.17529817,11590506901729.20 +05/15/2020,9317110.11850805,9589183.70369293,9221138.27159458,9382428.18147094,5959498435920.00 +05/16/2020,9381968.12468082,9889220.74072963,9323250.87653274,9681235.06665579,6865623935555.53 +05/17/2020,9682305.19875456,9951228.39505055,9465398.42344616,9735131.71974215,8201672785495.52 +05/18/2020,9735131.71974215,9898431.87776666,9475169.62961899,9776736.85554457,7854945672063.45 +05/19/2020,9776336.80616186,9843215.06171734,9327151.35801421,9512604.25060660,7493298793412.45 +05/20/2020,9512604.25060660,9579652.52714973,8816088.27159503,9069769.58640957,10894222896652.80 +05/21/2020,9068629.44566883,9272144.56789082,8934622.90369367,9171132.09875513,5895040795368.98 +05/22/2020,9171132.09875513,9308999.11727349,9071119.75307623,9180283.22838475,4353167058286.05 +05/23/2020,9180143.21110080,9299147.90122412,8701074.07406430,8721416.58517539,7038855532232.22 +05/24/2020,8719216.31357045,8980768.59998991,8643787.00245943,8901448.80863198,6284166822188.61 +05/25/2020,8901448.80863198,9018783.29258246,8701074.07406430,8842271.50369377,5830696764042.07 +05/26/2020,8842091.48147155,9226138.88887852,8812817.86789133,9205206.30492793,6891886296522.06 +05/27/2020,9205206.30492793,9626658.32961882,9111124.69134779,9577072.20863122,7411993714187.50 +05/28/2020,9577052.20616208,9606445.83455711,9331151.85184137,9428233.83579188,5738144621562.21 +05/29/2020,9427763.77776719,9741202.46912486,9332382.00369322,9698917.24937182,5567214479580.66 +05/30/2020,9698917.24937182,9701197.53085330,9382568.19875489,9449436.45307581,4833975353706.95 +05/31/2020,9449436.45307581,10381281.48146980,9422833.16912522,10202029.35430950,7665858981509.41 +06/01/2020,10203969.59381570,10230252.83826010,9267143.95060687,9519215.06665597,10898422633274.80 +06/02/2020,9519195.06418684,9691196.29628541,9366366.19875491,9667433.36295210,4625835514202.69 +06/03/2020,9667513.37282865,9882849.95430988,9451166.66665605,9790268.52591493,5746319431473.41 +06/04/2020,9789348.41233468,9855966.63579140,9582182.83949541,9622347.79752005,4779394980921.17 +06/05/2020,9622357.79875462,9736201.85184092,9532226.67282880,9667493.37035951,3275699446714.75 +06/06/2020,9668043.43826075,9803210.12344578,9373617.09381663,9748193.33208781,5796000305757.50 +06/07/2020,9748193.33208781,9801209.87653220,9634189.25924844,9783217.65554457,4066968445385.86 +06/08/2020,9783207.65431000,9878219.38270495,9571181.48147073,9773636.47282853,4602968326441.61 +06/09/2020,9773646.47406309,9993953.66912458,9705378.04690268,9886220.37035926,4713658159466.09 +06/10/2020,9886440.39751976,9965230.12344560,9114125.06171816,9281545.72838463,9443064139467.54 +06/11/2020,9280025.54073032,9558299.89134729,9233649.81603901,9466298.53455727,5012525447107.11 +06/12/2020,9466128.51356961,9495902.18887822,9352154.44443394,9474509.54813750,2776321198490.10 +06/13/2020,9474509.54813750,9482160.49258194,9246141.35801430,9343253.34566852,3005921716433.76 +06/14/2020,9343253.34566852,9496172.22221155,8911550.05554555,9427183.70616225,8611855531489.18 +06/15/2020,9427213.70986595,9590183.82714972,9374247.17159441,9526765.99875473,5205887315495.72 +06/16/2020,9528146.16912510,9566180.86418678,9237750.32221184,9466308.53579183,4805234280764.38 +06/17/2020,9466298.53455727,9490171.48147082,9281145.67900192,9387478.80492773,3738656882097.84 +06/18/2020,9387478.80492773,9439465.22221162,9216927.75184150,9311379.41110065,4533658009068.65 +06/19/2020,9311379.41110065,9396159.87653266,9172082.21603908,9360105.42591541,3033280971302.57 +06/20/2020,9360105.42591541,9423163.20986596,9282685.86912538,9295837.49258215,2431992832363.12 +06/21/2020,9295837.49258215,9781207.40739642,9278235.31974266,9686885.76418665,5790261593161.93 +06/22/2020,9686885.76418665,9721199.99998908,9578212.34937196,9626078.25801388,4103609493913.66 +06/23/2020,9625518.18887808,9671193.82714963,9209136.79011311,9297637.71480437,6157916289127.21 +06/24/2020,9299477.94196486,9341153.08640926,9010802.30739729,9250631.91233529,5583851194842.57 +06/25/2020,9250631.91233529,9299147.90122412,9046566.72221206,9163341.13702674,5029850720265.67 +06/26/2020,9163341.13702674,9197375.33826127,8834090.49381724,9013112.59258247,4629664504259.16 +06/27/2020,9013112.59258247,9192134.69134770,8949164.69875538,9117475.47529840,3069196508472.12 +06/28/2020,9117285.45184161,9239140.49381678,9025784.15677998,9193694.88394029,4212549329715.77 +06/29/2020,9194064.92961930,9206136.41974274,9066009.12221204,9139678.21603912,3146704714205.12 +06/30/2020,9139208.15801442,9293147.16048339,9081220.99998980,9233139.75307605,3849328036916.65 +07/01/2020,9233129.75184148,9263103.45184145,8941103.70369366,9087661.79505152,4573081315842.71 +07/02/2020,9087661.79505152,9126126.54319962,9038585.73702688,9059378.30369353,2894699343871.77 +07/03/2020,9058908.24566884,9191134.56789091,9041156.05431083,9136587.83455764,2644523292452.39 +07/04/2020,9136127.77776751,9146369.04196503,8894127.90492828,9070529.68023673,3407786025086.63 +07/05/2020,9070529.68023673,9376157.40739688,9057038.01480464,9345353.60492777,5446985612042.98 +07/06/2020,9343623.39134753,9380577.95307588,9204136.17282917,9258532.88764392,3459160671952.63 +07/07/2020,9258542.88887849,9471169.13579183,9232139.62961926,9437224.94566841,5614744870905.80 +07/08/2020,9437224.94566841,9441955.52961902,9161130.86418724,9233569.80616247,4805038205860.59 +07/09/2020,9233559.80492790,9318630.30616237,9126126.54319962,9289486.70863154,3830022184472.31 +07/10/2020,9289486.70863154,9300428.05924881,9179383.11727364,9235170.00369333,2256415135380.18 +07/11/2020,9235160.00245876,9346153.70369321,9158630.55554527,9303898.48764387,3087651373069.20 +07/12/2020,9304458.55677967,9344973.55801419,9202025.91233534,9243761.06418715,4274534566669.46 +07/13/2020,9243751.06295258,9280685.62221180,9114125.06171816,9256992.69752047,4577820344135.71 +07/14/2020,9256992.69752047,9277635.24566859,9161700.93455761,9198735.50616251,3905840109454.44 +07/15/2020,9198735.50616251,9227289.03085383,9048366.94443428,9134847.61974282,4338092619974.03 +07/16/2020,9134847.61974282,9187964.17653289,9090932.19875522,9155450.16295268,2805782224204.76 +07/17/2020,9155440.16171811,9220438.18517483,9122226.06171815,9171412.13332303,2255732596826.56 +07/18/2020,9171432.13579217,9233409.78640938,9102473.62344657,9210126.91233533,2605523571566.42 +07/19/2020,9210126.91233533,9222658.45924890,9132127.28394036,9161910.96048354,3546314170715.55 +07/20/2020,9161910.96048354,9438895.15184125,9153929.97529836,9391159.25924871,6042104095290.57 +07/21/2020,9391159.25924871,9545178.27159422,9262143.33332293,9519335.08147079,4882103065066.21 +07/22/2020,9519335.08147079,9665193.08640890,9441495.47282890,9604455.58887810,5186263550407.75 +07/23/2020,9604455.58887810,9638189.75307559,9464608.32591529,9538977.50616212,4393655980201.30 +07/24/2020,9539277.54319916,9734101.59258166,9514174.44443376,9701617.58270515,4068456758205.50 +07/25/2020,9701617.58270515,10112248.27159360,9651191.35801385,9932766.11603823,6528732848797.84 +07/26/2020,9932766.11603823,11396266.77282670,9918434.34690244,11031321.72344440,15020747498742.90 +07/27/2020,11031321.72344440,11243617.92961700,10566304.32097580,10907616.45307420,9727974254913.60 +07/28/2020,10907616.45307420,11344220.34813540,10813334.81480270,11101900.43579000,7684758041738.69 +07/29/2020,11101890.43455540,11171379.01233310,10832337.16048170,11100980.32220980,6080233199006.21 +07/30/2020,11101160.34443200,11445412.83949330,10961353.08640740,11336859.43949340,7007231080860.94 +07/31/2020,11336859.43949340,11862464.32097430,11221385.18517260,11802626.93455460,8509798975369.77 +08/01/2020,11802626.93455460,12124956.72344320,10519798.58023510,11072716.83332090,9756512119371.81 +08/02/2020,11072726.83455550,11474416.41974020,10937350.12344450,11221195.16171580,5693887009734.04 +08/03/2020,11221065.14566640,11416389.25677730,11001358.02467900,11193351.72467880,5863635187112.04 +08/04/2020,11193371.72714790,11782384.43578920,11094369.50616040,11746359.98887570,7497951243918.15 +08/05/2020,11746359.98887570,11901469.13578910,11563927.46912280,11763912.15554230,6353692811684.47 +08/06/2020,11763922.15677690,11911410.36294960,11323397.77776510,11595661.38640670,6576404403748.44 +08/07/2020,11595791.40245610,11809727.81109780,11513421.23455500,11762862.02591270,4186332871415.54 +08/08/2020,11762471.97776460,11798566.43332010,11523392.46541920,11683122.18270290,4149818994285.98 +08/09/2020,11683132.18393750,12068839.79628270,11451413.58023410,11894388.26171500,8496282582985.36 +08/10/2020,11894368.25924590,11936473.45677670,11126373.45677760,11393486.42961680,9075948812582.82 +08/11/2020,11393496.43085140,11618954.26171530,11151376.54319740,11565757.69504870,6491762717647.57 +08/12/2020,11565767.69628330,11794415.92097440,11271751.40245650,11781454.32097440,7014114983420.54 +08/13/2020,11781224.29257940,11851462.96294970,11635466.29998690,11761991.91850530,5982623774047.56 +08/14/2020,11762001.91973990,11981479.01233220,11681441.97529550,11853863.25924590,5624484800117.76 +08/15/2020,11853863.25924590,11933193.05183840,11687442.71603630,11912470.49381380,4137334409569.50 +08/16/2020,11912460.49257920,12469539.25924530,11771233.05924600,12282646.18887510,8474467255367.52 +08/17/2020,12282666.19134420,12389299.35430710,11819389.00369040,11946484.69257920,7593320883994.27 +08/18/2020,11946574.70369030,12021563.96048030,11562427.28393760,11756041.18393740,7394929802191.77 +08/19/2020,11755831.15801150,11889467.65430760,11669440.49381410,11855013.40122120,4609094388852.24 +08/20/2020,11855003.39998670,11879466.41973970,11487228.00122170,11532763.62220930,6445626272293.28 +08/21/2020,11532653.60862900,11687442.71603630,11378214.54443170,11664399.87159180,4368409407825.29 +08/22/2020,11664949.93949310,11719516.67529550,11515551.49751790,11649568.04072770,3790468370288.21 +08/23/2020,11649558.03949310,11826359.86418420,11586520.25801170,11749650.39504850,4621809710051.19 +08/24/2020,11749640.39381400,11769302.82097440,11119012.54813570,11319817.33578980,6959951474393.07 +08/25/2020,11319817.33578980,11540744.60739440,11245388.14813550,11462844.99134510,5400489767923.95 +08/26/2020,11462834.99011060,11593631.13578940,11126373.45677760,11331778.81233290,6325384453556.88 +08/27/2020,11331778.81233290,11544075.01850560,11278282.20862930,11528333.07529570,4595958168696.87 +08/28/2020,11528323.07406110,11581449.63208580,11418449.51109830,11467255.53578960,3297787003937.04 +08/29/2020,11467255.53578960,11720446.79011030,11459414.56788840,11712605.82220910,4318320965630.38 +08/30/2020,11712615.82344360,11802226.88517190,11571428.39504870,11650948.21109800,5536045152390.62 +08/31/2020,11650948.21109800,12052337.75924570,11516421.60492530,11923441.84813480,7815784159305.64 +09/01/2020,11923441.84813480,11956045.87282610,11161477.79011090,11389945.99257980,8723261373098.87 +09/02/2020,11389945.99257980,11464015.13578960,9962029.72838387,10142101.95677870,12196516158350.70 +09/03/2020,10139541.64072940,10628361.98146950,9876719.19751977,10447539.66048210,9274504770537.89 +09/04/2020,10447539.66048210,10566984.40492640,9826212.96295192,10167945.14690220,9001271687722.83 +09/05/2020,10167945.14690220,10348417.42467970,9996093.93332211,10257466.19751930,5637574792466.69 +09/06/2020,10257156.15924770,10412035.27776610,9876219.13579137,10374720.67159330,6262796156860.57 +09/07/2020,10374730.67282790,10439288.64196360,9851216.04937165,10127900.20369230,7350095148932.71 +09/08/2020,10127910.20492690,10344276.91356860,9982242.22344558,10220461.62961810,4935320601221.32 +09/09/2020,10220551.64072930,10484644.24072900,10072073.31233440,10338146.15677850,5826094557138.52 +09/10/2020,10338136.15554390,10398883.65430930,10201259.25924780,10389172.45554390,4383566560947.75 +09/11/2020,10389172.45554390,10479263.57653140,10270517.80863040,10442209.00245740,3538352089263.88 +09/12/2020,10441958.97159320,10581416.18640790,10201259.25924780,10334105.65801310,4384302191555.14 +09/13/2020,10334115.65924770,10751327.16048170,10213600.78270460,10673087.50245710,6706757028578.40 +09/14/2020,10673087.50245710,10931389.38764200,10607789.44196340,10786641.51974100,6183008518750.91 +09/15/2020,10786561.50986440,11094369.50616040,10662536.19998800,10955362.34690130,6499953608343.81 +09/16/2020,10955362.34690130,11046823.63702460,10747156.64566690,10941340.61603710,5560847892579.30 +09/17/2020,10941350.61727170,11039392.71974070,10814174.91850640,10934739.80122230,4727256367349.94 +09/18/2020,10934749.80245690,11181170.22097510,10888714.11974090,11082017.98146900,3844478254151.95 +09/19/2020,11082007.98023450,11082007.98023450,10724323.82714840,10921628.18270380,3916275687638.38 +09/20/2020,10921628.18270380,10990216.64937040,10297621.15430940,10418506.07653150,7069215752844.89 +09/21/2020,10418506.07653150,10574015.27282760,10354278.14813650,10530909.95184000,4399666649267.60 +09/22/2020,10530909.95184000,10538450.88270420,10138071.45924790,10242724.37776630,5188297259351.94 +09/23/2020,10242724.37776630,10796572.74566690,10192188.13949470,10737645.47159290,5768373999723.48 +09/24/2020,10737655.47282740,10761858.46048170,10557543.23949430,10687989.34196330,4810705541745.31 +09/25/2020,10687889.32961760,10822275.91850640,10645994.15801270,10729924.51850650,2842434540423.46 +09/26/2020,10729914.51727190,10800333.20986440,10596128.00245720,10775580.15430890,3055325479410.80 +09/27/2020,10775590.15554350,10951351.85183950,10627311.85183990,10697440.50863000,5010143633292.32 +09/28/2020,10697430.50739540,10868881.67159270,10637183.07035840,10841818.33085200,4188006813949.60 +09/29/2020,10841918.34319770,10850679.42467920,10666446.68270410,10777920.44319780,3960091572039.03 +09/30/2020,10777920.44319780,10921348.14813590,10438288.51850680,10620441.00369180,6087384725501.72 +10/01/2020,10620441.00369180,10665956.62221020,10375280.74072910,10571704.98764240,5013658264243.81 +10/02/2020,10571704.98764240,10604869.08146960,10497755.85924750,10543361.48887700,2230097420780.72 +10/03/2020,10543371.49011160,10698190.60122260,10519168.50245730,10667946.86788920,2321486727418.32 +10/04/2020,10667936.86665470,10799333.08640760,10616950.57282760,10793542.37159280,3402996236427.70 +10/05/2020,10793532.37035820,10801333.33332120,10526299.38270420,10600968.59998810,4868074969816.40 +10/06/2020,10600958.59875350,10683188.74937070,10547471.99628440,10667706.83825960,3281604114196.05 +10/07/2020,10667716.83949420,10951351.85183950,10531710.05060550,10926918.83579020,5196610634867.89 +10/08/2020,10926788.81974080,11106010.94319740,10830336.91356810,11052004.27653080,4824602880154.30 +10/09/2020,11052004.27653080,11492418.64196240,11051874.26048140,11294614.22467870,4365342558948.71 +10/10/2020,11294614.22467870,11446412.96295010,11222385.30862940,11370423.58270330,2904743699962.65 +10/11/2020,11370423.58270330,11721456.91480160,11173379.25924670,11529673.24072780,5283180534990.49 +10/12/2020,11529663.23949320,11558426.79011050,11301395.06171570,11421969.94566620,4221049423780.56 +10/13/2020,11421979.94690070,11549405.67653020,11281392.59257990,11419299.61603660,4142021899100.47 +10/14/2020,11419299.61603660,11618774.23949310,11252218.99134540,11506540.38517230,4876673752063.40 +10/15/2020,11506550.38640680,11542574.83332040,11201382.71603680,11320717.44690090,4880377391546.39 +10/16/2020,11320637.43702430,11403827.70616000,11256389.50616020,11361602.49381440,2237167683544.91 +10/17/2020,11361712.50739460,11506420.37035740,11347620.76788850,11504560.14072780,2328691576396.04 +10/18/2020,11504560.14072780,11825449.75183860,11409368.39011060,11752920.79875220,4742038833820.50 +10/19/2020,11752910.79751770,12039866.21973960,11679031.67776470,11911460.36912240,6214242161980.22 +10/20/2020,11911470.37035700,13219311.81233080,11888417.52467800,12782537.89628190,11459860299610.20 +10/21/2020,12782327.87035600,13186627.77776300,12679645.19504750,12970121.05183730,7004747091233.42 +10/22/2020,12970441.09134350,13029298.35677550,12721650.38023260,12924665.44072620,5039322045820.77 +10/23/2020,12924655.43949170,13168355.52220740,12871588.88887440,13113348.73208400,3595664761428.92 +10/24/2020,13113348.73208400,13351648.14813310,12889591.11109660,13030438.49751620,3848633031624.12 +10/25/2020,13031248.59751620,13240444.42097280,12766575.92591160,13053801.38146680,6095919788383.10 +10/26/2020,13053761.37652850,13790992.38146600,13021477.39134340,13637853.47776250,8080652887911.86 +10/27/2020,13637843.47652790,13861191.04689800,12889591.11109660,13268037.82714560,9445222055444.03 +10/28/2020,13268037.82714560,13644594.30986120,12922365.15677560,13457361.19751570,7488184566304.33 +10/29/2020,13457351.19628120,13671667.65183650,13116619.13578770,13561774.08640450,7066650206349.85 +10/30/2020,13561774.08640450,14101740.74072490,13413155.74072570,13792702.59257710,6734755200116.08 +10/31/2020,13792702.59257710,13896715.43208320,13604679.38270080,13763198.95060180,3629012823565.38 +11/01/2020,13763188.94936730,13831707.40739190,13196679.01850370,13551042.76171320,6457439307112.60 +11/02/2020,13551302.79381190,14067846.55677430,13286630.12220730,14025261.29998420,7412478086479.17 +11/03/2020,14025261.29998420,14260760.37035440,13526669.75307120,14145756.17405820,9302847184069.33 +11/04/2020,14145756.17405820,15751944.44442670,14095299.94566320,15591944.69380960,14375926853983.50 +11/05/2020,15591944.69380960,15961970.37035240,15167872.34566200,15581843.44689610,12263333574396.00 +11/06/2020,15581853.44813060,15755464.87899460,14345990.89134190,14820129.41973640,10144372892406.50 +11/07/2020,14820129.41973640,15651932.09874780,14705695.29381060,15477010.50615550,6555527081819.48 +11/08/2020,15477010.50615550,15841955.55553780,14807367.84442780,15330302.39627910,10898978800228.90 +11/09/2020,15330302.39627910,15461908.64195790,15074320.79751390,15299098.54442730,6168953465773.39 +11/10/2020,15299098.54442730,15966970.98763640,15274565.51603220,15686176.32590830,7847943408093.13 +11/11/2020,15686186.32714290,16342717.37035200,15442546.25183450,16293871.34072240,10220897342603.20 +11/12/2020,16293861.33948790,16482034.56788270,15954319.42590800,16322714.90121620,7570122569058.34 +11/13/2020,16322054.81973480,16329005.67775940,15671934.56788360,16072434.00615480,5912364549340.01 +11/14/2020,16071543.89627820,16181997.53084600,15776667.49627860,15958969.99998210,4360222383906.37 +11/15/2020,15958969.99998210,16882083.95059830,15865958.51850070,16715633.40368490,8131071304439.31 +11/16/2020,16715143.34319110,17861024.79257250,16540041.72837650,17661560.17035050,11523562796645.10 +11/17/2020,17661560.17035050,18479211.10244840,17216575.24072140,17778314.58269610,14903818563854.00 +11/18/2020,17779944.78393060,18182044.41973270,17337790.20368420,17805017.87899230,9302104366974.84 +11/19/2020,17805007.87775780,18817542.86664550,17742230.12837510,18657973.16911480,8843393491093.63 +11/20/2020,18657963.16788030,18968241.46911450,18310840.31849800,18706109.11109010,7558678894433.41 +11/21/2020,18706109.11109010,18752314.81479380,17613034.18022710,18416703.38639910,8165581749862.16 +11/22/2020,18416153.31849780,18768316.79010240,18002222.22220200,18370267.65430040,8297174825415.29 +11/23/2020,18370277.65553490,19421367.40368190,18020224.44442420,19162375.43331180,11359553164942.10 +11/24/2020,19162365.43207720,19486615.45800280,18502553.98392980,18721421.00121350,9327809127910.35 +11/25/2020,18721140.96664560,18917365.18886760,16189998.51850030,17151587.21849930,18102759301954.90 +11/26/2020,17151587.21849930,17459775.26170880,16440109.39257410,17141635.99010420,8530755528379.15 +11/27/2020,17141645.99133880,17882697.46788110,16867642.16788230,17722037.63578260,6491871363659.00 +11/28/2020,17722027.63454800,18362316.67281890,17519162.59257290,18187235.06047340,5533584704569.13 +11/29/2020,18187245.06170800,19865612.24195300,18187235.06047340,19698301.58886680,11547772163686.90 +11/30/2020,19698301.58886680,19890455.30861960,18003342.36047360,18767276.66170730,12771452793119.60 +12/01/2020,18767276.66170730,19344387.90121280,18332262.96294240,19206460.87528710,7592038520797.37 +12/02/2020,19206450.87405250,19600419.50615080,18869529.28392940,19424297.76541030,6669762453710.77 +12/03/2020,19424737.81973130,19529410.74071880,18567602.01355940,18652822.53331240,7129246865278.41 +12/04/2020,18652812.53207780,19179367.53084270,18502283.95059650,19150023.90862050,4292804767771.39 +12/05/2020,19150023.90862050,19422397.53084240,18859328.02467020,19361790.04936100,3704766508217.58 +12/06/2020,19361059.95923750,19423307.64318810,18905213.68886770,19169266.28392910,4137740398385.39 +12/07/2020,19169266.28392910,19297222.07899070,18202246.91355980,18326372.23578190,6163455587906.83 +12/08/2020,18326372.23578190,18641871.18146050,17652179.01232580,18543569.04689270,7959537917792.31 +12/09/2020,18543579.04812730,18559611.02713960,17913331.24936260,18256883.65800420,5289720480691.51 +12/10/2020,18257063.68022640,18294988.36170780,17574499.42343710,18038756.73207850,7261968854586.40 +12/11/2020,18038756.73207850,18950999.34071950,18022924.77775750,18811012.06047270,4952609200952.86 +12/12/2020,18811012.06047270,19413396.41973130,18713430.01479380,19177357.28269450,5656780456143.57 +12/13/2020,19177357.28269450,19351388.76541040,19002345.67899100,19275519.39997830,4726303551632.89 +12/14/2020,19276069.46787960,19572416.04936070,19052351.85183040,19428828.32466950,6184199988327.76 +12/15/2020,19428828.32466950,21562661.72837080,19280980.07405240,21338154.01479080,11432044746315.20 +12/16/2020,21338154.01479080,23802938.27157820,21232620.98763050,22799974.46417190,18490530174492.20 +12/17/2020,22799964.46293740,23288054.71355410,22352759.25923410,23110242.76417160,7965596717099.88 +12/18/2020,23110242.76417160,24174454.13207160,22752808.64194980,23824550.93947940,8605568752439.43 +12/19/2020,23824540.93824480,24297999.38268880,23062846.91355430,23458415.74318350,7669961360413.42 +12/20/2020,23458435.74565270,24105745.65059020,21817693.20985200,22722514.90244360,8804116518083.23 +12/21/2020,22722684.92343130,23840042.85182510,22356159.67898720,23813729.60367700,8704387099029.23 +12/22/2020,23813729.60367700,24102975.30861490,22602790.12343140,23235628.24194920,11906195692542.60 +12/23/2020,23235258.19627020,23797367.58392390,22706222.89133250,23732129.53083750,6902235447837.33 +12/24/2020,23731919.50491160,24792920.47651540,23436493.03701070,24715520.92219450,7952976084589.45 +12/25/2020,24715520.92219450,26870346.91725380,24503024.69133050,26496660.78885910,9781858826408.59 +12/26/2020,26496670.79009370,28425508.88885700,25703172.83947730,26284904.64935320,14847391406398.30 +12/27/2020,26284784.63453840,27503395.06169750,26104222.34564970,27082753.13700660,7973158468634.21 +12/28/2020,27082763.13824120,27413383.95058650,25883195.06169930,27388380.86416680,6942016193834.25 +12/29/2020,27388380.86416680,28999579.75305380,27323372.83947550,28879104.88144900,9536783017871.09 +12/30/2020,28879114.88268360,29303617.28391770,27853438.27157360,28927200.81848600,7551782718958.83 +12/31/2020,28927200.81848600,29603654.32095440,28628103.89749870,29335311.19626330,5418961426094.05 +01/01/2021,29335321.19749790,33304111.11107370,28950103.64564650,32182302.63329720,13000992198819.50 +01/02/2021,32180422.40119840,34782403.59378810,31966936.04811220,33004124.08020980,12097249978279.60 +01/03/2021,33004124.08020980,33604148.14811040,28133472.83947460,31992659.22342090,14091728073745.80 +01/04/2021,31993699.35181590,34364241.97527000,29903691.35799110,33953721.29996190,11606432419799.80 +01/05/2021,33953721.29996190,36943770.39625480,33292109.62959220,36773899.42711920,12715489750755.00 +01/06/2021,36773899.42711920,40369983.33328800,36304481.48144070,39437148.18267170,13284209867147.30 +01/07/2021,39437348.20736310,41955179.01229850,36504506.17279850,40587820.22341120,13980721551828.70 +01/08/2021,40591970.73575690,41385108.64192880,38724780.24687010,40093169.16291790,7579533596870.19 +01/09/2021,40093169.16291790,41355104.93822520,35115444.70489880,38154729.87896950,11822413827379.30 +01/10/2021,38154729.87896950,38269464.04193230,30423755.55552140,35408840.92218240,24916229692296.00 +01/11/2021,35414741.65057750,36632521.97526750,32535016.17280300,34055443.85675190,13396468880473.80 +01/12/2021,34053353.59872720,37854672.83946370,32383997.53082780,37375993.75057530,12449328258168.00 diff --git a/tests/indicators/_common/data/toobig.csv b/tests/indicators/_common/data/toobig.csv new file mode 100644 index 000000000..0fe95dd6b --- /dev/null +++ b/tests/indicators/_common/data/toobig.csv @@ -0,0 +1,1247 @@ +date,open,high,low,close,volume +08/16/2017,42667410863718.8,44909275184681.3,42059260987182.4,42903702221740.8,7961320441231.66 +08/17/2017,42903702221740.8,43769169382224.9,39436326789681,41134420616822.4,12013696075223.20 +08/18/2017,41134420616822.4,41898562839036,38547530863765,41450910863732.4,3817805157895.43 +08/19/2017,41260676295833.3,42162788641502.2,40375985431645.7,40913348024232.3,4676596677009.25 +08/20/2017,40741536172382.4,41247059505710,39166193703264.2,40209580246462.4,6925970637700.06 +08/21/2017,40209580246462.4,41098876789662.3,34041975308260,40449876542756,9678782960854.36 +08/22/2017,40449876542756,42710664197051.6,40188454197079.9,41190890246451.4,10023725360566.50 +08/23/2017,41521197530398.3,43770771357533.6,40900532221763.3,43213384073589.2,7883908749084.38 +08/24/2017,43213384073589.2,44594086542709.5,42527238024214.2,42859647900753.7,5743209038700.99 +08/25/2017,42859948271124,43723913579756.3,42176105061255.1,43427948641488,2283896828962.03 +08/26/2017,43378587777291,44054320987160,42908307900753.1,43153309999515.8,3511255388047.02 +08/27/2017,43153309999515.8,44052518764937.8,41296320246450.2,43921056666173.8,6045870994697.59 +08/28/2017,43590248764943,46315609258739.6,43188753703219.1,45931435555040.2,6042901453117.38 +08/29/2017,45701552098252.6,46532476666144.5,44214618641479.2,45607636295784.5,8094668805847.44 +08/30/2017,45607636295784.5,47512785431565.6,45607636295784.5,47307231974777.8,5576444029838.66 +08/31/2017,46956799876016.3,48915815431549.9,46606267653798,48408790246370.4,5613585466924.67 +09/01/2017,48020811851313,49452877653766.1,42921624320506,44776611604435.8,9302956920204.26 +09/02/2017,45140660493320.6,47205806913050.6,43036365801986.2,45146467653814.4,6920695513230.99 +09/03/2017,45105617283444.5,45330794937763,39774143332887,41051718641514.7,13963663974584.10 +09/04/2017,41120403332871.9,44905270246409.7,36074481481076.7,43718607036546.5,12304553645874.30 +09/05/2017,43718807283460.1,46686266295772.4,43406121727908,46254734197011.9,8083604713316.70 +09/06/2017,46254734197011.9,47945018394523.7,44436692468637.2,46974021110584,5010477897783.29 +09/07/2017,46974521727868,47412361604406.3,40339039876090.6,42880874073592.9,11336528917230.80 +09/08/2017,42880874073592.9,44320849629132.3,41551835308175.7,42640677900756.1,6595962642790.19 +09/09/2017,42640677900756.1,42882876542728.7,38056925925498.9,41354692221758.2,6611885506407.29 +09/10/2017,41587479258792.6,43397811480994.5,41039703826700,42136656419280.3,7008532490230 +09/11/2017,42137958024218.5,44000154197037.1,40457886419299.1,41688603950149.5,8807162823469.08 +09/12/2017,41648554567433.9,41705224443976.5,37646419752664,39495599876100,9145902765267.75 +09/13/2017,39488691357581.6,39979296295847.7,31690375678656.8,31929570616925.7,16670771251331.50 +09/14/2017,31919458147790,38607604937838.4,28204777777461.3,37045679011930,19712971913507.20 +09/15/2017,36785458147735.4,39548765431655,34749447653931.1,37195363579829.6,12991658837916 +09/16/2017,36897796666252.6,37528374197109.8,35033397777384.7,37045578888473.2,6830133966713.48 +09/17/2017,36945555555141,41282903703240.5,36945555555141,40399914937818.3,10312780678958.40 +09/18/2017,40650123456334,40950193456330.6,38356395184754.8,39148672098326.2,9034461192725.79 +09/19/2017,39148672098326.2,40510751604483.7,38247160493398,39048148147710,7218251192956.04 +09/20/2017,38947924567464.2,39148271604499,35714037036636.3,36144467777372.2,10028906939689.90 +09/21/2017,35972756048979.1,37546296295875,35098778394667.9,36003093456386.1,8400021860090.93 +09/22/2017,36003193579842.9,38219025802040.3,35472839629231.6,37846666666242,7537221648075.92 +09/23/2017,37842060987229.7,37946689999574.2,36272325431691.8,36645385431687.6,6624532250419.50 +09/24/2017,36645385431687.6,39847834197083.7,36582007283540.1,39255904320547.2,7288934718967.60 +09/25/2017,39328493826719.2,39818998641528.5,38548031481048.9,38871430246477.4,5273782684595.14 +09/26/2017,38871530369934.2,42551868394584.3,38775912468700.7,41981765431627.7,6289464857040.54 +09/27/2017,41972854443973.5,43053086419270,41060629629168.9,41796537036568,8508344426756.38 +09/28/2017,41841392345209.5,42691240246434.5,39568890246469.6,41798439382247,16042877249387.90 +09/29/2017,41801543209407.5,43854074073582,41432087653856.1,43839155678520.4,7212425079091.91 +09/30/2017,43838955431606.9,44119601480986.4,42452746172363.2,43838855308150.1,7278611710226.97 +10/01/2017,44054320987160,45672616419240.6,43653827160004,43854074073582,6565665505037.44 +10/02/2017,43854074073582,44728452221720.3,41859614814345.1,43153209876059,10836597649174.70 +10/03/2017,43202270369885.6,43783987653829.7,41471135802003.8,42137857900761.7,8695372801272.80 +10/04/2017,42137857900761.7,43603765431609.5,41150740740279,42977292962480.7,7801005375443.33 +10/05/2017,43243220863712.3,44224530863701.3,42972987653838.8,43743938271114.1,5071545206560.38 +10/06/2017,43743938271114.1,44850302468632.5,43178841480997,44284604937774.7,2979649043176.44 +10/07/2017,44304629629132.5,46637506172316.2,44304629629132.5,46457283950096,5191020805423.23 +10/08/2017,46457283950096,48960170122907.4,45556172838995,47928598147610.4,6472612476408.85 +10/09/2017,47928598147610.4,49661234567344,46863685061202.5,47889650122919.4,10445097011030.90 +10/10/2017,47889650122919.4,48876366789575,47158148147619,48273823826618.8,7543595557396.84 +10/11/2017,48273823826618.8,54467060369759.2,48160984690817.6,54367037036427,12782776566547.90 +10/12/2017,54467060369759.2,58533874937614.8,53864817777173.4,56569552838871.4,18821483948183.90 +10/13/2017,56569753085785,59072839505510,55868989011718.8,58772369011686.2,9719575139471.19 +10/14/2017,58622584320329.9,59296114814149.5,54066766789516.8,57170393703062.2,13451820458182.40 +10/15/2017,57170493826519,57960568024041,55920852962335.5,57671311357377.6,15308841119359.10 +10/16/2017,57671111110464,57821096048733.9,55154307777158.9,56019074073445.5,14316346468185 +10/17/2017,56019074073445.5,56029086419124.4,50441696913014.2,55188650122837.5,23206658598542.10 +10/18/2017,55198061727775.7,57170493826519,54970380987037.5,56909171604299.7,18840452206912.10 +10/19/2017,56903264320349.2,61175432098079,56069135801840,60174297653645.8,19754129943235.10 +10/20/2017,60211443456114.5,61786185184491.9,58572522591935.4,60324082345002.1,16663623938368.60 +10/21/2017,60106814443770,60674814814134,57270917653678.4,59573657036368.6,13637738113130.90 +10/22/2017,59823765431427.5,60875061727712,56279695431467.3,59232336172174.9,18147954405537.10 +10/23/2017,59167656419089.2,59323148147482.5,54567283950005,54837917653705.7,25836044691524.90 +10/24/2017,55137186666048,57120031604297.3,52935071357430.7,56970146789484.2,22856314928817.60 +10/25/2017,56771001233930.9,59473233209209.2,56569753085785,58690067530205.7,19754016423259.80 +10/26/2017,58690067530205.7,59873827159822,56562143703069,57759520122808.7,14054393868681.80 +10/27/2017,57759119628981.5,58572422468478.6,56369806542577.4,57267012838863.6,12783306520004.70 +10/28/2017,57170293579605.4,61975218270909.5,56549828517884,61775972591899.4,18070062941809.60 +10/29/2017,61405816172150.5,62563944196828.9,60374444443767,61280561727707.4,14755064097032 +10/30/2017,61280761974621,65060322344949,61075308641290,64709790122730.7,15136413137793.10 +10/31/2017,64709790122730.7,67830337900473.5,63458447159781.8,67623182468377,16776838487071 +11/01/2017,67623182468377,73090123455970,66933532098014.4,70286466418964.4,25067016805064.40 +11/02/2017,70189647036249.5,73554095554730.2,69315469135024.7,71238239999200.7,18938327741911 +11/03/2017,71238039752287.1,74902257900394.1,69095197530088.9,73661728270778.4,14009191642274.90 +11/04/2017,73663530493000.6,75996206789270.7,72880064443626.7,73540779134977.3,12093234810111.20 +11/05/2017,73541680246088.4,74101370369538.9,69145259258483.4,69687127406625.5,17651958279690.80 +11/06/2017,69903394073289.7,72073770246104.9,69095197530088.9,70727610369576.7,14420375921245.60 +11/07/2017,70787283949823,77796126171966.6,66592111110363.9,73120160493006.7,28257831214769.30 +11/08/2017,73120260616463.5,74011259258428.8,70236604937483.5,70887307283155.2,19157605281118.40 +11/09/2017,70877395060933.1,72888975431280.9,62627322344976.3,65150133085688.7,32587222581794.80 +11/10/2017,65110283949886.7,68063725678248.6,61075308641290,62527599382014.4,27575570546246.10 +11/11/2017,62527599382014.4,66381851851107,53315840863599.3,58182041110458.3,49746169986590 +11/12/2017,58471498024035.3,67057384814062.4,57070270246273.2,64739727036310.6,26244791414878.40 +11/13/2017,64739727036310.6,66932330616532.9,63188614443735.4,65831072715310.7,12558410402834.40 +11/14/2017,65841085060989.6,73070098764612.2,65841085060989.6,72489983455976.7,17818028892330.90 +11/15/2017,72490784443631,79498024690466,70847358023896.4,78742092591709,23348357089244.20 +11/16/2017,78867046665781.7,79988629628732.1,74601987653483.9,77086951727530.1,39873124631342.70 +11/17/2017,76894914937408.8,78296443085541.2,74311629628795.8,77715226418881.1,39591482874210.10 +11/18/2017,77715226418881.1,81331785801556.5,76597748517659,80479234566998.2,38721149383318.60 +11/19/2017,80670570492922,83302615924991.2,79638197529970.6,82221382715126.8,38914326619662.10 +11/20/2017,82226288764509.5,84103703702760,78106308641098.9,81295340863285.3,45500844776970.90 +11/21/2017,81010789999091,83329549134867.5,81010789999091,82160507653399.1,35493822602194.30 +11/22/2017,82431942344754.1,82701975307714,80098765431200,80298912221321.2,40990069495305.50 +11/23/2017,80298711974407.6,83793320986714.1,78596913579365,81480469134888.2,44172357651751.30 +11/24/2017,81490381357110.3,87455636789142.1,80999876542301,87107507529886.8,42979232173616.50 +11/25/2017,87107807900257.2,93615432097715,86153431110144.4,91392891603912.8,41525004594682.20 +11/26/2017,91392691356999.2,96661988640890.7,91232894319964,96619135801385,45272079609084.60 +11/27/2017,96619135801385,99512703702587.1,95823154319912.5,99090182714937.5,49232816157904.40 +11/28/2017,99090082591480.7,113139806541940,85305185184228,96998403455701.7,133690233305475 +11/29/2017,96998403455701.7,109134567900010,88617269134808.1,98511068640869.9,94011663959673.50 +11/30/2017,98491444443339.3,109114543208652,93915802468082,107963023332122,61424976127249 +12/01/2017,107883425183975,112038148146891,106331111109918,109034544566678,47713230159057.20 +12/02/2017,109161501109886,118395987652992,105129629628450,111791944566647,53532373097720.30 +12/03/2017,111791944566647,116143209875240,108153358023478,115932950615983,46691818762216.80 +12/04/2017,115853152220922,118676333332002,114618129381430,117144344319673,55575848105611 +12/05/2017,117144344319673,136320389257730,116799819504862,135667784566379,67162277341332.80 +12/06/2017,135577272961442,166705155059858,130661111109645,166194925924061,74963089858973.70 +12/07/2017,166194925924061,172262307282018,140323024689783,158996049380932,176107279668345 +12/08/2017,158996149504389,162893855553728,125504753085011,146741639134156,139359423395436 +12/09/2017,146821137158846,157395275553789,123832691356635,149183750368696,165734730211758 +12/10/2017,149647121726716,174915679010383,149194763948943,166084489751223,118349948504623 +12/11/2017,166084489751223,169974085800562,158945987652537,163701751726558,94484527842409 +12/12/2017,163701751726558,165664271603079,146846668640328,160530841850051,124316576018494 +12/13/2017,160501305430298,164653024689510,154690740739005,163551466417918,116312089621670 +12/14/2017,163551466417918,180132111109090,163185715430268,175614841109141,91926088530042.60 +12/15/2017,175384356911612,195631222220027,172112322343748,191262435306496,42078171394577.20 +12/16/2017,191437951726247,198231228145924,185328518516439,188833039750968,91885132899882.60 +12/17/2017,188833239997881,193238271602770,170510046664753,188795293207758,106377499018325 +12/18/2017,188795293207758,189733950615155,163201234566070,173165520985711,132270577855553 +12/19/2017,173165520985711,177422269751096,147959040245253,165093367652468,134671022443217 +12/20/2017,165008663208025,173308697528920,140393111109536,155117667158753,203493089260680 +12/21/2017,155331831232825,157187219010582,109745320986423,133430626047886,361208097809836 +12/22/2017,133430626047886,149684567899555,129942024442986,133164197529370,131577629969203 +12/23/2017,133164197529370,138370517158941,116543703702396,135166666665150,285927912037137 +12/24/2017,135166666665150,143176543208270,127236888887461,137162527652782,157676498384367 +12/25/2017,137162527652782,160698148146345,135497074072554,157083791479719,150532294224780 +12/26/2017,157293750368605,165184179627776,142176810492232,154790764072337,149783336916258 +12/27/2017,154790563825424,155591751726649,131662345677535,141996187776184,217446701841437 +12/28/2017,142166698023096,149994950615601,138670987652765,143966517282335,180943192369278 +12/29/2017,143967418393446,144166263578629,117645061727075,124553680368973,192448878635236 +12/30/2017,123603408640588,140674558146570,121649799751721,137332937776237,117835193348036 +12/31/2017,137325829010805,138356099381164,127657407405975,133965185183682,86205453696366 +01/01/2018,133986811850348,154925930739002,129059336047935,146932274195882,201028798788127 +01/02/2018,147081358023041,153264582220502,141674691356435,149379291479805,159253042655361 +01/03/2018,149379291479805,152988641973592,139352227652757,150781320245222,213559824744690 +01/04/2018,150781520492135,171974452343749,146180246911940,169813287528959,232801966693375 +01/05/2018,169813287528959,171642943578321,160309769257460,170908638146230,185943852331099 +01/06/2018,170908638146230,171210710615363,156292716047629,161699683084605,125085491696596 +01/07/2018,162388732714227,163424509874709,128278172838067,149209381973634,266334501708518 +01/08/2018,149209381973634,155191358022950,140283475924352,144177777776160,143326770975960 +01/09/2018,144187790121839,149741237776098,131475214936796,149254938146473,174324967185760 +01/10/2018,149584444442766,149871598516837,114140740739460,132551241726908,335961493355008 +01/11/2018,132551041479994,141271994813230,125154320986250,137569729751543,164374302382193 +01/12/2018,137669252467591,145979999998362,137230711726855,142275432097169,122365968099960 +01/13/2018,142275432097169,143572030862587,125847175307230,134916257899721,170389040748940 +01/14/2018,134946194813301,142675825800868,131640218393585,135566459628108,146701837106440 +01/15/2018,135166666665150,135596496665145,90461543208861.5,109134567900010,634794422226519 +01/16/2018,109134467776553,116954109751774,90490979505157.5,110023564072840,724210951595652 +01/17/2018,109861364072841,118934852097431,104482131233396,109755032961731,485242675721802 +01/18/2018,109735308640744,118095617282625,103727901233404,114891466418464,341715104520005 +01/19/2018,114891466418464,131151716047911,114265394443162,128157423949179,288043749351052 +01/20/2018,128156022220784,128156022220784,109785370369138,115442345677717,414308595655672 +01/21/2018,115442345677717,119410738887549,99124625184072.9,107733340122248,438066223544480 +01/22/2018,107733340122248,114130728393781,99172283949504.5,108125123208663,375201866534950 +01/23/2018,108124722714836,115847645430799,105129629628450,113640023332058,271921168823887 +01/24/2018,113639722961688,118086105554231,109637287776548,111890666295041,208656825212634 +01/25/2018,111985082714793,116573740739433,103238798146990,111026901233322,330976829126656 +01/26/2018,111026901233322,116643827159185,108560760369152,115051864196240,188840532439795 +01/27/2018,115141775060436,122591160492452,114220839504891,118946166048048,169081880911239 +01/28/2018,118946166048048,119898039751741,111533025307390,112648901233304,141878718310976 +01/29/2018,112639990245650,113223810122186,99122222221110,102501489011196,255859215542882 +01/30/2018,102426296295147,104387214196360,97119753085330,102977976542054,180381987267791 +01/31/2018,102977976542054,103477592591431,87617936912597.1,92359082961926.6,336062022912538 +02/01/2018,92359082961926.6,92614197529825,80199089134902.6,88839843579250.1,500333203410744 +02/02/2018,88839843579250.1,94847050739676.5,82391592591668.1,92113179752052.8,287604636985477 +02/03/2018,92113179752052.8,93795654319935.2,79397901233677,81949147036117.5,320538322862317 +02/04/2018,81900887529945.2,83931491357082.9,66331790122712.5,69485578888109.2,634814581123358 +02/05/2018,69481974443664.8,78877259258374.2,60074174196856.8,76615870863337.8,1003252058618090 +02/06/2018,76644706418893.1,84864641974356.4,71588371727591.8,76083814813961.1,608534956327332 +02/07/2018,76083814813961.1,78536839505291.6,75814382591741.9,77936299011471.2,15234157591162.40 +02/08/2018,77995171604063.1,87487876542228.2,77995171604063.1,86946408887913.3,205081983689983 +02/09/2018,86946509011370.1,90769723208858,81300246912668,85445157776819,494424774828810 +02/10/2018,85445257900275.8,85595543208916.1,77360689258391.2,80738354073168.1,450807746032867 +02/11/2018,80737753332427.4,90000975307632.1,80629419752181.7,89139913579246.7,420396873419851 +02/12/2018,89139913579246.7,89610493826155,83613098764493.9,85504430863238.1,354987445271523 +02/13/2018,85457072468176.9,95013155554489.4,85435345678053.7,94616566542148.2,408623379935378 +02/14/2018,94616466418691.4,102321166665519,93129833332288.3,100124357900111,524923221424542 +02/15/2018,100132367776654,103361149011186,96779333332247.4,101725231850710,382083185735392 +02/16/2018,101686083579106,110887429258015,100624074072945,110531790739500,419338147132048 +02/17/2018,110531790739500,112879185183919,100924444443312,103962490492661,612128589751255 +02/18/2018,103878186542044,112638888887625,102830094196377,111667691356772,408818262874931 +02/19/2018,111608718640723,118005606294972,111142944319741,112148183825902,482128028729998 +02/20/2018,112088910739483,113179855924656,102125925924780,104504859258087,681979098874990 +02/21/2018,104519076788951,109469380739512,96909493826073.1,98231523949515.1,671429568112380 +02/22/2018,98276679628526.9,104478827159321,95820050492752,101435474566763,572733229895672 +02/23/2018,101435474566763,105099292221043,93635456789072.8,97064785307552.8,409386355038480 +02/24/2018,97064785307552.8,98591567900128.3,92862503702661.7,96018395060651,284085466197380 +02/25/2018,96018395060651,104572142221049,93615432097715,103367456788964,349213523762946 +02/26/2018,103337419751927,108834197529643,101334950616147,105820881974121,307432930055229 +02/27/2018,105973970739552,111117012344432,103127160492670,103395090863037,308390096875577 +02/28/2018,103383877035877,110740648270362,102526419751936,109334814813588,251235323913601 +03/01/2018,109368456295069,112138271603680,107832962961753,110526283949377,239402294849042 +03/02/2018,110526183825920,115582518517222,110286087776540,114786336788835,213134337159090 +03/03/2018,114786236665379,115792777776478,110636619998759,115292160492533,173172716387970 +03/04/2018,115292160492533,117244567899919,114291026048100,114681407406121,151629276443891 +03/05/2018,114691419751799,114691419751799,105685114566715,107297102221018,295520113408943 +03/06/2018,107297102221018,109124555554331,94009017406352.5,99222345677899,507101990684186 +03/07/2018,99222345677899,101114679011211,90711851850834,92830864690316.4,411602256616196 +03/08/2018,92785108270563.8,94216172838449,83392827159558.1,92383913579210.3,641914423833254 +03/09/2018,92413950616247,95017160492761,86777700863223.8,87810474320002.3,372259141070230 +03/10/2018,87810474320002.3,97520246912486,84604320986705,95453398393990.7,443806968094353 +03/11/2018,95453398393990.7,99010884937160.6,87908395060742,91426132591566.7,422829146924021 +03/12/2018,91426132591566.7,94856962961898.6,88338925924934.7,91612962961935,402410283814472 +03/13/2018,91632186665638.5,93453031850803.2,79100334320100.1,81800864196613,497694621248588 +03/14/2018,81941137159574.4,84404074073127,76594444443585,82511540492901.3,523555790940385 +03/15/2018,82511540492901.3,86222716542242.4,79097530863310,82701975307714,388633301516911 +03/16/2018,82701975307714,83589269381778.1,77315233209009,78344602468256.7,331510831265651 +03/17/2018,78336692715170.4,83276683949682.9,73310395060905.8,82001010986734.2,595616739717033 +03/18/2018,81991098764512.1,87159771974330.6,80983856789214.7,86106172838540,553653529474800 +03/19/2018,86056211233602.3,90611728394045,82902222221292,89209799752085.4,449204948540453 +03/20/2018,89209599505171.8,91883396418722.1,87614032097782.3,88959691357026.5,400217540191571 +03/21/2018,88957889134804.3,91112345677990,84755507406456.4,87336690122476.8,406677019404066 +03/22/2018,87307654320008,89199987653320.1,82792086418824.1,89090152221222.6,400403792799532 +03/23/2018,89090252344679.4,90110610492816.1,85014827159539.9,85574116789163.2,355103955093448 +03/24/2018,85417824073115.6,86805535184211.2,83760981110171.2,84806069752134.8,290375739691507 +03/25/2018,84805969628678,85254022097808.8,78406679011465.9,81442722591678.7,440879581232831 +03/26/2018,81442622468222,82260831357101.7,77395432097897,78051340863321.7,374738550224807 +03/27/2018,78051340863321.7,81190111110200.1,77375407406539.2,79591139505279.8,264339259063330 +03/28/2018,79591139505279.8,79848456789227.5,69496792715269.6,70988932591796,546883483529357 +03/29/2018,70989132838709.6,73014329999180.7,66082482715307.9,68486747283182.1,653866567061009 +03/30/2018,68486847406638.9,72322777283139.1,67853666665905.3,69324580369592.5,369140558015080 +03/31/2018,69305456789345.8,70586836789331.4,64379382715327,68214211233802.5,441258396359160 +04/01/2018,68214211233802.5,71337962962162.5,67733518517758.5,70647111110318.4,321632187877774 +04/02/2018,70726909505379.2,75292839505328,70196655678224.7,74143522344847.1,378339828375026 +04/03/2018,74143522344847.1,74366897776943.3,67152802468382.3,68044902468372.3,422793161292095 +04/04/2018,68044902468372.3,69105209875767.8,65747970246175.8,67791189628869,390779163132158 +04/05/2018,67783580246153,68584567900465,65080246912850,66095398641233.7,274889069961360 +04/06/2018,66095398641233.7,70787283949823,65944112098025.5,69043133332558.6,323094172521523 +04/07/2018,69043233456015.4,71179067036238.4,68884938270832,70266641974520.2,214541270822469 +04/08/2018,70196956048595.1,71938703702896.5,66191617283207.9,67910937283188.6,341203691774764 +04/09/2018,67899222838744.3,68985061727621,66642172838758.4,68523492591823.7,223542919565948 +04/10/2018,68480039011577.3,69986296295511,67953790122694.3,69623749258478,240274981781835 +04/11/2018,69623649135021.2,80221216418852.9,67515249381958.5,79327814813924.7,649416720306997 +04/12/2018,79327714690467.9,82435546789198.5,77415456789254.8,78871351974423.6,551124793487989 +04/13/2018,78872052838621.2,81961061727475.4,78196419752209,80088853208977.9,316603249817768 +04/14/2018,80138814813915.6,84399468394114.7,80088953332434.7,83653148147209.5,279812225676910 +04/15/2018,83653849011407,84293938270659.1,78767123455906.3,80748766912674.2,367093339981869 +04/16/2018,80748766912674.2,81837909875624.9,78350609875664,78947545925040.1,321922981389437 +04/17/2018,79007019258372.7,82465984320062.3,78777135801585.2,81830901233649.7,270023396864501 +04/18/2018,81840813455871.8,83062419752154.4,80899753085512,82882197529934.2,271473213494534 +04/19/2018,82840546171910,89410246912577,81871851727476.4,88679145431103.7,398444675308307 +04/20/2018,88630485431104.3,90461543208861.5,85755740739778.5,89263165554554,409226894516383 +04/21/2018,89263165554554,90318066295282.9,87384549134822,87978681727407.9,294946216938419 +04/22/2018,87965465431111.7,89960925924916.5,87557962961980.5,89450396418749.4,258700136157579 +04/23/2018,89450296295292.6,97430235924832.7,89330148147145.8,96318665307561.2,463259120685740 +04/24/2018,96308352591511.9,97718691603841.8,87407777776797,88809406048386.2,812101734369641 +04/25/2018,88809406048386.2,93189707159448.2,86623010122484.8,92774395060687.4,433537614102481 +04/26/2018,92784707776736.7,94065987653265.5,88999740739742.1,89263566048381.1,372873240072310 +04/27/2018,89263566048381.1,94391188640916.2,88809506171843,93595407406357.2,348025415411157 +04/28/2018,93595407406357.2,95823254443369.2,91750532591563.1,94306283949559.1,381969486148615 +04/29/2018,94286659752028.5,94703173332270.7,91362554196505.7,92574248270566.2,350452462621068 +04/30/2018,92574248270566.2,92604085060689.3,88113548023702.7,90826793579227.8,410691037110984 +05/01/2018,90826793579227.8,92794419752045.2,89812743208868.8,92592570863158.6,261557952495473 +05/02/2018,92592270492788.2,98561530863091.6,91797190122426.7,97620370369275,388162504953274 +05/03/2018,97620370369275,98421758517414.2,95326041356955.1,97259825801377.8,287169982476642 +05/04/2018,97259925924834.6,100323703702578,96939530863109.8,98761777776669.6,250208702192192 +05/05/2018,98761677653212.8,99823086418633,94286559628571.7,96709347035951.9,277245371778975 +05/06/2018,96729471850766.5,97016325554467,91923345677980.9,93765617282898.5,338293531474377 +05/07/2018,93765617282898.5,94873983949552.7,90717258517500.6,91989026665634.5,255653551379588 +05/08/2018,91893308640944.2,94015925924871,89760679011338.5,93214938270559,257052206084634 +05/09/2018,93214938270559,94067189134747,89810740739733,90133138270593.6,250859958951481 +05/10/2018,90133238394050.4,90279318517505.5,83512975307704.9,84103703702760,482865876259656 +05/11/2018,84163177036092.7,86575551603966.8,81630654320071.7,84763917776826.7,402910014525232 +05/12/2018,84859035060776.2,87741789628645.1,83082444443512.2,86904256912605.1,256645148794429 +05/13/2018,86904256912605.1,88909529505175.2,82872185184255.3,86740354813841.5,374358266147194 +05/14/2018,86740655184211.9,88709282591597.2,84116719752142.6,84724469134851.8,281616807728889 +05/15/2018,84724469134851.8,84984790122503.2,80929890246005.5,83402839505237,311691518939564 +05/16/2018,83402839505237,84744493826209.6,79888506171943.1,80513877283047.2,254712520145154 +05/17/2018,80487444690454.9,82834238394132.2,79216677776888.9,82499826048457,235051411621572 +05/18/2018,82481803826235,84011590122514.1,81057247283041.1,82436548023766.4,172146507255303 +05/19/2018,82436548023766.4,86196283949650.1,81739788887971.7,85375071357066.7,199816954508857 +05/20/2018,85374971233609.9,86059214937306,83152530863264.5,83915872097823.8,215431601851237 +05/21/2018,83972441850909.6,84105505924982.2,79449064320096.2,79869582838610,237401755773114 +05/22/2018,79869682962066.8,80418159258356.9,74341666665832.5,75112116665823.8,429636429053377 +05/23/2018,75112116665823.8,77402741110242.6,72759615925109.5,75843618641124.3,378921693681489 +05/24/2018,75883467776926.3,76589938888029.5,73171724073253,74662061727557.3,267729689318477 +05/25/2018,74661961604100.5,76294074073218,73090123455970,73430142715225.4,194881158066715 +05/26/2018,73430543209052.6,74091358023860,72400372962150.6,73480504813990.3,187300405092528 +05/27/2018,73480504813990.3,74461814813979.3,70667336048589.8,71077641974511.1,272530432083275 +05/28/2018,71077641974511.1,75493086418906,70416326542419.7,74705014690519.8,394558627083597 +05/29/2018,74771997283111.6,75783444443594.1,72694635801653.5,73850661233739.2,320811411332857 +05/30/2018,73911836665837.3,77085049381851.1,73365563085596.5,74942507530023.3,308140582412863 +05/31/2018,74942507530023.3,76179432715194.6,73646209134976.1,75302951974463.7,282940118851862 +06/01/2018,75302951974463.7,77068328764567.3,74461814813979.3,76494621357166.4,267536787251430 +06/02/2018,76462381604080.3,77963031974433.8,76093827159640,77237837776911.1,275391159370502 +06/03/2018,77237837776911.1,77701008888017,74556932097928.8,74962432097924.3,322986608370018 +06/04/2018,74962432097924.3,76889708517655.7,73670839505346.2,76344135801612.5,317621375483152 +06/05/2018,76360556048525.9,77085049381851.1,74762685801630.2,76682953579386.5,272636091716422 +06/06/2018,76682452962102.5,77745864196658.5,76294074073218,77005751604074.2,250931682229555 +06/07/2018,77005751604074.2,77130104937406.1,75402975307795.9,76128269628775.4,234256896147754 +06/08/2018,76128269628775.4,76934663949754,74591975307805,75009790492985.5,193637615772346 +06/09/2018,75009790492985.5,75009790492985.5,66309863085675.7,67733418394301.7,524066398092292 +06/10/2018,67733518517758.5,69305456789345.8,66181604937529,68804839505400.8,345948192931093 +06/11/2018,68804839505400.8,68990168023917.2,64429444443721.5,65380617283217,367675472537862 +06/12/2018,65380617283217,66357822221477.6,61262339258571.9,63005488641268.3,462425372576293 +06/13/2018,63005488641268.3,67282962962208,62677283949914,66441725678266.8,445330421091386 +06/14/2018,66468658888143.1,66748904443695.5,63701647036322.3,63967875307924.2,300553895712121 +06/15/2018,63878865554838.8,65680987653584,63286635307931.9,64919849135074,223047439135979 +06/16/2018,64905030863469.2,65971646048642.5,64299283949895.8,64575724814090.2,198717504627005 +06/17/2018,64520156295572.3,68027681233804.6,63878765431382,67207469875789.1,318607207168585 +06/18/2018,67196756665912.7,68501865925157.3,66612135801721.7,67495324814057.5,243414352429034 +06/19/2018,67483209875786,68256463332567.4,65598986542473.8,67698575431339.1,263922953559656 +06/20/2018,67715596418993.3,68033888888125.5,66808077406657.8,67271348641220.5,254602476946872 +06/21/2018,67259834443689.7,67422835431342.2,59262473332668.4,60524629628950.5,522217626482572 +06/22/2018,60533840986975.1,62677283949914,60158978764757.1,61575725678321.4,266556562289342 +06/23/2018,61575725678321.4,62675281480778.2,57570987653675,61445465061038.9,475045742618188 +06/24/2018,61455277159804.2,63578395061015,60694539135121.4,62597185184482.8,392128665590242 +06/25/2018,62597185184482.8,62802838764727.4,60424506172161.5,60782747900552.5,194011630028984 +06/26/2018,60733787530182.7,61980725061032.9,59783716048711.9,61413025061039.3,192494064942013 +06/27/2018,61423037406718.2,61806309999306.5,58341938270950.3,58612071357367,306230256133428 +06/28/2018,58582334690700.7,63077777777070,57871358024042,62055717530167.9,339531530643820 +06/29/2018,62055717530167.9,65370504814081.3,61936670740045.8,63979589752368.5,379664271764135 +06/30/2018,63989702221504.2,64490119258535.6,62587172838803.9,63646579135088.3,275969943267447 +07/01/2018,63686728641260.7,66932530863446.5,62793627406702.8,66234570246170.4,362751812170053 +07/02/2018,66234570246170.4,66875961110360.7,64709890246187.5,65219018023959.5,387055073469743 +07/03/2018,65190482838774.7,67932964443682.2,64490619875819.6,65951120740000.7,236009938789290 +07/04/2018,65936602838766.3,67202864196776.8,64612970740015.7,65372607406673.9,351152716295788 +07/05/2018,65372607406673.9,66567480739993.8,64329320986932.5,66179402221479.6,294333874572352 +07/06/2018,66179502344936.4,68265774814048.8,65169156542478.6,67653219505413.7,240034742646023 +07/07/2018,67618176295537.6,67883703702942,66756714073325,67203865431344.7,246533464947036 +07/08/2018,67203865431344.7,68104576048618.5,66204032591849.7,66703448394313.3,267654095207491 +07/09/2018,66710056542461.3,66892481480730.9,62707320986950.7,63046839628922.2,386082784703347 +07/10/2018,63046839628922.2,64139086419033.4,62867418394356.3,63859441604221.7,287509497193774 +07/11/2018,63859441604221.7,63881568888172.1,60774938270923,62582867530162,313453135493125 +07/12/2018,62591177777075.5,63578395061015,61175432098079,62222423085721.6,264078874156864 +07/13/2018,62222423085721.6,63428209875831.5,61856271604244.2,62597085061026,178050264086755 +07/14/2018,62586171604236,64028950616565.5,62330856789424.1,63608532221508.5,230075809046653 +07/15/2018,63619946295582.4,67556299999242,63382153085708.6,67316504320232.3,362495744587044 +07/16/2018,67316304073318.7,74782109752247.3,66602523949870,73264738764610,521697511416973 +07/17/2018,73264738764610,75974479999147.5,72343002221410.5,73910134567071.9,595610849844551 +07/18/2018,73909934320158.3,75856334320136.5,72789753085603,74754275431260,412691431728789 +07/19/2018,74780808147309,77095061727530,72819790122639.7,73465886789299.1,461972767964162 +07/20/2018,73465286048558.4,74676779875705.3,72199024690547.9,74079142962131.7,289221526243681 +07/21/2018,74083848764600.8,75917609875691.4,73445561727571,74039193702872.9,303075890797093 +07/22/2018,74039093579416.1,78426703702823.7,73841049381887.5,77305421110243.7,416977619133358 +07/23/2018,77311829011478.2,84964765431145.4,77055012344814.4,84076069628686.2,601953874072739 +07/24/2018,84076069628686.2,85022536665712.7,80599382715145,81857333826242,483172264680554 +07/25/2018,81857233702785.2,83259562838571.9,78597514320105.7,79297777776888,432768440045786 +07/26/2018,79297777776888,82952283949686.5,78146358023814.5,81986793455870.2,437249207125970 +07/27/2018,81986793455870.2,82567209134876,80769592591686.3,82351943702779.7,262475382508524 +07/28/2018,82351943702779.7,83047501357092.8,81250185184273.5,82211370369447.9,255627462170403 +07/29/2018,82211270245991.1,82832135801539.7,78757111110227.4,81840112591674.3,397414195249393 +07/30/2018,81814881480563.5,81900987653402,76424234567043.7,77404743579378.4,483565414081697 +07/31/2018,77452202097896.4,77595679011475,74391728394227,76139683702849.4,426348836882278 +08/01/2018,76094628147294.3,77189778517652.4,74649245925088.3,75350009999154.5,377121975436805 +08/02/2018,75350009999154.5,75493086418906,72914306665848.5,74279389875709.7,447246335601364 +08/03/2018,74214209505340.1,75040628517676.5,69345506172061.4,70184941233780.4,363332265355306 +08/04/2018,70184941233780.4,70986229258462.7,68907866542436.7,70328618394272.6,329354607072872 +08/05/2018,70328618394272.6,71688395060924,68294209875776.9,69433815060949.3,328006363236727 +08/06/2018,69435617283171.5,71592877283147.3,66782345678263,67283563702948.7,454945703813549 +08/07/2018,67289270739985.7,67298381974553.5,61305592591904.7,62927592591886.5,596240554989717 +08/08/2018,62910271233862,66309863085675.7,61862279011651.5,65378514690624.4,520053100303066 +08/09/2018,65378514690624.4,65839983702964.9,60338299875866.2,61515951974618.4,591078575864010 +08/10/2018,61557202838815.5,64960098764703.2,59783716048711.9,62400442591892.4,471916079600939 +08/11/2018,62302321604239.2,64802904937544.5,61375679011657,63161180616575.2,386153852433099 +08/12/2018,63163483456081.4,65530802468400.5,61526264690667.7,62540615431397,539623668426204 +08/13/2018,62559638888186.9,62580464567199,58872592591932,61957196048687.5,502487040349930 +08/14/2018,61957196048687.5,66171592591850.1,61797298888195.5,62748972344974.9,688916335524196 +08/15/2018,62730049011641.8,64879999999272,62132612344981.8,63195422838797.1,485751499935266 +08/16/2018,63237975307932.4,65931296295556.5,62931597530158.1,65926189999260.3,579230325440822 +08/17/2018,65871622715310.2,66281728394318,62957629628923.2,63958463702986,538086707172876 +08/18/2018,63958463702986,65490753085684.9,63077777777070,64855269505445.1,452466391638553 +08/19/2018,64855269505445.1,65380617283217,62276790122758,62625620246210.9,494965868091483 +08/20/2018,62587172838803.9,65080246912850,62427776295595.8,64879999999272,416212683302589 +08/21/2018,64879799752358.4,68910369628856.4,62589175307939.7,63687429505458.2,780055757919013 +08/22/2018,63704250246198.8,65851097406668.5,63501099752373.9,65330655678279.3,404079917218614 +08/23/2018,65330555554822.5,67333024690602.5,64484512344955.4,66898889381965.4,383529662787573 +08/24/2018,66952355307890.7,67973814814052.1,66588206295549.1,67419531357268.2,192442349484495 +08/25/2018,67419531357268.2,67836345307880.8,65761086419015.2,67082716048630,201321210314877 +08/26/2018,67082716048630,69490785307862.2,66547055554808.8,69171691851075.7,377936800783623 +08/27/2018,69157874814038.8,71438086418951.5,68684691357254,70848459381921.1,484126121219173 +08/28/2018,70857370369575.3,71426171727593.6,69208737530087.6,70399005184395.3,433058855240968 +08/29/2018,70418929752296.3,70723505307848.4,67931863085657.5,69934632591807.9,447719805140902 +08/30/2018,69934632591807.9,70977518517722.1,68965037036263.2,70198658147360.5,405173603914194 +08/31/2018,70198658147360.5,72839814813997.5,70173927653533.6,72088989011536.8,403731960852544 +09/01/2018,72104608270795.9,73545184567076,71357987653520.3,73110248270784.6,398639944754441 +09/02/2018,73110148147327.8,73473396048558.3,72005085554747.6,72719866912764.3,324360134550447 +09/03/2018,72719666665850.7,74191481480649,72360924320175.7,73681452591765.8,353442215552800 +09/04/2018,73681352468309,74064324690527,66902493826409.8,67082716048630,637939170764903 +09/05/2018,67055382344926.6,67333024690602.5,62727345678308.5,65240544567169.2,607193339352409 +09/06/2018,65248854814082.7,65520790122721.6,63278024690648,64034357283232.1,389543205039456 +09/07/2018,64034357283232.1,64859975307914.2,61185444443757.9,61926858641280.4,382622112226336 +09/08/2018,61926958764737.2,64489518517794.9,61491121357334.7,62585270493124.9,370996694045467 +09/09/2018,62599788394359.3,63818491110395,62286802468436.9,63197925925216.8,324795051432800 +09/10/2018,63197825801760,64119061727675.6,61772968888195.7,63026814937564.4,331457588224552 +09/11/2018,63007691357317.7,63678518517804,62000149011650,63464454567189.1,314724529089419 +09/12/2018,63464454567189.1,65430679011611.5,63452239505460.9,64953891110382.3,405150199745787 +09/13/2018,64953991233839.1,65931196172099.7,63935034814097.4,64846258394334.1,372192322880355 +09/14/2018,64846258394334.1,65735554937534,64741128764705.7,65230031604206.3,252748216198794 +09/15/2018,65230031604206.3,65326750863464.5,63778641974593,65130308641244.5,276021676286619 +09/16/2018,65081047900504.3,65419064690624,62086555554858.9,62564044320285.6,360316834471488 +09/17/2018,62564044320285.6,63978888888171,62326651604238.9,63442727777065.9,326611393445347 +09/18/2018,63442127036325.2,65257465431366.5,61305592591904.7,63997812221504.1,390922826495638 +09/19/2018,63998913579528.8,65480740740006,63328086419042.5,65000148147418.8,252201222891096 +09/20/2018,65000148147418.8,67932363702941.4,64990135801739.9,67673644690598.7,518432685778047 +09/21/2018,67673544567141.9,68474732468367.5,66351814814070.3,67313500616528.6,293859248526789 +09/22/2018,67313500616528.6,67966105307879.3,66699743826412.1,67162814814061.2,303236201797869 +09/23/2018,67150900122703.3,67383086418997,65650950616547.3,65895151727655.7,353493272428256 +09/24/2018,65895452098026,65921384073334.4,63328286665956.1,64554999258534.9,403507838088954 +09/25/2018,64530669258535.2,65660862838769.4,63875761727678.3,64731016295570,335258810104510 +09/26/2018,64758249875816.6,67583333332575,64419432098042.6,66973881851100.4,331282769735381 +09/27/2018,66973781727643.6,68232133332567.7,65489551604203.4,66427708394316.4,424517935207002 +09/28/2018,66427708394316.4,66441925925180.4,64725509505446.6,66045236789382.4,302933127363267 +09/29/2018,66058052591851.4,66702246912831.8,65410654320253.7,66347509505428.4,277990019563658 +09/30/2018,66347509505428.4,66753209752337.4,65180370369639,66197724814072,206469655442547 +10/01/2018,66181604937529,66481975307896,65020172838776.6,65338465307908.8,282806814581617 +10/02/2018,65338465307908.8,65570851851116.1,64379382715327,65180370369639,284870950255050 +10/03/2018,65180470493095.8,66516618023945,65131209752355.6,66019304814074,200990839052041 +10/04/2018,65998278888148.3,67052679011593.3,65511578764697,66438421604192.8,161164246787229 +10/05/2018,66438421604192.8,66592111110363.9,65748771233830.2,66024110739999.9,109530109530882 +10/06/2018,66045837530123.1,66481975307896,65330555554822.5,66234269875800,174283216775600 +10/07/2018,66234269875800,67238908641220.8,65951320986914.3,66812482838756.5,231519669722723 +10/08/2018,66812482838756.5,66936335554804.5,66151567900492.3,66648280369622.5,153737359866905 +10/09/2018,66648881110363.3,66681721604190,65380617283217,66391864196785.9,154096622604246 +10/10/2018,66383954443699.6,66421100246168.3,62126604937574.5,62603993579544.5,487725390972947 +10/11/2018,62604293949914.8,63678518517804,62166654320290.1,63057853209169,290398789142532 +10/12/2018,63057753085712.2,63528333332620.5,62928293456084,63407484320276.2,191216478890138 +10/13/2018,63407384196819.4,64239209875822.4,63157876542501.2,63471663456077.9,156467044142121 +10/14/2018,63471663456077.9,76894814813952,63077777777070,67608364196772.2,908600658514570 +10/15/2018,67608364196772.2,69085185184410,66782345678263,67676147777018.4,275919799337694 +10/16/2018,67711090863437.8,68195287900469.4,66842519875793.2,67492120863440.2,266743220347242 +10/17/2018,67473297653563.9,68043901233804.4,65751074073336.3,66271315554811.9,201413571530468 +10/18/2018,66271315554811.9,66563475801722.2,65310530863464.7,65369403456056.6,207982459559024 +10/19/2018,65369403456056.6,66258199381972.6,65135815431367.9,65965338270864.7,192644762248666 +10/20/2018,65938505184445.3,66721270369621.7,65881234567162,65982459381975.7,65234014435218.60 +10/21/2018,65982559505432.5,66471962962217.1,65433382344944.8,65893249381976.7,162337095643364 +10/22/2018,65893249381976.7,66031419752345.5,65234937653589,65616007530127.9,138737086715925 +10/23/2018,65616007530127.9,66381851851107,65556133702968.1,65736055554817.9,119662989694299 +10/24/2018,65749171727657.3,65832073949878.6,65108281480750.9,65361493702970.3,103554700108517 +10/25/2018,65361894196797.5,66081481480740,65230532221490.3,65467023826425.9,94551628030000.80 +10/26/2018,65467023826425.9,65664467283213.8,64710190616557.9,65136316048651.8,77865089847323.80 +10/27/2018,65136316048651.8,65222121851120,64609666665941.7,64979422591863.5,57510250041428.80 +10/28/2018,64979422591863.5,65130408764701.3,63227962962253.5,63523327159781,138442947138410 +10/29/2018,63523327159781,64028950616565.5,63248087777068.1,63386858888177.6,88881348606842.20 +10/30/2018,63378248270893.8,64359358023969.2,62527299011644.1,63797965801753.3,121638868432907 +10/31/2018,63773836048667.1,64506038888165.1,63564978517805.3,64179135801749,91102692184792.60 +11/01/2018,64179135801749,64683157283224.8,63960866665949,64419231851129,97514646797288.50 +11/02/2018,64407417283227.9,64479205801745.6,63528333332620.5,63949752962245.4,76706997987238.10 +11/03/2018,63958864196813.2,65330555554822.5,63668506172125.1,64938572221493.6,106054719736748 +11/04/2018,64938572221493.6,65124201110380.4,64389595307919.5,64769764073347.3,89989783067089 +11/05/2018,64769764073347.3,65393733456056.4,64531370122732.7,65271582838773.8,119412898540500 +11/06/2018,65307827530131.4,66233168517775.3,65170358023960.1,65865815554816.5,142892103651323 +11/07/2018,65865815554816.5,66021407406666.6,64762054567174.6,64878398023963.4,132761593920757 +11/08/2018,64878398023963.4,65195689258527.7,63989001357306.7,64279159135081.2,118021691959330 +11/09/2018,64279159135081.2,64835445061000.9,64189148147427.9,64409920369647.6,77243544073034.50 +11/10/2018,64431046419030.1,64701179505446.8,63628456789409.5,64577727283226,82236472491509.30 +11/11/2018,64586738394337,65050209875813.3,64289271604216.9,64610367530139.2,101452921749936 +11/12/2018,64596450369645.6,65060222221492.2,63990403085701.7,64656324196805.4,118051211858712 +11/13/2018,64669540493101.5,64908435061000.1,56638537900599,59297216172174.1,465363454395186 +11/14/2018,59245051851187.1,59468727653653.7,54100908888281.8,57605029628983.3,477597193133048 +11/15/2018,57641975184538.4,57900293703054,55561009258635.8,56629226419117.7,387696069677304 +11/16/2018,56575460122822,56635834567265.7,55723009011720.4,56352385061096.1,264438478835835 +11/17/2018,56374412221589.7,57452541604293.6,56239345678381.3,56689901233931.8,238744376175309 +11/18/2018,56689300493191.1,56709925925289.6,48609938271059.5,49160917653769.4,706680297599675 +11/19/2018,49194659258707.3,50544723950050.1,43313407406921.4,45644882221710,1175258663437310 +11/20/2018,45655395184672.9,47931101234030.1,44192991974812.8,46668244073550.4,611472267946534 +11/21/2018,46668344197007.2,47275993456259.7,43403518518031.5,43753950616793,345737501538997 +11/22/2018,43762961727904,44895358024187.6,42281535061254,44260675431602.1,494328733094972 +11/23/2018,44210813950121.2,45325888888380.3,38294118394632,39372948641533.5,617692753398822 +11/24/2018,39385363950175.4,42382259258783.7,36571694567490.9,40908241727936,1018195237048670 +11/25/2018,40937377653861.6,42111925925453.4,37055691357608.9,38669681481047.6,946204220631815 +11/26/2018,38692209258825.1,39448641974866,36936744690943.6,38799942098330.1,675639166028616 +11/27/2018,38804147283515.2,43998952715555.7,38790530493391.9,42701152468656.7,920971279083975 +11/28/2018,42673218024212.5,44558742962463,41307433950153.8,43011435061245.8,740715322467726 +11/29/2018,43010233579764.3,43467197036549.3,39478679011902.7,40463092839052.1,678420986850573 +11/30/2018,40462592221768.2,43052986295813.2,39679026048937.5,41951928641504.6,448954315959049 +12/01/2018,41961540493356.3,43183146789638.9,41081054814353.9,41661470493359.7,389601944868344 +12/02/2018,41656864814347.4,41841592592123.1,38317246913150.3,38888050740304.4,491549794947484 +12/03/2018,38895559999563.6,40900432098306.5,37856679011920.9,39565185678568.4,485494152564219 +12/04/2018,39558577530420.3,39749012345233,37496234567480.5,37744941234144.4,440591263604044 +12/05/2018,37730923950193.9,39048048024253.2,35043209876150,35130817900840.4,684632152100626 +12/06/2018,35130817900840.4,35543727036638.2,32285809876180.9,34077519135420.1,952629209686372 +12/07/2018,34077719382333.7,34993148147755.5,32259777777415.8,34151410246530.4,554343029730064 +12/08/2018,34155715555172.3,36625160493416.2,33982301728013.8,35497469999601.7,460136302007874 +12/09/2018,35528708518119.9,36144567900829,33742706295917.7,34371181234182.2,410398485581605 +12/10/2018,34382495184799.4,34842962962572,33284240987280.8,33845633209496.8,359652108994656 +12/11/2018,33834018888509.2,34963111110718.8,33541358024315,34492530863810.5,339648114477004 +12/12/2018,34506347900847.4,34642716048994,32595191357658.9,33061366172468.5,400903502434304 +12/13/2018,33061366172468.5,33395077653946.3,31809222221865.3,32281504567539,445479134161384 +12/14/2018,32291717160131.5,32805450616915.8,31601566172484.9,32156850863836.7,298328266720060 +12/15/2018,32156750740379.9,32980666666296.6,31899333332975.4,32326560123094.1,246592144741900 +12/16/2018,32332066913217.5,35894259258856.5,32199703703342.4,35134121974914.4,668441736119253 +12/17/2018,35133621357630.5,36831314690944.7,34286977407022.7,36574898518108.1,614453802134179 +12/18/2018,36575098765021.7,39175605308202.4,36270222839099.2,36667412592181.2,942535599524659 +12/19/2018,36645285308230.8,41250864197068,36394876542801.5,40546195308187,1016691987453360 +12/20/2018,40568622962507.7,41451010987189.2,37686469135379.6,38433990863766.3,824455091852872 +12/21/2018,38449910493395.7,39839123456343.1,37896728394636.5,39537851974865,428752179713609 +12/22/2018,39537851974865,40264948518066.7,38747777777343,39345614937830.1,401670593452518 +12/23/2018,39345614937830.1,42031827160022.2,39296754690917.1,40129581604488,647276212383095 +12/24/2018,40150607530413.7,40249629629178,36509117406997.7,37504144320566.8,628030684799768 +12/25/2018,37501841481060.7,38418872221791.1,36612544937860.8,37824038765007.7,426820046755544 +12/26/2018,37824038765007.7,38186886172411,35393641974911.5,35723148271204.1,441518341373219 +12/27/2018,35722948024290.5,38920490740304,35444104197133.2,38439998271173.6,460210510420231 +12/28/2018,38437395061297.1,38968049382278.8,36745308641563,36998821234152.7,389223669567645 +12/29/2018,37012738394646.4,39083191357586.1,36624159258848.3,38066037160066.7,332633845323206 +12/30/2018,38078152098338.2,38147037036609,36348118888481,37074714814398.8,300288052365149 +12/31/2018,37057994197115,38148639011917.6,36464962962553.8,38018278271178.3,237709977574654 +01/01/2019,38011369752659.9,38869327653884.8,37550801851430.5,38633236542776.4,351998664098013 +01/02/2019,38623324320554.3,38675088147714.2,37346049382297,37714303456366.9,294432532331869 +01/03/2019,37718508641552.1,38283605431669.2,37081423086003.7,37966914937845.6,295559985653239 +01/04/2019,37947691234142.1,38457319629198.1,37556308641553.9,37756155061304.7,305283105503500 +01/05/2019,37757757036613.4,40326824814362.3,37446172839086,39925229629181.6,365989348650202 +01/06/2019,39925429876095.2,40228603703252.3,39263713950176.7,39803579629183,319091917528568 +01/07/2019,39816695802022.4,40748244443987.2,39078185184746.7,39600128764987.8,389494495698617 +01/08/2019,39603332715605,40117566789673.3,39348919011904.2,39715470987208.7,290252289421694 +01/09/2019,39709563703258.1,40009433456341.2,35443703703306,35903070123053.9,594755645939129 +01/10/2019,35903070123053.9,36625160493416.2,34692777777388.5,36057560616879.4,383859864050792 +01/11/2019,36057560616879.4,36226569011939.2,35343580246517,35875536172437,220270887591281 +01/12/2019,35885248147745.5,36155581481075.8,34455485184798.6,34811023579856.3,264183324629060 +01/13/2019,34818532839115.5,36764031727982.5,34713002715659.9,36305666542802.5,352787114753634 +01/14/2019,36305566419345.7,36529242221812.3,35209615061333.3,35574464937872.4,341801431344918 +01/15/2019,35574464937872.4,36494999999590.5,35478847036638.9,35962743703300.2,275141061248110 +01/16/2019,35962743703300.2,36391872839097.8,35347485061331.8,36206744567495,297921759498114 +01/17/2019,36177808888482.9,36244691357618,35701521604537.7,35993081110707.2,227414880470349 +01/18/2019,35993081110707.2,37245925925508,35986673209472.7,36698250616872.2,221989504414213 +01/19/2019,36702756172427.7,36982901604523.3,34792901234177.5,35436494814417.2,279363854354618 +01/20/2019,35436294567503.6,35639044567501.3,34797907407016.9,35312541974912.4,196686892299386 +01/21/2019,35312341727998.8,36129549382310.6,34390905555169.7,35753385555154.4,293726607974939 +01/22/2019,35748179135401.3,36124342962557.6,35188388888494,35572061974909.5,249696313924087 +01/23/2019,35573563826761.3,35934308641572.1,35335770616887.5,35740269382315,208519626009759 +01/24/2019,35734762592191.6,35915785802066.1,35268587777382,35696915925525.4,176300853703960 +01/25/2019,35710933209475.8,36674621481070,35493765431700.5,35696515431698.2,195005774454404 +01/26/2019,35700219999599.4,35834185184783.1,34903037036645.4,35552237530465.3,227636668014507 +01/27/2019,35544327777378.9,35621422839106.5,33844431728015.3,34383896913194.4,404549942541275 +01/28/2019,34382395061342.6,34477011728008.2,33540557036660.7,34152511604555.1,295814041976273 +01/29/2019,34142499258876.2,34822938271214.2,33912816049002.2,34624493579858.4,239978506874752 +01/30/2019,34617685184796.7,34935076542817.9,34230207407023.3,34383396295910.5,296437423393995 +01/31/2019,34383396295910.5,34923061728003.2,34053990123074.7,34663441604549.3,252916619317520 +02/01/2019,34664743209487.6,35307535802073,34445372715662.9,35090968765038.4,179429264467122 +02/02/2019,35083859999606.3,35154246789729,34302296295911.4,34623792715660.9,198918639655669 +02/03/2019,34623792715660.9,34891823209485,34375486542824.2,34674955802080.1,231605391091080 +02/04/2019,34674955802080.1,34832650246522.7,34526873209489.1,34758759135412.4,252956056655557 +02/05/2019,34758558888498.9,34870196542818.6,33841728394682,34095741604555.7,353538377404749 +02/06/2019,34112061728012.3,34306801851466.9,33941851851471,34025955555173.8,186885825126520 +02/07/2019,34025955555173.8,37381893579827.5,33772643209497.6,36635573332922.3,480272778371685 +02/08/2019,36647888518107.3,36845632345265.6,36296054690950.8,36697049135390.7,247904014146712 +02/09/2019,36697049135390.7,36895393703289.7,36142164937866.1,36846032839092.7,232793070814351 +02/10/2019,36842929011932.3,36894492592178.6,36199936172433.3,36355327777369.8,249854227368567 +02/11/2019,36355327777369.8,36721279011933.6,35867626419350.6,36359432839098.2,295159927953849 +02/12/2019,36359933456382.1,36745308641563,35961842592189.1,36138560493421.7,258058173978932 +02/13/2019,36127947407002,36308770369963,35725150740339.9,35949927900831.2,217803574351519 +02/14/2019,35950028024288,36577401604527.8,35778616666265.2,36069174937866.9,208035245937036 +02/15/2019,36069375184780.5,36527039505763,36023518641571.1,36228771727988.5,195901482973864 +02/16/2019,36216857036630.7,37046780369954.7,36088498765027.2,36721078765020.1,257219441093027 +02/17/2019,36721479258847.2,39298456789682.5,36595123456379.5,39034130863759.5,641217955906533 +02/18/2019,39021615431660.9,39994515061279.6,38607604937838.4,39126144320548.6,502691568302224 +02/19/2019,39121738888449.9,39919021974860.7,38754385925491.1,39746409135356.5,362498385543463 +02/20/2019,39746409135356.5,40214386172388.3,39058460863759.3,39421708764989.8,311422845853394 +02/21/2019,39421708764989.8,39929234567453.2,39314977160052.7,39668913579801.8,239727232111508 +02/22/2019,39668913579801.8,41671582962495.4,39380057406965.5,41228436542747.3,336994958985268 +02/23/2019,41230839505710.2,42031827160022.2,37172435308224.9,37481816789702.9,623010068731157 +02/24/2019,37481816789702.9,38774410616848.9,37446172839086,38326458271174.9,381500069436398 +02/25/2019,38331664690927.9,38462526048951.1,37816629629205.3,38139327530436.2,288743514283130 +02/26/2019,38140128518090.6,38435893209445.3,36817097160080.7,38227836666237.7,315398855835054 +02/27/2019,38227536295867.4,38927999999563.2,37685167530441.3,38183982592164.1,326021609955403 +02/28/2019,38189689629201.1,38617617283517.3,38177174197102.5,38277197530434.7,232031827526656 +03/01/2019,38268887283521.2,38460523579815.4,37769070987230.5,38246459629200.5,194698455626272 +03/02/2019,38246860123027.6,38397345678581.5,37859882962538.1,38124509258831.5,167388051201949 +03/03/2019,38120203950189.5,38347283950187,36752217160081.4,37198867900817.2,347857340567208 +03/04/2019,37206877777360.3,38818865431663.2,37081222839090.1,38624926295862.9,330032306507186 +03/05/2019,38623424444011.1,39118234567462.3,38177975184756.8,38666077036603.2,248057053961784 +03/06/2019,38666077036603.2,39102214814376.1,38451412345247.6,38784222715614.2,264879184726299 +03/07/2019,38784122592157.4,39368543209434.8,38046913579820,38696614690923.8,347732435874024 +03/08/2019,38696514567467,39766533950171.1,38595089505739.8,39479079505729.9,310179942546927 +03/09/2019,39482984320544.6,39482984320544.6,38864822098329.3,39216555802029.1,232161880307667 +03/10/2019,39208245555115.6,39418404690915.7,38347283950187,38763897653886,381138818597637 +03/11/2019,38763897653886,39100212345240.3,38307835308212.1,38875234937835.4,269542444348111 +03/12/2019,38874834444008.2,38983668641537.9,38447407406976,38707728394627.4,244912075329684 +03/13/2019,38707728394627.4,39248395061288,38151342345250.9,38819065678576.8,270821420463998 +03/14/2019,38819065678576.8,39440832345236.5,38769804937836.6,39286041481040.7,217669010798521 +03/15/2019,39293050123015.9,40619886172383.7,39268219505732.2,40109256542759.8,286036457238321 +03/16/2019,40109256542759.8,40169530863746.8,39548865555111.8,39860549876095.9,188374830528096 +03/17/2019,39867658641528,40419839505719.3,39582106542765.7,39927332221774.2,224821995875379 +03/18/2019,39927532468687.8,40359765431645.9,39749012345233,40204874443993.3,199183019898567 +03/19/2019,40224398518067.2,40549999999545,39854141974861.4,40480314073619.9,234612290204837 +03/20/2019,40480314073619.9,40743438518061.4,38848001357588.8,39855543703256.5,360421237014585 +03/21/2019,39857646295849.1,40129481481031.2,39731490740294.9,39918521357576.8,200473255848343 +03/22/2019,39928133209428.5,40237915184733.7,39829211234121,40109556913130.2,173239655577044 +03/23/2019,40109556913130.2,40109657036587,39548765431655,39971086172391,172010603399650 +03/24/2019,39962775925477.5,40042374073624.8,38935108764995.2,39409794073631.9,332338690934382 +03/25/2019,39403286048940.6,39638676295851.5,38988074073636.6,39534247530420.6,293857716237406 +03/26/2019,39536450246470,40529975308187.2,39410094444002.2,40430352468682.1,324045120934290 +03/27/2019,40445671357570.9,40446872839052.3,40069407406957.8,40327826048930.2,201140954721508 +03/28/2019,40331931110658.6,41288009999536.7,40289979382264,41083157406946.4,301213584528521 +03/29/2019,41093069629168.5,41451111110646,40570024690902.8,41120403332871.9,195333781472018 +03/30/2019,41120603579785.5,41212016295833.9,40876102098306.8,41090166048921.6,135417850716542 +03/31/2019,41075047406946.5,41638341974841.4,40720209876086.3,41496767406941.8,255385578476776 +04/01/2019,41496567160028.2,49040369011795.4,41456517777312.6,48632866542664.2,1055137425201650 +04/02/2019,48631865308096.3,52815223579654.3,47593685184651.1,49386896295742.1,1100257925636700 +04/03/2019,49386796172285.4,50453010863631.4,47828975308105.3,49047077283400.3,611296297897437 +04/04/2019,49046877036486.7,50344276789558.6,48866454567352.9,50111289505610.6,398176497843261 +04/05/2019,50111389629067.3,52114259258674.5,49346746789569.7,50501170246346.9,418224112536579 +04/06/2019,50482947777211.3,52404617283362.6,50322049382151.4,51766530493246.3,376619256761749 +04/07/2019,51766530493246.3,53115493826564.5,50452209875977.1,52433653085831.4,502403794614140 +04/08/2019,52448471357436.2,52448671604349.8,50829475061158.1,51563580246335,341090703505074 +04/09/2019,51563580246335,54286938270995.8,51413395061151.5,53148033950020.9,401230940760695 +04/10/2019,53144129135206.1,53392535431499.7,49330827159940.3,50235642838942.5,547641273528991 +04/11/2019,50235642838942.5,50868523209305.8,48672215061182.3,50542421110544,333177609329027 +04/12/2019,50532308641408.3,51052950616711.1,50101777777215.6,50514486666099.9,173138055139070 +04/13/2019,50536814196963.8,51593517159914.9,50061728394500,51376349382139.6,183041776248921 +04/14/2019,51376149135226,51737594814234.3,49561111110555,50311536419188.6,290930646566995 +04/15/2019,50311536419188.6,52041369382132.1,50101177036474.9,51801073085838.5,242721581711141 +04/16/2019,51801073085838.5,52368572838918.6,51531540740162.5,52092432345094.5,233363108697061 +04/17/2019,52088327283366.1,52935271604344.3,52052182715465.3,52649319011754.9,226471639871669 +04/18/2019,52649319011754.9,53265679011748,51813888888307.5,52651721974717.9,246416205650976 +04/19/2019,52651721974717.9,53400044690758.8,52365569135214.9,52982629999405.5,191925735926414 +04/20/2019,52994444567306.6,53209109258662.2,51713765431518.5,52626290616693.4,255811136188846 +04/21/2019,52639006295705.6,54066666666060,52147800616698.8,53637537530262.3,296003508917654 +04/22/2019,53637537530262.3,56069135801840,53389932221623.1,55000918641358.2,413130447855698 +04/23/2019,54976889011728.8,55890916048755.6,53399343826561.3,54216851851243.5,482836884030916 +04/24/2019,54216851851243.5,54986200493210.2,51082987653747.8,52263443209290.1,496973690708349 +04/25/2019,52269150246327.1,55168024690739,51679923703123.8,53206606172242.5,489726800612320 +04/26/2019,53215617283353.5,53490956789523.2,52641609505582.2,53022278888293.9,154419375483267 +04/27/2019,53022278888293.9,53465925925326,52659731851261,53140724937675.3,143891763797879 +04/28/2019,53163653209280,53385827159894.8,51851935801887.3,52446068394473.2,199427253689972 +04/29/2019,52446068394473.2,53465725678412.4,51985600616700.6,53273789011747.9,222655226349724 +04/30/2019,53285102962365.1,54086691357417.8,53227632098168.2,53898459258654.5,172387293555794 +05/01/2019,53898459258654.5,55448370369748.2,53766296295693,54996513209259.4,228239307826883 +05/02/2019,55015937159876.5,58512148147491.6,54843324320372.3,57798167777129.2,463543298519972 +05/03/2019,57777442221573.9,59072839505510,55943480863569.8,58366468517863.6,397313996189381 +05/04/2019,58370273209221.6,58471097530208.1,57030320987014.4,57827503949968.4,238519543226027 +05/05/2019,57803073826511.9,58121666666014.5,56260772098134.1,57548860369724.6,252877773078335 +05/06/2019,57570186666020.7,60358524814137.5,57548359752440.7,58535577036380.2,399543299331838 +05/07/2019,58535577036380.2,60221455801793.4,57793261727746.6,59946817159821.2,231025380030988 +05/08/2019,59940509382043.5,62322346295597,59910972962290.7,62168456542512.3,274869040424027 +05/09/2019,62176166048685.1,64769063209149.8,61796197530170.8,63811983085703.7,366688251238972 +05/10/2019,63830305678296.1,73530566542384.8,63807177159777.9,70849560739945.8,741138101012955 +05/11/2019,70849760986859.3,75310661480636.4,67583333332575,69759116172056.8,870563197520219 +05/12/2019,69768427653538.1,81099999999090,68784814814043,78003281604063,859106671040521 +05/13/2019,78052442221346.4,83763283949677.4,76089421727541.3,79573718023798.5,766782704078223 +05/14/2019,79550689628737,82591839505246.1,78596913579365,81799562591674.7,379310979849090 +05/15/2019,81791652838588.4,83302716048448,77145123455924.5,78763018394178,697164775927436 +05/16/2019,78783844073190.1,79347839505282.5,69215345678235.7,73643405678186,888615785384461 +05/17/2019,73643605925099.6,74672074073236.2,71654453209072.5,72664098147332.8,371006916239899 +05/18/2019,72662796542394.5,82853061604008.6,72520220739927,81585398517603.1,656584018622731 +05/19/2019,81579991850936.5,81660991727478.8,75623246912731.7,79479501850960,659405162281539 +05/20/2019,79469589628737.9,80522487900331,77805938270731.9,79146290986766.2,523663223109149 +05/21/2019,79142386171951.5,80258962962062.4,74742160492988.5,76378478147291.1,491976575447307 +05/22/2019,76372170369513.4,79507836789231.3,74702111110272.9,78612032221340.1,497094787556286 +05/23/2019,78596412962081,81400370369457,77755876542337.4,79747031727500.2,467223961705560 +05/24/2019,79743527406512.6,81017898764523,79181033826272,80353179134900.8,284494082349734 +05/25/2019,80329049381814.7,87507901233586,78430908888008.8,86250650986686.5,497134435103521 +05/26/2019,86231727653353.4,89193179258258.4,85996037036072.1,87671302715065.6,519508265316677 +05/27/2019,87633255801485.8,88093523332344.9,85211369505216.7,87264000492848,315094040664045 +05/28/2019,87276315678033,87608024690375,84169785184240.7,86563536789152.2,339226941511527 +05/29/2019,86571746912608.8,90854627900215.1,80148827159594.5,82797493085490.7,704668874072723 +05/30/2019,82773062962034.2,86046098764466.6,81185104937360.6,85655617282989.5,447827107449543 +05/31/2019,85655617282989.5,86366493826191.4,84527826665718.2,85546182344719.1,319075776556012 +06/01/2019,85556495060768.4,88256624443454.1,85345234566943.6,87367528147167.8,278694976267428 +06/02/2019,87367728394081.4,88118153702715,80907762962055.1,81258395307730.2,457493761715163 +06/03/2019,81256793332421.6,81256793332421.6,74902558270764.5,76965201604074.7,742354846796003 +06/04/2019,76965301727531.5,79064490122569.6,75821291110260.3,77861006171965.8,487397547957556 +06/05/2019,77876825678138.5,78778437406523.5,74537708394225.4,77963132097890.6,366693337080046 +06/06/2019,77971842838631.3,81099999999090,77470424567032,79903825060831.8,339841296399125 +06/07/2019,79887905431202.4,80545816665762.9,77605691357153.9,79033652097878.6,226853016456393 +06/08/2019,79050272591705.6,79447962962071.5,75159274813971.5,76375474443587.5,316074385704194 +06/09/2019,76369867530007.3,80299012344778,75202728394217.9,79926052468239,368014563422389 +06/10/2019,79908530863300.9,80198888887989,77017265801604.9,78946344443558.6,303724500432357 +06/11/2019,78946344443558.6,82101234566980,77986060369495.3,81376741233654.8,416484370445228 +06/12/2019,81376741233654.8,83200790369436.8,80199189258359.4,82286863455866.8,305053788645355 +06/13/2019,82265837529941.1,86951314937295.9,81543747159578.8,86606790122485,398844255709167 +06/14/2019,86615600986682.4,88759344319991.7,85782073208914,88195749381726.4,318308849720243 +06/15/2019,88216474937281.7,93445222221173.7,87708148147164,89643834937265.7,633673860963371 +06/16/2019,89640530863191.7,94556592591531.6,89610493826155,93254587159447.4,479546156023187 +06/17/2019,93236264566855,93478863702654.8,89610493826155,90927617900214.3,516182170169652 +06/18/2019,90931823085399.4,93154864196485.6,89710617282944,92669165307602.2,321873950211759 +06/19/2019,92651843949577.7,96018395060651,91865274073043.3,95288695307572.8,345987157766513 +06/20/2019,95298106912510.9,101875517159351,95298106912510.9,101724030369229,505467423308057 +06/21/2019,101724030369229,111737777776524,99339690369255.7,107427462961758,1042980522315900 +06/22/2019,107422456788918,114067049875263,105682110863012,109195342838281,575162440973731 +06/23/2019,109194141356799,111573875677760,106339120986461,110702401109869,431542564515343 +06/24/2019,110702401109869,118646296294965,110396123455551,118354536541882,613523368777412 +06/25/2019,118358741727067,139872469134233,117554950615965,131099651850381,1561226537390460 +06/26/2019,131145508393590,134946795554041,105380939504990,113439776418480,1741095058511070 +06/27/2019,113439776418480,124954074072672,109964391109877,124159394196138,959134696468299 +06/28/2019,124223773578853,124568999257862,114891866912291,119178252220885,697280520255472 +06/29/2019,119178252220885,121950370369002,107793213949408,108675001233348,846168668993876 +06/30/2019,108675001233348,112962087406140,100423827159367,106380471974115,910745673666089 +07/01/2019,106380171603745,109522546295067,97390086418660.3,108562362344461,1096962992684090 +07/02/2019,108583688640757,120066948023344,108544239998782,119547407406066,969354260917395 +07/03/2019,119547407406066,120148148146800,110686481480239,111594300862945,665943357454404 +07/04/2019,111594300862945,114209125060447,108097689381503,109842741109879,636127880511405 +07/05/2019,109959685307408,116794012344368,109780464319756,112703869011081,515330389184847 +07/06/2019,112703468517254,115522444443148,111080667529618,114203217776496,389328015190557 +07/07/2019,114240864196249,123532621356639,112338518517258,122537093825786,522467898899878 +07/08/2019,122537093825786,128105259628192,120828987652965,125588956912171,785389724783447 +07/09/2019,125640019875133,131633109628153,115832827159194,121233186048022,1093809166562630 +07/10/2019,121230582838146,121266827529503,110135802467900,113568935677738,876144937249897 +07/11/2019,113568835554281,118996728393726,110866703702460,117717350862877,563913914387388 +07/12/2019,117717350862877,118145478764106,108433703702487,113697794566625,543125644172029 +07/13/2019,113697994813539,114661382714763,101154728393927,101867407159351,726071071107853 +07/14/2019,101867407159351,111137037035790,98721728393954,108521011356807,820235651290204 +07/15/2019,108471550369153,110416148146909,93615532221171.8,94512438147087.7,973394674161214 +07/16/2019,94418121850792.4,99692925924807.3,90711851850834,96798557035950.9,850475402132272 +07/17/2019,96807968640889.1,108013185183973,92634222221182.8,106402799504979,803824254489400 +07/18/2019,106417617776584,107830059381506,101343360986517,105172582591412,566167431596894 +07/19/2019,105187500986474,110826554196287,103627777776615,107534895430892,473903342917250 +07/20/2019,107535295924719,108312554319772,103007012344523,106025233949428,388822314999156 +07/21/2019,106032242591403,106963490862997,101124691356890,103530758146986,405179152766182 +07/22/2019,103558492344517,103567403332171,98341259258155.8,98770889011237.4,476831662288600 +07/23/2019,98769587406299.1,99492679011229.3,95367592591522.5,97753334319890.8,435290536856190 +07/24/2019,97754535801372.2,101875617282807,97320300369278.4,98920673702593.7,379201119556338 +07/25/2019,98943501850741.6,99021898517407.4,96488975307559.3,98361283949513.6,272010032947405 +07/26/2019,98361283949513.6,102012385924781,93445222221173.7,94882194073009.4,438638644465584 +07/27/2019,94906223702638.8,96068356665588.7,91763148147118.5,95533196789051.5,294373204958512 +07/28/2019,95533196789051.5,97410111110018.1,94065987653265.5,95193778270536.8,290577669630332 +07/29/2019,95208095924857.6,97262729381624.7,94136074073017.8,95860300122381.2,325765371902196 +07/30/2019,95868209875467.5,101222812344543,95667962961889.5,100929750986522,395641389479017 +07/31/2019,100929750986522,104807832838330,98756371110003,103877986295131,417791526288003 +08/01/2019,103878086418587,106831728393863,102940430245759,105367422838324,430435188430121 +08/02/2019,105367422838324,109182326788898,105108904072895,108302141480266,338440500814277 +08/03/2019,108302141480266,110536296295056,105650271603753,109427228764204,399740349493675 +08/04/2019,109434838146920,119522576788782,109412911109883,118434034566572,652341103464816 +08/05/2019,118446049381387,123459230862812,112405601233307,114958649257969,768000878863296 +08/06/2019,114958649257969,121561590986290,113968928887610,119898139875198,692587895995722 +08/07/2019,119898239998655,120748888887534,115352234566607,120145845307294,512704760094420 +08/08/2019,120089776171492,120605512097412,117144444443130,118946566541875,394758280845793 +08/09/2019,118946466418418,119997962961616,112839135801203,113232721109841,426857204883210 +08/10/2019,113232020245643,116143209875240,111258286541961,115642292220925,268059598811930 +08/11/2019,115533257776481,115921836912280,112491907653059,114101492344399,175899162440310 +08/12/2019,114124220369090,114703034072787,108017690739529,109061577900011,332757602100958 +08/13/2019,109068085924702,109109336788899,99403569134687.1,100627778640846,545190720014734 +08/14/2019,100675737776648,104729135801294,99232358023577.9,103066385554399,382215800715711 +08/15/2019,103094820616127,105490374443261,97620370369275,103442949875383,518220418592926 +08/16/2019,103439045060568,104780599258084,100123456789000,102286323702556,290363843873421 +08/17/2019,102286624072926,105129629628450,100924444443312,103195044196373,241151302274973 +08/18/2019,103188936665509,109434938270377,102712649381564,109290159751860,372892986230223 +08/19/2019,109282049751860,109634784690128,105730370369184,107737945801260,323387968905865 +08/20/2019,107737945801260,108174684319774,98701703702596.2,101550916912441,474141831324334 +08/21/2019,101533395307503,102546444443294,97740518517421.8,101123489875409,341016916792692 +08/22/2019,101123690122322,104578950616110,100321601109985,104023766048215,275843489333979 +08/23/2019,104009848887722,104322834813644,99022098764321,101468615430960,277266450620148 +08/24/2019,101471218640837,103457567900074,99192008270491.9,101552118393922,263040915426406 +08/25/2019,101552118393922,106170913579056,101504459628491,103850552467971,417389776622341 +08/26/2019,103864069134637,104039084937104,100634887406278,101976241356880,284378405374747 +08/27/2019,101982649258115,103117148146991,96128630986575.7,97330012344586.9,421625437144960 +08/28/2019,97330012344586.9,97360049381623.6,93315061727348,95101664690290.9,355765624341810 +08/29/2019,95107371727327.9,97079703702614.4,93619537159443.3,95963727653244.2,268674468914812 +08/30/2019,95945905677935.8,96964661850763.8,94323805554497.2,95993063826083.4,171514385800717 +08/31/2019,96005779505095.6,98421358023587,95317530863128,97369861480388.9,195695349722162 +09/01/2019,97355944319895.2,104629012344505,97244907406316.2,103527654319826,447954829666862 +09/02/2019,103527654319826,107862999998790,102846814813661,106283852838314,480576340357459 +09/03/2019,106249510492635,108123320986441,103826923332168,105800657035850,439981407403532 +09/04/2019,105789643455603,109134567900010,104629012344505,105775325801282,340129000961974 +09/05/2019,105761709011159,109193340369145,101625308640835,103114444813658,588722331076715 +09/06/2019,103114244566744,105710345677826,103012719381560,104687884937097,276719982279759 +09/07/2019,104688085184010,106055771603748,102206024690211,103939962714883,240142827239256 +09/08/2019,103940563455624,104929382714872,100809302468005,103158399011188,398849075181796 +09/09/2019,103152992344522,103978109751920,99652876542091.7,101106168517384,289511102644591 +09/10/2019,101106569011211,103057074072918,98921975307532,101708711480340,319932737277669 +09/11/2019,101712916665525,104617097653147,100523950616156,104278680369200,345537691283839 +09/12/2019,104278680369200,104518876542037,101655345677872,103548279751925,303177229111857 +09/13/2019,103569005307480,104328541850681,102349501603790,103477792838345,236506959057951 +09/14/2019,103455665554395,103727901233404,102648069751935,103147285307485,180699350671343 +09/15/2019,103160601727238,103677839505009,100904419751954,102639659381564,290071688192140 +09/16/2019,102623339258108,102876851850697,101405137159356,102003975554411,229426138523265 +09/17/2019,102000571356880,102706842221070,101124691356890,101695294937130,242801878821140 +09/18/2019,101689487776637,103377469134642,96649172838421.7,102569372714898,448816236681001 +09/19/2019,102563465430948,102936925924771,100738114690228,101811438147006,251194645144823 +09/20/2019,101804729875401,101892638270462,99122222221110,99987188764310.2,205695383750235 +09/21/2019,99974773455668.3,101014555554422,98661353949510.2,100412513208750,220764965832288 +09/22/2019,100404303085293,100623973949488,96276413208796.2,97142280863107.5,319766610375622 +09/23/2019,97141780245823.6,98070825801368.7,78096296295420,85036253579292.7,941234036528118 +09/24/2019,85080408023736.7,87407777776797,82257827653398,84404574690410.9,608589340996109 +09/25/2019,84404574690410.9,84764418394110.6,77595679011475,80736852221316.3,680147189997788 +09/26/2019,80734449258353.4,82752037036108.5,78618440122574.6,81880061850933.1,439371010746613 +09/27/2019,81875656418834.4,83252654320053.5,80109678887990,82089319875622.1,345161651709892 +09/28/2019,82095026912659.1,82392894196606.3,78997407406521,80537506418849.4,315831548584950 +09/29/2019,80529696789219.9,83475529134865.8,77195185184319,82995737529932.9,559344569967304 +09/30/2019,83002045307710.6,85104938270650,81831401850933.6,83026775801537.5,435260877424758 +10/01/2019,83029078641043.7,83842481603997.5,81612832344763.2,83702609134863.3,262757858864755 +10/02/2019,83703209875604,84033617283007.7,80699506171934,82341130369446.4,305259239145192 +10/03/2019,82345836171915.5,82425734690433.1,80148827159594.5,81471758394147.6,265090172313618 +10/04/2019,81471357900320.4,81935129752167,80228725678112.1,81362223332420.4,219346620027218 +10/05/2019,81375840122543.7,81639365060812.3,77946111110236.5,78639466048500.3,347189140536092 +10/06/2019,78649979011463.2,83101668147215.7,77715827159621.8,82002012221302.1,522665192992493 +10/07/2019,82009321233647.7,83352777776842.5,80987361110202.4,81784744320070,354964261354696 +10/08/2019,81808773949699.3,86807037036063,81250185184273.5,85713088147186.4,551066533951323 +10/09/2019,85727205554593.6,86546716048411.6,84249082962017.6,85685954690396.6,391862646186183 +10/10/2019,85683852097804,87903489011359.3,82225187406484.8,82686956789195.6,504675131636288 +10/11/2019,82681449999072.3,84103703702760,82601851850925,83103370245981.1,213656789546714 +10/12/2019,83122293579314.2,84618037900285.1,81700740739824,82852260616354.3,278751112365798 +10/13/2019,82854563455860.4,83992066048440.3,82131271604016.7,83585064196593,298474665406318 +10/14/2019,83571647653383.2,84133740739796.7,80999876542301,81693631974392,328135230465898 +10/15/2019,81693732097848.8,81912601974389.5,79267740739851.3,80016063455892.3,347764749458147 +10/16/2019,80048903949719.1,81349507653408.2,79388189258368.5,80805436789216.8,296935626751458 +10/17/2019,80806738394155,81250185184273.5,78256593949739.2,79568211233675.1,313918890470255 +10/18/2019,79567009752193.6,81080976542300.1,78766322468252,79578223579354,266607633252169 +10/19/2019,79596846542316.7,83072432097833.3,78797160492943,82335022838582.3,343287816075086 +10/20/2019,82335022838582.3,83432876542273.7,81520818887974.2,82073900863276.6,304862705010517 +10/21/2019,82074000986733.4,83082344320055.4,80098765431200,80299012344778,346946086979971 +10/22/2019,80299613085518.7,80575252962058.8,73090123455970,74758380492988.3,639763428467858 +10/23/2019,74776903332494.3,75129438023848.4,73470492468311.4,74215611233735.1,327547713921201 +10/24/2019,74215611233735.1,88098629628641.1,73700876542382.9,86657052097793.1,908602530102323 +10/25/2019,86665662715076.9,103828024690193,84808372591641,92413950616247,1627893120598310 +10/26/2019,92413950616247,98070725677911.9,90855428887869.4,95416953455719.5,939493854814693 +10/27/2019,95399932468065.3,99143248147035.7,91713086418724,92165043702669.5,802731978373129 +10/28/2019,92158135184151.1,95617901233495,90831999998980.8,94192343455733.2,642376704236076 +10/29/2019,94192343455733.2,94214570863140.4,90121223579235.7,91660221233539.4,553099861697177 +10/30/2019,91653212591564.2,94166111110054.5,89240037036035.7,91521349998973.1,544431557963298 +10/31/2019,91521450122429.9,92904555554513.1,90411481480467,92430070492790,436486348726769 +11/01/2019,92427967900197.5,93853125184132.1,91975509998968,93009885431055.1,289587683101788 +11/02/2019,93013189505129.2,93741287282898.8,90773327653302.4,92060614937238.6,279288157827348 +11/03/2019,92078136542176.7,95254252838437.3,91270941233543.8,94049467282895.3,459511160990486 +11/04/2019,94039955554500.4,94666227776715.6,91870880986623.5,93201521727349.3,459925846196259 +11/05/2019,93192210245867.9,94525654443383.8,92614297653281.8,93505796912531,373822644090768 +11/06/2019,93506898270555.7,93865740739687.5,91122358023668.9,92275780245878.2,391657640264531 +11/07/2019,92253753085384.6,92724333332292.9,87067358023714.4,87845617653335.3,621839649080343 +11/08/2019,87845717776792.1,88909629628632,87356514566921,88202858147158.4,295058634804776 +11/09/2019,88200555307652.3,91584828270577.3,87608024690375,90506298394046.2,344645261296960 +11/10/2019,90513206912564.6,90835203949598,86293203455821.9,87440518147167,449434708945513 +11/11/2019,87441419258278.1,88989728394063.2,85781772838543.6,88328312838515.1,404164648155724 +11/12/2019,88328012468144.7,88559097406413.7,87127432097787.8,87879559505186.8,268432158274741 +11/13/2019,87883764690371.9,88108641974320,85931958023727.1,86573549134831,335097880581067 +11/14/2019,86570545431127.4,88008518517531,84103703702760,84821889258307.5,461443157970884 +11/15/2019,84820787900282.8,85535469134842.7,84103703702760,85015027406453.5,209281050601010 +11/16/2019,85012223949663.4,86456604937301.5,83609894813876.7,85128967900279.4,270423815719213 +11/17/2019,85133673702748.5,85140181727439.7,80699506171934,81972776171919.7,430707991999365 +11/18/2019,81966067900314.8,82287764566977.9,80128802468236.7,81436815307728.2,436098339393563 +11/19/2019,81438717653407.2,82744928270676.5,80483239505269.7,81080075431189,325063127462772 +11/20/2019,81085582221312.4,81447728764518.2,75092592591750,76371569628772.7,584909022112832 +11/21/2019,76372070246056.6,77595679011475,67983827159731,72772031233751.3,1267594404307370 +11/22/2019,72772031233751.3,73535472591767.5,70887507530068.8,73205966295474.9,505121785751184 +11/23/2019,73201260493005.8,73394398641151.8,68694703702932.9,69118025678236.8,679740215519694 +11/24/2019,69087488023916.1,73867982591763.7,65230432098033.5,71183472468337.1,1197934459798500 +11/25/2019,71187677653522.2,73490617283126,70261435554767.2,71649747406603.5,658035364518419 +11/26/2019,71635830246109.8,76644506171979.5,68484444443676,75177897776934.2,925670128389490 +11/27/2019,75171690122613.3,76524358023832.7,73690864196704,74286498641141.7,570042699739270 +11/28/2019,74276786665833.2,78596913579365,73713892591765.5,77492351604068.7,608202950709262 +11/29/2019,77505467776908.1,78196419752209,74501864196694.9,75512009752239.1,470474452649153 +11/30/2019,75499394196683.7,75511609258412,72189012344869,74000145554725.2,608443661917160 +12/01/2019,74006253085589.3,74297211851018.2,71599285184381.8,73032852838686.7,463874538864425 +12/02/2019,73034254567081.7,74091358023860,72502899381902.5,73017133455970.8,331904027674757 +12/03/2019,73017133455970.8,77595679011475,70757246912786.3,72032018764623.8,832497999424757 +12/04/2019,72034722097957.2,74942407406566.5,71588271604135,73981222221392.1,593798969763769 +12/05/2019,73981222221392.1,75994004073221.4,73140185184364.5,75367631727549.4,482485806446240 +12/06/2019,75370935801623.4,76290269381860,74793824196691.6,74974547036195.8,315375714370572 +12/07/2019,74965535925084.8,75733382715199.6,73839647653492.5,75193817406563.7,298937579981102 +12/08/2019,75193817406563.7,76594444443585,72819790122639.7,73477000493002.7,466794453782700 +12/09/2019,73477000493002.7,74167451851019.6,71659359258455.2,72330486789311.9,497851495001080 +12/10/2019,72330687036225.4,72844820986837,71344571110310.6,72189012344869,301302439090249 +12/11/2019,72189012344869,73040061727575.5,70890411110315.7,72069665184376.5,423408090808237 +12/12/2019,72066461233759.3,73180735184364,71996374814007,72674410863382.1,276439600586343 +12/13/2019,72663297159678.5,72807474937454.7,70206567900446.8,70727710493033.5,295984822456395 +12/14/2019,70728611604144.6,72091892591783.7,70170022838718.8,71273783826360.7,264283655171195 +12/15/2019,71283896295496.4,71588271604135,68444395060960.4,69002282962188.7,439181461363578 +12/16/2019,68999479505398.6,69507806295516.4,65680987653584,66319975554811.4,539315700147269 +12/17/2019,66320175801725,74491851851016,64429444443721.5,72868149752268.8,957547211897416 +12/18/2019,72868149752268.8,73891111110282,70469992715258.7,71591275307838.7,555775787645924 +12/19/2019,71601387776974.4,72289135801658,70882401233772.5,71967038641167.8,321717384258797 +12/20/2019,71968840863390,71994572591784.8,71137716048584.5,71415558641174,194912075759640 +12/21/2019,71403944320186.5,75278221480636.8,71312631727594.9,75107010369527.6,391857729954245 +12/22/2019,75099701357182,77048804690493.5,72748101727578.8,73261234443622.4,681360120135972 +12/23/2019,73263337036215,74458610863362,71658758517714.5,72647277406592.2,436833577605814 +12/24/2019,72647277406592.2,72807474937454.7,71376610616483,72135246048573.3,275259851181516 +12/25/2019,72139050739931.3,74441790122621.5,71659559505368.8,72108913579437.8,363045262127235 +12/26/2019,72108913579437.8,72848425431281.3,70851563209081.5,72636964690543,336842360604504 +12/27/2019,72637265060913.4,73741026048555.3,72476066295483.1,73251722715227.5,268821290903021 +12/28/2019,73243913085597.9,75377443826314.7,72969975307823.2,73973612838676.1,314258555983326 +12/29/2019,73975515184355.1,74173859752254.1,72289135801658,72549456789309.4,296424622900402 +12/30/2019,72549456789309.4,73290370369548,71538309999197.3,72041129999191.6,259864960679343 +12/31/2019,72041230122648.4,72639567900419.5,71840082097959.3,72097399381907.1,168131195082249 +01/01/2020,72096598394252.7,72214043209066.2,69332890616506,69743096418970.5,319909302081003 +01/02/2020,69740893702921.2,74141419752254.5,68795227653549.1,73540278517693.3,685129800804176 +01/03/2020,73540679011520.5,74131407406575.6,72811880369553.4,73631891480655.3,300249971679927 +01/04/2020,73632692468309.6,75042530863355.5,73270345678190.2,73678348764605.4,383784079314755 +01/05/2020,73667235060901.8,78049638764556.3,73558300739915.4,77675777776906.2,547031467910850 +01/06/2020,77684788888017.2,82178129381794,77332454443576.7,81553359011430.6,912842422953597 +01/07/2020,81559766912665.1,84654382715099.5,78797160492943,80659256542304.8,1127616829382900 +01/08/2020,80646640986749.4,80659056295391.2,77595679011475,78274115554677.3,643188278784511 +01/09/2020,78273915307763.7,82091222221301.1,76814716048520.8,82071397776856.9,825085142093557 +01/10/2020,82089820492906.1,82965700492896.2,80130404443545.3,80299112468234.8,548776993733805 +01/11/2020,80299112468234.8,82071197529943.3,79698271604044,81950849134882.9,381785702545049 +01/12/2020,81950749011426.1,82061185184264.4,80658355431193.7,81203527653409.8,311982245168265 +01/13/2020,81203527653409.8,88909629628632,81155468394151.1,88208865554565.8,1205477676378600 +01/14/2020,88255222715059.1,89274879998998.3,85745728394099.6,88323006295305.2,849210090835730 +01/15/2020,88308989011354.8,88707480369375,85965999999035.4,87307754443464.8,520552607948776 +01/16/2020,87309156171859.8,90528125307626.2,86831467159519.5,89242840492825.8,709852654470393 +01/17/2020,89242740369369,89999773826150.6,88172520739751.4,89269673579245.2,383420240094401 +01/18/2020,89260962838504.6,92103367653287.5,84764518517567.4,87124428394084.1,707641446770442 +01/19/2020,87124628640997.7,87577887529881.5,85318000986697,86530195678041.4,389446602884593 +01/20/2020,86530195678041.4,87998506171852.1,84984790122503.2,87468152221240.8,365397428285394 +01/21/2020,87468252344697.6,88288864196540.2,86006049381751,86930789628654.2,291164590600659 +01/22/2020,86934894690382.5,87025406295319.8,83166448023758.2,84148959505228.6,482254087255910 +01/23/2020,84148959505228.6,85385484196572.8,82481703702778.2,84494185184237.1,417389956143699 +01/24/2020,84494085060780.3,84616936542260.4,82650912344751.6,83508770122519.8,255526655340985 +01/25/2020,83503063085482.8,86287696665698.5,83038990863265.8,86256358023723.5,311689178613836 +01/26/2020,86250250492859.4,90111111110100,85455370369411.5,89185669998999.3,540401769990924 +01/27/2020,89185669998999.3,94116049381660,88733412344683.4,93857830986601.2,746769338305386 +01/28/2020,93869144937218.3,94609057282889,92273777776742.4,93130133702658.7,539305639672245 +01/29/2020,93130534196485.9,95898246912504.2,92158035060694.3,95249547035968.2,607015920907374 +01/30/2020,95232626171770.9,95419857035966.3,92213803826125.8,93644367776727,456082594161203 +01/31/2020,93632553208825.9,94762146048319.4,92924580245870.9,93961959381661.7,286133489183135 +02/01/2020,93959956912525.9,94887300369305.7,91312592591568,93430303826112.1,457473210734867 +02/02/2020,93431104813766.5,96306650492746.5,92453999998962.6,93037119011301.7,509549632448122 +02/03/2020,93028208023647.5,93615432097715,91042359381694.5,92083743455756.9,533739878274579 +02/04/2020,92083743455756.9,97564801850757.1,91885499011314.6,96239067159414,649505025471292 +02/05/2020,96238967035957.2,98747460122348.8,95381109258189,97840641974210.8,650298914102185 +02/06/2020,97840641974210.8,98972037035926.5,97420123455697,98258457159391.3,440203937853727 +02/07/2020,98259858887786.3,99522716048266,96790447035951,99072661109999.4,436546718675669 +02/08/2020,99072560986542.7,101785506171697,98929484566791.2,101642830245773,434620663261494 +02/09/2020,101642529875403,102005777776633,97680444443348.4,98639927529757.4,596466316363789 +02/10/2020,98639026418646.3,103363351727235,97119753085330,102357010863049,624994599087604 +02/11/2020,102357010863049,104629012344505,102357010863049,103392087159334,610833825267590 +02/12/2020,103380773208717,105129629628450,100924444443312,102422591727246,794423147565765 +02/13/2020,102404068887740,103943767406241,101238531727259,103571308146986,470965523702160 +02/14/2020,103571308146986,103878086418587,98130999998898.9,99169480492714.4,577283846783856 +02/15/2020,99166877282837.9,100624074072945,96500189134719.7,99295135430984.6,600981032394577 +02/16/2020,99229354319874.2,99764614319868.2,94643399628567.7,97179827159403.4,703477538902119 +02/17/2020,97179827159403.4,102626543208725,95878322344603.2,101772590245772,706912896034154 +02/18/2020,101773291109969,102626543208725,93615432097715,96056341850774,552306888535099 +02/19/2020,96064952468057.9,97109740739651.1,94116049381660,96082674319909.5,602266050650699 +02/20/2020,96090584072995.9,97675538393965.7,95620003826087.6,96889969751999.2,422336305167656 +02/21/2020,96889969751999.2,97211566295205.5,95718224937197.6,96627746418668.9,246671733728751 +02/22/2020,96627646295212.1,100023333332211,96569074072990.5,99486671603822,377486356325061 +02/23/2020,99486671603822,100023333332211,94852557529799.9,96680511480396.6,558654808059411 +02/24/2020,96674403949532.5,96869444443357.5,92614197529825,93273410369323.8,544464795446631 +02/25/2020,93279818270558.3,93890170863144,86442888023721.4,87960959875556.2,922440866482267 +02/26/2020,87968469134815.4,89828462591584.7,85415320986695.9,88341028517527.2,725730646608918 +02/27/2020,88341429011354.4,89109876542210,84554259258310.5,87036419875566.6,712430549132092 +02/28/2020,87015293826184.1,88008518517531,85340729011388.1,85341329752128.8,367935511617909 +02/29/2020,85341329752128.8,87608024690375,84213839505227.9,85424131850893.3,439463896819378 +03/01/2020,85408312344720.7,89768188270597.7,85084913579292.2,89262464690356.4,604758872573831 +03/02/2020,89221814566900.1,89306619134800.4,86616802468163.9,87708849011361.5,552230898706174 +03/03/2020,87708849011361.5,88592138147154.1,86706913579274,87616735431115.6,387442560128467 +03/04/2020,87617936912597.1,91707279258230.2,87573381974326,90658586171822.2,582737205103399 +03/05/2020,90658185677995.1,91813209875513,89965932097756,91431539258233.3,438370010657847 +03/06/2020,91421627036011.2,91993432097733.2,88459074073081.5,88976311850853.5,454782813201996 +03/07/2020,88962194443446.2,88977313085421.4,80098765431200,80432276665764.2,776330402455807 +03/08/2020,80446794566998.6,81894079134883.6,76414322344821.6,79396599628738.7,1171132692707200 +03/09/2020,79396599628738.7,81590604937356.1,77375507529996,79043063702816.8,868905839281917 +03/10/2020,79043163826273.6,79898518517622,75993703702851,79443157036145.6,800411055058821 +03/11/2020,79443757776886.4,79760047776882.8,44154444443949,48059259258720,2618284550804980 +03/12/2020,48059359382176.8,59623518517849.5,37867992962538.1,55854871604311.5,4026982190357330 +03/13/2020,55829340122830.3,56474836048749,50613709011777.8,51784452592011.5,1370791608316890 +03/14/2020,51788657777196.7,59473333332666,50993877777205.6,53679188888286.6,1400888825158030 +03/15/2020,53669476912978,53720439752483.6,44476040987155.3,50351786048817.7,2275575115509770 +03/16/2020,50350684690793,55318209875922.5,49275258641422.4,53191988147551.3,1502752225216450 +03/17/2020,53191988147551.3,54428813209265.8,50155544073511.3,53996980740134.9,1372969282688720 +03/18/2020,53999183456184.2,64079012344960,52590146048792.6,61699778641283,1992665782187880 +03/19/2020,61696574690665.7,69085185184410,56769999999363,62160246419055.6,2195690681899490 +03/20/2020,62122299628932.6,64649515801743.7,58672545925267.6,61946182468440.7,1290728210385430 +03/21/2020,61946783209181.5,64157809505452.9,57410890246269.4,58233704814161.4,1192630473040900 +03/22/2020,58232303085766.3,66081481480740,56950222221583.2,64752943332606.8,1648775172841190 +03/23/2020,64732317900508.2,68414358023923.7,63791958394345.9,67530468147390.4,1513246000119540 +03/24/2020,67530167777020,69665500739959,64579629628905,66856737406657.2,1323188902158970 +03/25/2020,66856637283200.4,67883703702942,65180370369639,67456777283193.7,831290571300808 +03/26/2020,67455876172082.6,68510376418984.4,62687296295592.9,63669607530149.8,830173325115302 +03/27/2020,63669607530149.8,63678518517804,60314370369693.6,62443495678311.7,932747053951497 +03/28/2020,62443495678311.7,62737358023987.4,58738026666007.6,58886810122796,633897902166393 +03/29/2020,58877598764771.4,66071469135061.1,58649918024033.3,64022742962244.6,1190363272128770 +03/30/2020,64023443826442.1,65312833702970.8,63292041974598.5,64183541233847.7,724269009313466 +03/31/2020,64200562221501.8,66881868394311.3,61577027283259.7,66511211357278.4,976211236981639 +04/01/2020,66515616789377.1,72068864196722.2,65590876542473.9,68024777653557.7,1494842277420030 +04/02/2020,68022474814051.5,70567012344887.2,66102507406665.7,67424137036280.5,1042087711068910 +04/03/2020,67412823085663.3,69990401357239.3,66582198888141.8,68654554196760.5,730809733124256 +04/04/2020,68658759381945.6,69040530122682.1,66857638517768.3,67811414567140.3,497466969293344 +04/05/2020,67811414567140.3,73642204196704.5,67733518517758.5,73389492591769.1,1181977440415770 +04/06/2020,73389492591769.1,74688994937433.5,70857370369575.3,72062055801660.5,1037130518414260 +04/07/2020,72062055801660.5,74291604937438,71588271604135,73703679999173,761530460171924 +04/08/2020,73693467406580.5,73810211357196.5,71168554073275.5,72925320246095.3,611702981847297 +04/09/2020,72925320246095.3,73047570986834.7,67483009628872.4,68673878023920.8,1048038513039170 +04/10/2020,68673878023920.8,69528732097985.3,67683456789364,68853199135029.9,455264293699410 +04/11/2020,68853299258486.7,71858604937465.3,67883703702942,69123131974533,739598623847392 +04/12/2020,69123131974533,69123131974533,65831172838767.5,68463518641207.1,965345080244761 +04/13/2020,68464820246145.4,69866148147364.2,67626186172080.7,68771798764660.4,691538931895142 +04/14/2020,68770497159722.2,69415592591813.7,66131543209134.5,66294143702959.8,616473990488564 +04/15/2020,66294243826416.6,71988765431291,64762555184458.5,71107078270807.1,1251641906950510 +04/16/2020,71107578888091,71569448394258.7,69815886172056.1,70362259875753.7,541933326139512 +04/17/2020,70354550369580.9,73020838023872,70230597530076.2,72575488888074.5,495496397848872 +04/18/2020,72575488888074.5,72751205554739.2,70643106172046.8,71295310369570.4,457212403047092 +04/19/2020,71301918517718.5,72289135801658,67593345678253.9,68352581851084.9,902607870373452 +04/20/2020,68374108394294.5,69485679011566,67703481480721.8,68498161357256.1,601839203268407 +04/21/2020,68498061233799.3,71652150369566.4,68264172838740.2,71339364690557.5,615622864411290 +04/22/2020,71339164443644,77475530863328.2,70286666665878,74916275184344.6,1029004505099210 +04/23/2020,74931994567060.4,76253624196675.2,73971209875713.2,75142654320144.5,602564188518288 +04/24/2020,75142654320144.5,77145123455924.5,74402441604103.4,75479769999153.1,439285936856626 +04/25/2020,75483374443597.5,77095061727530,74892345678172,77025976542345.6,505849898086904 +04/26/2020,77025976542345.6,78016397776902.4,76153901233713.4,77842182962089.5,655221313525191 +04/27/2020,77831069258385.9,77896049381842,76685757036176.6,77485342962093.5,463599165296255 +04/28/2020,77481338023822,89639429505167,77195685801602.9,87894077406421.2,1837734886076340 +04/29/2020,87894177529878,94716790122394,84113716048438.9,86306419752118,2065318773489960 +04/30/2020,86306419752118,90703641727377.3,86241940245945.9,88378574813823.1,915817395210082 +05/01/2020,88365658887897.4,90211234566889,87638061727411.7,89831266048374.7,590749296327322 +05/02/2020,89836572591584.6,92113580245880,87227555554576.8,89051404443445.2,902373323896949 +05/03/2020,89051304319988.4,89610493826155,85325209875585.8,88829130369373.6,845227327156454 +05/04/2020,88828729875546.5,91298375060704,87708148147164,90329680616270.4,765751860390938 +05/05/2020,90324974813801.3,94065987653265.5,89172053208876,91542075554528.4,1060560743971060 +05/06/2020,91546881480454.2,100794283949486,90321370369356.9,99987288887767,1473362837360730 +05/07/2020,99986287653199.1,100483500739613,97169814813724.5,98121087776676.8,1008080973820790 +05/08/2020,98121187900133.6,99264898147034.3,95317530863128,95511770369298.7,820518532445571 +05/09/2020,95508766665595,95866507776702.1,81270209875631.3,87335388517538.5,1840921760778210 +05/10/2020,87335388517538.5,91793185184155.2,82101234566980,85720897776815.9,1690156558447110 +05/11/2020,85726104196569,89893442715040.7,85393093579288.7,88216675184195.3,866295983120230 +05/12/2020,88218677653331.1,94096024690302.2,88038455431110.9,93208630492781.3,925804299108106 +05/13/2020,93208430245867.7,99512703702587.1,92681880986614.4,98040688640875.2,1297253347246800 +05/14/2020,98040588517418.4,98577750863091.4,91612962961935,93279217529817.5,1160338365289150 +05/15/2020,93274611850805.2,95998370369293.2,92313827159458,93928518147094.2,596611928339997 +05/16/2020,93923912468081.9,99002074072963.2,93336087653273.7,96919906665579.2,687325146485535 +05/17/2020,96930619875455.6,99622839505055,94759142344615.7,97459471974215.1,821078463025515 +05/18/2020,97459471974215.1,99094287776665.9,94856962961898.6,97875985554457.3,786367231203448 +05/19/2020,97871980616185.7,98541506171733.8,93375135801421.4,95231725060659.8,750162365312447 +05/20/2020,95231725060659.8,95902952714973.3,88258827159503.5,90798458640956.5,1090632609442810 +05/21/2020,90787044566882.5,92824456789081.9,89445490369366.7,91813209875513,590159003208983 +05/22/2020,91813209875513,93193411727349.4,90811975307623,91904822838474.9,435800331346048 +05/23/2020,91903421110079.9,93094790122412.2,87107407406430,87311058517538.8,704667551732217 +05/24/2020,87289031357045.2,89907459998991.2,86533900245942.6,89113380863197.6,629114836778607 +05/25/2020,89113380863197.6,90288029258246.2,87107407406430,88520950369377.1,583717451622067 +05/26/2020,88519148147154.9,92363888887852.5,88226086789133.5,92154330492793.1,689954300262061 +05/27/2020,92154330492793.1,96373532961881.6,91212469134779,95877120863121.7,742022824607501 +05/28/2020,95876920616208.1,96171183455711,93415185184137,94387083579187.8,574451955072208 +05/29/2020,94382377776718.7,97520246912486,93427500369322,97096924937182.1,557339950980660 +05/30/2020,97096924937182.1,97119753085330,93929919875489.2,94599345307580.5,483934577436953 +05/31/2020,94599345307580.5,103928148146982,94333016912521.8,102133635430953,767437555109413 +06/01/2020,102153059381570,102416183826011,92774395060687.4,95297906665597.4,1091053049684810 +06/02/2020,95297706418683.8,97019629628541,93767719875491.1,96781736295210.3,463097469692693 +06/03/2020,96782537282864.6,98938295430988.6,94616666665605,98011452591492.8,575270344263409 +06/04/2020,98002241233468.2,98669163579139.8,95928283949540.9,96330379752005.5,478470476421174 +06/05/2020,96330479875462.3,97470185184091.5,95428167282879.8,96782337035951.1,327933866344752 +06/06/2020,96787843826074.5,98141012344577.8,93840309381663.1,97590233208781.5,580243951107501 +06/07/2020,97590233208781.5,98120987653220,96448925924843.7,97940865554456.6,407148674135864 +06/08/2020,97940765430999.8,98891938270495.3,95818148147073,97844947282852.7,460808210431607 +06/09/2020,97845047406309.5,100050566912458,97161604690267.8,98972037035926.5,471889491086088 +06/10/2020,98974239751975.8,99763012344559.6,91242506171815.7,92918572838463.5,945355513767540 +06/11/2020,92903354073031.6,95689189134728.8,92439081603901,94768153455726.7,501809423227110 +06/12/2020,94766451356961.3,95064518887822.2,93625444443393.9,94850354813750.5,277940561900104 +06/13/2020,94850354813750.5,94926949258194.1,92564135801430.5,93536334566851.7,300926121713759 +06/14/2020,93536334566851.7,95067222221155.5,89214505554554.5,94376570616225,862142307859178 +06/15/2020,94376870986595.3,96008382714972.1,93846617159440.8,95373499875473,521167092065720 +06/16/2020,95387316912509.9,95768086418678.5,92480132221184.5,94768253579183.5,481057277084380 +06/17/2020,94768153455726.7,95007148147082.1,92914567900192,93979080492772.6,374281043247837 +06/18/2020,93979080492772.6,94499522221161.9,92271675184149.8,93217241110065.1,453869478498648 +06/19/2020,93217241110065.1,94065987653265.5,91822721603908,93705042591541.2,303665086742568 +06/20/2020,93705042591541.2,94336320986595.8,92929986912537.5,93061649258215,243469471303120 +06/21/2020,93061649258215,97920740739642,92885431974266.4,96976476418664.9,579669442291928 +06/22/2020,96976476418664.9,97319999998908,95888534937195.7,96367725801387.8,410816849713662 +06/23/2020,96362118887807.6,96819382714963,92193679011311.2,93079671480437.1,616475757367206 +06/24/2020,93098094196486.2,93515308640926,90208130739728.5,92609091233528.7,559005470802567 +06/25/2020,92609091233528.7,93094790122412.2,90566172221206,91735213702674.4,503543875335671 +06/26/2020,91735213702674.4,92075933826127.3,88439049381723.7,90231259258246.8,463480794089157 +06/27/2020,90231259258246.8,92023469134769.9,89591069875537.9,91276047529840,307260630582120 +06/28/2020,91274145184161,92494049381678.2,90358115677998.5,92039088394029,421722936225774 +06/29/2020,92042792961930.2,92163641974274.5,90760812221203.8,91498321603911.6,315020062115120 +06/30/2020,91493615801442.5,93034716048338.8,90913099998979.9,92433975307604.8,385360454006651 +07/01/2020,92433875184148,92733945184144.6,89510370369366,90977579505152,457816189002715 +07/02/2020,90977579505152,91362654319962.5,90486273702688.4,90694430369352.7,289791527941773 +07/03/2020,90689724566883.6,92013456789091,90512005431083.2,91467383455763.8,264746128892387 +07/04/2020,91462777776751.5,91565304196503.4,89040090492828.1,90806068023672.4,341157198656629 +07/05/2020,90806068023672.4,93865740739687.5,90671001480464.1,93557360492777.4,545303707112980 +07/06/2020,93540039134752.9,93909995307588.2,92143617282916.7,92688188764392.1,346300370932633 +07/07/2020,92688288887848.9,94816913579183,92423962961925.9,94477094566841.1,562098270615804 +07/08/2020,94477094566841.1,94524452961902.3,91713086418724,92438280616246.7,481037647810590 +07/09/2020,92438180492789.9,93289830616237.2,91362654319962.5,92998070863154,383427723932315 +07/10/2020,92998070863154,93107605924881.2,91895811727363.9,92454300369333,225892195380181 +07/11/2020,92454200245876.2,93565370369320.5,91688055554526.7,93142348764387,309108167329198 +07/12/2020,93147955677967.2,93553555801419.4,92122491233534.2,92540306418714.7,427928346319458 +07/13/2020,92540206295257.9,92909962221179.7,91242506171815.7,92672769752046.6,458290618325709 +07/14/2020,92672769752046.6,92879424566859.1,91718793455761,92089550616250.6,391017939604440 +07/15/2020,92089550616250.6,92375403085383.2,90584194443428,91449961974282.5,434291212784028 +07/16/2020,91449961974282.5,91981717653288.9,91010319875522,91656216295267.8,280889937514762 +07/17/2020,91656116171811,92306818517482.8,91323606171814.8,91816013332303.1,225823865696565 +07/18/2020,91816213579216.7,92436678640938.1,91125862344656.5,92203591233533.3,260841824036419 +07/19/2020,92203591233533.3,92329045924889.9,91422728394035.9,91720896048353.5,355025403335547 +07/20/2020,91720896048353.5,94493815184124.9,91640997529835.9,94015925924871,604881671550571 +07/21/2020,94015925924871,95557827159421.6,92724333332292.9,95299108147078.8,488752695436207 +07/22/2020,95299108147078.8,96759308640889.6,94519847282890,96151258887810,519202535407754 +07/23/2020,96151258887810,96488975307559.3,94751232591529.4,95495750616212.4,439853721751299 +07/24/2020,95498754319916.1,97449159258165.8,95247444443375.7,97123958270515.1,407297670765504 +07/25/2020,97123958270515.1,101234827159358,96619135801385,99438011603822.5,653598610087839 +07/26/2020,99438011603822.5,114089277282670,99294534690243.9,110435772344440,1503743515782930 +07/27/2020,110435772344440,112561092961700,105780432097578,109197345307417,973878178083603 +07/28/2020,109197345307417,113568234813540,108253481480267,111142343579000,769329560768688 +07/29/2020,111142243455543,111837901233313,108443716048166,111133132220975,608698817966207 +07/30/2020,111134934443197,114581283949332,109735308640744,113494543949344,701501593200943 +07/31/2020,113494543949344,118756432097433,112338518517258,118157393455464,851925314029774 +08/01/2020,118157393455464,121384272344317,105314858023510,110850183332090,976735135011806 +08/02/2020,110850283455546,114871641974020,109495012344450,112336616171579,570021276984036 +08/03/2020,112335314566641,114290725677730,110135802467900,112057872467878,587014953302043 +08/04/2020,112058072714792,117954743578923,111066950616038,117594098887569,750628127238145 +08/05/2020,117594098887569,119146913578910,115767746912281,117769815554234,636075159884468 +08/06/2020,117769915677691,119246436294958,113359777776506,116085438640673,658371061768440 +08/07/2020,116086740245611,118228481109784,115262123455497,117759302591271,419098377815544 +08/08/2020,117755397776456,118116743332008,115361946541915,116961018270293,415442933505980 +08/09/2020,116961118393749,120822479628274,114641358023405,119076026171503,850572173155357 +08/10/2020,119075825924590,119497345677671,111387345677762,114061442961683,908603195522817 +08/11/2020,114061543085140,116318626171534,111637654319735,115786069504874,649897489687572 +08/12/2020,115786169628330,118075192097441,112842740245647,117945432097442,702190748240541 +08/13/2020,117943129257936,118646296294965,116483929998693,117750591850531,598927031317563 +08/14/2020,117750691973987,119947901233222,116944197529552,118670325924594,563073345617756 +08/15/2020,118670325924594,119464505183845,117004271603625,119257049381378,414193088029501 +08/16/2020,119256949257921,124833925924525,117843105924604,122962918887509,848388216767517 +08/17/2020,122963119134423,124030635430707,118325200369043,119597569257917,760175686564273 +08/18/2020,119598470369028,120349196048032,115752728393763,117691018393741,740314537651767 +08/19/2020,117688915801149,119026765430763,116824049381405,118681840122125,461421497262242 +08/20/2020,118681739998668,118926641973974,114999900122166,115455762220927,645278719513278 +08/21/2020,115454660862902,117004271603625,113908554443166,116773587159184,437326259685290 +08/22/2020,116779093949307,117325367529548,115283449751793,116625104072765,379467948188211 +08/23/2020,116625003949309,118394986418425,115993925801168,117627039504853,462694442021191 +08/24/2020,117626939381396,117823782097443,111313654813566,113323933578975,696768379913071 +08/25/2020,113323933578975,115535660739444,112578814813552,114755799134515,540648957133946 +08/26/2020,114755699011058,116065113578945,111387345677762,113443681233295,633241179086882 +08/27/2020,113443681233295,115569001850555,112908120862931,115411407529569,460106415846874 +08/28/2020,115411307406112,115943163208576,114311351109828,114799953578959,330145075937036 +08/29/2020,114799953578959,117334679011029,114721456788836,117256182220907,432311850770384 +08/30/2020,117256282344363,118153388517193,115842839504873,116638921109802,554219555430621 +08/31/2020,116638921109802,120657275924572,115292160492533,119366884813475,782446729185640 +09/01/2020,119366884813475,119693287282608,111738779011092,114025999257980,873295268918868 +09/02/2020,114025999257980,114767513578959,99730972838387.1,101533695677873,1221006617000680 +09/03/2020,101508064072935,106401698146954,98876919751977,104591466048209,928480850367890 +09/04/2020,104591466048209,105787240492640,98371296295192.5,101792414690216,901127186602827 +09/05/2020,101792414690216,103599142467973,100071993332210,102688619751934,564383799116692 +09/06/2020,102685515924774,104236027776608,98871913579137.5,103862467159328,626975396020570 +09/07/2020,103862567282785,104508864196358,98621604937165,101391520369233,735826091312706 +09/08/2020,101391620492689,103557691356863,99933322344557.7,102318162961815,494080361381320 +09/09/2020,102319064072926,104962924072896,100832631233436,103496315677851,583256719638517 +09/10/2020,103496215554394,104104365430931,102125925924780,104007145554389,438843658917755 +09/11/2020,104007145554389,104909057653144,102819280863044,104538100245741,354228310623877 +09/12/2020,104535597159321,105931718640787,102125925924780,103455865801308,438917303705137 +09/13/2020,103455965924765,107632716048175,102249478270458,106849450245715,671420806088404 +09/14/2020,106849450245715,109435338764204,106195744196339,107986251974097,618987768010906 +09/15/2020,107985450986443,111066950616038,106743819998802,109675334690127,650717488743809 +09/16/2020,109675334690127,110590963702463,107590964566694,109534961603709,556702584969297 +09/17/2020,109535061727166,110516571974069,108261891850637,109468880122228,473250822599937 +09/18/2020,109468980245685,111935922097509,109008111974085,110943298146903,384874936931953 +09/19/2020,110943198023446,110943198023446,107362382714845,109337618270378,392062656788379 +09/20/2020,109337618270378,110024264937037,103090615430942,104300807653151,707706946734886 +09/21/2020,104300807653151,105857627282763,103657814813652,105426095184002,440455456427601 +09/22/2020,105426095184002,105501588270421,101493345924787,102541037776627,519406132241937 +09/23/2020,102541037776627,108085674566688,102035113949472,107495747159288,577478251293483 +09/24/2020,107495847282744,107738146048174,105692723949431,106998634196330,481605011025312 +09/25/2020,106997632961762,108342991850636,106578215801273,107418451850647,284559241113461 +09/26/2020,107418351727190,108123320986441,106079000245723,107875515430888,305871986640802 +09/27/2020,107875615554345,109635185183955,106391185183991,107093250862996,501570977232323 +09/28/2020,107093150739539,108809567159273,106490007035842,108538633085202,419265958039604 +09/29/2020,108539634319770,108627342467917,106782968270407,107898944319777,396449113059033 +09/30/2020,107898944319777,109334814813588,104498851850679,106322400369177,609414765131717 +10/01/2020,106322400369177,106778062221024,103868074072909,105834498764245,501922830793812 +10/02/2020,105834498764245,106166508146957,105094185924747,105550748887705,223257500090717 +10/03/2020,105550849011161,107100760122255,105308550245732,106797986788925,232406583868318 +10/04/2020,106797886665468,108113308640762,106287457282758,108055337159281,340677687657696 +10/05/2020,108055237035825,108133333332120,105379938270422,106127459998809,487348327426396 +10/06/2020,106127359875352,106950574937072,105591899628445,106795583825962,328524989086054 +10/07/2020,106795683949419,109635185183955,105434105060545,109390583579019,520238393387891 +10/08/2020,109389281974081,111183494319740,108423691356808,110642827653079,482996288824296 +10/09/2020,110642827653079,115051864196240,110641526048141,113071622467867,437019234078714 +10/10/2020,113071622467867,114591296295010,112348530862937,113830558270328,290797079452651 +10/11/2020,113830558270328,117344791480165,111857925924671,115424824072779,528905001090485 +10/12/2020,115424723949322,115712679011047,113139506171570,114346594566618,422573889970555 +10/13/2020,114346694690075,115622367653024,112939259257992,114319861603656,414662357750471 +10/14/2020,114319861603656,116316823949312,112647199134538,115193238517226,488209160953398 +10/15/2020,115193338640683,115553983332037,112138271603680,113332944690086,488579936366394 +10/16/2020,113332143702432,114164970616003,112688950616019,113742249381440,223965311854907 +10/17/2020,113743350739464,115192037035744,113602276788849,115173414072782,233127869206038 +10/18/2020,115173414072782,118385875183857,114220439011064,117659779875223,474730711540500 +10/19/2020,117659679751766,120532421973956,116920067776466,119246936912242,622114602310217 +10/20/2020,119247037035699,132339981233083,119016252467800,127967389628194,1147259190580180 +10/21/2020,127965287035601,132012777776296,126937319504748,129845305183728,701252918273415 +10/22/2020,129848509134345,130437735677549,127357838023262,129390244072622,504492060130771 +10/23/2020,129390143949165,131829852220743,128858888887443,131279173208403,359965945128924 +10/24/2020,131279173208403,133664814813315,129039111109663,130449149751623,385290876264121 +10/25/2020,130457259751623,132551542097278,127807592591158,130683038146682,610269219643103 +10/26/2020,130682637652855,138063138146599,130359439134340,136530047776246,808963028271861 +10/27/2020,136529947652789,138765904689801,129039111109663,132827782714559,945571545104032 +10/28/2020,132827782714559,136597530986122,129367215677561,134723119751575,749650374424329 +10/29/2020,134723019628118,136868565183649,131311913578773,135768408640452,707450107059852 +10/30/2020,135768408640452,141174074072490,134280574072567,138080259257710,674223733766077 +10/31/2020,138080259257710,139121543208315,136197938270077,137784895060182,363304456225380 +11/01/2020,137784794936726,138470740739187,132113401850369,135660976171317,646461335392598 +11/02/2020,135663579381194,140834755677432,133013912220730,140408429998425,742071315649167 +11/03/2020,140408429998425,142766037035435,135416975307122,141614717405818,931318240489328 +11/04/2020,141614717405818,157694444442675,141109594566318,156092669380965,1439189813413520 +11/05/2020,156092669380965,159797037035244,151847234566197,155991544689608,1227695781846040 +11/06/2020,155991644813064,157729687899465,143619289134191,148365941973644,1015564302636540 +11/07/2020,148365941973644,156693209874785,147220329381064,154942050615545,656281010159476 +11/08/2020,154942050615545,158595555553776,148238184442781,153473339627908,1091108728168920 +11/09/2020,153473339627908,154790864195794,150910679751393,153160954442726,617580701233391 +11/10/2020,153160954442726,159847098763638,152915351603222,157036032590831,785666226873135 +11/11/2020,157036132714287,163608737035201,154597025183450,163119734072244,1023225249323230 +11/12/2020,163119633948787,165003456788272,159720442590800,163408490121623,757853277798336 +11/13/2020,163401881973475,163471467775943,156893456788363,160902900615478,591893303230013 +11/14/2020,160893989627824,161999753084602,157941949627857,159766999998207,436506647736374 +11/15/2020,159766999998207,169008395059832,158835851850070,167342040368493,814010471279311 +11/16/2020,167337134319110,178808679257253,165584172837648,176811817035053,1153636517465100 +11/17/2020,176811817035053,184997410244838,172357024072140,177980658269608,1492037631794050 +11/18/2020,177996978393064,182022441973266,173570520368423,178247987899234,931243876254835 +11/19/2020,178247887775778,188384486664553,177619412837513,186787016911484,885321827083634 +11/20/2020,186786916788028,189893146911450,183311831849795,187268911109010,756707638973410 +11/21/2020,187268911109010,187731481479375,176326018022713,184371638639907,817465349842161 +11/22/2020,184366131849783,187891679010237,180222222220200,183906765430035,830639277045285 +11/23/2020,183906865553492,194429440368189,180402444442420,191836643331181,1137217333252070 +11/24/2020,191836543207724,195082645800280,185231098392983,187422200121354,933817208080349 +11/25/2020,187419396664564,189383818886764,162079851850033,171706421849925,1812287099584890 +11/26/2020,171706421849925,174791726170878,164583739257413,171606799010420,854023297549146 +11/27/2020,171606899133877,179025646788115,168863816788229,177417263578256,649908366359004 +11/28/2020,177417163454799,183827167281888,175386259257291,182074406047340,553973237299130 +11/29/2020,182074506170796,198876824195299,182074406047340,197201858886676,1156060143766880 +11/30/2020,197201858886676,199125530861963,180233436047360,187881266170731,1278564154439630 +12/01/2020,187881266170731,193658790121284,183526296294237,192277987528707,760047307777373 +12/02/2020,192277887405250,196221950615082,188904928392942,194458776541028,667717238600767 +12/03/2020,194463181973127,195511074071880,185882301355939,186735453331238,713716727278411 +12/04/2020,186735353207781,192006753084265,185228395059650,191712990862046,429757396201388 +12/05/2020,191712990862046,194439753084238,188802802467017,193833004936097,370888240727579 +12/06/2020,193825695923751,194448864318806,189262168886765,191905628392908,414233732015389 +12/07/2020,191905628392908,193186607899067,182224691355980,183467323578188,617030302646829 +12/08/2020,183467323578188,186625818146054,176717901232585,185641704689275,796838075702306 +12/09/2020,185641804812732,185802302713965,179332324936259,182771665800418,529559722231515 +12/10/2020,182773468022640,183153136170784,175940242343705,180587973207850,727003671276398 +12/11/2020,180587973207850,189720534071945,180429477775753,188319106047270,495811142072856 +12/12/2020,188319106047270,194349641973128,187342201479379,191986628269451,566306499183571 +12/13/2020,191986628269451,193728876541036,190234567899100,192969339997835,473155435172888 +12/14/2020,192974846787958,195941604936073,190735185183045,194504132466953,619107047337757 +12/15/2020,194504132466953,215866172837084,193024007405242,213618601479085,1144474545015180 +12/16/2020,213618601479085,238293827157820,212562098763047,228253046417192,1851107267172170 +12/17/2020,228252946293735,233139271355409,223775925923415,231359176417157,797444628749879 +12/18/2020,231359176417157,242013113207161,227780864194975,238510193947941,861512931509432 +12/19/2020,238510093824484,243249938268875,230884691355434,234844774318353,767848248763421 +12/20/2020,234844974565266,241325265059021,218419320985203,227477590244361,881389766213233 +12/21/2020,227479292343127,238665285182507,223809967898723,238401860367695,871405744629234 +12/22/2020,238401860367695,241297530861490,226279012343140,232614424194921,1191942316572590 +12/23/2020,232610719627020,238238058392389,227314489133252,237584953083754,690990365157333 +12/24/2020,237582850491161,248204647651536,234625303701071,247429792219446,796181163379449 +12/25/2020,247429792219446,269001991725377,245302469133050,265260978885912,979272621668592 +12/26/2020,265261079009369,284570888885696,257317283947730,263141064935319,1486388647138310 +12/27/2020,263139863453837,275339506169750,261332234564969,271128413700661,798201643994204 +12/28/2020,271128513824118,274438395058649,259119506169932,274188086416676,694972859294251 +12/29/2020,274188086416676,290317975305384,273537283947548,289111888144904,954737813531090 +12/30/2020,289111988268361,293361728391770,278843827157365,289593381848602,756017255278825 +12/31/2020,289593381848602,296365432095440,286599089749871,293679019626334,542498175104049 +01/01/2021,293679119749791,333411111107370,289822664564649,322180563329718,1301543596239490 +01/02/2021,322161740119842,348210459378809,320024504811224,330407908020984,1211068970779620 +01/03/2021,330407908020984,336414814811040,281647283947457,320282022342085,1410738361645780 +01/04/2021,320292435181591,344024197527004,299369135799110,339914429996186,1161932686379780 +01/05/2021,339914429996186,369848139625480,333290962959223,368147542711918,1272961632854980 +01/06/2021,368147542711918,404148333328798,363448148144070,394809618267175,1329896827817260 +01/07/2021,394811620736311,420017901229855,365450617279850,406329122341120,1399625376918730 +01/08/2021,406370673575687,414310864192882,387678024687008,401377116291793,758795426120189 +01/09/2021,901377116291793,914010493822515,851544570489883,881971187896949,1183554822109350 +01/10/2021,381971187896949,383119804193232,304575555552138,354481792218245,2494391097426000 +01/11/2021,354540865057750,366732197526749,325711617280296,340932785675187,1341135200833790 +01/12/2021,340911859872718,378967283946365,324199753082782,374175175057530,1246315913747970 diff --git a/tests/indicators/a-d/Adl/Adl.Tests.cs b/tests/indicators/a-d/Adl/Adl.Tests.cs index d9eebfcbd..44774bf63 100644 --- a/tests/indicators/a-d/Adl/Adl.Tests.cs +++ b/tests/indicators/a-d/Adl/Adl.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -24,15 +24,15 @@ public void Standard() // sample values AdlResult r1 = results[249]; - Assert.AreEqual(0.7778m, Math.Round(r1.MoneyFlowMultiplier, 4)); - Assert.AreEqual(36433792.89m, Math.Round(r1.MoneyFlowVolume, 2)); - Assert.AreEqual(3266400865.74m, Math.Round(r1.Adl, 2)); + Assert.AreEqual(0.7778, Math.Round(r1.MoneyFlowMultiplier, 4)); + Assert.AreEqual(36433792.89, Math.Round(r1.MoneyFlowVolume, 2)); + Assert.AreEqual(3266400865.74, Math.Round(r1.Adl, 2)); Assert.AreEqual(null, r1.AdlSma); AdlResult r2 = results[501]; - Assert.AreEqual(0.8052m, Math.Round(r2.MoneyFlowMultiplier, 4)); - Assert.AreEqual(118396116.25m, Math.Round(r2.MoneyFlowVolume, 2)); - Assert.AreEqual(3439986548.42m, Math.Round(r2.Adl, 2)); + Assert.AreEqual(0.8052, Math.Round(r2.MoneyFlowMultiplier, 4)); + Assert.AreEqual(118396116.25, Math.Round(r2.MoneyFlowVolume, 2)); + Assert.AreEqual(3439986548.42, Math.Round(r2.Adl, 2)); Assert.AreEqual(null, r2.AdlSma); } @@ -59,6 +59,13 @@ public void BadData() Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = Indicator.GetAdl(bigQuotes); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void WithSma() { @@ -73,10 +80,10 @@ public void WithSma() // sample value AdlResult r = results[501]; - Assert.AreEqual(0.8052m, Math.Round(r.MoneyFlowMultiplier, 4)); - Assert.AreEqual(118396116.25m, Math.Round(r.MoneyFlowVolume, 2)); - Assert.AreEqual(3439986548.42m, Math.Round(r.Adl, 2)); - Assert.AreEqual(3595352721.16m, Math.Round((decimal)r.AdlSma, 2)); + Assert.AreEqual(0.8052, Math.Round(r.MoneyFlowMultiplier, 4)); + Assert.AreEqual(118396116.25, Math.Round(r.MoneyFlowVolume, 2)); + Assert.AreEqual(3439986548.42, Math.Round(r.Adl, 2)); + Assert.AreEqual(3595352721.16, Math.Round((double)r.AdlSma, 2)); } [TestMethod] diff --git a/tests/indicators/a-d/Adx/Adx.Tests.cs b/tests/indicators/a-d/Adx/Adx.Tests.cs index 4df6deb11..285996507 100644 --- a/tests/indicators/a-d/Adx/Adx.Tests.cs +++ b/tests/indicators/a-d/Adx/Adx.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -25,33 +25,40 @@ public void Standard() // sample values AdxResult r1 = results[19]; - Assert.AreEqual(21.0361m, Math.Round((decimal)r1.Pdi, 4)); - Assert.AreEqual(25.0124m, Math.Round((decimal)r1.Mdi, 4)); + Assert.AreEqual(21.0361, Math.Round((double)r1.Pdi, 4)); + Assert.AreEqual(25.0124, Math.Round((double)r1.Mdi, 4)); Assert.AreEqual(null, r1.Adx); AdxResult r2 = results[29]; - Assert.AreEqual(37.9719m, Math.Round((decimal)r2.Pdi, 4)); - Assert.AreEqual(14.1658m, Math.Round((decimal)r2.Mdi, 4)); - Assert.AreEqual(19.7949m, Math.Round((decimal)r2.Adx, 4)); + Assert.AreEqual(37.9719, Math.Round((double)r2.Pdi, 4)); + Assert.AreEqual(14.1658, Math.Round((double)r2.Mdi, 4)); + Assert.AreEqual(19.7949, Math.Round((double)r2.Adx, 4)); AdxResult r3 = results[248]; - Assert.AreEqual(32.3167m, Math.Round((decimal)r3.Pdi, 4)); - Assert.AreEqual(18.2471m, Math.Round((decimal)r3.Mdi, 4)); - Assert.AreEqual(30.5903m, Math.Round((decimal)r3.Adx, 4)); + Assert.AreEqual(32.3167, Math.Round((double)r3.Pdi, 4)); + Assert.AreEqual(18.2471, Math.Round((double)r3.Mdi, 4)); + Assert.AreEqual(30.5903, Math.Round((double)r3.Adx, 4)); AdxResult r4 = results[501]; - Assert.AreEqual(17.7565m, Math.Round((decimal)r4.Pdi, 4)); - Assert.AreEqual(31.1510m, Math.Round((decimal)r4.Mdi, 4)); - Assert.AreEqual(34.2987m, Math.Round((decimal)r4.Adx, 4)); + Assert.AreEqual(17.7565, Math.Round((double)r4.Pdi, 4)); + Assert.AreEqual(31.1510, Math.Round((double)r4.Mdi, 4)); + Assert.AreEqual(34.2987, Math.Round((double)r4.Adx, 4)); } [TestMethod] public void BadData() { - IEnumerable r = Indicator.GetAdx(badQuotes, 20); + IEnumerable r = badQuotes.GetAdx(20); Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = bigQuotes.GetAdx(200); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Removed() { @@ -62,9 +69,9 @@ public void Removed() Assert.AreEqual(502 - (2 * 14 + 100), r.Count()); AdxResult last = r.LastOrDefault(); - Assert.AreEqual(17.7565m, Math.Round((decimal)last.Pdi, 4)); - Assert.AreEqual(31.1510m, Math.Round((decimal)last.Mdi, 4)); - Assert.AreEqual(34.2987m, Math.Round((decimal)last.Adx, 4)); + Assert.AreEqual(17.7565, Math.Round((double)last.Pdi, 4)); + Assert.AreEqual(31.1510, Math.Round((double)last.Mdi, 4)); + Assert.AreEqual(34.2987, Math.Round((double)last.Adx, 4)); } [TestMethod] diff --git a/tests/indicators/a-d/Awesome/Awesome.Tests.cs b/tests/indicators/a-d/Awesome/Awesome.Tests.cs index 8729fa3c5..f66cea253 100644 --- a/tests/indicators/a-d/Awesome/Awesome.Tests.cs +++ b/tests/indicators/a-d/Awesome/Awesome.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -29,16 +29,16 @@ public void Standard() Assert.AreEqual(null, r1.Normalized); AwesomeResult r2 = results[33]; - Assert.AreEqual(5.4756m, Math.Round((decimal)r2.Oscillator, 4)); - Assert.AreEqual(2.4548m, Math.Round((decimal)r2.Normalized, 4)); + Assert.AreEqual(5.4756, Math.Round((double)r2.Oscillator, 4)); + Assert.AreEqual(2.4548, Math.Round((double)r2.Normalized, 4)); AwesomeResult r3 = results[249]; - Assert.AreEqual(5.0618m, Math.Round((decimal)r3.Oscillator, 4)); - Assert.AreEqual(1.9634m, Math.Round((decimal)r3.Normalized, 4)); + Assert.AreEqual(5.0618, Math.Round((double)r3.Oscillator, 4)); + Assert.AreEqual(1.9634, Math.Round((double)r3.Normalized, 4)); AwesomeResult r4 = results[501]; - Assert.AreEqual(-17.7692m, Math.Round((decimal)r4.Oscillator, 4)); - Assert.AreEqual(-7.2763m, Math.Round((decimal)r4.Normalized, 4)); + Assert.AreEqual(-17.7692, Math.Round((double)r4.Oscillator, 4)); + Assert.AreEqual(-7.2763, Math.Round((double)r4.Normalized, 4)); } [TestMethod] @@ -59,8 +59,8 @@ public void Removed() Assert.AreEqual(502 - 33, results.Count); AwesomeResult last = results.LastOrDefault(); - Assert.AreEqual(-17.7692m, Math.Round((decimal)last.Oscillator, 4)); - Assert.AreEqual(-7.2763m, Math.Round((decimal)last.Normalized, 4)); + Assert.AreEqual(-17.7692, Math.Round((double)last.Oscillator, 4)); + Assert.AreEqual(-7.2763, Math.Round((double)last.Normalized, 4)); } [TestMethod] diff --git a/tests/indicators/a-d/Beta/Beta.Tests.cs b/tests/indicators/a-d/Beta/Beta.Tests.cs index c019e0b01..4c0efdd4f 100644 --- a/tests/indicators/a-d/Beta/Beta.Tests.cs +++ b/tests/indicators/a-d/Beta/Beta.Tests.cs @@ -29,32 +29,32 @@ public void All() // sample values BetaResult r19 = results[19]; - Assert.AreEqual(7.5476m, Math.Round((decimal)r19.Beta, 4)); + Assert.AreEqual(7.5476, Math.Round((double)r19.Beta, 4)); Assert.IsNull(r19.BetaUp); Assert.IsNull(r19.BetaDown); Assert.IsNull(r19.Ratio); Assert.IsNull(r19.Convexity); BetaResult r20 = results[20]; - Assert.AreEqual(6.7488m, Math.Round((decimal)r20.Beta, 4)); - Assert.AreEqual(8.2407m, Math.Round((decimal)r20.BetaUp, 4)); - Assert.AreEqual(5.9296m, Math.Round((decimal)r20.BetaDown, 4)); - Assert.AreEqual(1.3898m, Math.Round((decimal)r20.Ratio, 4)); - Assert.AreEqual(5.3415m, Math.Round((decimal)r20.Convexity, 4)); + Assert.AreEqual(6.7488, Math.Round((double)r20.Beta, 4)); + Assert.AreEqual(8.2407, Math.Round((double)r20.BetaUp, 4)); + Assert.AreEqual(5.9296, Math.Round((double)r20.BetaDown, 4)); + Assert.AreEqual(1.3898, Math.Round((double)r20.Ratio, 4)); + Assert.AreEqual(5.3415, Math.Round((double)r20.Convexity, 4)); BetaResult r249 = results[249]; - Assert.AreEqual(3.5528m, Math.Round((decimal)r249.Beta, 4)); - Assert.AreEqual(3.1061m, Math.Round((decimal)r249.BetaUp, 4)); - Assert.AreEqual(4.0684m, Math.Round((decimal)r249.BetaDown, 4)); - Assert.AreEqual(0.7635m, Math.Round((decimal)r249.Ratio, 4)); - Assert.AreEqual(0.9260m, Math.Round((decimal)r249.Convexity, 4)); + Assert.AreEqual(3.5528, Math.Round((double)r249.Beta, 4)); + Assert.AreEqual(3.1061, Math.Round((double)r249.BetaUp, 4)); + Assert.AreEqual(4.0684, Math.Round((double)r249.BetaDown, 4)); + Assert.AreEqual(0.7635, Math.Round((double)r249.Ratio, 4)); + Assert.AreEqual(0.9260, Math.Round((double)r249.Convexity, 4)); BetaResult r501 = results[501]; - Assert.AreEqual(1.6759m, Math.Round((decimal)r501.Beta, 4)); - Assert.AreEqual(1.2838m, Math.Round((decimal)r501.BetaUp, 4)); - Assert.AreEqual(2.1034m, Math.Round((decimal)r501.BetaDown, 4)); - Assert.AreEqual(0.6104m, Math.Round((decimal)r501.Ratio, 4)); - Assert.AreEqual(0.6717m, Math.Round((decimal)r501.Convexity, 4)); + Assert.AreEqual(1.6759, Math.Round((double)r501.Beta, 4)); + Assert.AreEqual(1.2838, Math.Round((double)r501.BetaUp, 4)); + Assert.AreEqual(2.1034, Math.Round((double)r501.BetaDown, 4)); + Assert.AreEqual(0.6104, Math.Round((double)r501.Ratio, 4)); + Assert.AreEqual(0.6717, Math.Round((double)r501.Convexity, 4)); } [TestMethod] @@ -74,7 +74,7 @@ public void Standard() // sample value BetaResult r = results[501]; - Assert.AreEqual(1.6759m, Math.Round((decimal)r.Beta, 4)); + Assert.AreEqual(1.6759, Math.Round((double)r.Beta, 4)); } [TestMethod] @@ -94,7 +94,7 @@ public void Up() // sample value BetaResult r = results[501]; - Assert.AreEqual(1.2838m, Math.Round((decimal)r.BetaUp, 4)); + Assert.AreEqual(1.2838, Math.Round((double)r.BetaUp, 4)); } [TestMethod] @@ -114,7 +114,7 @@ public void Down() // sample value BetaResult r = results[501]; - Assert.AreEqual(2.1034m, Math.Round((decimal)r.BetaDown, 4)); + Assert.AreEqual(2.1034, Math.Round((double)r.BetaDown, 4)); } [TestMethod] @@ -133,6 +133,14 @@ public void BadData() Assert.AreEqual(502, r3.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = Indicator + .GetBeta(bigQuotes, bigQuotes, 150, BetaType.All); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Removed() { @@ -144,7 +152,7 @@ public void Removed() Assert.AreEqual(502 - 19, results.Count); BetaResult last = results.LastOrDefault(); - Assert.AreEqual(1.6759m, Math.Round((decimal)last.Beta, 4)); + Assert.AreEqual(1.6759, Math.Round((double)last.Beta, 4)); } [TestMethod] @@ -163,7 +171,7 @@ public void SameSame() // sample value BetaResult r = results[501]; - Assert.AreEqual(1, Math.Round((decimal)r.Beta, 4)); + Assert.AreEqual(1, Math.Round((double)r.Beta, 4)); } [TestMethod] diff --git a/tests/indicators/a-d/BollingerBands/BollingerBands.Tests.cs b/tests/indicators/a-d/BollingerBands/BollingerBands.Tests.cs index 0fcce0377..c5f451b39 100644 --- a/tests/indicators/a-d/BollingerBands/BollingerBands.Tests.cs +++ b/tests/indicators/a-d/BollingerBands/BollingerBands.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -36,17 +36,17 @@ public void Standard() Assert.AreEqual(255.5500m, Math.Round((decimal)r1.Sma, 4)); Assert.AreEqual(259.5642m, Math.Round((decimal)r1.UpperBand, 4)); Assert.AreEqual(251.5358m, Math.Round((decimal)r1.LowerBand, 4)); - Assert.AreEqual(0.803923m, Math.Round((decimal)r1.PercentB, 6)); - Assert.AreEqual(1.215692m, Math.Round((decimal)r1.ZScore, 6)); - Assert.AreEqual(0.031416m, Math.Round((decimal)r1.Width, 6)); + Assert.AreEqual(0.803923, Math.Round((double)r1.PercentB, 6)); + Assert.AreEqual(1.215692, Math.Round((double)r1.ZScore, 6)); + Assert.AreEqual(0.031416, Math.Round((double)r1.Width, 6)); BollingerBandsResult r2 = results[501]; Assert.AreEqual(251.8600m, Math.Round((decimal)r2.Sma, 4)); Assert.AreEqual(273.7004m, Math.Round((decimal)r2.UpperBand, 4)); Assert.AreEqual(230.0196m, Math.Round((decimal)r2.LowerBand, 4)); - Assert.AreEqual(0.349362m, Math.Round((decimal)r2.PercentB, 6)); - Assert.AreEqual(-0.602552m, Math.Round((decimal)r2.ZScore, 6)); - Assert.AreEqual(0.173433m, Math.Round((decimal)r2.Width, 6)); + Assert.AreEqual(0.349362, Math.Round((double)r2.PercentB, 6)); + Assert.AreEqual(-0.602552, Math.Round((double)r2.ZScore, 6)); + Assert.AreEqual(0.173433, Math.Round((double)r2.Width, 6)); } [TestMethod] @@ -71,9 +71,9 @@ public void Removed() Assert.AreEqual(251.8600m, Math.Round((decimal)last.Sma, 4)); Assert.AreEqual(273.7004m, Math.Round((decimal)last.UpperBand, 4)); Assert.AreEqual(230.0196m, Math.Round((decimal)last.LowerBand, 4)); - Assert.AreEqual(0.349362m, Math.Round((decimal)last.PercentB, 6)); - Assert.AreEqual(-0.602552m, Math.Round((decimal)last.ZScore, 6)); - Assert.AreEqual(0.173433m, Math.Round((decimal)last.Width, 6)); + Assert.AreEqual(0.349362, Math.Round((double)last.PercentB, 6)); + Assert.AreEqual(-0.602552, Math.Round((double)last.ZScore, 6)); + Assert.AreEqual(0.173433, Math.Round((double)last.Width, 6)); } [TestMethod] diff --git a/tests/indicators/a-d/Cci/Cci.Tests.cs b/tests/indicators/a-d/Cci/Cci.Tests.cs index 31690b329..f1d3898c7 100644 --- a/tests/indicators/a-d/Cci/Cci.Tests.cs +++ b/tests/indicators/a-d/Cci/Cci.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -25,7 +25,7 @@ public void Standard() // sample value CciResult r = results[501]; - Assert.AreEqual(-52.9946m, Math.Round((decimal)r.Cci, 4)); + Assert.AreEqual(-52.9946, Math.Round((double)r.Cci, 4)); } [TestMethod] @@ -46,7 +46,7 @@ public void Removed() Assert.AreEqual(502 - 19, results.Count); CciResult last = results.LastOrDefault(); - Assert.AreEqual(-52.9946m, Math.Round((decimal)last.Cci, 4)); + Assert.AreEqual(-52.9946, Math.Round((double)last.Cci, 4)); } [TestMethod] diff --git a/tests/indicators/a-d/ChaikinOsc/ChaikinOsc.Tests.cs b/tests/indicators/a-d/ChaikinOsc/ChaikinOsc.Tests.cs index 38371349d..145451062 100644 --- a/tests/indicators/a-d/ChaikinOsc/ChaikinOsc.Tests.cs +++ b/tests/indicators/a-d/ChaikinOsc/ChaikinOsc.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -28,10 +28,10 @@ public void Standard() // sample value ChaikinOscResult r = results[501]; - Assert.AreEqual(3439986548.42m, Math.Round(r.Adl, 2)); - Assert.AreEqual(0.8052m, Math.Round(r.MoneyFlowMultiplier, 4)); - Assert.AreEqual(118396116.25m, Math.Round(r.MoneyFlowVolume, 2)); - Assert.AreEqual(-19135200.72m, Math.Round((decimal)r.Oscillator, 2)); + Assert.AreEqual(3439986548.42, Math.Round(r.Adl, 2)); + Assert.AreEqual(0.8052, Math.Round(r.MoneyFlowMultiplier, 4)); + Assert.AreEqual(118396116.25, Math.Round(r.MoneyFlowVolume, 2)); + Assert.AreEqual(-19135200.72, Math.Round((double)r.Oscillator, 2)); } [TestMethod] @@ -55,10 +55,10 @@ public void Removed() Assert.AreEqual(502 - (slowPeriods + 100), results.Count); ChaikinOscResult last = results.LastOrDefault(); - Assert.AreEqual(3439986548.42m, Math.Round(last.Adl, 2)); - Assert.AreEqual(0.8052m, Math.Round(last.MoneyFlowMultiplier, 4)); - Assert.AreEqual(118396116.25m, Math.Round(last.MoneyFlowVolume, 2)); - Assert.AreEqual(-19135200.72m, Math.Round((decimal)last.Oscillator, 2)); + Assert.AreEqual(3439986548.42, Math.Round(last.Adl, 2)); + Assert.AreEqual(0.8052, Math.Round(last.MoneyFlowMultiplier, 4)); + Assert.AreEqual(118396116.25, Math.Round(last.MoneyFlowVolume, 2)); + Assert.AreEqual(-19135200.72, Math.Round((double)last.Oscillator, 2)); } [TestMethod] diff --git a/tests/indicators/a-d/Cmf/Cmf.Tests.cs b/tests/indicators/a-d/Cmf/Cmf.Tests.cs index fa4f2b3f2..46fecef35 100644 --- a/tests/indicators/a-d/Cmf/Cmf.Tests.cs +++ b/tests/indicators/a-d/Cmf/Cmf.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -23,19 +23,19 @@ public void Standard() // sample values CmfResult r1 = results[49]; - Assert.AreEqual(0.5468m, Math.Round(r1.MoneyFlowMultiplier, 4)); - Assert.AreEqual(55609259m, Math.Round(r1.MoneyFlowVolume, 2)); - Assert.AreEqual(0.350596m, Math.Round((decimal)r1.Cmf, 6)); + Assert.AreEqual(0.5468, Math.Round(r1.MoneyFlowMultiplier, 4)); + Assert.AreEqual(55609259, Math.Round(r1.MoneyFlowVolume, 2)); + Assert.AreEqual(0.350596, Math.Round((double)r1.Cmf, 6)); CmfResult r2 = results[249]; - Assert.AreEqual(0.7778m, Math.Round(r2.MoneyFlowMultiplier, 4)); - Assert.AreEqual(36433792.89m, Math.Round(r2.MoneyFlowVolume, 2)); - Assert.AreEqual(-0.040226m, Math.Round((decimal)r2.Cmf, 6)); + Assert.AreEqual(0.7778, Math.Round(r2.MoneyFlowMultiplier, 4)); + Assert.AreEqual(36433792.89, Math.Round(r2.MoneyFlowVolume, 2)); + Assert.AreEqual(-0.040226, Math.Round((double)r2.Cmf, 6)); CmfResult r3 = results[501]; - Assert.AreEqual(0.8052m, Math.Round(r3.MoneyFlowMultiplier, 4)); - Assert.AreEqual(118396116.25m, Math.Round(r3.MoneyFlowVolume, 2)); - Assert.AreEqual(-0.123754m, Math.Round((decimal)r3.Cmf, 6)); + Assert.AreEqual(0.8052, Math.Round(r3.MoneyFlowMultiplier, 4)); + Assert.AreEqual(118396116.25, Math.Round(r3.MoneyFlowVolume, 2)); + Assert.AreEqual(-0.123754, Math.Round((double)r3.Cmf, 6)); } [TestMethod] @@ -45,6 +45,13 @@ public void BadData() Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = Indicator.GetCmf(bigQuotes, 150); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Removed() { @@ -56,9 +63,9 @@ public void Removed() Assert.AreEqual(502 - 19, results.Count); CmfResult last = results.LastOrDefault(); - Assert.AreEqual(0.8052m, Math.Round(last.MoneyFlowMultiplier, 4)); - Assert.AreEqual(118396116.25m, Math.Round(last.MoneyFlowVolume, 2)); - Assert.AreEqual(-0.123754m, Math.Round((decimal)last.Cmf, 6)); + Assert.AreEqual(0.8052, Math.Round(last.MoneyFlowMultiplier, 4)); + Assert.AreEqual(118396116.25, Math.Round(last.MoneyFlowVolume, 2)); + Assert.AreEqual(-0.123754, Math.Round((double)last.Cmf, 6)); } [TestMethod] diff --git a/tests/indicators/a-d/ConnorsRsi/ConnorsRsi.Tests.cs b/tests/indicators/a-d/ConnorsRsi/ConnorsRsi.Tests.cs index 92882b9c7..06be826aa 100644 --- a/tests/indicators/a-d/ConnorsRsi/ConnorsRsi.Tests.cs +++ b/tests/indicators/a-d/ConnorsRsi/ConnorsRsi.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -31,18 +31,18 @@ public void Standard() // sample value ConnorsRsiResult r1 = results1[501]; - Assert.AreEqual(68.8087m, Math.Round((decimal)r1.RsiClose, 4)); - Assert.AreEqual(67.4899m, Math.Round((decimal)r1.RsiStreak, 4)); - Assert.AreEqual(88.0000m, Math.Round((decimal)r1.PercentRank, 4)); - Assert.AreEqual(74.7662m, Math.Round((decimal)r1.ConnorsRsi, 4)); + Assert.AreEqual(68.8087, Math.Round((double)r1.RsiClose, 4)); + Assert.AreEqual(67.4899, Math.Round((double)r1.RsiStreak, 4)); + Assert.AreEqual(88.0000, Math.Round((double)r1.PercentRank, 4)); + Assert.AreEqual(74.7662, Math.Round((double)r1.ConnorsRsi, 4)); // different parameters List results2 = quotes.GetConnorsRsi(14, 20, 10).ToList(); ConnorsRsiResult r2 = results2[501]; - Assert.AreEqual(42.0773m, Math.Round((decimal)r2.RsiClose, 4)); - Assert.AreEqual(52.7386m, Math.Round((decimal)r2.RsiStreak, 4)); - Assert.AreEqual(90.0000m, Math.Round((decimal)r2.PercentRank, 4)); - Assert.AreEqual(61.6053m, Math.Round((decimal)r2.ConnorsRsi, 4)); + Assert.AreEqual(42.0773, Math.Round((double)r2.RsiClose, 4)); + Assert.AreEqual(52.7386, Math.Round((double)r2.RsiStreak, 4)); + Assert.AreEqual(90.0000, Math.Round((double)r2.PercentRank, 4)); + Assert.AreEqual(61.6053, Math.Round((double)r2.ConnorsRsi, 4)); } [TestMethod] @@ -71,10 +71,10 @@ public void Removed() Assert.AreEqual(502 - removePeriods + 1, results.Count); ConnorsRsiResult last = results.LastOrDefault(); - Assert.AreEqual(68.8087m, Math.Round((decimal)last.RsiClose, 4)); - Assert.AreEqual(67.4899m, Math.Round((decimal)last.RsiStreak, 4)); - Assert.AreEqual(88.0000m, Math.Round((decimal)last.PercentRank, 4)); - Assert.AreEqual(74.7662m, Math.Round((decimal)last.ConnorsRsi, 4)); + Assert.AreEqual(68.8087, Math.Round((double)last.RsiClose, 4)); + Assert.AreEqual(67.4899, Math.Round((double)last.RsiStreak, 4)); + Assert.AreEqual(88.0000, Math.Round((double)last.PercentRank, 4)); + Assert.AreEqual(74.7662, Math.Round((double)last.ConnorsRsi, 4)); } [TestMethod] diff --git a/tests/indicators/a-d/Correlation/Correlation.Tests.cs b/tests/indicators/a-d/Correlation/Correlation.Tests.cs index 2e5100190..95fa2e300 100644 --- a/tests/indicators/a-d/Correlation/Correlation.Tests.cs +++ b/tests/indicators/a-d/Correlation/Correlation.Tests.cs @@ -28,16 +28,16 @@ public void Standard() Assert.IsNull(r18.RSquared); CorrResult r19 = results[19]; - Assert.AreEqual(0.6933m, Math.Round((decimal)r19.Correlation, 4)); - Assert.AreEqual(0.4806m, Math.Round((decimal)r19.RSquared, 4)); + Assert.AreEqual(0.6933, Math.Round((double)r19.Correlation, 4)); + Assert.AreEqual(0.4806, Math.Round((double)r19.RSquared, 4)); CorrResult r257 = results[257]; - Assert.AreEqual(-0.1347m, Math.Round((decimal)r257.Correlation, 4)); - Assert.AreEqual(0.0181m, Math.Round((decimal)r257.RSquared, 4)); + Assert.AreEqual(-0.1347, Math.Round((double)r257.Correlation, 4)); + Assert.AreEqual(0.0181, Math.Round((double)r257.RSquared, 4)); CorrResult r501 = results[501]; - Assert.AreEqual(0.8460m, Math.Round((decimal)r501.Correlation, 4)); - Assert.AreEqual(0.7157m, Math.Round((decimal)r501.RSquared, 4)); + Assert.AreEqual(0.8460, Math.Round((double)r501.Correlation, 4)); + Assert.AreEqual(0.7157, Math.Round((double)r501.RSquared, 4)); } [TestMethod] @@ -47,6 +47,13 @@ public void BadData() Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = Indicator.GetCorrelation(bigQuotes, bigQuotes, 150); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Removed() { @@ -59,8 +66,8 @@ public void Removed() Assert.AreEqual(502 - 19, results.Count); CorrResult last = results.LastOrDefault(); - Assert.AreEqual(0.8460m, Math.Round((decimal)last.Correlation, 4)); - Assert.AreEqual(0.7157m, Math.Round((decimal)last.RSquared, 4)); + Assert.AreEqual(0.8460, Math.Round((double)last.Correlation, 4)); + Assert.AreEqual(0.7157, Math.Round((double)last.RSquared, 4)); } [TestMethod] diff --git a/tests/indicators/e-k/FisherTransform/FisherTransform.Tests.cs b/tests/indicators/e-k/FisherTransform/FisherTransform.Tests.cs index 89019ec3f..7ecc652cb 100644 --- a/tests/indicators/e-k/FisherTransform/FisherTransform.Tests.cs +++ b/tests/indicators/e-k/FisherTransform/FisherTransform.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -28,32 +28,32 @@ public void Standard() Assert.AreEqual(0, results[0].Fisher); Assert.IsNull(results[0].Trigger); - Assert.AreEqual(0.3428m, Math.Round(results[1].Fisher.Value, 4)); + Assert.AreEqual(0.3428, Math.Round(results[1].Fisher.Value, 4)); Assert.AreEqual(0, results[1].Trigger); - Assert.AreEqual(0.6873m, Math.Round(results[2].Fisher.Value, 4)); - Assert.AreEqual(0.3428m, Math.Round(results[2].Trigger.Value, 4)); + Assert.AreEqual(0.6873, Math.Round(results[2].Fisher.Value, 4)); + Assert.AreEqual(0.3428, Math.Round(results[2].Trigger.Value, 4)); - Assert.AreEqual(1.3324m, Math.Round(results[9].Fisher.Value, 4)); - Assert.AreEqual(1.4704m, Math.Round(results[9].Trigger.Value, 4)); + Assert.AreEqual(1.3324, Math.Round(results[9].Fisher.Value, 4)); + Assert.AreEqual(1.4704, Math.Round(results[9].Trigger.Value, 4)); - Assert.AreEqual(0.9790m, Math.Round(results[10].Fisher.Value, 4)); - Assert.AreEqual(1.3324m, Math.Round(results[10].Trigger.Value, 4)); + Assert.AreEqual(0.9790, Math.Round(results[10].Fisher.Value, 4)); + Assert.AreEqual(1.3324, Math.Round(results[10].Trigger.Value, 4)); - Assert.AreEqual(6.1509m, Math.Round(results[35].Fisher.Value, 4)); - Assert.AreEqual(4.7014m, Math.Round(results[35].Trigger.Value, 4)); + Assert.AreEqual(6.1509, Math.Round(results[35].Fisher.Value, 4)); + Assert.AreEqual(4.7014, Math.Round(results[35].Trigger.Value, 4)); - Assert.AreEqual(5.4455m, Math.Round(results[36].Fisher.Value, 4)); - Assert.AreEqual(6.1509m, Math.Round(results[36].Trigger.Value, 4)); + Assert.AreEqual(5.4455, Math.Round(results[36].Fisher.Value, 4)); + Assert.AreEqual(6.1509, Math.Round(results[36].Trigger.Value, 4)); - Assert.AreEqual(1.0349m, Math.Round(results[149].Fisher.Value, 4)); - Assert.AreEqual(0.7351m, Math.Round(results[149].Trigger.Value, 4)); + Assert.AreEqual(1.0349, Math.Round(results[149].Fisher.Value, 4)); + Assert.AreEqual(0.7351, Math.Round(results[149].Trigger.Value, 4)); - Assert.AreEqual(1.3496m, Math.Round(results[249].Fisher.Value, 4)); - Assert.AreEqual(1.4408m, Math.Round(results[249].Trigger.Value, 4)); + Assert.AreEqual(1.3496, Math.Round(results[249].Fisher.Value, 4)); + Assert.AreEqual(1.4408, Math.Round(results[249].Trigger.Value, 4)); - Assert.AreEqual(-1.2876m, Math.Round(results[501].Fisher.Value, 4)); - Assert.AreEqual(-2.0071m, Math.Round(results[501].Trigger.Value, 4)); + Assert.AreEqual(-1.2876, Math.Round(results[501].Fisher.Value, 4)); + Assert.AreEqual(-2.0071, Math.Round(results[501].Trigger.Value, 4)); } diff --git a/tests/indicators/e-k/ForceIndex/ForceIndex.Tests.cs b/tests/indicators/e-k/ForceIndex/ForceIndex.Tests.cs index 5beabf961..fa0fe9189 100644 --- a/tests/indicators/e-k/ForceIndex/ForceIndex.Tests.cs +++ b/tests/indicators/e-k/ForceIndex/ForceIndex.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -25,11 +25,11 @@ public void Standard() // sample values Assert.IsNull(r[12].ForceIndex); - Assert.AreEqual(10668240.778m, Math.Round(r[13].ForceIndex.Value, 3)); - Assert.AreEqual(15883211.364m, Math.Round(r[24].ForceIndex.Value, 3)); - Assert.AreEqual(7598218.196m, Math.Round(r[149].ForceIndex.Value, 3)); - Assert.AreEqual(23612118.994m, Math.Round(r[249].ForceIndex.Value, 3)); - Assert.AreEqual(-16824018.428m, Math.Round(r[501].ForceIndex.Value, 3)); + Assert.AreEqual(10668240.778, Math.Round(r[13].ForceIndex.Value, 3)); + Assert.AreEqual(15883211.364, Math.Round(r[24].ForceIndex.Value, 3)); + Assert.AreEqual(7598218.196, Math.Round(r[149].ForceIndex.Value, 3)); + Assert.AreEqual(23612118.994, Math.Round(r[249].ForceIndex.Value, 3)); + Assert.AreEqual(-16824018.428, Math.Round(r[501].ForceIndex.Value, 3)); } [TestMethod] @@ -50,7 +50,7 @@ public void Removed() Assert.AreEqual(502 - (13 + 100), results.Count); ForceIndexResult last = results.LastOrDefault(); - Assert.AreEqual(-16824018.428m, Math.Round(last.ForceIndex.Value, 3)); + Assert.AreEqual(-16824018.428, Math.Round(last.ForceIndex.Value, 3)); } [TestMethod] diff --git a/tests/indicators/e-k/Gator/Gator.Tests.cs b/tests/indicators/e-k/Gator/Gator.Tests.cs index e9b7f26c5..b7e54d631 100644 --- a/tests/indicators/e-k/Gator/Gator.Tests.cs +++ b/tests/indicators/e-k/Gator/Gator.Tests.cs @@ -33,49 +33,49 @@ public void Standard() GatorResult r12 = results[12]; Assert.IsNull(r12.Upper); - Assert.AreEqual(-0.1402m, Math.Round(r12.Lower.Value, 4)); + Assert.AreEqual(-0.1402, Math.Round(r12.Lower.Value, 4)); Assert.IsNull(r12.UpperIsExpanding); Assert.IsNull(r12.LowerIsExpanding); GatorResult r13 = results[13]; Assert.IsNull(r13.Upper); - Assert.AreEqual(-0.0406m, Math.Round(r13.Lower.Value, 4)); + Assert.AreEqual(-0.0406, Math.Round(r13.Lower.Value, 4)); Assert.IsNull(r13.UpperIsExpanding); Assert.IsFalse(r13.LowerIsExpanding); GatorResult r19 = results[19]; Assert.IsNull(r19.Upper); - Assert.AreEqual(-1.0018m, Math.Round(r19.Lower.Value, 4)); + Assert.AreEqual(-1.0018, Math.Round(r19.Lower.Value, 4)); Assert.IsNull(r19.UpperIsExpanding); Assert.IsTrue(r19.LowerIsExpanding); GatorResult r20 = results[20]; - Assert.AreEqual(0.4004m, Math.Round(r20.Upper.Value, 4)); - Assert.AreEqual(-1.0130m, Math.Round(r20.Lower.Value, 4)); + Assert.AreEqual(0.4004, Math.Round(r20.Upper.Value, 4)); + Assert.AreEqual(-1.0130, Math.Round(r20.Lower.Value, 4)); Assert.IsNull(r20.UpperIsExpanding); Assert.IsTrue(r20.LowerIsExpanding); GatorResult r21 = results[21]; - Assert.AreEqual(0.7298m, Math.Round(r21.Upper.Value, 4)); - Assert.AreEqual(-0.6072m, Math.Round(r21.Lower.Value, 4)); + Assert.AreEqual(0.7298, Math.Round(r21.Upper.Value, 4)); + Assert.AreEqual(-0.6072, Math.Round(r21.Lower.Value, 4)); Assert.IsTrue(r21.UpperIsExpanding); Assert.IsFalse(r21.LowerIsExpanding); GatorResult r99 = results[99]; - Assert.AreEqual(0.5159m, Math.Round(r99.Upper.Value, 4)); - Assert.AreEqual(-0.2320m, Math.Round(r99.Lower.Value, 4)); + Assert.AreEqual(0.5159, Math.Round(r99.Upper.Value, 4)); + Assert.AreEqual(-0.2320, Math.Round(r99.Lower.Value, 4)); Assert.IsFalse(r99.UpperIsExpanding); Assert.IsTrue(r99.LowerIsExpanding); GatorResult r249 = results[249]; - Assert.AreEqual(3.1317m, Math.Round(r249.Upper.Value, 4)); - Assert.AreEqual(-1.8058m, Math.Round(r249.Lower.Value, 4)); + Assert.AreEqual(3.1317, Math.Round(r249.Upper.Value, 4)); + Assert.AreEqual(-1.8058, Math.Round(r249.Lower.Value, 4)); Assert.IsTrue(r249.UpperIsExpanding); Assert.IsFalse(r249.LowerIsExpanding); GatorResult r501 = results[501]; - Assert.AreEqual(7.4538m, Math.Round(r501.Upper.Value, 4)); - Assert.AreEqual(-9.2399m, Math.Round(r501.Lower.Value, 4)); + Assert.AreEqual(7.4538, Math.Round(r501.Upper.Value, 4)); + Assert.AreEqual(-9.2399, Math.Round(r501.Lower.Value, 4)); Assert.IsTrue(r501.UpperIsExpanding); Assert.IsTrue(r501.LowerIsExpanding); } @@ -98,8 +98,8 @@ public void Removed() Assert.AreEqual(502 - 150, results.Count); GatorResult last = results.LastOrDefault(); - Assert.AreEqual(7.4538m, Math.Round(last.Upper.Value, 4)); - Assert.AreEqual(-9.2399m, Math.Round(last.Lower.Value, 4)); + Assert.AreEqual(7.4538, Math.Round(last.Upper.Value, 4)); + Assert.AreEqual(-9.2399, Math.Round(last.Lower.Value, 4)); Assert.IsTrue(last.UpperIsExpanding); Assert.IsTrue(last.LowerIsExpanding); } diff --git a/tests/indicators/e-k/Kama/Kama.Tests.cs b/tests/indicators/e-k/Kama/Kama.Tests.cs index 69dc2722e..f171c60af 100644 --- a/tests/indicators/e-k/Kama/Kama.Tests.cs +++ b/tests/indicators/e-k/Kama/Kama.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -38,23 +38,23 @@ public void Standard() Assert.AreEqual(213.75m, r2.Kama); KamaResult r3 = results[10]; - Assert.AreEqual(0.2465m, Math.Round((decimal)r3.ER, 4)); + Assert.AreEqual(0.2465, Math.Round((double)r3.ER, 4)); Assert.AreEqual(213.7713m, Math.Round((decimal)r3.Kama, 4)); KamaResult r4 = results[24]; - Assert.AreEqual(0.2136m, Math.Round((decimal)r4.ER, 4)); + Assert.AreEqual(0.2136, Math.Round((double)r4.ER, 4)); Assert.AreEqual(214.7423m, Math.Round((decimal)r4.Kama, 4)); KamaResult r5 = results[149]; - Assert.AreEqual(0.3165m, Math.Round((decimal)r5.ER, 4)); + Assert.AreEqual(0.3165, Math.Round((double)r5.ER, 4)); Assert.AreEqual(235.5510m, Math.Round((decimal)r5.Kama, 4)); KamaResult r6 = results[249]; - Assert.AreEqual(0.3182m, Math.Round((decimal)r6.ER, 4)); + Assert.AreEqual(0.3182, Math.Round((double)r6.ER, 4)); Assert.AreEqual(256.0898m, Math.Round((decimal)r6.Kama, 4)); KamaResult r7 = results[501]; - Assert.AreEqual(0.2214m, Math.Round((decimal)r7.ER, 4)); + Assert.AreEqual(0.2214, Math.Round((double)r7.ER, 4)); Assert.AreEqual(240.1138m, Math.Round((decimal)r7.Kama, 4)); } @@ -80,7 +80,7 @@ public void Removed() Assert.AreEqual(502 - Math.Max(erPeriods + 100, erPeriods * 10), results.Count); KamaResult last = results.LastOrDefault(); - Assert.AreEqual(0.2214m, Math.Round((decimal)last.ER, 4)); + Assert.AreEqual(0.2214, Math.Round((double)last.ER, 4)); Assert.AreEqual(240.1138m, Math.Round((decimal)last.Kama, 4)); } diff --git a/tests/indicators/e-k/Kvo/Kvo.Tests.cs b/tests/indicators/e-k/Kvo/Kvo.Tests.cs index 5eff99ff4..c6c405cde 100644 --- a/tests/indicators/e-k/Kvo/Kvo.Tests.cs +++ b/tests/indicators/e-k/Kvo/Kvo.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -32,28 +32,28 @@ public void Standard() Assert.IsNull(r55.Signal); KvoResult r56 = results[56]; - Assert.AreEqual(-2138454001m, Math.Round(r56.Oscillator.Value, 0)); + Assert.AreEqual(-2138454001, Math.Round(r56.Oscillator.Value, 0)); Assert.IsNull(r56.Signal); KvoResult r57 = results[57]; - Assert.AreEqual(-2265495450m, Math.Round(r57.Oscillator.Value, 0)); + Assert.AreEqual(-2265495450, Math.Round(r57.Oscillator.Value, 0)); Assert.IsNull(r57.Signal); KvoResult r68 = results[68]; - Assert.AreEqual(-1241548491m, Math.Round(r68.Oscillator.Value, 0)); - Assert.AreEqual(-1489659254m, Math.Round(r68.Signal.Value, 0)); + Assert.AreEqual(-1241548491, Math.Round(r68.Oscillator.Value, 0)); + Assert.AreEqual(-1489659254, Math.Round(r68.Signal.Value, 0)); KvoResult r149 = results[149]; - Assert.AreEqual(-62800843m, Math.Round(r149.Oscillator.Value, 0)); - Assert.AreEqual(-18678832m, Math.Round(r149.Signal.Value, 0)); + Assert.AreEqual(-62800843, Math.Round(r149.Oscillator.Value, 0)); + Assert.AreEqual(-18678832, Math.Round(r149.Signal.Value, 0)); KvoResult r249 = results[249]; - Assert.AreEqual(-51541005m, Math.Round(r249.Oscillator.Value, 0)); - Assert.AreEqual(135207969m, Math.Round(r249.Signal.Value, 0)); + Assert.AreEqual(-51541005, Math.Round(r249.Oscillator.Value, 0)); + Assert.AreEqual(135207969, Math.Round(r249.Signal.Value, 0)); KvoResult r501 = results[501]; - Assert.AreEqual(-539224047m, Math.Round(r501.Oscillator.Value, 0)); - Assert.AreEqual(-1548306127m, Math.Round(r501.Signal.Value, 0)); + Assert.AreEqual(-539224047, Math.Round(r501.Oscillator.Value, 0)); + Assert.AreEqual(-1548306127, Math.Round(r501.Signal.Value, 0)); } [TestMethod] @@ -75,8 +75,8 @@ public void Removed() Assert.AreEqual(502 - (55 + 150), results.Count); KvoResult last = results.LastOrDefault(); - Assert.AreEqual(-539224047m, Math.Round(last.Oscillator.Value, 0)); - Assert.AreEqual(-1548306127m, Math.Round(last.Signal.Value, 0)); + Assert.AreEqual(-539224047, Math.Round(last.Oscillator.Value, 0)); + Assert.AreEqual(-1548306127, Math.Round(last.Signal.Value, 0)); } [TestMethod] diff --git a/tests/indicators/m-r/Mama/Mama.Tests.cs b/tests/indicators/m-r/Mama/Mama.Tests.cs index eeaf395e9..18f3c5e35 100644 --- a/tests/indicators/m-r/Mama/Mama.Tests.cs +++ b/tests/indicators/m-r/Mama/Mama.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -13,8 +13,8 @@ public class Mama : TestBase [TestMethod] public void Standard() { - decimal fastLimit = 0.5m; - decimal slowLimit = 0.05m; + double fastLimit = 0.5; + double slowLimit = 0.05; List results = quotes.GetMama(fastLimit, slowLimit) .ToList(); @@ -66,8 +66,8 @@ public void BadData() [TestMethod] public void Removed() { - decimal fastLimit = 0.5m; - decimal slowLimit = 0.05m; + double fastLimit = 0.5; + double slowLimit = 0.05; List results = quotes.GetMama(fastLimit, slowLimit) .RemoveWarmupPeriods() @@ -86,15 +86,15 @@ public void Exceptions() { // bad fast period (same as slow period) Assert.ThrowsException(() => - Indicator.GetMama(quotes, 0.5m, 0.5m)); + Indicator.GetMama(quotes, 0.5, 0.5)); // bad fast period (cannot be 1 or more) Assert.ThrowsException(() => - Indicator.GetMama(quotes, 1m, 0.5m)); + Indicator.GetMama(quotes, 1, 0.5)); // bad slow period Assert.ThrowsException(() => - Indicator.GetMama(quotes, 0.5m, 0m)); + Indicator.GetMama(quotes, 0.5, 0)); // insufficient quotes Assert.ThrowsException(() => diff --git a/tests/indicators/m-r/Obv/Obv.Tests.cs b/tests/indicators/m-r/Obv/Obv.Tests.cs index 18ec47583..9fc7794db 100644 --- a/tests/indicators/m-r/Obv/Obv.Tests.cs +++ b/tests/indicators/m-r/Obv/Obv.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -24,11 +24,11 @@ public void Standard() // sample values ObvResult r1 = results[249]; - Assert.AreEqual(1780918888m, r1.Obv); + Assert.AreEqual(1780918888, r1.Obv); Assert.AreEqual(null, r1.ObvSma); ObvResult r2 = results[501]; - Assert.AreEqual(539843504m, r2.Obv); + Assert.AreEqual(539843504, r2.Obv); Assert.AreEqual(null, r2.ObvSma); } @@ -47,7 +47,7 @@ public void WithSma() // sample values ObvResult r1 = results[501]; Assert.AreEqual(539843504, r1.Obv); - Assert.AreEqual(1016208844.40m, r1.ObvSma); + Assert.AreEqual(1016208844.40, r1.ObvSma); } [TestMethod] @@ -70,10 +70,17 @@ public void ConvertToQuotes() [TestMethod] public void BadData() { - IEnumerable r = Indicator.GetObv(badQuotes); + IEnumerable r = badQuotes.GetObv(); Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = bigQuotes.GetObv(); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Exceptions() { diff --git a/tests/indicators/m-r/Pmo/Pmo.Tests.cs b/tests/indicators/m-r/Pmo/Pmo.Tests.cs index de1abe6c6..58f3986e4 100644 --- a/tests/indicators/m-r/Pmo/Pmo.Tests.cs +++ b/tests/indicators/m-r/Pmo/Pmo.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -26,12 +26,12 @@ public void Standard() // sample values PmoResult r1 = results[92]; - Assert.AreEqual(0.6159m, Math.Round((decimal)r1.Pmo, 4)); - Assert.AreEqual(0.5582m, Math.Round((decimal)r1.Signal, 4)); + Assert.AreEqual(0.6159, Math.Round((double)r1.Pmo, 4)); + Assert.AreEqual(0.5582, Math.Round((double)r1.Signal, 4)); PmoResult r2 = results[501]; - Assert.AreEqual(-2.7016m, Math.Round((decimal)r2.Pmo, 4)); - Assert.AreEqual(-2.3117m, Math.Round((decimal)r2.Signal, 4)); + Assert.AreEqual(-2.7016, Math.Round((double)r2.Pmo, 4)); + Assert.AreEqual(-2.3117, Math.Round((double)r2.Signal, 4)); } [TestMethod] @@ -52,8 +52,8 @@ public void Removed() Assert.AreEqual(502 - (35 + 20 + 250), results.Count); PmoResult last = results.LastOrDefault(); - Assert.AreEqual(-2.7016m, Math.Round((decimal)last.Pmo, 4)); - Assert.AreEqual(-2.3117m, Math.Round((decimal)last.Signal, 4)); + Assert.AreEqual(-2.7016, Math.Round((double)last.Pmo, 4)); + Assert.AreEqual(-2.3117, Math.Round((double)last.Signal, 4)); } [TestMethod] diff --git a/tests/indicators/m-r/Prs/Prs.Tests.cs b/tests/indicators/m-r/Prs/Prs.Tests.cs index aadebd820..0bfd89af9 100644 --- a/tests/indicators/m-r/Prs/Prs.Tests.cs +++ b/tests/indicators/m-r/Prs/Prs.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -30,19 +30,19 @@ public void Standard() // sample values PrsResult r1 = results[8]; - Assert.AreEqual(1.108340m, Math.Round((decimal)r1.Prs, 6)); + Assert.AreEqual(1.108340, Math.Round((double)r1.Prs, 6)); Assert.AreEqual(null, r1.PrsSma); Assert.AreEqual(null, r1.PrsPercent); PrsResult r2 = results[249]; - Assert.AreEqual(1.222373m, Math.Round((decimal)r2.Prs, 6)); - Assert.AreEqual(1.275808m, Math.Round((decimal)r2.PrsSma, 6)); - Assert.AreEqual(-0.023089m, Math.Round((decimal)r2.PrsPercent, 6)); + Assert.AreEqual(1.222373, Math.Round((double)r2.Prs, 6)); + Assert.AreEqual(1.275808, Math.Round((double)r2.PrsSma, 6)); + Assert.AreEqual(-0.023089, Math.Round((double)r2.PrsPercent, 6)); PrsResult r3 = results[501]; - Assert.AreEqual(1.356817m, Math.Round((decimal)r3.Prs, 6)); - Assert.AreEqual(1.343445m, Math.Round((decimal)r3.PrsSma, 6)); - Assert.AreEqual(0.037082m, Math.Round((decimal)r3.PrsPercent, 6)); + Assert.AreEqual(1.356817, Math.Round((double)r3.Prs, 6)); + Assert.AreEqual(1.343445, Math.Round((double)r3.PrsSma, 6)); + Assert.AreEqual(0.037082, Math.Round((double)r3.PrsPercent, 6)); } [TestMethod] diff --git a/tests/indicators/m-r/Roc/Roc.Tests.cs b/tests/indicators/m-r/Roc/Roc.Tests.cs index b68f79fb3..4a6276ebd 100644 --- a/tests/indicators/m-r/Roc/Roc.Tests.cs +++ b/tests/indicators/m-r/Roc/Roc.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -25,11 +25,11 @@ public void Standard() // sample values RocResult r1 = results[249]; - Assert.AreEqual(2.4827m, Math.Round((decimal)r1.Roc, 4)); + Assert.AreEqual(2.4827, Math.Round((double)r1.Roc, 4)); Assert.AreEqual(null, r1.RocSma); RocResult r2 = results[501]; - Assert.AreEqual(-8.2482m, Math.Round((decimal)r2.Roc, 4)); + Assert.AreEqual(-8.2482, Math.Round((double)r2.Roc, 4)); Assert.AreEqual(null, r2.RocSma); } @@ -52,12 +52,12 @@ public void WithSma() // sample values RocResult r1 = results[29]; - Assert.AreEqual(3.2936m, Math.Round((decimal)r1.Roc, 4)); - Assert.AreEqual(2.1558m, Math.Round((decimal)r1.RocSma, 4)); + Assert.AreEqual(3.2936, Math.Round((double)r1.Roc, 4)); + Assert.AreEqual(2.1558, Math.Round((double)r1.RocSma, 4)); RocResult r2 = results[501]; - Assert.AreEqual(-8.2482m, Math.Round((decimal)r2.Roc, 4)); - Assert.AreEqual(-8.4828m, Math.Round((decimal)r2.RocSma, 4)); + Assert.AreEqual(-8.2482, Math.Round((double)r2.Roc, 4)); + Assert.AreEqual(-8.4828, Math.Round((double)r2.RocSma, 4)); } [TestMethod] @@ -78,7 +78,7 @@ public void Removed() Assert.AreEqual(502 - 20, results.Count); RocResult last = results.LastOrDefault(); - Assert.AreEqual(-8.2482m, Math.Round((decimal)last.Roc, 4)); + Assert.AreEqual(-8.2482, Math.Round((double)last.Roc, 4)); Assert.AreEqual(null, last.RocSma); } diff --git a/tests/indicators/m-r/Roc/RocWb.Tests.cs b/tests/indicators/m-r/Roc/RocWb.Tests.cs index 92a28d2d9..bfe697909 100644 --- a/tests/indicators/m-r/Roc/RocWb.Tests.cs +++ b/tests/indicators/m-r/Roc/RocWb.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -33,46 +33,46 @@ public void Standard() Assert.IsNull(r19.LowerBand); RocWbResult r20 = results[20]; - Assert.AreEqual(1.0573m, Math.Round(r20.Roc.Value, 4)); + Assert.AreEqual(1.0573, Math.Round(r20.Roc.Value, 4)); Assert.IsNull(r20.RocEma); Assert.IsNull(r20.UpperBand); Assert.IsNull(r20.LowerBand); RocWbResult r22 = results[22]; - Assert.AreEqual(0.9617m, Math.Round(r22.RocEma.Value, 4)); + Assert.AreEqual(0.9617, Math.Round(r22.RocEma.Value, 4)); Assert.IsNull(r22.UpperBand); Assert.IsNull(r22.LowerBand); RocWbResult r23 = results[23]; - Assert.AreEqual(0.8582m, Math.Round(r23.RocEma.Value, 4)); + Assert.AreEqual(0.8582, Math.Round(r23.RocEma.Value, 4)); Assert.IsNull(r23.UpperBand); Assert.IsNull(r23.LowerBand); RocWbResult r38 = results[38]; - Assert.AreEqual(3.6872m, Math.Round(r38.RocEma.Value, 4)); + Assert.AreEqual(3.6872, Math.Round(r38.RocEma.Value, 4)); Assert.IsNull(r38.UpperBand); Assert.IsNull(r38.LowerBand); RocWbResult r39 = results[39]; - Assert.AreEqual(4.5348m, Math.Round(r39.RocEma.Value, 4)); - Assert.AreEqual(3.0359m, Math.Round(r39.UpperBand.Value, 4)); - Assert.AreEqual(-3.0359m, Math.Round(r39.LowerBand.Value, 4)); + Assert.AreEqual(4.5348, Math.Round(r39.RocEma.Value, 4)); + Assert.AreEqual(3.0359, Math.Round(r39.UpperBand.Value, 4)); + Assert.AreEqual(-3.0359, Math.Round(r39.LowerBand.Value, 4)); RocWbResult r49 = results[49]; - Assert.AreEqual(2.3147m, Math.Round(r49.RocEma.Value, 4)); - Assert.AreEqual(3.6761m, Math.Round(r49.UpperBand.Value, 4)); + Assert.AreEqual(2.3147, Math.Round(r49.RocEma.Value, 4)); + Assert.AreEqual(3.6761, Math.Round(r49.UpperBand.Value, 4)); RocWbResult r149 = results[149]; - Assert.AreEqual(1.7377m, Math.Round(r149.UpperBand.Value, 4)); + Assert.AreEqual(1.7377, Math.Round(r149.UpperBand.Value, 4)); RocWbResult r249 = results[249]; - Assert.AreEqual(3.0683m, Math.Round(r249.UpperBand.Value, 4)); + Assert.AreEqual(3.0683, Math.Round(r249.UpperBand.Value, 4)); RocWbResult r501 = results[501]; - Assert.AreEqual(-8.2482m, Math.Round(r501.Roc.Value, 4)); - Assert.AreEqual(-8.3390m, Math.Round(r501.RocEma.Value, 4)); - Assert.AreEqual(6.1294m, Math.Round(r501.UpperBand.Value, 4)); - Assert.AreEqual(-6.1294m, Math.Round(r501.LowerBand.Value, 4)); + Assert.AreEqual(-8.2482, Math.Round(r501.Roc.Value, 4)); + Assert.AreEqual(-8.3390, Math.Round(r501.RocEma.Value, 4)); + Assert.AreEqual(6.1294, Math.Round(r501.UpperBand.Value, 4)); + Assert.AreEqual(-6.1294, Math.Round(r501.LowerBand.Value, 4)); } [TestMethod] @@ -93,10 +93,10 @@ public void Removed() Assert.AreEqual(502 - (20 + 3 + 100), results.Count); RocWbResult last = results.LastOrDefault(); - Assert.AreEqual(-8.2482m, Math.Round(last.Roc.Value, 4)); - Assert.AreEqual(-8.3390m, Math.Round(last.RocEma.Value, 4)); - Assert.AreEqual(6.1294m, Math.Round(last.UpperBand.Value, 4)); - Assert.AreEqual(-6.1294m, Math.Round(last.LowerBand.Value, 4)); + Assert.AreEqual(-8.2482, Math.Round(last.Roc.Value, 4)); + Assert.AreEqual(-8.3390, Math.Round(last.RocEma.Value, 4)); + Assert.AreEqual(6.1294, Math.Round(last.UpperBand.Value, 4)); + Assert.AreEqual(-6.1294, Math.Round(last.LowerBand.Value, 4)); } [TestMethod] diff --git a/tests/indicators/m-r/Rsi/Rsi.Tests.cs b/tests/indicators/m-r/Rsi/Rsi.Tests.cs index 81ad5e374..466b0d6af 100644 --- a/tests/indicators/m-r/Rsi/Rsi.Tests.cs +++ b/tests/indicators/m-r/Rsi/Rsi.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -27,13 +27,13 @@ public void Standard() Assert.AreEqual(null, r1.Rsi); RsiResult r2 = results[14]; - Assert.AreEqual(62.0541m, Math.Round((decimal)r2.Rsi, 4)); + Assert.AreEqual(62.0541, Math.Round((double)r2.Rsi, 4)); RsiResult r3 = results[249]; - Assert.AreEqual(70.9368m, Math.Round((decimal)r3.Rsi, 4)); + Assert.AreEqual(70.9368, Math.Round((double)r3.Rsi, 4)); RsiResult r4 = results[501]; - Assert.AreEqual(42.0773m, Math.Round((decimal)r4.Rsi, 4)); + Assert.AreEqual(42.0773, Math.Round((double)r4.Rsi, 4)); } [TestMethod] @@ -52,10 +52,25 @@ public void SmallLookback() // sample values RsiResult r1 = results[28]; - Assert.AreEqual(100m, Math.Round((decimal)r1.Rsi, 4)); + Assert.AreEqual(100, r1.Rsi); RsiResult r2 = results[52]; - Assert.AreEqual(0m, Math.Round((decimal)r2.Rsi, 4)); + Assert.AreEqual(0, r2.Rsi); + } + + [TestMethod] + public void CrytoData() + { + IEnumerable btc = TestData.GetBitcoin(); + IEnumerable r = btc.GetRsi(1); + Assert.AreEqual(1246, r.Count()); + } + + [TestMethod] + public void BadData() + { + IEnumerable r = badQuotes.GetRsi(20); + Assert.AreEqual(502, r.Count()); } [TestMethod] @@ -79,13 +94,6 @@ public void ConvertToQuotes() Assert.AreEqual(42.0773m, Math.Round(last.Close, 4)); } - [TestMethod] - public void BadData() - { - IEnumerable r = Indicator.GetRsi(badQuotes, 20); - Assert.AreEqual(502, r.Count()); - } - [TestMethod] public void Removed() { @@ -97,7 +105,7 @@ public void Removed() Assert.AreEqual(502 - (10 * 14), results.Count); RsiResult last = results.LastOrDefault(); - Assert.AreEqual(42.0773m, Math.Round((decimal)last.Rsi, 4)); + Assert.AreEqual(42.0773, Math.Round((double)last.Rsi, 4)); } [TestMethod] diff --git a/tests/indicators/s-z/Slope/Slope.Tests.cs b/tests/indicators/s-z/Slope/Slope.Tests.cs index bc638d761..6092fc7a0 100644 --- a/tests/indicators/s-z/Slope/Slope.Tests.cs +++ b/tests/indicators/s-z/Slope/Slope.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -26,34 +26,41 @@ public void Standard() // sample values SlopeResult r1 = results[249]; - Assert.AreEqual(0.312406m, Math.Round((decimal)r1.Slope, 6)); - Assert.AreEqual(180.4164m, Math.Round((decimal)r1.Intercept, 4)); - Assert.AreEqual(0.8056m, Math.Round((decimal)r1.RSquared, 4)); - Assert.AreEqual(2.0071m, Math.Round((decimal)r1.StdDev, 4)); + Assert.AreEqual(0.312406, Math.Round((double)r1.Slope, 6)); + Assert.AreEqual(180.4164, Math.Round((double)r1.Intercept, 4)); + Assert.AreEqual(0.8056, Math.Round((double)r1.RSquared, 4)); + Assert.AreEqual(2.0071, Math.Round((double)r1.StdDev, 4)); Assert.AreEqual(null, r1.Line); SlopeResult r2 = results[482]; - Assert.AreEqual(-0.337015m, Math.Round((decimal)r2.Slope, 6)); - Assert.AreEqual(425.1111m, Math.Round((decimal)r2.Intercept, 4)); - Assert.AreEqual(0.1730m, Math.Round((decimal)r2.RSquared, 4)); - Assert.AreEqual(4.6719m, Math.Round((decimal)r2.StdDev, 4)); + Assert.AreEqual(-0.337015, Math.Round((double)r2.Slope, 6)); + Assert.AreEqual(425.1111, Math.Round((double)r2.Intercept, 4)); + Assert.AreEqual(0.1730, Math.Round((double)r2.RSquared, 4)); + Assert.AreEqual(4.6719, Math.Round((double)r2.StdDev, 4)); Assert.AreEqual(267.9069m, Math.Round((decimal)r2.Line, 4)); SlopeResult r3 = results[501]; - Assert.AreEqual(-1.689143m, Math.Round((decimal)r3.Slope, 6)); - Assert.AreEqual(1083.7629m, Math.Round((decimal)r3.Intercept, 4)); - Assert.AreEqual(0.7955m, Math.Round((decimal)r3.RSquared, 4)); - Assert.AreEqual(10.9202m, Math.Round((decimal)r3.StdDev, 4)); + Assert.AreEqual(-1.689143, Math.Round((double)r3.Slope, 6)); + Assert.AreEqual(1083.7629, Math.Round((double)r3.Intercept, 4)); + Assert.AreEqual(0.7955, Math.Round((double)r3.RSquared, 4)); + Assert.AreEqual(10.9202, Math.Round((double)r3.StdDev, 4)); Assert.AreEqual(235.8131m, Math.Round((decimal)r3.Line, 4)); } [TestMethod] public void BadData() { - IEnumerable r = Indicator.GetSlope(badQuotes, 15); + IEnumerable r = badQuotes.GetSlope(15); Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = bigQuotes.GetSlope(250); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Removed() { @@ -65,10 +72,10 @@ public void Removed() Assert.AreEqual(502 - 19, results.Count); SlopeResult last = results.LastOrDefault(); - Assert.AreEqual(-1.689143m, Math.Round((decimal)last.Slope, 6)); - Assert.AreEqual(1083.7629m, Math.Round((decimal)last.Intercept, 4)); - Assert.AreEqual(0.7955m, Math.Round((decimal)last.RSquared, 4)); - Assert.AreEqual(10.9202m, Math.Round((decimal)last.StdDev, 4)); + Assert.AreEqual(-1.689143, Math.Round((double)last.Slope, 6)); + Assert.AreEqual(1083.7629, Math.Round((double)last.Intercept, 4)); + Assert.AreEqual(0.7955, Math.Round((double)last.RSquared, 4)); + Assert.AreEqual(10.9202, Math.Round((double)last.StdDev, 4)); Assert.AreEqual(235.8131m, Math.Round((decimal)last.Line, 4)); } diff --git a/tests/indicators/s-z/Sma/SmaExtended.Tests.cs b/tests/indicators/s-z/Sma/SmaExtended.Tests.cs index 0dbe13741..292d57b49 100644 --- a/tests/indicators/s-z/Sma/SmaExtended.Tests.cs +++ b/tests/indicators/s-z/Sma/SmaExtended.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -26,9 +26,9 @@ public void Extended() // sample value SmaExtendedResult r = results[501]; Assert.AreEqual(251.86m, r.Sma); - Assert.AreEqual(9.45m, r.Mad); - Assert.AreEqual(119.2510m, Math.Round((decimal)r.Mse, 4)); - Assert.AreEqual(0.037637m, Math.Round((decimal)r.Mape, 6)); + Assert.AreEqual(9.450000, Math.Round((double)r.Mad, 6)); + Assert.AreEqual(119.25102, Math.Round((double)r.Mse, 6)); + Assert.AreEqual(0.037637, Math.Round((double)r.Mape, 6)); } [TestMethod] diff --git a/tests/indicators/s-z/StdDev/StdDev.Tests.cs b/tests/indicators/s-z/StdDev/StdDev.Tests.cs index a39972367..65c951264 100644 --- a/tests/indicators/s-z/StdDev/StdDev.Tests.cs +++ b/tests/indicators/s-z/StdDev/StdDev.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -32,21 +32,21 @@ public void Standard() Assert.AreEqual(null, r1.StdDevSma); StdDevResult r2 = results[9]; - Assert.AreEqual(0.5020m, Math.Round((decimal)r2.StdDev, 4)); - Assert.AreEqual(214.0140m, Math.Round((decimal)r2.Mean, 4)); - Assert.AreEqual(-0.525917m, Math.Round((decimal)r2.ZScore, 6)); + Assert.AreEqual(0.5020, Math.Round((double)r2.StdDev, 4)); + Assert.AreEqual(214.0140, Math.Round((double)r2.Mean, 4)); + Assert.AreEqual(-0.525917, Math.Round((double)r2.ZScore, 6)); Assert.AreEqual(null, r2.StdDevSma); StdDevResult r3 = results[249]; - Assert.AreEqual(0.9827m, Math.Round((decimal)r3.StdDev, 4)); - Assert.AreEqual(257.2200m, Math.Round((decimal)r3.Mean, 4)); - Assert.AreEqual(0.783563m, Math.Round((decimal)r3.ZScore, 6)); + Assert.AreEqual(0.9827, Math.Round((double)r3.StdDev, 4)); + Assert.AreEqual(257.2200, Math.Round((double)r3.Mean, 4)); + Assert.AreEqual(0.783563, Math.Round((double)r3.ZScore, 6)); Assert.AreEqual(null, r3.StdDevSma); StdDevResult r4 = results[501]; - Assert.AreEqual(5.4738m, Math.Round((decimal)r4.StdDev, 4)); - Assert.AreEqual(242.4100m, Math.Round((decimal)r4.Mean, 4)); - Assert.AreEqual(0.524312m, Math.Round((decimal)r4.ZScore, 6)); + Assert.AreEqual(5.4738, Math.Round((double)r4.StdDev, 4)); + Assert.AreEqual(242.4100, Math.Round((double)r4.Mean, 4)); + Assert.AreEqual(0.524312, Math.Round((double)r4.ZScore, 6)); Assert.AreEqual(null, r4.StdDevSma); } @@ -68,23 +68,30 @@ public void GetStdDevWithSma() // sample values StdDevResult r1 = results[19]; - Assert.AreEqual(1.1642m, Math.Round((decimal)r1.StdDev, 4)); - Assert.AreEqual(-0.065282m, Math.Round((decimal)r1.ZScore, 6)); - Assert.AreEqual(1.1422m, Math.Round((decimal)r1.StdDevSma, 4)); + Assert.AreEqual(1.1642, Math.Round((double)r1.StdDev, 4)); + Assert.AreEqual(-0.065282, Math.Round((double)r1.ZScore, 6)); + Assert.AreEqual(1.1422, Math.Round((double)r1.StdDevSma, 4)); StdDevResult r2 = results[501]; - Assert.AreEqual(5.4738m, Math.Round((decimal)r2.StdDev, 4)); - Assert.AreEqual(0.524312m, Math.Round((decimal)r2.ZScore, 6)); - Assert.AreEqual(7.6886m, Math.Round((decimal)r2.StdDevSma, 4)); + Assert.AreEqual(5.4738, Math.Round((double)r2.StdDev, 4)); + Assert.AreEqual(0.524312, Math.Round((double)r2.ZScore, 6)); + Assert.AreEqual(7.6886, Math.Round((double)r2.StdDevSma, 4)); } [TestMethod] public void BadData() { - IEnumerable r = Indicator.GetStdDev(badQuotes, 15, 3); + IEnumerable r = badQuotes.GetStdDev(15, 3); Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = bigQuotes.GetStdDev(200, 3); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Removed() { @@ -96,9 +103,9 @@ public void Removed() Assert.AreEqual(502 - 9, results.Count); StdDevResult last = results.LastOrDefault(); - Assert.AreEqual(5.4738m, Math.Round((decimal)last.StdDev, 4)); - Assert.AreEqual(242.4100m, Math.Round((decimal)last.Mean, 4)); - Assert.AreEqual(0.524312m, Math.Round((decimal)last.ZScore, 6)); + Assert.AreEqual(5.4738, Math.Round((double)last.StdDev, 4)); + Assert.AreEqual(242.4100, Math.Round((double)last.Mean, 4)); + Assert.AreEqual(0.524312, Math.Round((double)last.ZScore, 6)); Assert.AreEqual(null, last.StdDevSma); } diff --git a/tests/indicators/s-z/StdDevChannels/StdDevChannels.Tests.cs b/tests/indicators/s-z/StdDevChannels/StdDevChannels.Tests.cs index 7b6bcfd48..fd2698e8c 100644 --- a/tests/indicators/s-z/StdDevChannels/StdDevChannels.Tests.cs +++ b/tests/indicators/s-z/StdDevChannels/StdDevChannels.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -14,7 +14,7 @@ public class StdDevChannels : TestBase public void Standard() { int lookbackPeriods = 20; - decimal standardDeviations = 2; + double standardDeviations = 2; List results = quotes.GetStdDevChannels(lookbackPeriods, standardDeviations) @@ -121,7 +121,7 @@ public void BadData() public void Removed() { int lookbackPeriods = 20; - decimal standardDeviations = 2; + double standardDeviations = 2; List results = quotes.GetStdDevChannels(lookbackPeriods, standardDeviations) diff --git a/tests/indicators/s-z/SuperTrend/SuperTrend.Tests.cs b/tests/indicators/s-z/SuperTrend/SuperTrend.Tests.cs index a53722168..95585dcae 100644 --- a/tests/indicators/s-z/SuperTrend/SuperTrend.Tests.cs +++ b/tests/indicators/s-z/SuperTrend/SuperTrend.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -14,7 +14,7 @@ public class SuperTrend : TestBase public void Standard() { int lookbackPeriods = 14; - decimal multiplier = 3; + double multiplier = 3; List results = quotes.GetSuperTrend(lookbackPeriods, multiplier) .ToList(); @@ -81,7 +81,7 @@ public void BadData() public void Removed() { int lookbackPeriods = 14; - decimal multiplier = 3; + double multiplier = 3; List results = quotes.GetSuperTrend(lookbackPeriods, multiplier) diff --git a/tests/indicators/s-z/Tsi/Tsi.Tests.cs b/tests/indicators/s-z/Tsi/Tsi.Tests.cs index cc0aed205..24f51944e 100644 --- a/tests/indicators/s-z/Tsi/Tsi.Tests.cs +++ b/tests/indicators/s-z/Tsi/Tsi.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -26,28 +26,28 @@ public void Standard() // sample values TsiResult r2 = results[37]; - Assert.AreEqual(53.1204m, Math.Round((decimal)r2.Tsi, 4)); + Assert.AreEqual(53.1204, Math.Round((double)r2.Tsi, 4)); Assert.AreEqual(null, r2.Signal); TsiResult r3a = results[43]; - Assert.AreEqual(46.0960m, Math.Round((decimal)r3a.Tsi, 4)); - Assert.AreEqual(51.6916m, Math.Round((decimal)r3a.Signal, 4)); + Assert.AreEqual(46.0960, Math.Round((double)r3a.Tsi, 4)); + Assert.AreEqual(51.6916, Math.Round((double)r3a.Signal, 4)); TsiResult r3b = results[44]; - Assert.AreEqual(42.5121m, Math.Round((decimal)r3b.Tsi, 4)); - Assert.AreEqual(49.3967m, Math.Round((decimal)r3b.Signal, 4)); + Assert.AreEqual(42.5121, Math.Round((double)r3b.Tsi, 4)); + Assert.AreEqual(49.3967, Math.Round((double)r3b.Signal, 4)); TsiResult r4 = results[149]; - Assert.AreEqual(29.0936m, Math.Round((decimal)r4.Tsi, 4)); - Assert.AreEqual(28.0134m, Math.Round((decimal)r4.Signal, 4)); + Assert.AreEqual(29.0936, Math.Round((double)r4.Tsi, 4)); + Assert.AreEqual(28.0134, Math.Round((double)r4.Signal, 4)); TsiResult r5 = results[249]; - Assert.AreEqual(41.9232m, Math.Round((decimal)r5.Tsi, 4)); - Assert.AreEqual(42.4063m, Math.Round((decimal)r5.Signal, 4)); + Assert.AreEqual(41.9232, Math.Round((double)r5.Tsi, 4)); + Assert.AreEqual(42.4063, Math.Round((double)r5.Signal, 4)); TsiResult r6 = results[501]; - Assert.AreEqual(-28.3513m, Math.Round((decimal)r6.Tsi, 4)); - Assert.AreEqual(-29.3597m, Math.Round((decimal)r6.Signal, 4)); + Assert.AreEqual(-28.3513, Math.Round((double)r6.Tsi, 4)); + Assert.AreEqual(-29.3597, Math.Round((double)r6.Signal, 4)); } [TestMethod] @@ -57,6 +57,13 @@ public void BadData() Assert.AreEqual(502, r.Count()); } + [TestMethod] + public void BigData() + { + IEnumerable r = Indicator.GetTsi(bigQuotes); + Assert.AreEqual(1246, r.Count()); + } + [TestMethod] public void Removed() { @@ -68,8 +75,8 @@ public void Removed() Assert.AreEqual(502 - (25 + 13 + 250), results.Count); TsiResult last = results.LastOrDefault(); - Assert.AreEqual(-28.3513m, Math.Round((decimal)last.Tsi, 4)); - Assert.AreEqual(-29.3597m, Math.Round((decimal)last.Signal, 4)); + Assert.AreEqual(-28.3513, Math.Round((double)last.Tsi, 4)); + Assert.AreEqual(-29.3597, Math.Round((double)last.Signal, 4)); } [TestMethod] diff --git a/tests/indicators/s-z/UlcerIndex/UlcerIndex.Tests.cs b/tests/indicators/s-z/UlcerIndex/UlcerIndex.Tests.cs index 4d03d2b22..e9b55cb0a 100644 --- a/tests/indicators/s-z/UlcerIndex/UlcerIndex.Tests.cs +++ b/tests/indicators/s-z/UlcerIndex/UlcerIndex.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -25,7 +25,7 @@ public void Standard() // sample value UlcerIndexResult r = results[501]; - Assert.AreEqual(5.7255m, Math.Round((decimal)r.UI, 4)); + Assert.AreEqual(5.7255, Math.Round((double)r.UI, 4)); } [TestMethod] @@ -46,7 +46,7 @@ public void Removed() Assert.AreEqual(502 - 13, results.Count); UlcerIndexResult last = results.LastOrDefault(); - Assert.AreEqual(5.7255m, Math.Round((decimal)last.UI, 4)); + Assert.AreEqual(5.7255, Math.Round((double)last.UI, 4)); } diff --git a/tests/indicators/s-z/Vortex/Vortex.Tests.cs b/tests/indicators/s-z/Vortex/Vortex.Tests.cs index 8c2b4e75b..f2bfd6393 100644 --- a/tests/indicators/s-z/Vortex/Vortex.Tests.cs +++ b/tests/indicators/s-z/Vortex/Vortex.Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -28,20 +28,20 @@ public void Standard() Assert.IsNull(r1.Nvi); VortexResult r2 = results[14]; - Assert.AreEqual(1.0460m, Math.Round((decimal)r2.Pvi, 4)); - Assert.AreEqual(0.8119m, Math.Round((decimal)r2.Nvi, 4)); + Assert.AreEqual(1.0460, Math.Round((double)r2.Pvi, 4)); + Assert.AreEqual(0.8119, Math.Round((double)r2.Nvi, 4)); VortexResult r3 = results[29]; - Assert.AreEqual(1.1300m, Math.Round((decimal)r3.Pvi, 4)); - Assert.AreEqual(0.7393m, Math.Round((decimal)r3.Nvi, 4)); + Assert.AreEqual(1.1300, Math.Round((double)r3.Pvi, 4)); + Assert.AreEqual(0.7393, Math.Round((double)r3.Nvi, 4)); VortexResult r4 = results[249]; - Assert.AreEqual(1.1558m, Math.Round((decimal)r4.Pvi, 4)); - Assert.AreEqual(0.6634m, Math.Round((decimal)r4.Nvi, 4)); + Assert.AreEqual(1.1558, Math.Round((double)r4.Pvi, 4)); + Assert.AreEqual(0.6634, Math.Round((double)r4.Nvi, 4)); VortexResult r5 = results[501]; - Assert.AreEqual(0.8712m, Math.Round((decimal)r5.Pvi, 4)); - Assert.AreEqual(1.1163m, Math.Round((decimal)r5.Nvi, 4)); + Assert.AreEqual(0.8712, Math.Round((double)r5.Pvi, 4)); + Assert.AreEqual(1.1163, Math.Round((double)r5.Nvi, 4)); } [TestMethod] @@ -62,8 +62,8 @@ public void Removed() Assert.AreEqual(502 - 14, results.Count); VortexResult last = results.LastOrDefault(); - Assert.AreEqual(0.8712m, Math.Round((decimal)last.Pvi, 4)); - Assert.AreEqual(1.1163m, Math.Round((decimal)last.Nvi, 4)); + Assert.AreEqual(0.8712, Math.Round((double)last.Pvi, 4)); + Assert.AreEqual(1.1163, Math.Round((double)last.Nvi, 4)); } [TestMethod] diff --git a/tests/performance/Perf.Indicators.cs b/tests/performance/Perf.Indicators.cs index e5d3af2f3..efba46a1c 100644 --- a/tests/performance/Perf.Indicators.cs +++ b/tests/performance/Perf.Indicators.cs @@ -390,6 +390,12 @@ public object GetRocWithSma() return h.GetRoc(20, 14); } + [Benchmark] + public object GetRollingPivots() + { + return h.GetRollingPivots(14, 1); + } + [Benchmark] public object GetRsi() { @@ -546,6 +552,12 @@ public object GetVwap() return h.GetVwap(); } + [Benchmark] + public object GetVwma() + { + return h.GetVwma(14); + } + [Benchmark] public object GetWilliamsR() {

  • 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