凯利公式期货交易:经典重温:无数期货交易员在用的神器
凯利公式期货交易:经典重温:无数期货交易员在用的神器假定赚钱 (p) 赔钱概率 (q = 1-p) 一样,均为 0.5,我们认为净赢率 (b) 为最高价 / 当前价 -1,净损失率 (c) 为 1- 最低价 / 当前价。在股票市场中,kelly formula 的形式和赌博中稍有不同,因为失败之后有一个 expected loss 我们将公式修改为 f = (bp - cq) / (bc),来做一个简单的回测。之后又专门成立了一个 hedge fund - Princeton Newport Partners. 看看这个 fund 的表现吧Kelly Formula 到底在投资中起到了哪些作用,又有哪些可以研究发掘的领域呢?Kelly Formula 在仓位控制中的应用
根据 Kelly 公式计算,我们可以建立起这样一个 pascal triangle 正反面的概率各为 50%,edge = 0.5*5-0.5 = 2 odds 为 5,最佳仓位为 40%,可以看到最终在 16 个可能出现的结果中 (4 次投掷),12.96 和 8100 出现 1 次,64.8 和 1620 出现 4 次,324 出现 6 次,16 次结果的 geometric mean 为 324 - Kelly 公式的目的正是最大化这些结果的 geometric mean。
由于 Kelly 公式着眼于长期回报率和风险的控制,所以天然就吸引投资人想要把它应用在投资当中。
比如著名的传奇数学家 Edward Thorp 读了 John Kelly 的论文之后,先是自学 Fortran 用 IBM 大型机开发了一套专门用于 21 点的算法(感兴趣的同学可以去看下电影 21,电影里的 card counting 的方法正是获得 edge 的来源),带上 John Kelly 的导师在拉斯维加斯大把吸金。
(趁机放张帅帅的 Jim Sturgess 有木有 >.<)
之后又专门成立了一个 hedge fund - Princeton Newport Partners. 看看这个 fund 的表现吧
Kelly Formula 到底在投资中起到了哪些作用,又有哪些可以研究发掘的领域呢?
Kelly Formula 在仓位控制中的应用
在股票市场中,kelly formula 的形式和赌博中稍有不同,因为失败之后有一个 expected loss 我们将公式修改为 f = (bp - cq) / (bc),来做一个简单的回测。
假定赚钱 (p) 赔钱概率 (q = 1-p) 一样,均为 0.5,我们认为净赢率 (b) 为最高价 / 当前价 -1,净损失率 (c) 为 1- 最低价 / 当前价。
如果当前价大于一年内最高价,满仓,如果当前价小于一年内最低价,空仓,其他情况使用之前得到的 f 计算出持仓比例(0-1 之间),每周调仓。
我们挑选了单只股票作回测,回测的参照物是该股票的买入持有策略(即为价格曲线),看看使用 Kelly 公式调节仓位有什么样的效果。
在此基础上,我们再尝试一些优化,
p=q=0.5 的假设太简单粗暴啦, 我们来根据历史数据统计过去一年中 5 个交易日内的涨跌概率。
加入新的标准,统计过去一年内该股票的一周最大涨跌幅,以此计算 b 和 c,得到的 f 与之前 f 的求平均。
设定止损。如果一周内跌幅超过 8%,则清仓。
看看是不是优化以后的代码会有更好的表现呢?
有兴趣的同学可以在这里克隆代码 Kelly Formula 的仓位控制(ricequant/community/topic/598/kelly-formula-简单应用)
Kelly Formula 在选股和建立投资组合方面的应用
Kelly 公式在投资组合的应用中,也经常以 f = excess return/variance 的形式出现,f 的数值越高也就是投资的价值越大:
1. 计算股票池中每只股票的 Kelly leverages 作为排序 score(这里过去一年内每日收益的 mean/var)
2. 从大到小进行排序,选出前 10 名的股票,价格在 5 日均线之上时才购买,平均购买,每月调仓。