here - The Harvard Sports Analysis Collective

advertisement
Using the NFL Gambling Market as an Alternative Asset Class
Kevin Meers, Sam Waters, and Zack Wortman
Statistics 107
Spring 2013
A particular focus of modern portfolio theory involves diversifying
risk through identifying and investing in assets that are uncorrelated
with one another. In this pursuit, many investors have explored socalled “alternative asset classes” that are not traded on major stock
markets. In this paper, we identify the market for gambling on
games in the National Football League (NFL) as one such
alternative asset. By modeling various betting outcomes, we
develop multiple betting algorithms that provide returns from 7% to
20%, depending on what level of risk the investor would like to
assume. These returns are, in theory, totally uncorrelated with
market risk, and therefore valuable to any portfolio manager;
further, they appear to dominate multiple market indices.
Table of Contents
Introduction
2
Methodology
6
Results
8
Discussion
12
Tables
16
Figures
22
References
25
Appendix
26
I. Introduction
Literature Review
A particular focus of modern portfolio theory involves diversifying risk
through identifying and investing in assets that are uncorrelated with one
another. Given the centrality of traditional securities markets in the contemporary
investment world and the increasing interdependence of the global economy, an
asset that is uncorrelated with worldwide economic performance could provide
especial utility in risk diversification. While the performance of individual
securities may depend on various asset-specific or industry-specific risks,
virtually all can be affected by market volatility, and this shared risk factor
problematizes efforts to minimize risk in a given portfolio.
This shared association of stocks and bonds with market volatility
incentivizes a search for alternative asset classes, and a variety enjoy heavy
investment. Collectibles, from baseball cards to Impressionist paintings, are
among the most public examples, and commodities and real estate can also offer
investments that are (ideally) completely uncorrelated with market returns. In this
project, we have chosen to explore the betting market of the National Football
League as an alternative asset.
The idea of sports gambling as an alternative asset class has existed for
at least forty-five years, since Lyn Pankoff’s essay “Market Efficiency and
Football Betting.” Pankoff hypothesized that, in sports betting, the collective
judgments of individual bettors contained inefficient patterns that could be
exploited for consistent individual profit and that betting odds were not
necessarily a good barometer of intrinsic value (Pankoff 1968). In Pankoff’s view,
football betting provided a unique lens for the analysis and understanding of
market efficiency, as it allowed particular ease of access in searching for patterns
and trends, given the clarity and availability of information (Pankoff 1968).
A generation later, Joseph Golec and Maurry Tamarkin published “The
Degree of Inefficiency in the Football Betting Market” in 1991. In their paper,
Golec and Tamarkin identify several reasons why they hypothesize that analysis
of football betting could produce a system that could yield consistent returns.
First, much of the information regarding professional football games is inherently
public, with various statistical measures of player and team performance (as well
as additional factors like playing surface, kickoff time, etc.) easily accessible to all
prospective bettors (Golec and Tamarkin 311). Second, the market is sufficiently
large for robust statistical analysis, with many possible wagers and many bettors
per wager (Golec and Tamarkin 312). Finally, the mix of professional and
amateur bettors in the market suggests both that consistently profitable betting
systems can exist and that the market is likely inefficient (Golec and Tamarkin
312).
Ultimately, the authors conclude that significant and easily identifiable
inefficiencies do exist in the NFL betting market, with bettors tending to
underestimate the impact of home-field advantage and overestimate the impact
of streaks and recent results (Golec and Tamarkin 312). Golec and Tamarkin
note that both of these inefficiencies seemed to be disappearing, however, and
future researchers or prospective systemized bettors would need to identify new,
less obvious inefficiencies in the market.
The notion of sports betting as an alternative asset class has gained
traction since the publication of Joe Peta’s Trading Bases: A Story About Wall
Street, Gambling, and Baseball, in which Peta outlines his creation of a baseball
betting fund that produced a forty percent return in its first year by exploiting
similar statistical inefficiencies to those that we attempted to identify in this
project. Peta emphasizes a conceptual transition from viewing systemized sports
betting as a form of entertainment gambling to a form of legitimized strategic
trading (Peta 2012). Much as former Oakland Athletics General Manager Billy
Beane utilized the capabilities of sabermetrics to more accurately assess value in
baseball player performance, Peta uses those same capabilities to find value in
the betting market. Peta uses rigorous statistical analysis to, in his own words,
“quantify luck” (Peta 2012).
Gambling Terminology
There are two types of wagers one can traditionally make on an NFL
game: the spread and the over-under. The spread is the amount of points “given”
to the away team in order to draw equal volumes of bets on both teams. For
example, if the spread is minus three, Vegas “gives” the away team three points,
so the home team has to win the real game by more than three to “cover” and
win the bet. An over-under simply states the predicted total points scored in a
game by both teams combined. If the over-under is seventy, and the teams
combine to score more than seventy, over would be the winning bet; if they score
under seventy, under would be the winning bet. If, in the last two examples, the
home team won by exactly three and the teams combined to score exactly
seventy points, both bets would be a push and all bets would be nullified.
Given this structure, we made four different types of bets when backtesting the strategy we devised using our model. These bets were “over”,
“under”, “cover”, and “not cover”.
Data
In our attempts to create a model that outperformed Las Vegas betting
lines, we identified several factors that we felt might yield exploitative patterns,
including the day of the week games were played, the playing surface (grass or
turf), and the stadium type (outdoor, dome, or retractable roof).
In addition to these background characteristics, our model depended
heavily on a metric developed by Football Outsiders called Defense-adjusted
Value Over Average (DVOA). DVOA aggregates the degree of success that a
team had on all of its plays from scrimmage compared to the success of the
average team on those plays. In evaluating each play’s success, it controls for
the situation (down, distance, time, etc.) and opponent quality of that play. DVOA
essentially describes the past performance of a given team at any point in the
season, which we can use to predict how that team will perform in future games.
We collected data on 5159 regular season games from the 1991 through
the 2011 NFL seasons from www.Pro-Football-Reference.com and
www.FootballOutsiders.com to use in our model. These data include the Vegas
spread, over-under, the result of the spread, the result of the over-under, the field
type, stadium type, time of the game, week number, and offensive, defensive,
and special teams DVOA for both the home and away teams.
Even armed with these data, we anticipated that it would be extremely
difficult to create a model that could consistently outperform betting lines set by
professionals. We hoped, however, that the high proportion of football bets that
are made by amateurs (or professionals who do not use statistical models) might
create inefficiencies in the market that would be fairly easy to identify and
significant enough to achieve healthy returns.
II. Methodology
The first component of this study uses R to model the probability of
potential outcomes for lines and over-unders of all NFL regular season games
from 1991 to 2011 using logistic regression. The second part conducts a
simulation in R in which we place bets on all of these games based on the
model’s predictions.
We model four different binary outcomes: total points scored over the
number set by Vegas (one if so, zero if not), total points scored under the number
set by Vegas (one if so, zero if not), the home team does cover the spread set by
Vegas (one if so, zero if not), and the home team does not cover the line set by
Vegas (one if so, zero if not). We model each of these four outcomes separately
rather than using two models with binary outcomes of over and under and cover
and not cover because of the possibility of a third outcome in each case, “push”,
in which the actual outcome falls right on the line or over-under set by Vegas so
that the bet is nullified and money is returned.
For each of the four outcomes, we investigate three different model types.
All are logistic regressions. The first uses background characteristics which
include week (1-17), field surface (grass or not grass), dome type (dome or not
dome), roof type (retractable or not retractable), four dummy variables indicating
scheduling outside of the traditional Sunday afternoon time slot (Saturday,
Sunday Night, Monday, and Thursday), the Vegas spread, and the Vegas overunder. The second model includes these background characteristics along with
Football Outsiders efficiency metrics. These metrics are offensive, defensive, and
special teams DVOA for both the home and away teams. The third model
includes all of the variables from the second model, along with additional
interaction terms for all of DVOA variables.
The betting simulation places $100 bets on all outcomes (over, under,
cover, not cover) for which the model imputes a probability over 50%. We then
calculate profits and expenditures for all bets made on each type of outcome to
find our total returns across all games. We run the same simulation 16 times,
with each simulation progressively cutting out an additional week in the beginning
of the season. (So in the first simulation we make bets starting in Week 2, in the
second we start in Week 3, in the third we start in Week 4, etc.) This enables us
to see how returns and risk vary as we wait longer into each season to start
making our bets. We reset the model for each of these simulations to only
include the weeks being examined. We also examine profits in only recent
seasons to see if the model’s returns hold up in more recent seasons to confirm
that the market’s inefficiencies are still exploitable.
III. Results
Since we model four dependent variables (probability of over, under,
cover, or not cover) separately, and we do so for 16 sets of weeks (Week 2-17,
Week 3-17, Week 4-17,…, Week 17), we produced dozens of models over the
course of our analysis. Rather than display and evaluate the results for every
single regression, we will examine in detail only the four full models including
interaction terms for each of the four dependent variables over the entire season
(Weeks 2-17). These models are generally similar to those produced after
subsetting the data by week and are more comprehensive than the models
excluding DVOA terms, so explaining these models should convey the necessary
understanding of all models used.
P(Over)
The results of this regression can be found in Table 1. This model
estimates the probability of an over on the over-under line Vegas sets, given the
background and DVOA variables for the teams involved for all weeks. The only
regressors that were significant at the 5% level were away team offensive DVOA
and home team special teams DVOA in primetime. The coefficients on both are
positive, indicating that the expected probability of an over increases as away
offensive DVOA increases and as home special teams DVOA increases. It
appears that Vegas does not account enough for better away offenses and home
special teams in its expectation for total scoring.
It is important to remember that these results do not mean that these
variables are positively associated with higher-scoring games. It means they are
positively associated with higher-scoring games in comparison to the
expectations set by Vegas’ over-under. This distinction is key and applies to all of
the over-under and spread models used in this study.
P(Under)
The results of this model are displayed in Table 2. This model estimates
the probability of an under on the over-under line Vegas sets, given the
background and DVOA variables for the teams involved for all weeks. Overunder and away team offensive DVOA are significant at the 5% level. The
coefficient on over-under is positive, indicating that as the number of total points
that Vegas expects goes up, the probability of an under goes up. In other words,
Vegas is setting its over-unders too high, on average. The coefficient on away
offensive DVOA is negative, so the probability of an under increases as away
offensive productivity decreases. As in the P(Over) model, Vegas underestimates
the impact of the away offense on total points scored.
P(Cover)
The results of this analysis are found in Table 3. This model estimates the
probability of the home team covering the spread that Vegas sets, given the
background and DVOA variables for the teams involved for all weeks. The
dummy variables for Monday and Thursday night games are significant at the 1%
level with positive coefficients. This indicates that the home team is more likely to
cover the spread on Monday and Thursday night games.
The interaction variable between home defensive DVOA and away
offensive DVOA is significant at the 5% level with a positive coefficient, but its
interpretation is complex because a more negative defensive DVOA implies a
stronger defense. Thus the probability of a cover increases when home
defensive DVOA and away offensive DVOA share the same sign; this
relationship implies a mismatch: either the home defense is strong and the away
offense is weak or the home defense is weak and the away offense is strong.
The probability of a cover decreases when there is no mismatch, i.e. when either
both the offense and defense are strong or both are weak.
P(Not Cover)
The results of this model are available in Table 4. This model estimates
the probability of the home team failing to cover the spread that Vegas sets,
given the background and DVOA variables for the teams involved for all weeks.
Over-under and away team offensive DVOA are significant at the 5% level. The
dummy variables for Monday and Thursday night games are significant at the 1%
level with negative coefficients. This indicates that the home team’s probability of
not covering the spread decreases on Monday and Thursday night games. (This
wording is confusing but necessary in order to interpret the model explicitly and
account for pushes.) This is basically the same as saying that the home team
covers more often on Monday and Thursday nights, which corroborates the
results from regression III.
In order to predict outcomes when betting only on a certain subset of
weeks, we repeated the above modeling techniques while excluding data from
the weeks for which we were not betting. These models are too numerous too
display and analyze in full, but the general framework for analyzing these models
is the same as seen above.
After modeling all four outcomes over all of the necessary timeframes, we
calculated returns and standard deviation for each of those timeframes. Figures 1
and 2 provide a graphical representation of how risk and return vary depending
on when we start placing bets, and are explicitly stated in Table 5. Figure 1
shows how expected returns increase as the bettor delays his initial week of
betting longer. The solid line represents mean expected return, while the dotted
lines represent 67% and 95% confidence bands.
Figure 2 plots risk against return with each dot representing a different
week at which we began betting. We can see here that risk and return increase
together in approximately linear fashion as we move deeper into the season. A
bettor who starts betting in week two can expect a mean return of 7.0% and risk
of 5.1%, while a bettor who starts in week 17 can expect a mean return of 20.3%
and risk of 16.4%, so return and risk can vary greatly depending on how long the
bettor waits to collect information and make his bets. Separate simulations for
games played in 2000 and later, 2009 and later, and only 2011 produced similar
results, indicating that these types of returns persist over time, and that the
football betting market was still exploitable as of 2011.
While these returns are in theory completely uncorrelated with the overall
market, it is worth examining whether or not they actually are. To do so, we
downloaded data on the S&P 500 since 1991 and correlated its yearly returns
with the returns of each of our betting strategies. These correlations can be found
in Table 6. The highest correlation is only 0.31, and most are much closer to
zero.
IV. Discussion
The viability of sports betting as an alternative class has gained traction in
recent years within the body of extant scholarly literature. Its lack of correlation
with the overall market presents a unique opportunity for risk diversification in
portfolio construction and possible inefficiencies in the betting market indicate the
potential for healthy returns. We used logistic regression to model the outcomes
of over-unders and spreads for NFL games, in an attempt to exploit these
potential inefficiencies. We were able to predict outcomes with enough accuracy
to earn healthy returns when back-testing our model, using Football outsiders
per-play efficiency metrics and background variables like field surface and kickoff
time.
Mean returns depended on which week the bettor started implementing
the model, with risk and return increasing as he waited longer to start. This is not
surprising, because as we get deeper into the season, we collect a larger sample
of information about each team. A team’s DVOA is a more accurate reflection of
its true talent level in Week 17 than it is in Week 2. Returns were higher later in
the season because of the model’s improved accuracy, but this came at the cost
of higher standard deviation because funds were necessarily concentrated
among a smaller number of bets.
This trend allows for the creation of 16 different portfolios, each containing
bets starting in a different week. Portfolios with bets starting in later weeks have
higher expected returns and higher expected risk, while portfolios with bets
starting in earlier weeks have lower expected returns and lower expected risk.
The decision on which of these betting portfolios to invest in depends on the
utility function of the individual investor. A more risk-averse investor would start
betting at the beginning of each season, while a less risk-averse investor would
wait to start betting until the latter half of the season. Either type of investor could
incorporate his preferred betting strategy into his overall portfolio, using the
football betting market’s independence from the overall market to diversify risk in
his overall portfolio.
One issue that cuts into the returns discussed above is what sports books
refer to as the vigorish, or the vig. This is the fee that the book collects from the
gamblers on each bet. Pinnacle, the top sports book, charges a vig of 5% on the
amount expended for most bets. This dampens the impact of our returns
discussed above, though one would still expect positive returns. Reasons for
optimism remain, however, for the prospects of consistent healthy returns when
using sports betting as an alternative asset class.
Our model, while effective, is relatively simple compared to what a
professional bettor could construct with more time and information. We used only
background characteristics and one efficiency metric to model outcomes, but a
wealth of data exists that could improve the model. Using scouting grades,
individual player performance metrics, and individual player interaction terms
would improve the model’s accuracy greatly. Incorporating news regarding player
injuries, suspensions, playing time, and trades, would greatly improve the
model’s efficacy as well.
We might also produce a more accurate model if predicting betting
outcomes in the playoffs. This paper demonstrates that returns increase as we
wait longer into the season to start placing bets. Waiting until the playoffs to start
betting allows even more time to pass and for us to collect even more
information. The unique conditions of playoff football might also produce
additional exploitable inefficiencies that would boost returns. It is encouraging
that such a simple model yielded positive returns, when further research could
yield a significantly more accurate model with much greater expected returns.
Further, our method’s risk and return significantly outperforms and
dominates the market indices “SPY” (the S&P 500) and “QQQ” (NASDAQ); it our
algorithm almost dominates “TIP” (10-year Treasury Bonds), but TIP’s yearly
returns have a standard deviation a half percentage point lower than our Week 2
and forward betting returns, so our strategy does not fully dominate TIP (though it
does provide five percentage points higher return for that additional half
percentage point of risk). These results are summarized in Figure 3.
While there is significant room for improvement in our methods and
models, our results clearly show that the NFL gambling market fulfills the
requisite conditions for a viable alternative asset class. Returns based on NFL
gambling are largely uncorrelated with major market returns. NFL betting returns
are robustly positive, and we have provided limited evidence that our algorithms
may outperform these market indices. We therefore highly recommend that
portfolio managers invest significantly more time and energy into engineering
models that beat Vegas and arbitraging the significant inefficiencies that we have
found in this market.
Table 1
̂ =
P(Over)
Table 2
̂
P(Under)
=
Table 3
̂
P(Cover)
=
Table 4
̂
P(Not
Cover) =
Table 5
Bets Starting
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10
Week 11
Week 12
Week 13
Week 14
Week 15
Week 16
Week 17
Return
7.00%
7.84%
7.11%
7.74%
8.01%
8.55%
8.41%
8.63%
9.21%
8.96%
9.42%
12.10%
12.16%
13.15%
15.02%
20.25%
Standard Deviation
5.11%
6.93%
6.73%
5.65%
6.44%
7.16%
6.53%
6.14%
7.07%
9.13%
8.77%
9.62%
10.11%
12.61%
11.10%
16.44%
Table 6
Bets Starting
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10
Week 11
Week 12
Week 13
Week 14
Week 15
Week 16
Week 17
Correlation with S&P 500 Yearly Returns
-0.03
0.14
0.20
0.31
0.24
0.11
0.03
0.01
0.17
0.26
0.19
-0.01
-0.06
0.06
0.02
0.20
Figure 1
Figure 2
Figure 3
V. References
Works Cited
Golec, Joseph, and Maurry Tamarkin. "The Degree of Inefficiency in the Football
Betting Market." Journal of Financial Economics 30.2 (1991): 311-23. Web.
5 May 2013.
Pankoff, Lyn D. "Market Efficiency and Football Betting." The Journal of Business
41.2 (1968): 203. Print.
Peta, Joe. Trading Bases: A Story about Wall Street, Gambling, and Baseball
(not Necessarily in That Order). New York: Dutton, 2013. Print.
Data
www.FootballOutsiders.com
www.Pro-Football-Reference.com
Software
R
Microsoft Excel
Appendix I
mydata=read.csv("/Users/kevinmeers/Documents/Harvard/Junior
Year/Spring/Stat 107/PROJECT/data.csv")
primetime=mydata$Saturday+mydata$Sunday.Night+mydata$Monday+mydata$
Thursday
mydata=cbind(mydata,primetime)
adv.data=subset(mydata,Week>1)
# Model Over/Under, P(Over)
# Simple
OU.O=glm(mydata$Over~mydata$Week+mydata$Grass+mydata$Dome+mydat
a$Retractable.Roof+mydata$Saturday+mydata$Sunday.Night+mydata$Monday
+mydata$Thursday+mydata$Spread+mydata$Over.Under,family=binomial("logit
"))
summary(OU.O)
# FO Stats
OU.O2=glm(mydata$Over~mydata$Week+mydata$Grass+mydata$Dome+myda
ta$Retractable.Roof+mydata$Saturday+mydata$Sunday.Night+mydata$Monda
y+mydata$Thursday+mydata$Spread+mydata$Over.Under+mydata$Home.O.D
VOA+mydata$Home.D.DVOA+mydata$Home.ST.DVOA+mydata$Away.O.DVO
A+mydata$Away.D.DVOA+mydata$Away.ST.DVOA,family=binomial("logit"))
summary(OU.O2)
# Full P(Over) Model
OU.O3=glm(mydata$Over~mydata$Week+mydata$Grass+mydata$Dome+myda
ta$Retractable.Roof+mydata$Spread+mydata$Over.Under+mydata$Home.O.D
VOA+mydata$Home.D.DVOA+mydata$Home.ST.DVOA+mydata$Away.O.DVO
A+mydata$Away.D.DVOA+mydata$Away.ST.DVOA+mydata$Home.O.DVOA*m
ydata$Away.D.DVOA+mydata$Home.D.DVOA*mydata$Away.O.DVOA+mydata
$Home.ST.DVOA*mydata$Away.ST.DVOA+mydata$Home.O.DVOA*mydata$A
way.D.DVOA*mydata$primetime+mydata$Home.D.DVOA*mydata$Away.O.DV
OA*mydata$primetime+mydata$Home.ST.DVOA*mydata$Away.ST.DVOA*myd
ata$primetime,family=binomial("logit"))
summary(OU.O3)
P.Over=fitted(OU.O3)
adv.data=cbind(adv.data,P.Over)
# Standard bets: $100 on everything
# Calculating "Over" returns
n=length(adv.data$Week)
bet.o=rep(NA,n)
profit.o=c()
for(i in 1:n){
bet.o[i]=sum(adv.data$P.Over[i]>0.5)
if(bet.o[i]==1 && adv.data$Over[i]==1){
profit.o[i]=100}
else if(bet.o[i]==1 && adv.data$Push[i]==1){
profit.o[i]=0}
else if(bet.o[i]==0){
profit.o[i]=0}
else {profit.o[i]=-100}}
profits.o=sum(profit.o)
wins.o=length(profit.o[profit.o==100])
win.pct.o=wins.o/sum(bet.o)
# Calculating "Under" returns
bet.u=rep(NA,n)
profit.u=c()
for(i in 1:n){
bet.u[i]=sum(adv.data$P.Under[i]>0.5)
if(bet.u[i]==1 && adv.data$Under[i]==1){
profit.u[i]=100}
else if(bet.u[i]==1 && adv.data$Push[i]==1){
profit.u[i]=0}
else if(bet.u[i]==0){
profit.u[i]=0}
else {
profit.u[i]=-100}}
profits.u=sum(profit.u)
wins.u=length(profit.u[profit.u==100])
win.pct.u=wins.u/sum(bet.u)
# Calculating "Cover" returns
bet.c=rep(NA,n)
profit.c=c()
for(i in 1:n){
bet.c[i]=sum(adv.data$P.Cover[i]>0.5)
if(bet.c[i]==1 && adv.data$Cover[i]==1){
profit.c[i]=100}
else if(bet.c[i]==1 && adv.data$Push[i]==1){
profit.c[i]=0}
else if(bet.c[i]==0){
profit.c[i]=0}
else {
profit.c[i]=-100}}
profits.c=sum(profit.c)
wins.c=length(profit.c[profit.c==100])
win.pct.c=wins.c/sum(bet.c)
# Calculating "No Cover" returns
bet.nc=rep(NA,n)
profit.nc=c()
for(i in 1:n){
bet.nc[i]=sum(adv.data$P.N.Cover[i]>0.5)
if(bet.nc[i]==1 && adv.data$Not.Cover[i]==1){
profit.nc[i]=100}
else if(bet.nc[i]==1 && adv.data$Push[i]==1){
profit.nc[i]=0}
else if(bet.nc[i]==0){
profit.nc[i]=0}
else {profit.nc[i]=-100}}
profits.nc=sum(profit.nc)
wins.nc=length(profit.nc[profit.nc==100])
win.pct.nc=wins.nc/sum(bet.nc)
# Summary
profit.t=profit.o+profit.u+profit.c+profit.nc
expended.t=(bet.o+bet.u+bet.c+bet.nc)*100
adv.data=cbind(adv.data,profit.t,expended.t)
yr.profit=c()
yr.expended=c()
yr.return=c()
for(i in 1991:2011){
yr.profit[i-1990]=sum(adv.data$profit.t[adv.data$Year==i])
yr.expended[i-1990]=sum(adv.data$expended.t[adv.data$Year==i])
yr.return[i-1990]=yr.profit[i-1990]/yr.expended[i-1990]
}
yrreturn1=yr.return
week1=mean(yr.return)
week1s=sd(yr.return)
# Summary and Graphics
weeklyreturns=c(week1,week2,week3,week4,week5,week6,week7,week
8,week9,week10,week11,week12,week13,week14,week15,week16)
weeklysd=c(week1s,week2s,week3s,week4s,week5s,week6s,week7s,we
ek8s,week9s,week10s,week11s,week12s,week13s,week14s,week15s,we
ek16s)
x=c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)
low=weeklyreturns-weeklysd
high=weeklyreturns+weeklysd
lowest=weeklyreturns-1.96*weeklysd
highest=weeklyreturns+1.96*weeklysd
par(xpd=FALSE)
plot(x,weeklyreturns,type="l",xlab="Week",ylab="Return",main="
Returns By Week",ylim=c(-0.1,0.6))
lines(x,low,col="blue",lty=2)
lines(x,high,col="blue",lty=2)
lines(x,lowest,col="red",lty=2)
lines(x,highest,col="red",lty=2)
abline(h=0)
legend("topleft",legend=c("Mean Return","67% Confidence
Interval","95% Confidence
Interval"),col=c("black","blue","red"),lty=c(1,2,2))
# Market Comparison
getSymbols("QQQ",from="1991-01-01")
getSymbols("SPY",from="1991-01-01")
getSymbols("TIP",from="1991-01-01")
SP=as.numeric(yearlyReturn(SPY))
NQ=as.numeric(yearlyReturn(QQQ))
TY=as.numeric(yearlyReturn(TIP))
mean(SP)
mean(NQ)
mean(TY)
sd(SP)
sd(NQ)
sd(TY)
means=c(mean(SP),mean(NQ),mean(TY))
sds=c(sd(SP),sd(NQ),sd(TY))
cor(yrreturn1,SP)
cor(yrreturn2,SP)
cor(yrreturn3,SP)
cor(yrreturn4,SP)
cor(yrreturn5,SP)
cor(yrreturn6,SP)
cor(yrreturn7,SP)
cor(yrreturn8,SP)
cor(yrreturn9,SP)
cor(yrreturn10,SP)
cor(yrreturn11,SP)
cor(yrreturn12,SP)
cor(yrreturn13,SP)
cor(yrreturn14,SP)
cor(yrreturn15,SP)
cor(yrreturn16,SP)
# Graphics
library(calibrate)
fit=lm(weeklyreturns~weeklysd)
plot(weeklysd,weeklyreturns,xlab="Standard
Deviation",ylab="Return",main="NFL Betting vs. Market
Returns",type="n",xlim=c(0,0.4),ylim=c(0,0.2))
points(sds,means,type="p",col=c("red","blue","darkgreen"),pch=
19)
points(weeklysd,weeklyreturns,type="p")
textxy(weeklysd,weeklyreturns,labs=x,cx=.75)
lines(weeklysd,fitted(fit),col="black")
legend("topright",legend=c("Betting Returns by Starting
Week","S&P 500 Yearly Returns","NASDAQ Yearly Returns","10Year Treasury
Bonds"),col=c("black","red","blue","darkgreen"),pch=c(1,19,19,
19))
Download