コード例 #1
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
 /// <summary>
 /// Segment II (weeks 5-8)
 /// Pointer Twelve: (p 74)
 ///   Big Scoring Teams
 ///     As in the first 4 games, I look to bet against a favourite that scored a total of
 ///     30 or more points in each of the last two weeks in winning efforts.
 /// </summary>
 /// <param name="team"></param>
 /// <param name="upcomingGame"></param>
 /// <returns></returns>
 public static bool BigScoringTeam( NflTeam team, NFLGame upcomingGame )
 {
     bool isBigScorer = false;
      if ( upcomingGame.IsFavourite( team ) )
      {
     NFLGame prevGame = team.PreviousGame( upcomingGame.GameDate );
     if ( prevGame.Won( team ) )
        if ( prevGame.ScoreFor( team ) >= KBigScore )
        {
           NFLGame prevPrevGame = team.PreviousGame( prevGame.GameDate );
           if ( prevGame.Won( team ) )
           {
              if ( prevPrevGame.ScoreFor( team ) >= KBigScore )
                 isBigScorer = true;
           }
        }
      }
      return isBigScorer;
 }
コード例 #2
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
        internal static bool LastGamePhonyLoss(NflTeam team, NFLGame upcomingGame)
        {
            bool isLastGamePhonyLoss = false;
             NFLGame prevGame = team.PreviousGame(upcomingGame.GameDate);

             if (prevGame.WasPhonyWin())
             {
            if (prevGame.Lost(team))
            {
               isLastGamePhonyLoss = true;
            }
             }
             return isLastGamePhonyLoss;
        }
コード例 #3
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
 /// <summary>
 /// Segment I (Weeks 1-4)
 /// Pointer Eleven: (p 70)
 ///   Sandwich Game
 ///   I look to wager against a team ina  divisional series "sandwich game".
 ///   A sandwich game is a non-divisional game that takes placewhen a team has just played 
 ///   at least two straight divisional games and has at least 2 more straight divisional
 ///   games coming up after the non divisional contest.
 /// </summary>
 public static bool TeamSandwiched( NflTeam t, NFLGame nextGame )
 {
     bool sandwichGame = false;
      if ( ! nextGame.IsDivisionalGame() )
      {
     NFLGame lastGame = t.PreviousGame( nextGame.GameDate );
     if ( lastGame.IsDivisionalGame() )
     {
        NFLGame lastLastGame = t.PreviousGame( lastGame.GameDate );
        if ( lastLastGame.IsDivisionalGame() )
        {
           //  now what about the next game?
           NFLGame nextNextGame = t.NextGame( nextGame.GameDate );
           if (nextNextGame != null)
           {
              if (nextNextGame.IsDivisionalGame())
              {
                 // finally another one
                 NFLGame nextNextNextgame = t.NextGame(nextNextGame.GameDate);
                 if (nextNextNextgame.IsDivisionalGame())
                    sandwichGame = true;
              }
           }
        }
     }
      }
      return sandwichGame;
 }
コード例 #4
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
        /// <summary>
        /// Segment II (Weeks 5-8)
        /// Pointer Two A: (p 72)
        ///   Embarrasing Performances.  I look to wager on a team that has _just_ suffered a humiliating loss
        ///   either by a big score or to a bad club.  I also look to bet a team that has very poor offensive 
        ///   or defensive numbers in their last game, or to wager against a team that has just put up 
        ///   outstanding offensive or defensive numbers.
        /// </summary>
        /// <param name="t"></param>
        /// <param name="when"></param>
        /// <returns></returns>
        public static bool TeamEmbarrased( NflTeam t, DateTime when )
        {
            //  get their previous game
             NFLGame prevGame = t.PreviousGame( when );
             if ( prevGame != null )
            if ( prevGame.WasRout() )
               if ( prevGame.Lost( t ) )
                  return true;

             return false;
        }
