如何利用凯利公式控制股票仓位

2024-05-05 21:34

1. 如何利用凯利公式控制股票仓位

在我们去进行股票,期货投资的时候,经常听到有人说到金字塔加仓法,当亏损的时候,每次亏损都加大我们的仓位到原来的总仓位的两倍,这样,一方面可以摊薄我们的平仓持仓成本,另一方面,当行情反转的时候,我们就更容易回本,甚至收回收益;而当盈利的时候,我们去增加仓位就需要小心,可以每次增加仓位为原来的 1/2,因为股价高的时候,它回落起来也更容易,因此,我们以比较小的仓位去进行加仓,可以避免我们的持仓成本太高。
乍一听,是这么一回事,而且不少我们投资者也会采用这样的办法去应对自己的投资策略。但是,这样做是否合理,能不能从数学,从数据模拟上针对我们这样的投资策略去进行一个合理的分析呢?这里,笔者试图以掷硬币为例,来介绍鞅与反鞅策略。对于掷硬币,这里做一个假定,假如正面为赢,反面为输,赢的话,可以得到多一枚硬币,输的话,付出的硬币就此输去。
鞅策略
有一种投注方法,当我们每次输了的时候,那么我们下次就加倍投注,譬如,第一次如果投入一枚硬币,那么下一次我们就投入两枚硬币,赢了的话,我们不仅可以将输了的一枚硬币成本覆盖,还能多赚一枚;如果还是输的话,那么下次我们投注 4 枚硬币,赢了的话,不仅可以覆盖我们付出的 3 枚硬币,还能多赚一枚硬币;以这 样的策略一直往下,如果能赢,我们总是能多赢一枚硬币。
但是,这样的策略隐含了一个假设,那就是它默认我们的资金是无限的,当连续输的情况出现的时候,是否还坚持这样的策略,哪怕我们仍然想坚持,但是本金可能不足够了。譬如,假设我们有100 枚初始硬币,经过这样的 掷硬币**,如果出现连续7次皆负的情况,我们的本金就全部输掉了。也许你会认为,连续7次硬币都出现反面概率不大,但是,当我们参与这样的**次数足够多的时候,连续7次 或更多次硬币出现的概率会变得非常大,譬如,掷一百次硬币实验中,连续7次或更多次出现反面的概率是:

当连续掷硬币次数变得足够多的时候,譬如 1000 次,这个概率就会变得非常大,简单起见,这里笔者直接利用计算机模拟,连续进行 100 次这样的掷 1000 次硬币实验,看连续出现 7 次或以上硬币为正面概率多大?
测试代码

(图宽客在线quant.la)
实际输出为 990,也就是说,测试 1000 次,出现连续 7 次正面或以上的次数有990次,也就说说破产概率有 0.99,这样的概率, 一般人估计都承受不了。
反鞅策略
有一种叫反鞅策略的投注方法,在赢的时候,适当加注,在输的时候,则适当减注,譬如,无论盈亏,每次**都是目前总金额的 1%, 这样,当盈利的时候,我们加注总金额的 1%,相应的加注比初始加注要更多,而当亏损的时候,我们加注的金额也相比初始金额要小,那么,这样去投注效果会如何呢?下面的代码试着用 1% 的风险 度进行 1000 次掷硬币**,初始资金为 100元。

(图宽客在线quant.la)


(图宽客在线quant.la)
实验结束后,笔者这里最后得到的资金是 702.9877 元, 感兴趣的读者可以自己去尝试一下。多次尝试的结果不同,但是一般而言,都是正收益。
不同风险度,鞅策略与反鞅策略的威力比较
为了更近一步说明鞅与反鞅策略的威力,这里做一个实验,假设有 11 个**者,他们对于风险偏好不同,第一个投资者比较谨慎,他能容忍的风险度为 1%, 第二个为 2%, 第三个为 3%, 第四个为 4%, 第五个为 5%, 第六个为 10%, 第七个为 15%, 第八个为 20%, 第九个为 30%, 第十个为 40%, 第十一个为 50%, 这样的**者参与掷硬币**, 如果说赢了,他们可以收获 1.25 元,如果输了,他们付出的硬币就此失去,那么,经过 100 次这样的**,利用两种不同的**策略,他们最终收益如何,对应的风险度如何变化,笔者这里利用代码进行了一些实验,代码与结果如下:
针对鞅策略,不同风险度,经过 1000 次**,代码与结果:



反鞅策略,风险倍率设为 1.0,不同风险度对应的情况



