下载
登录/ 注册
主页
论坛
视频
热股
可转债
下载
下载

贝叶斯定理在股票交易系统评测中的应用

21-08-18 09:19 2003次浏览
农夫山泉xa
+关注
博主要求身份验证
登录用户ID:
开始本文之前,先看一个《贝叶斯定理在医疗 行业的应用》案例。


(以下文字复制于知乎 ,首先对作者表示感谢)
======================================================================
贝叶斯定理在医疗行业的应用

每一个医学检测,都存在假阳性率和假阴性率。假阳性,就是没病,但是检测结果显示有病。假阴性正好相反,有病但是检测结果正常。

即使检测准确率是99%,如果医生完全依赖检测结果,也会误诊。也就是说假阳性的情况,根据检测结果显示有病,但是你实际并没有得病。

举个更具体的例子,因为艾滋病潜伏期很长,所以即便感染了也可能在很长的一段时间,身体没有任何感觉,所以艾滋病检测的假阳性会导致被测人非常大的心理压力。

你可能会觉得,检测准确率都99%了,误测几乎可以忽略不计了吧?所以你觉得这人肯定没有患艾滋病了对不对?
让我们用贝叶斯定理算一下,就会发现你的直觉是错误的。

假设某种疾病的发病率是0.001,即1000人中会有1个人得病。现在有一种试剂可以检验患者是否得病,它的准确率是0.99,即在患者确实得病的情况下,它有99%的可能呈现阳性。它的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性。
现在有一个病人的检验结果为阳性,请问他确实得病的可能性有多大?

好了,我知道你面对这一大推信息又头大了,我也是。但是我们不是有贝叶斯模板套路嘛,下面开始。

第1步,分解问题
1) 要求解的问题:病人的检验结果为阳性,他确实得病的概率有多大?
病人的检验结果为阳性(新的信息)记为事件B,他得病记为事件A,
那么要求的问题就是P(A|B),也就是病人的检验结果为阳性(B),他确实得病的概率(A)
2) 已知信息:
这种疾病的发病率是0.001,即P(A)=0.001
试剂可以检验患者是否得病,准确率是0.99,也就是在患者确实得病的情况下(A),它有99%的可能呈现阳性(B),所以P(B|A)=0.99
试剂的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性。得病我们记为事件A,那么没有得病就是事件A的反面,记为A‘,所以这句话就可以表示为P(B|A‘)=5%

2.应用贝叶斯定理

1)求先验概率
疾病的发病率是0.001,P(A)=0.001
2)求可能性函数
P(B|A)/P(B)
其中,P(B|A)表示在患者确实得病的情况下(A),试剂呈现阳性的概率,从前面的已知条件中我们已经知道P(B|A)=0.99
现在只有求出P(B)就可以得到答案。根据全概率公式,可以用下图求得P(B)=0.05094

所以可能性函数P(B|A)/P(B)=0.99/0.05094=19.4346

3)带入贝叶斯公式求后验概率
我们得到了一个惊人的结果,P(A|B)等于1.94%。
也就是说,筛查的准确率都到了99%了,通过体检结果有病(阳性)确实得病的概率也只有1.94%
[align=center]
你可能会说,再也不相信那些吹的天花乱坠的技术了,说好了筛查准确率那么高,结果筛查的结果对于确诊疾病一点用都没有,这还要医学技术干什么?
没错,这就是贝叶斯分析告诉我们的。我们拿艾滋病来说,由于发艾滋病实在是小概率事件,所以当我们对一大群人做艾滋病筛查时,虽说准确率有99%,但仍然会有相当一部分人因为误测而被诊断为艾滋病,这一部分人在人群中的数目甚至比真正艾滋病患者的数目还要高。
你肯定要问了,那该怎样纠正测量带来这么高的误诊呢?
造成这么不靠谱的误诊的原因,是无差别地给一大群人做筛查,而不论测量准确率有多高,因为正常人的数目远大于实际的患者,所以误测造成的干扰就非常大了。
根据贝叶斯定理,我们知道提高先验概率,可以有效的提高后验概率。