コード例 #5
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
        /// <summary>
        /// Segment II (Weeks 5-8)
        /// Pointer Eleven: (p 74)
        ///   Under-the-Lights followup.
        ///     As in the first four games, I look to wager on teams that lost a rout on Sunday or 
        ///     Monday night and look to wager against teams that won a rout under the night
        ///     lights of national television.
        /// </summary>
        /// <param name="team"></param>
        /// <param name="upcomingGame"></param>
        /// <returns></returns>
        public static bool SundayOrMondayNightRout( NflTeam team, NFLGame upcomingGame )
        {
            bool isSundayOrMondayNightRout = false;
             NFLGame prevGame = team.PreviousGame( upcomingGame.GameDate );

             if ( prevGame.IsPrimeTime() )
             {
            if ( prevGame.WasRout() )
               if ( prevGame.Lost( team ) )
                  isSundayOrMondayNightRout = true;
             }
             return isSundayOrMondayNightRout;
        }
コード例 #6
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
 /// <summary>
 /// Segment II (Weeks 5-8)
 /// Pointer: Six (p 73)
 ///   Out-of-Division Favourites.
 ///     As in games one through four, if a team has played 2 or more consecutive divisional games
 ///     and is now playing a nondivisional game, I look to wager against the team if they are 
 ///     favoured by 7 or more.
 /// </summary>
 /// <param name="team"></param>
 /// <param name="upcomingGame"></param>
 /// <returns></returns>
 public static bool OutOfDivisionFavourites( NflTeam team, NFLGame upcomingGame )
 {
     var isOutOfDivisionFavourite = false;
      if ( ! upcomingGame.IsDivisionalGame() )
      {
     if ( upcomingGame.IsFavourite( team ) )
     {
        if ( Math.Abs( upcomingGame.Spread ) >= 7 )
        {
           var lastGame = team.PreviousGame( upcomingGame.GameDate );
           if ( lastGame.IsDivisionalGame() )
           {
              var previousToLastGame = team.PreviousGame( lastGame.GameDate );
           	if (previousToLastGame.IsDivisionalGame())
           		isOutOfDivisionFavourite = true;
           }
        }
     }
      }
      return isOutOfDivisionFavourite;
 }
コード例 #7
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
 /// <summary>
 /// Segment II ( Weeks 5-8)
 /// Pointer Eight: (p73)
 ///   Monday Night Followup.
 ///     As in the first four games, I look to bet
 ///     against a team that has won and covered a Monday night game against a 
 ///     divisional opponent, and who is now playing a non divisional team.
 /// </summary>
 /// <param name="team"></param>
 /// <param name="upcomingGame"></param>
 /// <returns></returns>
 public static bool MondayNightFollowUp( NflTeam team, NFLGame upcomingGame )
 {
     var isMnfFollowup = false;
      if ( ! upcomingGame.IsDivisionalGame() )
      {
     var previousGame = team.PreviousGame( upcomingGame.GameDate );
     if ( previousGame.IsMondayNight() )
     {
        if ( previousGame.IsDivisionalGame() )
           if ( previousGame.WonVsSpread( team ) )
              isMnfFollowup = true;
     }
      }
      return isMnfFollowup;
 }
コード例 #8
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
        /// <summary>
        /// Segment I (Weeks 1-4)
        /// Pointer Twelve:  (p 71)
        ///   PhonyWins and Phony Losses.
        ///     I look to bet against a team coming off a phony win and on a team coming
        ///     off a phony loss.
        ///     In most games the team with the higher-average-gain per pass wins.  If a
        ///     team wins a game having the lower average and the losing team committed more 
        ///     turnovers, the team that won has gained a phony win.
        /// </summary>
        /// <returns></returns>
        public static bool LastGamePhonyWin(NflTeam team, NFLGame upcomingGame)
        {
            bool isLastGamePhonyWin = false;
             NFLGame prevGame = team.PreviousGame( upcomingGame.GameDate );

             if ( prevGame.WasPhonyWin() )
             {
            if ( prevGame.Won( team ) )
            {
               isLastGamePhonyWin = true;
            }
             }
             return isLastGamePhonyWin;
        }
