Пример #1
0
        public void GetStdDev()
        {
            int lookbackPeriod          = 10;
            List <StdDevResult> results = Indicator.GetStdDev(history, lookbackPeriod).ToList();

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count);
            Assert.AreEqual(493, results.Where(x => x.StdDev != null).Count());
            Assert.AreEqual(493, results.Where(x => x.ZScore != null).Count());
            Assert.AreEqual(false, results.Any(x => x.Sma != null));

            // sample values
            StdDevResult r1 = results[501];

            Assert.AreEqual(5.4738m, Math.Round((decimal)r1.StdDev, 4));
            Assert.AreEqual(0.524312m, Math.Round((decimal)r1.ZScore, 6));
            Assert.AreEqual(null, r1.Sma);

            StdDevResult r2 = results[249];

            Assert.AreEqual(0.9827m, Math.Round((decimal)r2.StdDev, 4));
            Assert.AreEqual(0.783563m, Math.Round((decimal)r2.ZScore, 6));
            Assert.AreEqual(null, r2.Sma);
        }
Пример #2
0
        public void GetStdDevWithSma()
        {
            int lookbackPeriod          = 10;
            int smaPeriod               = 5;
            List <StdDevResult> results = Indicator.GetStdDev(history, lookbackPeriod, smaPeriod).ToList();

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count);
            Assert.AreEqual(493, results.Where(x => x.StdDev != null).Count());
            Assert.AreEqual(493, results.Where(x => x.ZScore != null).Count());
            Assert.AreEqual(489, results.Where(x => x.Sma != null).Count());

            // sample values
            StdDevResult r1 = results[501];

            Assert.AreEqual(5.4738m, Math.Round((decimal)r1.StdDev, 4));
            Assert.AreEqual(0.524312m, Math.Round((decimal)r1.ZScore, 6));
            Assert.AreEqual(7.6886m, Math.Round((decimal)r1.Sma, 4));

            StdDevResult r2 = results[19];

            Assert.AreEqual(1.1642m, Math.Round((decimal)r2.StdDev, 4));
            Assert.AreEqual(-0.065282m, Math.Round((decimal)r2.ZScore, 6));
            Assert.AreEqual(1.1422m, Math.Round((decimal)r2.Sma, 4));
        }
Пример #3
0
    public void Removed()
    {
        List <StdDevResult> results = quotes.GetStdDev(10)
                                      .RemoveWarmupPeriods()
                                      .ToList();

        // assertions
        Assert.AreEqual(502 - 9, results.Count);

        StdDevResult last = results.LastOrDefault();

        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);
    }
Пример #4
0
        public void GetStdDevTest()
        {
            int lookbackPeriod = 10;
            IEnumerable <StdDevResult> results = Indicator.GetStdDev(history, lookbackPeriod);

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count());
            Assert.AreEqual(502 - lookbackPeriod + 1, results.Where(x => x.StdDev != null).Count());

            // sample value
            StdDevResult sd = results.Where(x => x.Date == DateTime.Parse("12/31/2018")).FirstOrDefault();

            Assert.AreEqual((decimal)5.4738, Math.Round((decimal)sd.StdDev, 4));
        }
Пример #5
0
        public void Standard()
        {
            int lookbackPeriod = 10;

            List <StdDevResult> results = Indicator.GetStdDev(history, lookbackPeriod)
                                          .ToList();

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count);
            Assert.AreEqual(493, results.Where(x => x.StdDev != null).Count());
            Assert.AreEqual(493, results.Where(x => x.ZScore != null).Count());
            Assert.AreEqual(false, results.Any(x => x.StdDevSma != null));

            // sample values
            StdDevResult r1 = results[8];

            Assert.AreEqual(null, r1.StdDev);
            Assert.AreEqual(null, r1.Mean);
            Assert.AreEqual(null, r1.ZScore);
            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(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(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(null, r4.StdDevSma);
        }
Пример #6
0
        public void GetStdDevTest()
        {
            int lookbackPeriod = 10;
            IEnumerable <StdDevResult> results = Indicator.GetStdDev(history, lookbackPeriod);

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count());
            Assert.AreEqual(502 - lookbackPeriod + 1, results.Where(x => x.StdDev != null).Count());

            // sample value
            StdDevResult r = results.Where(x => x.Index == 502).FirstOrDefault();

            Assert.AreEqual(5.4738m, Math.Round((decimal)r.StdDev, 4));
            Assert.AreEqual(0.524312m, Math.Round((decimal)r.ZScore, 6));
        }
Пример #7
0
    public void Standard()
    {
        List <StdDevResult> results = quotes.GetStdDev(10).ToList();

        // assertions

        // proper quantities
        // should always be the same number of results as there is quotes
        Assert.AreEqual(502, results.Count);
        Assert.AreEqual(493, results.Where(x => x.StdDev != null).Count());
        Assert.AreEqual(493, results.Where(x => x.ZScore != null).Count());
        Assert.AreEqual(false, results.Any(x => x.StdDevSma != null));

        // sample values
        StdDevResult r1 = results[8];

        Assert.AreEqual(null, r1.StdDev);
        Assert.AreEqual(null, r1.Mean);
        Assert.AreEqual(null, r1.ZScore);
        Assert.AreEqual(null, r1.StdDevSma);

        StdDevResult r2 = results[9];

        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.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.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);
    }