Kelly bet sizing
Forfatter
Humility Consulting
Sidst opdateret
10 år siden
Licens
Creative Commons CC BY 4.0
Resumé
This document derives Kelly's rule for optimal bet sizing.
\documentclass{tufte-handout}
\usepackage{amsmath}
%\setlength{\thinmuskip}{6mu minus 2mu} %3mu
%\setlength{\medmuskip}{8mu plus 4mu minus 8mu} %4mu plus 2mu minus 4mu
%\setlength{\thickmuskip}{10mu plus 10mu minus 5mu} %5mu plus 5mu
%\thinmuskip = 4mu minus 2mu
%\medmuskip = 6mu plus 4mu minus 8mu
%\thickmuskip = 8mu plus 10mu minus 5mu
\usepackage{microtype}
\usepackage{booktabs}
\usepackage{units}
\usepackage{hyperref}
% Set up the images/graphics package
\usepackage{graphicx}
\setkeys{Gin}{width=\linewidth,totalheight=\textheight,keepaspectratio}
\graphicspath{{graphics/}}
\title{Kelly bet sizing\thanks{as discussed in p.\@ 74 of \cite{Brown} }}
\author{---Humility Consulting}
% \usepackage{fancyvrb}
% \fvset{fontsize=\normalsize}
% Small sections of multiple columns
\usepackage{multicol}
% Provides paragraphs of dummy text
\usepackage{lipsum}
% % These commands are used to pretty-print LaTeX commands
% \newcommand{\doccmd}[1]{\texttt{\textbackslash#1}}% command name -- adds backslash automatically
% \newcommand{\docopt}[1]{\ensuremath{\langle}\textrm{\textit{#1}}\ensuremath{\rangle}}% optional command argument
% \newcommand{\docarg}[1]{\textrm{\textit{#1}}}% (required) command argument
% \newenvironment{docspec}{\begin{quote}\noindent}{\end{quote}}% command specification environment
% \newcommand{\docenv}[1]{\textsf{#1}}% environment name
% \newcommand{\docpkg}[1]{\texttt{#1}}% package name
% \newcommand{\doccls}[1]{\texttt{#1}}% document class name
% \newcommand{\docclsopt}[1]{\texttt{#1}}% document class option name
\begin{document}
\maketitle% this prints the handout title, author, and date
\begin{abstract}
\noindent This document derives Kelly's rule for optimal bet sizing.
\end{abstract}
%\printclassoptions
\newthought{Here's the game.} You have a \$10,000 stake. You face a series of 60 wins and 40 losses. Their order is chosen by me. You choose each bet's size. After you tell me the size, I get to spend, or not, one of my 40 kills---if I have any left. Your win is my loss, and vice-versa. After 100 rounds, we're done.
%\bigskip \bigskip
If you always bet the same fixed percentage of your stake, then\sidenote{since multiplication is commutative} I have no strategic role to play in determining your overall takeaway. I can't affect your outcome if you play that way.
\bigskip
\section{The Math}
I'll denote by $a$ the aggressiveness of your bets. If you win a bet then $\mathtt{stake}_{t+1} = \mathtt{stake}_t \cdot (1+a)$ and if you lose a bet then $\mathtt{stake}_{t+1} = \mathtt{stake}_t \cdot (1-a)$. A win, then a loss, turns out the same as a loss, then a win:
\vspace{-1em}
\begin{align*}
\mathtt{stake}_{t+2}
&= (1+a) \cdot (1-a) \cdot \mathtt{stake}_t \leavevmode\\
&= (1-a) \cdot (1+a) \cdot \mathtt{stake}_t.
\end{align*}
\noindent
In these terms, Kelly's question is:
what is the optimal%
\sidenote[][-1cm]{assuming, to remove my strategic input, that it's the same fraction $a$ every time}
aggressiveness $a^*$ to \textbf{maximise your final takeaway}%
\sidenote{i.e., $\displaystyle \arg \max_{\{a\}}
\mathtt{stake}_{100} \ \overset{def}{=} \ a^*$}?
\bigskip
\subsection{The Answer}
\begin{quotation}
Twenty percent is the perfect amount to bet. Betting a higher or a lower fraction means doing worse. %This is not probably or only theoretically true. %This is mathematical fact. It really works, in practice as well as theory.
\ldots\
While there are people who dislike the Kelly criterion for various reasons, no intelligent person disputes this aspect of the result.
---Brown, p.\@ 76
\end{quotation}
\begin{table*}
\footnotesize{
\url{http://books.google.com/books?id=eu925DG2xeYC&lpg=PP1&dq=red-blooded\%20risk&pg=PT60#v=snippet&q=mathematical&f=false}
}
\end{table*}
\bigskip \bigskip
\subsection{Solving for optimal aggressiveness}
% \begin{figure}[h]%
% \includegraphics[width=\linewidth]{tumblr_inline_ml2smif1GK1qz4rgp.jpg}
% \caption{The product rule says $$D(f \cdot g) = D(f) \cdot g + f \cdot D(g).$$ \textbf{More:} \url{http://isomorphism.es/tagged/product+rule}
% }
% \label{fig:product rule}
% \end{figure}
This can be solved with calculus 101.
Since the order doesn't matter and there's a fixed number of wins and losses,
we can write the following formula for your total winnings at 60/40 odds:
\[
\label{eqn:main}
\$1000 \cdot (1+a)^{60} \cdot (1-a)^{40}\tag{take}
\].
To find the optimal aggressiveness,
set the derivative of equation \eqref{eqn:main},
with respect to $a$, equal to zero.%
%
\sidenote[][-1 cm]{(There are further conditions to make sure this works, which I'm leaving out.)}
%
The symbolic derivative of $$(1+a)^{60} \cdot (1-a)^{40}$$ with respect to $a$ is:
\[\label{eqn:D}
60 \cdot (1+a)^{59} \cdot (1-a)^{40} \ \ -
\ \ \ 40 \cdot (1+a)^{60} \cdot (1-a)^{39}
\tag{D}
\].
Setting \eqref{eqn:D} = 0
tells me a property that is true
of the optimal $a^*$. Moving things around, that property can be restated as:
$$60 \cdot { (1-a^*)^{40} \over (1-a^*)^{39} }
\ \ = \
40 \cdot { (1+a^*)^{60} \over (1+a^*)^{59} }$$
which reduces to the much nicer $$60 \cdot (1-a^*) \ \ = \ 40 \cdot (1+a^*).$$
\marginnote[-5.5 cm]{The product rule says $D(f \cdot g) = D(f) \cdot g + f \cdot D(g).$}
% \textbf{More:} \url{http://isomorphism.es/tagged/product+rule}
\bigskip
\noindent
Solving then for the optimal aggressiveness $a^*$: \marginnote[+1.4 cm]{Thanks, Artemy!}
%
%
\begin{align}
60-60a^* &= 40 + 40 a^* \\
20 &= 100 a^*
\end{align}
\noindent
which is what Brown gets: 20\% = $1 \over 5$ for the optimal $a^*$ against these odds.
\section{Brown's conclusion}
The ``Ed Thorp takeaway'' is that risk management does not mean taking no risks. You can't sit on your hands. Bill Gross says to ``avoid portfolio mush'', which is similar \& related.
Contrast this to ``lazy CAPM'' style thinking.
When you have an edge (like a 60/40 edge) you need to exploit it. Betting less than 20\% of your stake against 60/40 odds is\sidenote{In this model.} suboptimal. Less aggressive betting does not move you along an optimal frontier; it moves you \emph{off} the optimal frontier.
%\newpage
% The Tufte-\LaTeX\ document classes define a style similar to the style Edward Tufte uses in his books and handouts. Tufte's style is known for its extensive use of sidenotes, tight integration of graphics with text, and well-set typography. This document aims to be at once a demonstration of the features of the Tufte-\LaTeX\ document classes and a style guide to their use.
% \section{Page Layout}\label{sec:page-layout}
% \subsection{Headings}\label{sec:headings}
% This style provides \textsc{a}- and \textsc{b}-heads (that is,
% \Verb|\section| and \Verb|\subsection|), demonstrated above.
% The Tufte-\LaTeX\ classes will emit an error if you try to use
% \linebreak\Verb|\subsubsection| and smaller headings.
% % let's start a new thought -- a new section
% \newthought{In his later books},\cite{Tufte2006} Tufte
% starts each section with a bit of vertical space, a non-indented paragraph, and sets the first few words of the sentence in \textsc{small caps}. To accomplish this using this style, use the \Verb|\newthought| command:
% \begin{docspec}
% \doccmd{newthought\{In his later books\}, Tufte starts\ldots}
% \end{docspec}
% \subsection{Sidenotes}\label{sec:sidenotes}
% One of the most prominent and distinctive features of this style is the extensive use of sidenotes. There is a wide margin to provide ample room for sidenotes and small figures. Any \Verb|\footnote|s will automatically be converted to sidenotes.\footnote{This is a sidenote that was entered using the \texttt{\textbackslash footnote} command.} If you'd like to place ancillary information in the margin without the sidenote mark (the superscript number), you can use the \Verb|\marginnote| command.\marginnote{This is a margin note. Notice that there isn't a number preceding the note, and there is no number in the main text where this note was written.}
% The specification of the \Verb|\sidenote| command is:
% \begin{docspec}
% \doccmd{sidenote[\docopt{number}][\docopt{offset}]\{\docarg{Sidenote text.}\}}
% \end{docspec}
% Both the \docopt{number} and \docopt{offset} arguments are optional. If you
% provide a \docopt{number} argument, then that number will be used as the
% sidenote number. It will change of the number of the current sidenote only and
% will not affect the numbering sequence of subsequent sidenotes.
% Sometimes a sidenote may run over the top of other text or graphics in the
% margin space. If this happens, you can adjust the vertical position of the
% sidenote by providing a dimension in the \docopt{offset} argument. Some
% examples of valid dimensions are:
% \begin{docspec}
% \ttfamily 1.0in \qquad 2.54cm \qquad 254mm \qquad 6\Verb|\baselineskip|
% \end{docspec}
% If the dimension is positive it will push the sidenote down the page; if the
% dimension is negative, it will move the sidenote up the page.
% While both the \docopt{number} and \docopt{offset} arguments are optional, they
% must be provided in order. To adjust the vertical position of the sidenote
% while leaving the sidenote number alone, use the following syntax:
% \begin{docspec}
% \doccmd{sidenote[][\docopt{offset}]\{\docarg{Sidenote text.}\}}
% \end{docspec}
% The empty brackets tell the \Verb|\sidenote| command to use the default
% sidenote number.
% If you \emph{only} want to change the sidenote number, however, you may
% completely omit the \docopt{offset} argument:
% \begin{docspec}
% \doccmd{sidenote[\docopt{number}]\{\docarg{Sidenote text.}\}}
% \end{docspec}
% The \Verb|\marginnote| command has a similar \docarg{offset} argument:
% \begin{docspec}
% \doccmd{marginnote[\docopt{offset}]\{\docarg{Margin note text.}\}}
% \end{docspec}
% \subsection{References}
% References are placed alongside their citations as sidenotes,
% as well. This can be accomplished using the normal \Verb|\cite|
% command.\sidenote{The first paragraph of this document includes a citation.}
% The complete list of references may also be printed automatically by using
% the \Verb|\bibliography| command. (See the end of this document for an
% example.) If you do not want to print a bibliography at the end of your
% document, use the \Verb|\nobibliography| command in its place.
% \section{Figures and Tables}\label{sec:figures-and-tables}
% Images and graphics play an integral role in Tufte's work.
% In addition to the standard \docenv{figure} and \docenv{tabular} environments,
% this style provides special figure and table environments for full-width
% floats.
% Full page--width figures and tables may be placed in \docenv{figure*} or
% \docenv{table*} environments. To place figures or tables in the margin,
% use the \docenv{marginfigure} or \docenv{margintable} environments as follows
% (see figure~\ref{fig:marginfig}):
% \begin{marginfigure}%
% \includegraphics[width=\linewidth]{helix}
% \caption{This is a margin figure. The helix is defined by
% $x = \cos(2\pi z)$, $y = \sin(2\pi z)$, and $z = [0, 2.7]$. The figure was
% drawn using Asymptote (\url{http://asymptote.sf.net/}).}
% \label{fig:marginfig}
% \end{marginfigure}
% \begin{Verbatim}
% \begin{marginfigure}
% \includegraphics{helix}
% \caption{This is a margin figure.}
% \end{marginfigure}
% \end{Verbatim}
% The \docenv{marginfigure} and \docenv{margintable} environments accept an optional parameter \docopt{offset} that adjusts the vertical position of the figure or table. See the ``\nameref{sec:sidenotes}'' section above for examples. The specifications are:
% \begin{docspec}
% \doccmd{begin\{marginfigure\}[\docopt{offset}]}\\
% \qquad\ldots\\
% \doccmd{end\{marginfigure\}}\\
% \mbox{}\\
% \doccmd{begin\{margintable\}[\docopt{offset}]}\\
% \qquad\ldots\\
% \doccmd{end\{margintable\}}\\
% \end{docspec}
% Figure~\ref{fig:fullfig} is an example of the \Verb|figure*|
% environment and figure~\ref{fig:textfig} is an example of the normal
% \Verb|figure| environment.
% \begin{figure*}[h]
% \includegraphics[width=\linewidth]{sine.pdf}%
% \caption{This graph shows $y = \sin x$ from about $x = [-10, 10]$.
% \emph{Notice that this figure takes up the full page width.}}%
% \label{fig:fullfig}%
% \end{figure*}
% \begin{figure}
% \includegraphics{hilbertcurves.pdf}
% % \checkparity This is an \pageparity\ page.%
% \caption{Hilbert curves of various degrees $n$.
% \emph{Notice that this figure only takes up the main textblock width.}}
% \label{fig:textfig}
% %\zsavepos{pos:textfig}
% \setfloatalignment{b}
% \end{figure}
% Table~\ref{tab:normaltab} shows table created with the \docpkg{booktabs}
% package. Notice the lack of vertical rules---they serve only to clutter
% the table's data.
% \begin{table}[ht]
% \centering
% \fontfamily{ppl}\selectfont
% \begin{tabular}{ll}
% \toprule
% Margin & Length \\
% \midrule
% Paper width & \unit[8\nicefrac{1}{2}]{inches} \\
% Paper height & \unit[11]{inches} \\
% Textblock width & \unit[6\nicefrac{1}{2}]{inches} \\
% Textblock/sidenote gutter & \unit[\nicefrac{3}{8}]{inches} \\
% Sidenote width & \unit[2]{inches} \\
% \bottomrule
% \end{tabular}
% \caption{Here are the dimensions of the various margins used in the Tufte-handout class.}
% \label{tab:normaltab}
% %\zsavepos{pos:normaltab}
% \end{table}
% \section{Full-width text blocks}
% In addition to the new float types, there is a \docenv{fullwidth}
% environment that stretches across the main text block and the sidenotes
% area.
% \begin{Verbatim}
% \begin{fullwidth}
% Lorem ipsum dolor sit amet...
% \end{fullwidth}
% \end{Verbatim}
% \begin{fullwidth}
% \small\itshape\lipsum[1]
% \end{fullwidth}
% \section{Typography}\label{sec:typography}
% \subsection{Typefaces}\label{sec:typefaces}
% If the Palatino, \textsf{Helvetica}, and \texttt{Bera Mono} typefaces are installed, this style
% will use them automatically. Otherwise, we'll fall back on the Computer Modern
% typefaces.
% \subsection{Letterspacing}\label{sec:letterspacing}
% This document class includes two new commands and some improvements on
% existing commands for letterspacing.
% When setting strings of \allcaps{ALL CAPS} or \smallcaps{small caps}, the
% letter\-spacing---that is, the spacing between the letters---should be
% increased slightly. The \Verb|\allcaps| command has proper letterspacing for
% strings of \allcaps{FULL CAPITAL LETTERS}, and the \Verb|\smallcaps| command
% has letterspacing for \smallcaps{small capital letters}. These commands
% will also automatically convert the case of the text to upper- or
% lowercase, respectively.
% The \Verb|\textsc| command has also been redefined to include
% letterspacing. The case of the \Verb|\textsc| argument is left as is,
% however. This allows one to use both uppercase and lowercase letters:
% \textsc{The Initial Letters Of The Words In This Sentence Are Capitalized.}
\bibliography{sample-handout}
\bibliographystyle{plainnat}
\end{document}