资金管理常用方法.docx
- 文档编号:18638483
- 上传时间:2023-08-24
- 格式:DOCX
- 页数:20
- 大小:599.92KB
资金管理常用方法.docx
《资金管理常用方法.docx》由会员分享,可在线阅读,更多相关《资金管理常用方法.docx(20页珍藏版)》请在冰点文库上搜索。
资金管理常用方法
期货资金管理常用方法
一、最大亏损法
F=最大单笔亏损/平均亏损*保证金/权益
该方法较简单适用,尤其对一般的投资者来说,易于理解和操作,更重要的是该方法考虑了投资者的心理承受能力,使用该方法使得投资者在整个交易过程中能够保持一种养好的交易心态,对行情的分析和把握上更加准确合理。
二、凯利公式法
凯利公式:
F=((A+1)*P–1)/A=P-(1-P)/A
A为盈亏比,P为胜率
假设A=5,P=0.3,则F=0.16,根据历史的数据通过一定的公式来推测未来的走势,但是在实际的交易中收益情况不大可能与历史的平均水平一致的。
三、凯利公式修正法
本方法利用特定的交易方法代替历史数据方法,以得到最佳交易比例。
在kelly的修正法里假设收益比和成功比在每次交易中是变化的,这是符合日场交易的情景的。
它的结论是:
每次交易的比例都是独特的。
在计算中,Kelly修正法有两种方法:
1、估计计划的风险和收益:
F=((A1+1)*P–1)/A1
A1=A*P-(1-P)
该方法假设交易者在交易前就估计可能的风险和收益。
假设一个交易者买入一份大豆合约,可能有20元的利益和8元的风险损失,且他过去的胜率P=0.45,则盈亏比为:
A=20/8=2.5
我们根据胜率再计算收益比:
A1=胜率*盈亏比—败率=0.45*2.5—0.55=0.575
则:
F=((2.5+1)*0.45—1)/2.5=0.575/2.5=0.23or23%
2、历史收益法
该方法是通过对一系列的历史数据的统计归纳出一个最佳方法。
HPR是指在所选数据期间的收益。
HPR(I)=1+f*(-单笔收益/数据段内的最大损失)
TWR(terminalwealthrelative):
最后收益相关值。
TWR=(HPR1)*(HPR2)*(HPR3)……*(HPRn),我们将选择TWR最大的F值。
例如:
假设在五笔交易中,得到如下的收益情况如下:
+0.25,-0.35,+0.40,-0.10,+0.30;根据上述公式计算HPR:
假设f=0.1,0.25,0.35,0.40,和0.45,求TWR
根据以上结果,当F=0.40,TWR=1.33697为最大值,则F取0.40。
则在上述的情况下,资金开仓的比例为0.40。
结论
方法一较简单,适合普通投资者通过衡量最大亏损承受能力测算固定投入比例;方法二较为常用的凯利公式资金管理法,根据历史数据测算资金比例,但若选取时间段不同所得到的最终结果会有较大差别。
方法三的估计计划风险收益法考虑到了潜在的风险,风险可以根据止损方法估计,但收益值不好衡量主观性较强,较难取得准确地潜在收益风险比;历史收益法较客观,基于历史单笔统计数据衡量最佳资金比例,未来出现的风险收益情况对其结果的影响不会太大,但需跟踪最大单笔亏损值的变动对数据进行调整且计算较复杂,需要通过统计软件实现。
根据现阶段的情况,建议暂时采用方法二进行简单的资金管理,同时可用方法三结合现有各系统的测试情况进行对比,并作进一步探索。
12月27日
两年前写的东西,里面概念主要出自《资金数学管理》一书,但实验与数据都是自己做的,可以证明书里的一些观点是不错的。
有兴趣的朋友,可以看看。
资金管理
想用交易系统在市场中获利,犹如建立一个强大的国家,国家要扎稳根基(在市场中生存)并向外扩大势力(取得利润),光靠好的军队(好的胜率和盈亏比)是不够的,必须要有一个稳定的政府环境与好的经济基础(风险控制与能承受市场最大波动的资金),而后者往往是成功的关键,却被忽视。
当你的系统能提供良好的买卖信号时,该如何做资金管理呢,请往下看。
交易记录处理
要检验交易系统不在资金管理下的纯表现(进场出场上的胜率与盈亏比),不能加入仓位概念在其中,因为即使你的买卖方向信号不与历史数据过度优化匹配,但是你的仓位概念写进程序的时候,测试出来的结果,就已经是表达了:
最后测试的总利润,是因为在特定时间,特定仓位,才得到,但是,未来在特定时间,特定仓位,得到未来的利润,可能会和历史数据相差很远,再加上买卖信号本身在历史与未来的误差,我们不会得到可靠的收益结果。
然而,我们可以在研究交易信号本身时去掉仓位概念得到的结果,虽然可以肯定未来与历史会有误差,但是可以降到最小。
解决办法为,测试某品种在系统信号买卖时只交易一单元(1手、一张、100股等等)的交易结果,这里软件里费率写0,然后得到数据后,加上交易成本(佣金,滑点,如果做市商还要考虑点差)的考虑,就得到你所要的交易数据了-单元交易数据。
交易结果随机独立性(这个步骤不是太重要)
交易记录应该都是随机独立的,包括盈亏独立性和盈亏大小独立性。
这个在一般交易逻辑上,是可以假设所有交易结果都是独立的。
数学测试也可以做到:
1. 盈亏独立性
确定输赢序列是否独立。
用z检验、
Z=Z=(N*(R-.5)-X)/((X*(X-N))/(N-1))^(1/2)
where
N=Thetotalnumberoftradesinthesequence.
R=Thetotalnumberofrunsinthesequence.
X=2*W*L
W=Thetotalnumberofwinningtradesinthesequence.
L=Thetotalnumberoflosingtradesinthesequence
R从1开始记,这里只记录输赢,而不记录输赢大小,当输赢转换时,R加1,1.Youwouldthuscountthissequenceasfollows:
-++-+-++---+
12345678
这里,如果交易次数很大,则可以用vba做个循环程序,来记录R的大小
当Z为正,则赢局会产生输局,如果为负,则赢局产生赢局。
当N大于30,则run的binominal分布,可以视为正态分布,Z值代表的置信区间和正态分布一样。
2. 确定输赢大小是否独立,用相关系数解决。
补充:
如果一个输赢序列要为随机独立,则必须是输赢本身和输赢大小都为独立
R=(Σa(Xa-X[])*(Ya-Y[]))/((Σa(Xa-X[])^2)^(1/2)*(Σa(Ya-Y[])^2)^(l/2))
AveragetheX'sandtheY's(shownasX[]andY[]).
这里X是当前交易记录,Y是上一次交易记录
确定交易系统是否能盈利
得到单元交易数据后,就要估算系统是否能盈利,因为交易不像赌博,其每笔盈利和亏损是变动的,而且很多事实证明盈亏大小并不是正态分布的(大盈大亏的概率也不小),所以就没有一个数学模型来模拟交易记录了,我们能做的,只能通过现有数据来估计:
1. 统计盈利次数NE
2. 统计亏损次数NL
3. 统计平均盈利AE
4. 统计平均亏损AL
5. 计算系统算术平均收益=期望收益=AE*NE/N-AL*NL/N,N是总交易次数。
只有正期望收益的系统才能通过资金管理来提升盈利潜力,而负期望收益,不管采取什么措施,都会导致你破产。
6. 因为期望收益是算术平均,如果是正的,还不能证明系统是盈利的,因为,如果都是小赚,中亏,但是一笔大赚,就能把整个系统收益提高不少,所以要查看盈利分布和亏损分布,看看这两者是否比较平均。
再计算下最大亏损和最大盈利分别占总亏损和总盈利的百分比,期望的结果是最大亏损占总亏损比重大,而最大盈利占总盈利比重小,这说明,表现不好,主要是一笔意外巨亏,这种现象不是经常发生的,而表现好,主要是稳定的中等获利带来的,而不是少见的巨大盈利带来的。
系统如果达到这样的要求,那么你在未来稳定获利的可靠性就更大。
例图:
当然,如果是以交易为生,不管公司还是个人,交易的年收益必须要大于年度开销,因为公司和个人的成本都应该基本为常数,所以成本率比较好固定,那么只有交易系统年化收益率要大于成本率,才能被考虑使用,不然,忙了一年,虽然系统是赚钱的,但是还没大于成本,那就不好了。
利润最大化
因为期望收益是你交易无限次后的收益,但是生命有限,所以这里引入一个概念,就是几何增长平均数(G)、每次交易增长倍数(HPR)、最终总资金是初始资金的倍数(TWR),他们关系如下:
TWR=HPR1*HPR2*HPR3*…….*HPRnn是交易次数
G^N=TWR或G=TWR^(1/N)
举例:
HPR=1.1代表此次交易使总资金增长10%,HPR=0.9代表总资金减少10%
TWR=4,最终的总资金是初始资金的4倍。
我们的最终目的,就是使得TWR或G最大化,提到利润,就不得不引入风险这个概念,大多数人都认为风险越大,收益越大,但是风险和收益的关系是非线性的。
我们需要进行一个数学推导来使TWR=TWR(风险)。
如何定义风险呢?
一般我们会说,我们到了亏总资金5%的时候,止损出局,这个便是对风险的解释,即每次交易该拿总资金的多少比例来冒险。
我们知道仓位=总资产*风险/(单位合约止损*合约乘数),比如,买入一直股票,价格为13块,你有5万元,你,止损点位在12.5股票合约乘数=1(股指期货每个点值300元,那么合约乘数=300),如果做错了,你在总资金亏2%的时候,止损离场,那么仓位=50000*2%/[(13-12.5)*1]=2000股,而(13-12.5)*1就是每单元(股)亏损。
我们定义总资产=A,风险=f,单位合约止损=B,合约乘数=K,仓位=H,那么:
H=A*f/(B*K)
而我们知道:
HPR=1+H*T/A,这里定义H为仓位,T为单元交易结果,A为总资金,比如仓位为10股,单元交易结果为+0.2,总资金为10,那么HPR=1+10*0.2/10=1.2
此时,根据上述两个公式,我们就可以得到:
HPR=1+f*T/(B*K),为了使利润最大化,我们首先要使HPR最大化,因为T不是常数,这个无法避免,但是数据可得,所以我们必须固定住B*K(B按止损价定的不同而导致每笔交易的B都不同,所以B*K变动),才能去找到一个f—每次交易允许亏损占总资金比例,使得HPR最大。
我们把公式做个变异,我们在交易数据里找到最大的亏损单—即所谓的历史上最大单元亏损,来做为B*K,定义为BiggestLost=BL,此时单元最大风险也固定了。
那么我们可以想像,历史数据最大T亏损<=BL,即当亏损时,我们资金亏f*BL/BL=f,即每次交易最大本金亏损率,但是有时我们的单元止损点会比历史最大单元亏损(BL)小---交易系统发出出场信号且出场价格比强迫止损价有优势,此时HPR就少亏了点,而且,当T盈利时,HPR不会因为出场价比止损价有优势而变化,所以我们可以定义,以固定的BL替代变动的BK,得到的利润估计更保守。
(关于BL的取得,有多方面,历史最大单元交易亏损是一个重要参考,但是我们还必须要把最差的情况考虑进去,比如开盘涨跌停就可能使单元亏损超过历史最大单元亏损。
但恶劣情况不能太苛刻,否则收益潜力不能挖掘了,为了最大限度避免因市场交易制度带来的意外,我们最好选择流动性好的市场。
当然,我们还需要时时更新市场价格波动幅度(需考虑隔夜跳空风险)是否已经超过了我们的历史最大亏损程度,因为历史的价格波动可能比现在要小得多,那么我们要么放弃交易机会等到波动缩小到我们承受范围,要么把最新的更大的波动幅度代替以前的历史最大单位亏损)
既然已经找到了HPR或G或TWR与f的关系,那么f到底为多少时(我们到底需要每次交易亏损占总资金比例多大时)才能使利润(TWR)最大化呢。
这里用到一个技巧,定义0<=f<=1,且以0.01为步长从0递增到1,那么会有100种f,然后计算不同f下TWR的大小,然后会得到一个拱形的曲线,即存在一个最佳的f,使得TWR最大。
上图是在89个交易数据(15日均线系统,02-09年中证500,1手交易数据)TWR是纵坐标,f是横坐标,上图可以看出,随着交易次数变大,弧线越来越拱,而且每个弧线里,随着f从0到1,TWR从小变大再变小,就是说,在一段交易周期里,存在一个最佳的f,使得总资金增长倍数最大,当f在0.5左右时,用此交易系统,7年潜在获利潜能,有10000倍(但是这也意味着,用这个f,我们在未来必然会遭遇到亏损0.5(50%)的资金,这个对大多数人是不能接受的,这方面问题,在下面会详细论述)
衡量不同交易系统的好坏
1. 胜率:
胜率很重要,虽然很多成功投机者胜率很低,但是并不是说胜率低就好,因为他们的成功代表过去,过去的交易结果确实有几笔大的盈利,但是如果大盈利概率小的话,那么这个系统在未来会给你带来怀疑,因为可能很长一段时间,历史上出现的大盈利事件,在未来不会发生,而你要知道,我们的交易寿命是有限的。
2. 获利稳定性:
盈亏比,越大越好,这代表你的风险资金带来的收益到底如何。
我们需要在胜率和盈亏比上做权衡,胜率40%且盈亏比为3的系统比胜率10%且盈亏比为10的系统要好,因为,前者比后者有更稳定的盈利能力
3. 收益波动性:
这个代表每笔交易对本金的波动有多大影响,我们需要稳定些的,这里引入一个标准差概念SD和下面的公式:
EGM=(AHPR^2-SD^2)^(1/2),(此公式摘自资金管理数学一书,我不能证明,在无更好的公式时,只能用这个公式)。
EGM=G的估计值,G=(当前本金/最初本金)^(1/N),N是交易次数
且AHPR=HPR的数学期望=1+f*(T的期望收益)/(BL)
所以SD^2=AHPR^2-EGM^2
公式因子都是能算出的,就能得到SD,小SD的系统比大SD的系统在收益波动上要稳定
4. 本金回撤性:
即每次交易你如果亏损的话,最大亏掉多少,这里可以用前一章节的f来表示,f越小越好,但往往好的交易系统,f就越大,这在逻辑上成—好的获利能力当然更有自信去冒风险,但是,最大的亏损肯定会来的,就是来的早迟罢了,如果一个交易系统每次承担资金亏损率是80%,带来每年收益是1倍,另一个亏损资金率是5%,带来每年收益20%,我宁可选择后者。
因为从5万变到1千万,再回撤到200万,相信谁都受不了。
5. 单元交易平均几何收益:
上一章,我们看系统是否赚钱,用到了期望收益,但是,期望收益为10并不能表示比期望收益为1的系统好多少,所以期望收益不能用来比较获利系统之间的好坏。
这里引入一个平均几何收益的概念:
平均几何收益=(G-1)*(BL/f),这个代表在最小赌本的情况小,你每笔交易的获利潜力是多少。
举例,当G=1.01(平均每笔交易增加本金1%),BL=10,f=5%,那么你的最小赌本=10/5%=200,就是说,你最少用200块去交易一单元,当亏损达到单元最大亏损10的时候,你就出局,此时,你亏掉5%。
在这个例子中,你的平均几何收益=(1.01-1)*(10/5%)=2块,高的平均几何收益,获利潜力就大。
我们需要得到小f和大平均几何收益的交易系统。
风险管理1-----最佳f=99%时该怎么办?
交易系统越好,得到的f理论上也就越高,也就是说,你容许每笔最大亏损就越高,所以,在这样的情况下,你的潜在盈利提高了,但是你的最大亏损也提高了,使得即使你用好的系统,你很有破产的可能。
下面有几种尝试可能能缓解这个问题:
1. 静态ff,用全部资金来交易,但是始终固定每笔交易的ff,这ff比最佳f要小,这时,每笔交易风险始终都是ff。
这个ff怎么定?
我有下面的想法:
因为如果最佳f很大时,你的G会很大,你可以大约估计你一年能交易n次,那么,你就能估计你年化收益率=G^n-1,在最佳f下,G可能很高,比如达到80%,但是,现实点考虑,我们可能如果达到20%-50%的年化收益率就很开心了,那么就用这个标准,来去计算所需要的ff(ff不能反向求,只能用试错法,用一个ff的集合,使得你的年化收益率散落在20-50%的区间里),这时,定出一个比较小的f和比较大的年华收益率。
要定期测试下ff,看是否还能达到要求收益率,一般为3个月。
例图---静态f区间
2. 动态f,把总资金分成交易资金a%和非交易资金b%(非交易资金绝对值不变,但比例随着交易资金的变化而变化,形式可以是现金、货币基金等一些无风险无流动性障碍的资产),在交易资金里用最佳f,每笔交易风险为a%*f,如果亏损,那么交易资金就越来越少,最差情况就是把交易资金全亏完,那么本金=总资金*b%,这段时间内,绝不追加资金用来交易;如果盈利,则a%就变大,a%*f也变大,当变大到一定程度时,如果风险高过一个阀值,就重新分配资金,比例和最初分配一样。
这样,就能保留住一部分利润,而且也增加了一些交易资金绝对值。
风险管理2-静态ff与动态f的动态转换
上面这张图,我们能发现,静态ff和动态f随着时间(交易次数)增长,对总资金增长倍数的影响是不同的,从开始交易后到某个TWR临界点,静态好于动态,但越往后,动态明显会好过静态。
所以以下的步骤可以利用两者的长处:
1. 把总资金分为交易资金a%与非交易资金b%,交易资金的比例=ff/最佳f,因为静态ff始终代表一个我们能接受的每笔最大亏损率,我们为了在交易资金里使用最佳f,那么最佳f*a%=ff,所以a%=ff/最佳f。
2. 比例确定后开始交易,如果交易资金没增长或亏损,则继续用剩下的交易资金交易,而不要把非交易资金挪用;一旦交易资金开始比最初大时,开始静态ff,同时,预计那个TWR临界点,当到临界时,使用动态法。
TWR临界点算法:
TWR-N静态公式:
因为A^N=TWR,所以
N=ln(TWR)/ln(A),本金翻倍时,TWRl=2,A是静态ff时的G
在TWR-N动态公式:
与上面不同,这里是以交易资金增长为财务目的,而上面是总资金增长
N=ln(((TWR-1)/ACTV)+l)/ln(最佳f时的G),actv是交易资金比例,ln()是自然对数函数,分子是交易资金增长倍数
分子推导:
设x本金,p=actv,d=TWR,y=交易资金增长倍数
x=px+(1-p)x
dx=yx+x-px
d=y+1-p
y=(d+p-1)/p=(d-1)/p+1
TWR临界点时,动态和静态的N相等,所以
ln(TWR)/ln(A)=ln(((TWR-1)/ACTV)+l)/ln(最佳f时的G)
得出的TWR就是临界点。
如临界TWR=2,那么当本金翻倍后,运用动态最佳f资金管理方案,而之前,都是静态f资金管理方案。
一旦进入动态资金管理方案后,你的交易自己的潜力将会被充分挖掘,因为在交易资金里,运用的是最佳f。
但是同时交易资金和总资金暴露的风险也会变大,这时,需要运用风险管理1那章最后一段话的内容,设定一个阀值,这个阀值应该也从静态ff集合内挑选,取一个自己能接受的ff做为阀值。
当总资金每笔最大亏损率超过这个阀值时,就重新调配一次资金,这时的交易资金比例确定方法,和步骤1一样。
然后不断循环上述两个步骤。
小资金管理方案
对于小资金起步的交易者来说,需要有一个最低资金要求的概念,不然如果市场风险大于账户承受度,那么盲目进场将会是一个灾难。
这里涉及到历史最大资金回落,和一单位最大亏损的区别。
前者就是历史资本的最大亏损(这个数据比较难得到,因为如果考虑上述一系列资金管理的情况下,对于程序编辑将是一个考验,或者,可以手工跟踪交易记录计算,当然,要耗时间),后者就是合约乘数*最大单位合约的止损点。
最低初始本金=max(BL/最佳f,一手合约保证金+历史最大亏损),这个最低初始本金资金保证了,你在遇到灾难性本金缩小后,你还能有一手可以交易。
这里占用的仓位=1,在股票市场里,这个1手不太重要,但是在期货市场里,这个1手可能将是江山再起的保证!
当你资本大于最低初始本金时,总仓位=1+(总资金-最低初始资本)/BL,得到分数仓位时,向下取整
下一步考虑
上面只是做单一品种(市场)情况下的资金管理。
但是单一品种有一个弊端,就是如果是趋势交易者的话,一年遇不到几次行情,那么,收益率肯定会有影响,而同时交易寿命又是有限的。
那么我们需要以空间换时间,使未来的纵向交易结果尽可能多的出现在当下不同市场里,但是市场之间相关系数必须为负数的品种,不然交易正相关的品种和交易一个品种的结果是一样的。
那么如果要这么做,我们交易的是一个组合了,那么会不会出现一种组合,使利润最大化呢?
而此时的最佳f又会是什么呢?
将是下一步解决的难题。
用蒙地卡羅模擬法來看資金管理的一些模型–以我實際交易的e-miniS&P500系統為例
分類:
交易系統
2008/12/1713:
26
有些人在開發出來一套系統之後,就會開始投入資金作實際的交易了。
有關於資金管理的議題,大部分的人可能用固定資金模型(比如說三十萬台幣作一口台指期),或是用像我很久以前用的模型:
每一口所需要的保證金加上系統的maximumdrawdown來操作一口,比如說系統測試出來的maximumdrawdown是15萬台幣,那加上台指期每口的保證金8萬,就用15+8=23萬台幣來操作一口台指期商品。
然後就認為這樣的資金應該就足夠可以作長久的操作了。
但是這樣的資金管理方式其實還是有斷頭(破產)風險的。
尤其是對於使用順勢系統的人而言,順勢系統的特性就是輸小贏大,在市場沒有出現趨勢的時候,系統可能會被巴來巴去。
這時候會出現很多筆小額的虧損,然後等到趨勢發生的時候,再來狠狠的贏上一筆大金額的獲利。
這時候有一個問題會產生:
如果我們的資金在很多筆小額虧損的時候就全部輸光光的話,怎麼辦?
答案其實也很簡單:
就是斷頭(破產)而已。
如果準備的資金不夠充足的話(<=這句話是重點),很可能在趨勢還沒發生的時候,我們就已經沒錢可以繼續賭下去了。
更讓人吐血的是,市場通常在我們斷頭破產以後就出現一個完美的大趨勢。
這時候我們就只能看著市場噴出的K線圖在牆角哭泣而已。
接下來可能會有人問:
那我到底應該準備多少資金來作交易才足夠?
這裡跟各位報告一個方法,可以用蒙地卡羅模擬的方法來看每種資金管理的方式,對於我們的最終財產和破產風險(riskofruin)的影響會是如何。
蒙地卡羅模擬法的作法是:
採用交易系統所測試出來的每一筆輸贏資料,經過亂數的挑選,去模擬未來實際交易時所可能會產生的資金曲線(equitycurve)。
然後搭配不同的資金管理模型,來看最終財產和破產風險的機率百分比。
這裡就以我實際交易的e-miniS&P500系統來作例子說明(系統在這篇文章有說明:
這個系統過去11年的equitycurve長的是像這樣的,看起來應該還可以。
在貼出文章以後也賭贏了一些錢,:
這個系統一些基本的測試資料和假設如下:
歷史測試時間:
1997–2008年,約11年的時間
Maxdrawdown(Intra-day):
約USD$17,000
交易保證金:
約USD$6,000(接下來我們假設交易過程中,如果資金輸到比一口的保證金還要少而無法開倉的話,就斷頭破產出場
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 资金 管理 常用 方法