コード例 #9
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
        /// <summary>
        /// Segment II (Weeks 5-8)
        /// Pointer Nine: (p73-4)
        ///   Large Point Swings.
        ///     As in the first four games, I use the 50-point swing model.  In other words,
        ///     if Team A's margin of win and Team B's margin of loss the previous week add up
        ///     to 50 points or more, I am looking to bet Team B this week.
        /// </summary>
        /// <param name="team"></param>
        /// <param name="upcomingGame"></param>
        /// <returns></returns>
        public static bool LargePointSwing( NflTeam team, NFLGame upcomingGame )
        {
            bool largePointSwing = false;
             NFLGame prevGame = team.PreviousGame( upcomingGame.GameDate );
             if ( prevGame.Lost( team ) )
             {
            NflTeam opponent = upcomingGame.OpponentTeam( team.TeamCode );
            NFLGame prevOpponentGame = opponent.PreviousGame( upcomingGame.GameDate );
            if ( prevOpponentGame.Won( opponent ) )
            {
               int margin = prevGame.MarginOfVictory() + prevOpponentGame.MarginOfVictory();
               if ( margin >= KLargePointSwingMargin )
                  largePointSwing = true;
            }
             }

             return largePointSwing;
        }
コード例 #10
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
 /// <summary>
 /// Segment I (Weeks 1-4)
 /// Pointer Two: (p 63, 73)
 ///   Home Dog After Home Loss as Favourite.
 ///   When a team loses as a favourite at home and is the home dog next week, 
 ///   look to bet on the underdog 
 /// </summary>
 public static bool HomeDogBounce( NflTeam team, NFLGame nextGame )
 {
     bool bounce = false;
      NFLGame lastGame = team.PreviousGame( nextGame.GameDate );
      if ( lastGame.IsFavourite( team ) )
     if ( lastGame.Lost( team ) )
     {
        if ( nextGame.IsDog( team ) )
           if ( nextGame.IsHome( team.TeamCode ) )
              bounce = true;
     }
      return bounce;
 }
コード例 #11
0
ファイル: DanGordan.cs プロジェクト: Quarterback16/GerardGui
 /// <summary>
 /// Segment II ( Weeks 5-8)
 /// Pointer Seven: (p73)
 ///   Follow-up Performances.
 ///     If a team is strong against the spread after an outright loss (I check back one year on this)
 ///     I will look to bet them after a loss.  If a team plays poorly after a win, I will look to bet 
 ///     against them after a win.  Getting to know each team's personality is important using 
 ///     this model.
 ///     Interpretation:  Team is strong if they cover the spread >= 60%, week if they lose to the
 ///                      spread >= 60%.
 /// 
 /// </summary>
 /// <param name="team"></param>
 /// <param name="upcomingGame"></param>
 /// <returns></returns>
 public static string FollowupPerformance( NflTeam team, NFLGame upcomingGame )
 {
     string followupCode = "";
      decimal spreadRecord;
      NFLGame previousGame = team.PreviousGame( upcomingGame.GameDate );
      if ( previousGame.Won( team ) )
      {
     spreadRecord = team.SpreadRecordAfterWin( upcomingGame.GameDate );
     if ( spreadRecord >= KStrongAgainstSpread )
        followupCode = "s";
     else if ( spreadRecord <= KWeekAgainstSpread )
        followupCode = "w";
      }
      else
      {
     spreadRecord = team.SpreadRecordAfterLoss( upcomingGame.GameDate );
     if ( spreadRecord >= KStrongAgainstSpread )
        followupCode = "w";
     else if ( spreadRecord <= KWeekAgainstSpread )
        followupCode = "s";
      }
      return followupCode;
 }