Ejemplo n.º 1
0
        public static PredictionOption MakeDecision(PredictionData data, out double maxDiffProbability, out double resultProbability, out double resultCoef)
        {
            PredictionOption maxDiffProbabilityOption = 0;

            maxDiffProbability = -1;
            resultProbability  = -1;
            resultCoef         = -1;

            //main results
            var tempDiff = data.CalculatedProbabilities.HomeWinProbability - data.OriginProbabilities.HomeWinProbability;

            if (tempDiff > maxDiffProbability)
            {
                maxDiffProbability       = tempDiff;
                maxDiffProbabilityOption = PredictionOption.HomeWin;
                resultProbability        = data.CalculatedProbabilities.HomeWinProbability;
                resultCoef = data.OriginBookmakerOdds.HomeWinCoef;
            }

            tempDiff = data.CalculatedProbabilities.DrawProbability - data.OriginProbabilities.DrawProbability;
            if (tempDiff > maxDiffProbability)
            {
                maxDiffProbability       = tempDiff;
                maxDiffProbabilityOption = PredictionOption.Draw;
                resultProbability        = data.CalculatedProbabilities.DrawProbability;
                resultCoef = data.OriginBookmakerOdds.DrawCoef;
            }

            tempDiff = data.CalculatedProbabilities.AwayWinProbability - data.OriginProbabilities.AwayWinProbability;
            if (tempDiff > maxDiffProbability)
            {
                maxDiffProbability       = tempDiff;
                maxDiffProbabilityOption = PredictionOption.AwayWin;
                resultProbability        = data.CalculatedProbabilities.AwayWinProbability;
                resultCoef = data.OriginBookmakerOdds.AwayWinCoef;
            }

            //btts
            tempDiff = data.CalculatedProbabilities.BttsYesProbability - data.OriginProbabilities.BttsYesProbability;
            if (tempDiff > maxDiffProbability)
            {
                maxDiffProbability       = tempDiff;
                maxDiffProbabilityOption = PredictionOption.BttsYes;
                resultProbability        = data.CalculatedProbabilities.BttsYesProbability;
                resultCoef = data.OriginBookmakerOdds.BttsYesCoef;
            }

            tempDiff = data.CalculatedProbabilities.BttsNoProbability - data.OriginProbabilities.BttsNoProbability;
            if (tempDiff > maxDiffProbability)
            {
                maxDiffProbability       = tempDiff;
                maxDiffProbabilityOption = PredictionOption.BttsNo;
                resultProbability        = data.CalculatedProbabilities.BttsNoProbability;
                resultCoef = data.OriginBookmakerOdds.BttsNoCoef;
            }

            //total
            tempDiff = data.CalculatedProbabilities.TotalOverProbability - data.OriginProbabilities.TotalOverProbability;
            if (tempDiff > maxDiffProbability)
            {
                maxDiffProbability       = tempDiff;
                maxDiffProbabilityOption = PredictionOption.TotalOver2_5;
                resultProbability        = data.CalculatedProbabilities.TotalOverProbability;
                resultCoef = data.OriginBookmakerOdds.TotalOverCoef;
            }

            tempDiff = data.CalculatedProbabilities.TotalUnderProbability - data.OriginProbabilities.TotalUnderProbability;
            if (tempDiff > maxDiffProbability)
            {
                maxDiffProbability       = tempDiff;
                maxDiffProbabilityOption = PredictionOption.TotalUnder2_5;
                resultProbability        = data.CalculatedProbabilities.TotalUnderProbability;
                resultCoef = data.OriginBookmakerOdds.TotalUnderCoef;
            }

            return(maxDiffProbabilityOption);
        }
Ejemplo n.º 2
0
        public static PredictionOption GetOptionWithMaxPropability(PredictionData data, out double resultProbability, out double resultCoef)
        {
            PredictionOption result = 0;

            resultProbability = 0;
            resultCoef        = 0;

            //main results
            if (data.OriginProbabilities.HomeWinProbability > resultProbability)
            {
                result            = PredictionOption.HomeWin;
                resultProbability = data.OriginProbabilities.HomeWinProbability;
                resultCoef        = data.OriginBookmakerOdds.HomeWinCoef;
            }

            if (data.OriginProbabilities.DrawProbability > resultProbability)
            {
                result            = PredictionOption.Draw;
                resultProbability = data.OriginProbabilities.DrawProbability;
                resultCoef        = data.OriginBookmakerOdds.DrawCoef;
            }

            if (data.OriginProbabilities.AwayWinProbability > resultProbability)
            {
                result            = PredictionOption.AwayWin;
                resultProbability = data.OriginProbabilities.AwayWinProbability;
                resultCoef        = data.OriginBookmakerOdds.AwayWinCoef;
            }

            //btts
            if (data.OriginProbabilities.BttsYesProbability > resultProbability)
            {
                result            = PredictionOption.BttsYes;
                resultProbability = data.OriginProbabilities.BttsYesProbability;
                resultCoef        = data.OriginBookmakerOdds.BttsYesCoef;
            }

            if (data.OriginProbabilities.BttsNoProbability > resultProbability)
            {
                result            = PredictionOption.BttsNo;
                resultProbability = data.OriginProbabilities.BttsNoProbability;
                resultCoef        = data.OriginBookmakerOdds.BttsNoCoef;
            }

            //total
            if (data.OriginProbabilities.TotalOverProbability > resultProbability)
            {
                result            = PredictionOption.TotalOver2_5;
                resultProbability = data.OriginProbabilities.TotalOverProbability;
                resultCoef        = data.OriginBookmakerOdds.TotalOverCoef;
            }

            if (data.OriginProbabilities.TotalUnderProbability > resultProbability)
            {
                result            = PredictionOption.TotalUnder2_5;
                resultProbability = data.OriginProbabilities.TotalUnderProbability;
                resultCoef        = data.OriginBookmakerOdds.TotalUnderCoef;
            }

            return(result);
        }