AHA


Total Posts: 1 
Joined: Jul 2017 


Hi I'm new to the forum and I have some questions about how you would go about applying Kelly sizing to an equity portfolio.
I understand that in the limit of a small edge and if µ is small relative to σ the trading fraction according to the Kelly criterion is approximately f=return over risk free rate/variance.
Most value PMs come up with some form of ex ante expected return and variance. Would you simply use these estimates for sizing?
The position size would then just be f in percent terms? i.e if f = 5 for Stock A and f=2 for Stock B with a 100k account, one would invest .05*100k = 5k in stock A and .02*95k = 1.9k in Stock. Or would it be 5k in stock A and 2k in Stock B.
I'm skeptical to see that that the order of investments can change the dollar amounts so dramatically. If we use the former then we will never invest all of our capital. The latter may imply lots of leverage or dry powder depending on how many potential investments we can identify.
Most of my f's come along the .53.0 range and their sum is approximately 50, ideally I would like to deploy all of my capital or even use some leverage.
Any thoughts or papers would be much appreciated. 



AIC


Total Posts: 167 
Joined: Apr 2008 


For multiple bets, Markowtiz mean variance may be a better way to handle it. 
Train yourself to let go of everything you fear to lose Master Yoda 


>For multiple bets, Markowtiz mean variance may be a better way to handle it. Though Markowitz and Kelly are based on different assumptions, numerically they often deliver very similar results: Max Dama, Kelly Criterion Position Sizing == MeanVariance Optimization
In either case, neither Kelly nor Markowitz can be considered as "do as I say" approach. The reason is, inter alia, extreme sensitivity of both methods to the parameter estimation errors.
Here is an Rscript to make a simple Monte Carlo experiment: #####set the "genuine" market parameters####################### sigma1 = 0.4 #vola of the 1st asset sigma2 = 0.3 #..of the 2nd asset rho = 0.7 #correlation coefficient, must be in [1, 1] mu1 = 0.12 #expected return of the 1st asset mu2 = 0.09 #..of the 2nd asset rfr = 0.01 #riskfree return N_SIM = 1000 #number of simulations ######## theoretical solution with "genuine" market parameters ######## library("mvtnorm") #multivariate Normal distribution library("MASS") #[generalized] matrix inverse covMatrix < matrix(c(sigma1*sigma1, sigma1*sigma2*rho, sigma1*sigma2*rho, sigma2*sigma2), 2,2) vectorOfMeanReturns = c(mu1, mu2) H=chol(covMatrix) print( "Optimal portfolio with TRUE market parameters" ) ginv(t(H)%*%(H)) %*% (vectorOfMeanReturns  rfr) ################################################################################ ######## solution with market parameters, estimated from "historical" data ##### ################################################################################ #### three trials. ### NB! All trials have identical input data but pretty different output! ### for(trial in 1:3) { historicalData = mvrnorm(n=N_SIM, vectorOfMeanReturns, covMatrix) empSigma1 = sd(historicalData[,1]) empSigma2 = sd(historicalData[,2]) empRho = cov(historicalData[,1], historicalData[,2]) / empSigma1 / empSigma2 empiricalCovMatrix = matrix(c(empSigma1*empSigma1, empSigma1*empSigma2*empRho, empSigma1*empSigma2*empRho, empSigma2*empSigma2), 2,2) empricialVectorOfMeanReturns = c(mean(historicalData[,1]), mean(historicalData[,2])) H=chol(empiricalCovMatrix) print( paste("Optimal portfolio with EMPIRICAL market parameters  TRIAL ", trial) ) print( ginv(t(H)%*%(H)) %*% (empricialVectorOfMeanReturns  rfr) ) }
If you want to dig deeply have a look at : my paper on Kelly Criterion 
www.yetanotherquant.com  Knowledge rather than Hope: A Book for Retail Investors and Mathematical Finance Students 

