public static double HalfPointsProbability()
        {
            var median      = ProbabilityCalculator.CalcMedian() - OFFSET;
            var overLineCnt = results.FindAll(res => res.HomeTeamPoints + res.AwayTeamPoints > median).Count;

            return(Math.Round((double)overLineCnt / resultsCount, 2));
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Calculating probabilities!");

            try
            {
                var results = ReadGameResults();

                if (results != null)
                {
                    ProbabilityCalculator.results = results;
                    ProbabilityCalculator.init();

                    var winProb = ProbabilityCalculator.WinProbability();
                    Console.WriteLine($"probability for homeTeam to win is {winProb}");
                    Console.WriteLine($"probability for awayTeam to win is {1 - winProb}");

                    var halfPointProb = ProbabilityCalculator.HalfPointsProbability();
                    Console.WriteLine($"half point probability over the line is {halfPointProb}");
                    Console.WriteLine($"half point probability under the line is {1 - halfPointProb}");

                    var winMarginProb = ProbabilityCalculator.WinMarginProbability();
                    Console.WriteLine($"Home team winning margin probability with <=10pts is {winMarginProb.Home}");
                    Console.WriteLine($"Home team winning margin probability with >=11pts is {Math.Round(1 - winMarginProb.Home, 2)}");
                    Console.WriteLine($"Away team winning margin probability with <=10pts is {winMarginProb.Away}");
                    Console.WriteLine($"Away team winning margin probability with >=11pts is {Math.Round(1 - winMarginProb.Away, 2)}");

                    Console.WriteLine("calculations complete!");
                }
                else
                {
                    Console.WriteLine("Failed to calculate probabilities since no data found");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Failed to calculate probabilities due to exception {ex.Message}");
            }
        }