凯利公式
从上面关于鞅与反鞅策略的比较我们可以发现,控制好风险,对应每次投入仓位的控制,对于我们最终的收益影响非常巨大,但是,我们也发现,风险小的话,对应的收益却往往不如风险比较大的投资策略。那么,有没有一种在风险和收益之间平衡的投资策略呢?
其实是有的,一个比较著名的理论上最佳投注比例公式,叫做凯利公式,可以作为我们投资**的一个参考方式,笔者这里再次赘言,对凯利公式进行简要介绍。
假设有一个赌局,每投入 1,有 p 的概率获得额外正收益 W ,有 q=1-p的概率获得额外负收益-L, 每次投入比例为 x, 收益为 f(x),目标是期望收益最大化。

因此,当我们知道了赔率,胜率,完全可以利用凯利公式对我们的投资进行指导,去获得更多的收益。譬如,读者可能已经发现了,在我们采用反鞅策略去进行**的时候,一开始风险加大的时候,收益变多;但是超过某个阈值的时候,很容易就破产,这里,我们采用凯利公式计算一下,在我们之前举例的情况下,投注最佳比例是多少?
在示例中,掷硬币,每猜对一次的概率都是 0.5, 猜对了赢得 1.25 元,输了就投入全部没有,因此,我们有 b=\frac{W}{L} = \frac{1.25}{1} = 1.25, p, q均为 0.5,L=1, 因此 x=(1.25*0.5 - 0.5)/1.25/1=0.1,从我们实验的结果可以看到,确实,当风险度为 0.1 的时候,收入最多,与我们之前实验结果相符。
讨论
知道了凯利公式,也许会有读者会想到,通过凯利公式,完全可以指导我们去做投资,譬如,股票市场,和**差异也不算很大,甚至有人说,股票市场就是一个大赌场。但是,当读者真的想套用凯利公式的时候,会发现有很大的困难,困难来自于投资的胜率和赔率的不确定性。当我们去投资某支股票的时候,是赚是亏,赚多少,亏多少,并没有一个确定的值,一个耗时耗力的做法是去做仿真交易或者小资金去投资,根据一段时间后统计投资成功率的结果来决定之后投资比例。但是,一方面这样的做法相当耗时,另一方面,不同时期,股票市场风格差异,按照彼时投资结果去作为此时投资结果的参考,彼时投资结果是否能正确反应当前市场的风格,可能我们心里要打一个问号了。那这时候可能读者就会问,那我们去了解凯利公式有什么用呢?此时,程序化交易的优势也就体现出来了。当我们的投资理念确定好之后,用代码将其建模并回测,完全可以在历史的不同时间段内进行回测,得到不同市场风格下,策略的胜率和赔率情况,之后,当确定回测结果没有其他问题的时候,我们就可以按照最佳的投资比例去控制我们利用该策略去投资股票市场的仓位,以期得到最佳的回报。
即便如此,直接套用凯利公式,可能依然是不合适的,在任何时候,我们都需要将风险的意识放在最前面,风险占据的权重可能在我们投资决策中,占据的比例比收益更大,以比较小的风险作为投资决策,可能会更合适。凯利公式考虑的是理论上的胜率赔率,实际情况可能会更差,当考虑到手续费,滑点,回测与实盘其他差异后,实际情况后比回测差基本上是百分百的,因此,我们是不是应该用相比凯利公司更小的风险度作为我们投资的比例呢?
最后,强烈推荐《资金管理方法及其应用》-- 安德烈 昂格尔,如果读者有时间,有兴趣, 强烈推荐大家去仔细研读参考书籍,对于风险控制,仓位管理,作者给了很好的介绍。另外,海龟交易法的仓位管理,读者如果阅读了本文再去看它的仓位管理方式,也许会有更大的收获。

如何利用凯利公式控制股票仓位

2. 如何使用凯利公式管理仓位?

