How Fantasy Football is Like Stock Picking (Including a Shiny App)

In this post, I compare fantasy football to stock picking. There are important lessons we can learn from financial forecasting that can be applied to forecasting football players’ performance.

Fantasy Football is Like Stock Picking

When picking players for your fantasy team or when picking stocks, your goal is to pick players/stocks that others undervalue. But what’s the best way to do that? You could do lots of research to pick players/stocks with strong fundamentals that you think will do particularly well next year. By picking these players/stocks, you’re predicting that they will outperform their expectations. However, all of your information is likely already reflected in the current valuation of the player/stock, so your prediction is basically a gamble. This is evidenced by the fact that people don’t reliably beat the crowd/market.

Not even so-called experts beat the market reliably. There is little consistency in the performance of mutual fund managers over time. The following charts are from Leonard Mlodinow’s book, “The Drunkard’s Walk: How Randomness Rules Our Lives“. The chart on the left depicts the performance of the top mutual funds from 1991 to 1995. The chart on the right depicts the performance of the same funds in the same order over the subsequent 5 years (1996 to 2000):

Another important lesson from investing is diversification. If you have too much money in one asset and that asset tanks, you will lose your money. In other words, you don’t want to put all of your eggs in one basket. By owning different asset classes (e.g., domestic and international stocks and bonds), you can limit your downside risk without sacrificing much in terms of expected return. This lesson can also apply to fantasy football. If you draft your starting QB and WR from the same team (e.g., the Cowboys), you are exposing your fantasy team to considerable risk. You can limit your downside risk by diversifying—drafting players from different teams. That way if the Cowboys’ offense does poorly in a given week, your fantasy team won’t be as affected. As Jonathon pointed out, however, sometimes having two players on the same team might be beneficial because some positions may be uncorrelated or even negatively correlated, which can also reduce risk. For instance, the performance of the TE and RB on the same team tends to be slightly negatively correlated, so it might not be a bad idea to start the TE and RB from the same team. For a correlation matrix of all positions on the team, see here.

Why Does This Matter?

Okay, fantasy football might be similar to stock picking, so what? You are most likely to pick the best players if you go with the wisdom of the crowd (e.g., average projections) and diversify. Most projections are public information, so you might wonder whether using crowd projections gains you anything because everybody else has access to public information. However, this is also the case with stocks, and people still consistently perform best over time when they go with the market. We are the only site that creates crowd-averaged projections that are customized for your league settings. Moreover, part of drafting is picking players with the best value. That’s why we also offer value-based drafting tools for auction and snake drafts, and for identifying sleepers.

The Efficient Frontier: A Shiny App

The ultimate goal is to draft players for your starting lineup that provide the most projected points and the smallest downside risk. This is similar to the notion in investing of the efficient frontier, where your goal is to pick funds that have the greatest expected returns for the least risk (where risk is the variability in returns over time). To demonstrate the efficient frontier in investing, I created a Stock Portfolio Analysis tool in Shiny that is based on Michael Kapler’s Systematic Investor Toolbox (see his blog here). The tool downloads returns from Yahoo based on the ticker symbols you enter. Then, it calculates a correlation matrix and the efficient frontier based on funds’ historical returns, and allows you to specify expected future returns and variability to calculate an efficient frontier for future returns. It also determines the maximum Sharpe Ratio (ratio of return to risk), and the portfolio allocation at this ratio. The Stock Portfolio Analysis tool is located here:

An important caveat: I am not providing investing advice, and future returns obviously do not mirror historical returns. I just created the tool to demonstrate some of the risk and reward principles that are similar between fantasy football and investing.

How to Interpret the Graph

The graph depicts the risk vs. reward profile of different stocks/bonds and various portfolio allocations with different combinations of these funds. The x-axis is the day-to-day variability in the returns of an asset, and represents an asset’s risk (volatility). The y-axis is the annual return of an asset, and represents the asset’s reward. Each stock/bond asset has some combination of risk and reward, and is plotted with an empty circle. Often, bond index funds have lower risk and lower potential for reward (bottom left of the graph), whereas stocks tend to have a higher risk and higher potential for reward (top right of the graph).

