2016-04-17

一些关于交易策略的计算

考虑一个交易策略.

有Winning的概率获得Return的收益.
同时有1-Winning的概率获得Lose的收益

那么进行一次交易后的
Cash_1 = Cash_0 * (1+Return)*Winning*(Realize_0) + Cash_0 * (1-Lose)*(1-Winning)*(1-Realize_0)
其中Realize_0为实际发生的是Return的收益还是Lose的收益.
即 Realize_0 = {0,1}

推广下就是
Cash_{n+1} = Cash_0 * \prod_i^n ( (1+Return)*Winning*Realize_i) +(1-Lose)*(1-Winning)*(1-Realize_i) )
令Cash_0 = 1
->
Cash_{n+1} = \prod_i^n ( (Winning+ Return*Winning)*Realize_i + (1-Lose)*(1-Winning) - (1-Lose)*(1-Winning)*Realize_i )
->
Cash_{n+1} = \prod_i^n (Winning+ Return*Winning - (1-Lose)*(1-Winning))*Realize_i + (1-Lose)*(1-Winning)

对于给定策略来说,Winning Return 和Lose都是一个常数.

A = (Winning+ Return*Winning - (1-Lose)*(1-Winning))
B = (1-Lose)*(1-Winning)
则有
Cash_{n+1} = \prod_i^n A*Realize_i+B

由于Realize_i的取值为离散的1和0.
考虑让n=p+q,其中p为取值1的数量,q为取值0的数量.
则有
Cash_{n+1} = ((A+B)^p) * (B^q)
->
Cash_{n+1} = ((1+Return)*Winning)^p) * ((1-Lose)*(1-Winning))^q

考虑Winning=0.5,Return = Lose = k的情况.
->
Cash_{n+1} = ( (1+k)^p*(1-k)^q )/2^n

由于Winning为0.5,也就是说当n->\infty的时候p=q
->
Cash_{n+1} = (1-k^2)^(n/2) / 2^n
->
Cash_{n+1} = \sqrt{ ((1-k^2)/4)^n }

在这种条件下,要有实际意义的盈利空间就意味着
Cash_{n+1} > 1
->
\sqrt{ ((1-k^2)/4)^n } > 1
->
((1-k^2)/4)^n > 1
->
(1-k^2)/4) > 1
->
3+k^2 < 0 但由于k>0
->
3+k^2 > 3
与需要满足的条件矛盾.

也就是说,在50%胜率,且单次交易盈亏幅度相同的情况下.
随着交易次数的增加,收益率是趋向0的.

这个跟直觉上可能有点冲突.

对于给定的50 50胜率的重复实验来说,其期望应该是
E=1+Return-Lose
当Return=Lose的时候
E=1即不变的.

但这里隐含的条件是每次执行策略都是相互独立/完全相同的初始条件的.

对于实际上的操作来说,每次的策略执行的Cash_i是不同的,且依赖于上一次的结果.
所以,对于这种类型的交易策略来说,并不能直接套用这类期望计算.

一个较为直观的解释是.
假设胜率为50%,收益率为正负10%.
那么对于两次分别正负的策略执行来说,就有可能存在
1.1*0.9 = 0.99

虽然收益率的幅度相同,但是由于基数不同,所以导致了实际并不为一的情况.
而且就这种情况来说,要使得收益为1.
1.1*x=1
->
x=0.909

换句话来说,在这种胜负均等的简单情况下,也要求正收益率要高于负收益率.
如果考虑实际的市场波动情况的话,结果可能更复杂.

考虑
Cash_{n+1} = ((1+Return)*Winning)^p) * ((1-Lose)*(1-Winning))^q
当n->\infty
Winning = p/(p+q)
也就是p的出现次数跟总次数的比值会趋近于Winning.
->
Cash_{n+1} = (1+Return)^p * p^p * (p+q)^(-p) * (1-Lose)^q * q^q * (p+q)^(-q)
->
Cash_{n+1} = ( (p+p*Return)^p * (q-q*Lose)^q ) / (p+q)^(p+q)
令Return=x,Lose=0,p+q=n
->
Cash_{n+1} = (p+p*x)^p *q^q / ((p+q)^(p+q))
->
Cash_{n+1} = ((p+p*x)/n)^p * (q/n)^q

当n->\infty
Winning = p/(p+q) = w
->
Cash_{n+1} = (w+w*x)^p * (1-w)^((p-w*p)/w)
->
Cash_{n+1} = ( ((w+w*x)/(1-w)) * (\sqrt[w](1-w)) ) ^ p

令Cash_{n+1} > 1
->
( ((w+w*x)/(1-w)) * (\sqrt[w](1-w)) ) ^ p > 1

当n-> \infty时,不管w/胜率为多少,那么p-> \infty
->
((w+w*x)/(1-w)) * (\sqrt[w](1-w)) > 1
->
((w+w*x)/(1-w))^w * (1-w) > 1

对w求偏导数
->
\frac{ \partial( ((w+w*x)/(1-w))^w * (1-w) ) }{ \partial w } = (w+1)*( ((x+1)*w)/(1-w) )^w * \log (x+1)*w/(1-w)


\frac{ \partial( \log (x+1)*w/(1-w) )}{ \partial w } = (\log(x+1)) / ((1-w)^2)

假设x>=0的话,
则\frac{ \partial( \log (x+1)*w/(1-w) )}{ \partial w } = (\log(x+1)) / ((1-w)^2) > 0
即\log (x+1)*w/(1-w)是一个关于w的区间内的单调递增函数.

由于w \in [0,1],
则\log (x+1)*w/(1-w) \in [-\infty,+\infty]

那么对于\log (x+1)*w/(1-w)来说就存在一个零点w_0.
使得
当w 0
即当 w < w_0时,((w+w*x)/(1-w))^w * (1-w) > ((w_0+w_0*x)/(1-w_0))^w_0 * (1-w_0)

当w>w_0时,\log (x+1)*w/(1-w) > 0.
((w+w*x)/(1-w))^w * (1-w) < ((w_0+w_0*x)/(1-w_0))^w_0 * (1-w_0) 即((w_0+w_0*x)/(1-w_0))^w_0 * (1-w_0)为给定x的对于w的最小值. 那么对于给定的收益率x \log (x+1)*w/(1-w) = 0 ->
(x+1)*w/(1-w) = 1
->
w = w_0 = 1/(x+2)

->
((w_0+w_0*x)/(1-w_0))^w_0 * (1-w_0) = ((x+1)/(x+2))^((x+3)/(x+2)) > 1
->
x<-3 也就是说,并不存在一个收益率,使得无论其胜率如何都能产生正的收益. 这其实是很符合直觉感受的. 但对于给定的收益率x,还是能得出一个交易胜率下限要求的. ((w+w*x)/(1-w))^w * (1-w) > 1
令x=0.01
->
w>0.9987

当然,这个通常没有什么意义.
如果有99%胜率的交易策略,那么也不用做这些计算了.

没有评论:

发表评论

爽文

去看了好东西. 坦白说,多少是带着点挑刺的味道去的. 毕竟打着爱情神话和女性题材的气质,多多少少是热度为先了. 看完之后倒是有些新的想法. 某种程度上来说,现在的年轻人或者说声音就像小叶. 只要说点贴心的话就能哄好. 也是那种可以不用很努力了. 留在自己的舒适区避难所小圈子抱团就...