一、凯利公式 
  
 凯利公式由John L.Kelly.Jr于1956年发表在《贝尔系统技术期刊》上,用于计算特定赌局中的下注比例,以使用户的资金增长率达到最大化。
  
  凯利公式有几个特点 
  
  1、凯利公式必须是建立在多次重复,大数满足的前提下 
  
  2、成功率是固定的 
  
  3、盈利数是固定的 
  
 凯利公式的原始表达式如下:
  
  (2) 毛赔率 
  
 毛赔率指包含本金的赔率。比如单次下注1元,赌输时损失1元,赌赢时获得3元(包含下注的1元)。
  
 则本次赌局的毛赔率为3:1,净赔率为2:1,净利润为2元。
  
  (3) 应用举例 
  
 假设有一场赌局,每次下注的胜率为60%,赌输时损失全部下注金额,赌赢时可获得3倍的下注金额(含下注金额)。
  
 请问每次应下注多大金额,才能使资金的增值速度最快?
  
 在这场赌局中,胜率 p=60% ,毛赔率 k=3 ,代入凯利公式计算,可求得最佳下注比例:f* = 40%
  
 即每次拿剩余资金的40%下注,可使资金的增值速度最快。
  
  (1) 凯利变形式 
  
 由上述分析可知 净赔率 = 毛赔率 - 1 ,现设赌局的净赔率为 b ,则 b=k-1 ;
  
 设赌局输掉的概率为: 1-p 。
  
 将以上变形式代入 f* = (kp-1) / (k-1),化简得到凯利公式的等价式如下:
  
  (2) 应用举例 
  
 期货市场为例,有一个投资机会,盈利的概率为p=30%,b=3,我们应该拿多少资金来建仓呢?
  
 f1 =6.7%
  
 有一个投资机会,盈利的概率为p=70%,b=5,我们应该拿多少资金来建仓呢?
  
 f2 =64%
  
 假设有一个投资机会,止盈(Win)W=10%,上损(Loss)L=20%,盈利的概率为p=70%,我们应该拿多少资金来建仓呢?
  
 在这笔投资中,胜率 p=70% ,净赔率 b=0.5 (b=W/L),代入公式 f =(bp-q)/b 计算:f3 =10%
  
  (3) 仓位计算公式 
  
 凯利公式的本质是对风险的管理, f=10% *表示我们应该用剩余资金的10%去冒险,即止损金额应为剩余资金的10%。
  
 根据公式 冒险资金 = 仓位 * 止损百分比 可知:
  
 仓位 = 冒险资金 / 止损百分比
  
 因此,这笔投资我们的仓位应为:M=f*/L=50%
  
 我们将 b=W/L 代入仓位计算公式:M=f*/L,化简后如下:
  
 代入公式验证一下,结果仍然是 50% 。
  
  (4) 凯利公式与杠杆 
  
 由于凯利公式计算的是冒险资金的比例,因此,在盈利期望值较大或止损百分比较小的情况下,可以会出现仓位大于100%的情况。
  
 举例:现有一个投资机会,胜率为60%,止损为10%,止盈为10%。
  
 代入公式 (pW-qL)/WL计算,得到最佳仓位M=200%。
  
 根据凯利公式计算,这笔投资应该使用剩余资金的20%冒险,但由于止损百分比为10%,所以仓位应为200%。
  
 理论上,可以借钱建仓或使用杠杆。
  
  温馨提示:珍爱生命,远离杠杆! 
  
  二、实施难点: 
  
  1、很难做到每次投资成功率固定。 
  
 因为任何投资都有一定的风险,我们甚至连去 做这件事一开始的成功率是多少都不懂,更无法去固定成功率了。比如你今天吃饭噎死的概率是多少,你能知道吗?那你去买股票或者买期货,这次下单成功盈利的概率是多少你能保证吗?当然是很难的,我们就算用历史数据做出一个概率分布,做出统计,但是那并不是固定的成功率,那只是在一个置信区间下的成功概率,他一样不是100%固定的,而凯利公式却是百分百固定的。
  
  2、很难做到每次盈利数固定。 有些人说,我每次设置一个止盈不可以吗?比如我就设置一个10个点就止盈,反正每次盈利最多就是10个点,但是你能保证你每次都能赢到吗?假如你浮亏了呢?你确定你有足够大量的资金可以扛住单子吗?所以你的盈利数也是不确定的,甚至你设置了一个止盈以后,行情直接反向飞奔,你拦都拦不住,结果你直接被打爆仓,当然如果你是买股票的话,那就是万一你在中石油的最高点买入,结果现在依旧当股东,或者你是买其他股票,直接被退市了。所以没有办法保证每次盈利数都是固定的。
  
  3、更难做到说你可以多次重复的大数满足。 因为你连盈利都无法保证,那么你想多次重复大数满足是很难的,那些可以在股票期货市场一直活着,活几十年的人,为什么觉得他们厉害,是因为他们满足了大数,所以他们厉害。可以在大数之下还没被淘汰,自然有可圈可点的地方,可是就好像做期货,很多投资者过来,3个月就死翘翘了,能有几个可以活几十年,而股票方面,多数人也无非是当股东,能在股票市场长存的又何其少。所以要满足大数,那这句话翻译一下,就是你得一直活在这个市场,别被淘汰哦。
  
  三、结论: 
  
  1   期望值为正时,凯利公式是在赌徒免于破产的情况下,最快速增加资产的仓位控制;(我理解为低位重仓) 
  
  2   期望值为零与负时,停止下注;(我理解期望值为零即为价值中枢) 
  
  3   相同期望值时,提高系统的胜率可以提高最大仓位,提高资产增长率;(仓位的控制重要) 
  
  4   凯利公式应用于股票和期货市场时,由于市场状态的不同,而不能使用过于激进的凯利公式计算仓位;(理论的局限性风险) 
  
  5   通过改进或者降低凯利公式,将其应用于股票和期货市场。(模型优化) 
  
 
  
  
  拓展阅读 
  
  神奇的财富公式:凯利公式详解,仓位控制的利器 
  
  凯利公式是啥?按这个炒股能成巴菲特?如何分配手里的钱进行最优投资,李永乐老师告诉你 
  
  神奇的财富公式——凯利公式 
  
 END.
  
 大家好,我是阮建清,目前已经实现财务自由,希望我的文章能帮助更多朋友实现财务自由。

