Ejemplo n.º 1
0
        private async Task DetectStatus()
        {
            IsBusy = true;

            PriceInfo.sensitivity = Sensitivity;
            PriceAnomalies        = new ObservableCollection <Anomaly>();
            PriceStatus           = await AnomalyDetectorService.DetectStatus(priceInfo);

            if (PriceStatus != null)
            {
                if (PriceStatus.IsAnomaly)
                {
                    var priceData = PriceInfo.series.Last();

                    var lowerBoundary = PriceStatus.ExpectedValue - PriceStatus.LowerMargin;
                    var upperBoundary = PriceStatus.ExpectedValue + PriceStatus.UpperMargin;

                    PriceAnomalies.Add(new Anomaly()
                    {
                        Value      = priceData.value,
                        Timestamp  = priceData.timestamp,
                        IsPositive = PriceStatus.IsPositiveAnomaly,
                        Range      = $"Range: [{lowerBoundary:N2}, {upperBoundary:N2}]"
                    });
                }

                CreateChart(anomalies: true);
            }

            IsBusy = false;
        }