技术局限性,任重而道远
前两天一个同事悄悄跟我说,他说证券公司的人告诉他,7月份行情会很不错,可以炒一炒,他很疑惑:股票可以预测吗?券商说得这么一本正经,他们凭什么这么说,会不会骗人的?
我一听乐了,这个问题对于常年炒股的人来说其实算不上问题。我没炒股前我也会怀疑,有炒股经历后,我可以很坚定的说,确实能预测,关键是——预测准不准的问题。。。
首先给出业界的解释
容我慢慢道来,首先全球经济在发展,人类在发展,哪怕发生第三次世界大战,只要地球不毁灭,那经济依然能快速复苏,所以长远看,股票一定会涨,但这个周期很长,至少也是百年为单位的。。显然这个预测意义不大,能活百年的人都少啊,百年一周期,啥时候能回本。我们继续分析,从去年6月以来,三次股灾,不管是天灾还是人为,其结果是国家队出手买入了大批大批股票,很多家上市公司的前十大流通股东里都有汇金、证金的名字。我记得去年公司聚餐时,大家聊到股票,有两个哥们为股票是否受国家政策控制争得面红耳赤,现在一看,这还值得争吗?当然受国家政策控制啦,3000家上市公司,国有企业占多少,国有资本占多少比重,国家队的资本力量大家有目共睹,实际上国家才是A股的大庄家,所以我们可预测,只要不亡党亡国,股票一定会涨的,这个周期不会很长,肯定在10年之内,因为我们总会制定十二五、十三五这样的五年规划,刺激作用是很明显的,至少可以观察到的前几次超级大牛市,基本都是八年一周期,十年以内嘛,这个预测周期很多人还是等得起的,所以我们现在多学多看,适当交点学费,下次大牛市才会有收获,要有信心!
但是一套好几年,七八年时间这还是很恶心啊,我们需要将预测周期做到更短,券商是怎么就知道7月份要涨的呢?实际上预测一个事物的方法很多,我们看到乌云密布就猜到可能要下雨,到到井水翻涌可能要地震;股票也一样,我们看到双针探底那可能要上涨,看到量价背离可能要变盘,这就是所谓的技术面;另一种常用方法是统计学,把十年来A股各月的涨跌情况统计一下,很容易得出某几个月上涨概率很高的结论,还有就是基于一些分析,比如降准、加息等等,分析这些影响A股的事件的概率,也能为股票分析提供参考。券商分析7月要涨,这个并不难,一个月22个交易日,具体哪天要涨呢?是上旬、中旬还是下旬,那不管,反正你看着办,哈哈。其实很多人都这么说7月要涨,说明各种分析方法在7月产生了共振,那个概率确实就很大了。另外还有一些券商需要股票上涨,才能挣手续费的说法了,那个不谈。
如果能准确预测到月,投机价值已经相当高了,预测周期越短,难度越大。但很多散户还是一厢情愿的希望以天为周期预测出涨跌,比如像这样的,标出买卖点,多开心啊
其实这是相当相当难的,网上不少大V、股评家一买就涨,一卖就跌, 实际上他们要么是伪造的,要么是运气,要么就是庄托,有内幕。 真正的高手,都会告诉你这些很难,炒股很难,他们也经常有失误的时候。像上面这样的指标,很多都是事后诸葛亮,看着美妙,实际使用中是滞后的,跟不上操作。
引申思考
好了上面扯了不少没用的,下面我们来探讨股票预测的本质。K线本质上就是一段复杂的曲线,既然是曲线,那就可以建模,计算它的函数表达式,只不过这个表达式实在太复杂,包含的变量实在是太多太多,算不出来,我估计比爱因思坦的统一场论方程还要复杂。
复杂能阻挡人类前进的步伐吗?不能,爱因思坦走了,我们依然坚定不移的探索宇宙,我们在贵州建了个大锅嘛,多自豪!探索引力波这种跟大多数人八杆子打不着关系的事儿,科学家们都趋之若鹜,股票这种能直接挣钱的事儿,研究的人当然更多啦。记不记得上大学时高数是怎么教的,遇到多元方程,无法求解,我们可以求特解呀!我们只讨论特殊条件下的情况,就有可操作性,网上的各种指标,参差不齐,实际上就是在各种限制性条件上作出的判断,所以各种指标的买卖点各不相同,当然也有重叠的时候,有时候好多指标都得出了相同的结论,那概率当然要高一些了,指标是有概率的,因为设定特解的条件本就是有概率的。
因此我们说,股票是可以预测的,但是预测周期越短,就越难做到精确预测。做为程序员,指标公式的源码都可以看懂。从程序实现上说,这个事情很难做,但这个需求,实际上是很普便的。前段时间有几朋友让我帮忙做点东西,一个说想做个视频识别,一个想识别音乐中的一段特殊声音;前几天公司聚餐时,领导说能不能做到当患者出现特定体征时才触发程序,等等,和股票预测一样,这些都是同一类需求。
回想一下,自写代码开始,这样的需求其实碰到过很多次,但我以前基本上都是拒绝的,因为我不会做呀。我们开发的程序大多数都是事件驱动,都是由明确的事件触发,比如点击按钮要怎么办,软件启动要怎么办等等,这样的程序我做得太多太多了。但这只是计算机信息化实现的一小步,信息化首先是将物质世界虚拟,进行数字化,在数字化的过程中出现了数据库这样的存储功能,在数字化的罗辑中,我们可以对参照传统业务流程使用程序来进行模拟操作,这就是我们做的事件驱动程序的本质,这些领域内的高手们可以将传统业务进一步抽象改进,甚至反过来改造传统流程,但是本质并没有什么区别。而处理不明确的事件,这才是发挥计算机优势的地方,也就是所谓的人工智能嘛。
像这样不明确的事件,也不是都需要靠人工智能来处理。其中某些场景我们可以简单实现,比如判断电压升高、判断鼠标移动等,这些也是并不很明确需求,电压升高多少才算升高了呢?手抖了一下鼠标算移动吗?像这样的需求,我们可以简单处理,因为数据维度少,就那一两个参数,凭经验就可以设定一个范围,比如电压升高超过50%认为电压升高了;认为鼠标位移超过50个象素就认为移动了,要是实际运行效果不好,我们再改这些参数就是了。就好像视频识别,朋友给的方案是反正要识别的目标是我们定的,我们就给它涂上绿色,视频里只要出现绿色就认为是要识别的目标,这当然是一种不错的方法,囧啊。但股票分析显然不能用这种取巧的方法的,股票的维度尺度太多太多了,比如简单的,平台突破,涨多少才算突破呢?箱体震荡震幅范围在多少以内才算是箱体呢?我不禁想起了前几天台湾的雄风三号,大家都觉得很搞笑,打个渔船都不会爆炸,这质量也太差了,其实不见得,这样的导弹是很难拦截的。拦截导弹一般不会直接撞到目标,没那么精确,拦截弹接近导弹十多米就会爆炸,靠弹片摧毁来袭导弹。看雄风三号这架势除非撞到真正的军舰,出现剧烈减速才会引爆,少量的拦截弹炸不坏它。说明台湾设计的制导策略比较特殊,导弹不同于炮弹,炮弹引信就是一种明确事件,一碰就炸;而导弹制导是计算出来的,导弹比炮弹厉害的多,原因就在这儿。这也说明,日常生活中我们更需要能处理这种不明确事件的计算机程序,各个领域都是如此。
模糊事件如何处理,不可能都通过经验来确定的。通过计算机程序来解决这个问题目前最有效的方法就是大数据分析,大数据就是干这事的,没什么神秘的,比如同花顺就有收费的“云MACD”、“云KDJ”这种指标,其实就是通过大数据分析以住的涨跌,把macd、kdj指标的参数调到最合适的值(当然是否真的是最合适的值,这个不清楚,我这可不是打广告)。可是大数据我只是略知皮毛,缺少实践,一再回避,如今遇上问题了,躲也躲不过呀。大数据分析算是很复杂的技术吗?确实复杂,但是行内人看这个问题就是另一种态度了——复杂,但可以解决。我想炒股也一样。
这两三年来我特别后悔,当年没有下决心读研,大数据分析一般都是研究生阶段的内容,现在读在职也是亡羊补牢哇!当然不是说本科生就做不了大数据,我也认识做得特别好的本科毕业生,读研不在于能学多少理论知识,毕业了也可从事陌生的方向,关键在于读研会有个指引发展前沿的导师(当然你要说读个研都没见过导师,直到答辨才知道导师长啥样,那这就不在讨论范围内了),学习什么时候都可以学,关键是学什么和做什么问题。炒股也是一样,方法很多,策略很多,不同的方法甚至互相冲突,都去学只会让自己更混乱。自己闭门造车,学得慢进步小都是小事,一下被套出现重大损失就麻烦啦。很事儿都有无数种解决方法,选择什么样的方法,这是一门艺术。对程序员来说,方法就更多了,掌握这门艺术,在工作中遇到困难就不会慌张,比如面对视频识别、声音识别这样陌生业务也可以有条不紊的去找解决方案。
写得比较杂,不知道写的啥,亡羊补牢,总比不补的好。及时纠正方向,任重而道远啊。