3. 如何使用凯利公式管理仓位?

  本文由“币嗨Bihi内容合伙人计划”赞助 
    (1) 凯利公式 
   凯利公式由John L.Kelly.Jr于1956年发表在《贝尔系统技术期刊》上,用于计算特定赌局中的下注比例,以使用户的资金增长率达到最大化。
   凯利公式的原始表达式如下:
    其中  p  代表胜率,  k  代表毛赔率。 
    (2) 毛赔率 
   毛赔率指包含本金的赔率。比如单次下注1元,赌输时损失1元,赌赢时获得3元(包含下注的1元)。
   则本次赌局的毛赔率为3:1,净赔率为2:1,净利润为2元。
    (3) 应用举例 
   假设有一场赌局,每次下注的胜率为60%,赌输时损失全部下注金额,赌赢时可获得3倍的下注金额(含下注金额)。
   请问每次应下注多大金额,才能使资金的增值速度最快?
   在这场赌局中,胜率 p=60% ,毛赔率 k=3 ,代入凯利公式计算,可求得最佳下注比例:f* = 40%
   即每次拿剩余资金的40%下注,可使资金的增值速度最快。
    (1) 凯利变形式 
   由上述分析可知 净赔率 = 毛赔率 - 1 ,现设赌局的净赔率为 b ,则 b=k-1 ;设赌局输掉的概率为 q ,则 q=1-p 。
   将以上变形式代入 f* = (kp-1) / (k-1),化简得到凯利公式的等价式如下:
    其中  p  代表赌赢率,  q  代表赌输率,  b  代表净赔率。 
    (2) 应用举例 
   假设有一个投资机会,止盈(Win)W=10%,上损(Loss)L=20%,盈利的概率为p=70%,我们应该拿多少资金来建仓呢?
   在这笔投资中,胜率 p=70% ,净赔率 b=0.5 (b=W/L),代入公式 f =(bp-q)/b 计算:f =10%
    (3) 仓位计算公式 
   凯利公式的本质是对风险的管理,  f  =10%*表示我们应该用剩余资金的10%去冒险,即止损金额应为剩余资金的10%。
   根据公式 冒险资金 = 仓位 * 止损百分比 可知:
   因此,这笔投资我们的仓位应为:M=f*/L=50%
   我们将 b=W/L 代入仓位计算公式:M=f*/L,化简后如下:
    其中  p  代表胜率,  q  代表败率,  W  代表止盈百分比,  L  代表止损百分比。 
   代入公式验证一下,结果仍然是 50% 。
    (4) 凯利公式与杠杆 
   由于凯利公式计算的是冒险资金的比例,因此,在盈利期望值较大或止损百分比较小的情况下,可以会出现仓位大于100%的情况。
   举例:现有一个投资机会,胜率为60%,止损为10%,止盈为10%。
   代入公式 (pW-qL)/WL计算,得到最佳仓位M=200%。
   根据凯利公式计算,这笔投资应该使用剩余资金的20%冒险,但由于止损百分比为10%,所以仓位应为200%。
   理论上,可以借钱建仓或使用杠杆。
    温馨提示:珍爱生命,远离杠杆! 
    量化交易究竟有多暴利? 
    从赌徒到量化投资,他用一个凯利公式,碾压了赌场和华尔街! 

如何使用凯利公式管理仓位?