The solid black circles indicate points along the efficient frontier. The points along the efficient frontier indicate, for a given level of return (reward), what the lowest risk is for a portfolio with some allocation of the various assets. The points along the efficient frontier, therefore, reflect the risk of the “optimal portfolio” for each level of return. The solid red circle indicates the portfolio with the highest reward-to-risk ratio (i.e., the Sharpe ratio). A table in the app indicates the portfolio allocation at the Sharpe ratio (i.e., the percentage of your portfolio that is allocated to each fund).

Conclusion

When picking stocks or fantasy players, you are best off 1) going with the wisdom of the crowd (using average projections; index funds) and 2) diversifying (picking players on different teams or, if from the same team, from positions that aren’t highly positively correlated; having different asset classes). The goal is to pick the funds and fantasy players with the highest projected returns/points and the least risk (except when drafting bench players, see here). Our apps are specifically designed to help you meet these goals to pick the best collection of funds and players.

Share this:

Related

My name is Isaac and I’m an assistant professor with a Ph.D. in Clinical Psychology. Why am I writing about fantasy football and data analysis? Because fantasy football involves the intersection of two things I love: sports and statistics. With this site, I hope to demonstrate the relevance of statistics for choosing the best team in fantasy football.

29 Comments

One question though: how correlated are players on the same team? For example, what is the covariance between a given team’s QB and RB, or QB and K?

I would definitely think that a team’s QB and WR scores would be positively correlated, since WR points (yards, TDs) are directly related to QB performance. But, performance at RB might be uncorrelated (or even better – negatively correlated!) with the QB on the same team; if the team hands off for a TD, the RB will get points but the QB will get nothing. Likewise, a team’s K might be negatively correlated with the QB on the same team; more FGs mean fewer TD opportunities.

If these positions are negatively correlated, that would help push out the efficient frontier for a given risk tolerance. Have you looked into this at all? Looking forward to hearing your thoughts!

Excellent point. Players from the same team might be uncorrelated or even negatively correlated depending on the positions (e.g., TE + RB). I updated the article to reflect your point. We haven’t looked at the weekly data yet (we’re in the process of creating the weekly tools), but I found this resource that shows the correlation matrix for all positions on the same team:

That is awesome. I just got around to visiting the site again and noticed your comment and link, and it was exactly what I was thinking about. Very interesting! I’d love to see your data when the tools are available, and I can’t wait for the upcoming season!

I’ve long been a proponent of the crowd average beating individual performance, not only in fantasy sports but even in things such as weekly game picking pools.

One of the more interesting facets of using this is not merely to be able to identify who is the best value at a point in time, but it’s also immensely useful in pre-draft strategy.

There are tons of “experts” out there who will tout strategies with regards to what picks to make in what round (from conventional wisdom such as RB/RB/WR or RB/WR/RB… to extremes like zero-RB). But these strategies have the same vulnerability as the individual projections, they rely on the accuracy of the player projections. That is, what good is going with the “right” strategy of RB/RB if it means you overvalued one or both picks.

Now here’s the fun part. While I used the Shiny app for projected points, I used ADP (widely available) for who would likely be available at each pick.

Obviously you get less repetition in the middle positions of a snake draft. Next I set up the formula to only allow combinations where you end up with 1QB, 2RB, 3WR, 1TE. And turned it loose to maximize points from each draft position.

While the results pointed at specific players, what it really did was point out which position to target (because while I would know the optimal pick given 10s of thousands of permutations), with your projections in hand I would almost always have a player at each position who should have already been taken). It led to some fascinating results, most notably a ton of “zigging when everyone else is zagging”. From the top 4 draft positions as well as 11/12, you would end up with the traditional 2RB and 1 WR in the first three rounds, but in the middle positions, you maximized projected points by getting 2WR (and sometimes 3!) with the first 3 picks.

It made for one of the least stressful drafts I’ve ever had. No worrying about position runs, or players I like being around. Your tool made it all possible. Thanks!

Hi,
I find these apps to be the best around for Fantasy Football. Have you done any analysis for other sports?
It would be ideal to create an app in which you can remove players as they are being drafted in your league and adjusts calculations on your next pick taking into consideration players in the same team and position correlation. Have you considered this? If so, is it too complicated/reliable?