所以解决的办法倒也很简单,就是先锁定可疑的人群,比如10000人中检查出现问题的那10个人,再独立重复检测一次。因为正常人连续两次体检都出现误测的概率极低,这时筛选出真正患者的准确率就很高了,这也是为什么许多疾病的检测,往往还要送交独立机构多次检查的原因。
这也是为什么艾滋病检测第一次呈阳性的人,还需要做第二次检测,第二次依然是阳性的还需要送交国家实验室做第三次检测。
在《医学的真相》这本书里举了个例子,假设检测艾滋病毒,对于每一个呈阳性的检测结果,只有50%的概率能证明这位患者确实感染了病毒。但是如果医生具备先验知识,先筛选出一些高风险的病人,然后再让这些病人进行艾滋病检查,检查的准确率就能提升到95%。
======================================================================

看完了上面的案例分析,炒股的朋友很多会联想到这种对医学检测系统进行评测的方法,是否同样可以应用于股票交易系统的评测?这也正是本文所要探讨的。

在前文引述的案例中,如果我们先做几个替换:
艾滋病阳性——股票上涨,
检测准确率——交易系统的准确率
误报率——交易系统的误报率
发病率——股票上涨的概率
说明一点,关于发病率,前文的案例中举例为1‰,在做上面的概念替换时,我们把发病率替换为“股票上涨的概率”,下文的计算我们假定“股票上涨的概率”为50%,这样我们就得到一组股票上涨的案例信息(假设值):
交易系统的准确率——90%
交易系统发出信号后的误报率——5%
股票上涨的概率——50%

仿照本文开始的知乎案例进入解题程序。


第1步,分解问题
3) 要求解的问题:系统发出上涨信号,它确实上涨的概率有多大?
系统发出上涨的信号记为事件B,它确实上涨记为事件A,
那么要求的问题就是P(A|B),也就是系统发出上涨信号(B),他确实上涨的概率(A)
4) 已知信息:
假定近段时间股票的上涨概率为50%,既有50%可能会上涨,即P(A)=0.5
系统预告是否会上涨准确率是90%即0.90,也就是在股票确实以上涨收盘的情况下(A),系统有90%的可能在早盘就发出上涨信号(B),所以P(B|A)=0.90
系统的误报率是5%,即在股票没能以红阳收盘的情况下,它有5%的可能在早盘发出的是上涨信号。收盘上涨我们记为事件A,那么收盘没有上涨就是事件A的反面,记为A‘,所以这句话就可以表示为P(B|A‘)=5%

2.应用贝叶斯定理
1)求先验概率
上涨的概率是0.5,P(A)=0.5

2)求可能性函数
P(B|A)/P(B)
其中,P(B|A)表示在收盘确实上涨的情况下(A),早盘就发出上涨信号的概率,从前面的已知条件中我们已经知道P(B|A)=0.90
现在只有求出P(B)就可以得到答案。根据全概率公式,可以求得
P(B)= P(B|A) P(A)+ P(B|A’)P(A’)=0.9*0.5+0.05*0.9=0.475
所以可能性函数P(B|A)/P(B)=0.90/0.475=1.8947

3)代入贝叶斯公式求后验概率
P(A|B)= P(A)* P(B|A)/P(B)=0.5*1.8947=94.735%
也就是说,当系统的准确率达到90%时,通过系统的上涨预报信号,在收盘确实
上涨的概率为94.735%

应用上述的方法我们再做一次涨停的后验概率分析。

其它的条件都不变,只是把上涨的概率50%修改为涨停的概率10%,
先验概率P(A)=0.1

全概率P(B)= P(B|A) P(A)+ P(B|A’) P(A’)=0.9*0.1+0.05*0.9=0.135
可能性函数P(B|A)/P(B)=0.90/0.135=6.667
后验概率P(A|B)= P(A)* P(B|A)/P(B)=0.1*6.667=66.7%
这表示,在你的系统准确率达到90%时,你抓到涨停的而概率是66.7%。

后验概率能达到60%以上的系统还是可信度比较高的,对于后验概率小于50的交易系统,说明还需要继续修炼完善,那样的系统还不能带你走上稳定盈利之路,只会让你的收益曲线在振荡与颠簸中爬行向前。
打开淘股吧APP
1
评论(0)
收藏
展开
热门 最新
提交