Thanks for the kind thoughts and helpful suggestions. We have some thoughts about how to make the tools “dynamic” during the draft to account for who’s been drafted and who’s left, but we haven’t fully decided on an approach. One option we’re considering is a Dynamic VOR based on a positional need multiplier (see section 6: http://footballguys.com/05vbdrevisited.htm). It’s a complicated process not only mathematically but also practically to update calculations throughout the draft because that requires lots of server calls and when many users are using it simultaneously, that could crash the servers. Thoughts on what calculations you’d update throughout the draft?

I will certainly be using your auction draft app this season, since I found your site this past year and can’t get enough of it. In reference to Christian asking about removing players from the app as they get drafted, last year I used a draft app (http://jayzheng.com/ff/#/draft-aid) which made this very simple by just clicking on the players name when they are drafted. I found this to be an extremely convenient and intuitive way to do this, instead of typing in the players name.

I was thinking it would be a lot of help to update based on how many players of the same team you have on your roster and if they share bye weeks with other players, both on your roster and those who haven’t been picked. I will read up on Dynamic VOR. You should also check out http://www.nflproject.com/home.html. These guys started to uses machine learning algorithms and what I believe to be similar data analysis techniques as the ones used on this site to make predictions on NFL games. They were incredibly accurate. Maybe you can contact them and share info/techniques.

We have plans to implement Dynamic VOR—see section 6 of this article: http://footballguys.com/05vbdrevisited.htm. It has some technical challenges, though, so it’s lower on our priority list. Thanks for passing on the NFL Project info. Will look into it!

I visited the website that contains the article above and noticed they host a high-stakes fantasy football league. It is a PPR, 12 team league that allows 2 flex positions. I was wondering if you have ever participated/considered participating in this contest. It has a grand prize of $300,000 so I would assume that someone with your skills would be very interested in. You should start a thread on this site discussing strategy on that contest.

Thank you for your reply. Kapler’s version is available to everyone, I downloaded it (server.R, global.R, ui.R), modified it slightly (still leaRning R) and am using it for quite awhile. Your features are very exciting and (more) useful as far as portfolio analysis is concerned.

When it comes to the wisdom of the crowd for stocks, isn’t the market valuation significantly subjective? I don’t have solid math skills, but let me see if I can explain. If I go with the crowd to guess the weight of a cow, then I have a better chance of accuracy using its prediction than guessing the weight myself. The weight of the cow in pounds is the objective measure. With the market, the crowd not only predicts, but can actually change the weight of the cow. It’s rather like bootstrapping with stocks, the crowd both assesses and sets the market value. So with the market, is it less about accurate evaluation and more about following the money (where people are investing) when selecting a market fund that mimics the S&P.

Also, how to you find undervalued stocks if the wisdom of the crowd will always find the optimal price?

Good point and good question. I’m not a financial analyst, so I won’t provide financial advice 🙂 In agreement with your point, research has shown that the wisdom of the crowd is more accurate in the case of more objective outcomes. I don’t think many would argue that the wisdom of the crowd (i.e., the market) always reflects the optimal price (i.e., the market is not 100% efficient). For instance, some stocks are under-/over-valued and bubbles occur. Nevertheless, the market does consider expected future performance in its valuation. The broader point is that it’s quite difficult to reliably/consistently outperform the market over time. Even the vast, vast majority “experts” don’t.

Issac – thanks for the site… i was looking at the “fantasy football… like stock picking” tab and found that the link “http://fantasyfootballanalytics.net:3838/Stocks/” wasn’t working… any suggestions?
thanks.

We do not make the scripts for the Shiny app available for various reasons, including that we are incorporating others’ code. Nevertheless, it’s very easy to compute the efficient frontier in R. To compute the efficient frontier from historical data, we use the portfolioFrontier() function of the fPortfolio package. To compute the efficient frontier from expected returns and variability, we use the formulas here:http://www.calculatinginvestor.com/2011/06/07/efficient-frontier-1/

Thanks for the reply. The link you sent was helpful. I incorporated this approach and reproduced the single graph for four securities, shown by the link, using MATLAB. The code is easily extended to portfolios of any number of securities (and players).

However, I am still unable to reproduce the two graphs you have. I need more information on how your variables are defined (expected annual returns, compound annual growth, variability). I have moved forward with known definitions and can not obtain the efficient frontier curves you show.

As there is a large list of posts by the link to Michael Kapler’s Systematic Investor Toolbox, could you give a specific reference in this list that you used?

I was hoping to take a look at this tool to see if there were any applications to daily fantasy but the link seems to be broken again. Please let me know if there is a way to access that I can’t seem to find.