在油管上的进一步研究发现,俄国的数学家马尔可夫弄出来的马尔可夫链,看上去非常高深,应用广泛,但说明的却是一个浅显的道理。比如哲学家说的螺旋式上升,历史学家说的历史是惊人的相似,街上老百姓说的大白话,太阳底下没有新鲜事,如是等等的表述,不一而足。
用股票市场来举个例子。股票价格波动,生生不息。如果把一个股票的价格和前一天比较,一般可以分为大涨(涨幅大于百分之一),小涨,小降,大降(降幅大于百分之一)。活跃市场中不涨不降的例子比较罕见,为简单起见,不升不降归为小涨类别。取一段股票交易的历史数据,比如过去五年中,连续三天的价格变化,有时候出现第一天小涨,第二天小涨,第三天大涨的状况。假如这样的状况在过去的五年里出现了100次。在这100次里,对第四天的股票进行观察,发现五年来第四天再次大涨的情况有20次,小涨50次,小跌25次,大跌5次。
建立了这样的模型,就可以用来预测未来的股票走势。比如前天小涨,昨天小涨,今天大涨,如果没有特殊事件的出现,从历史上来看,明天股票小涨的概率就比较大。当然现实世界比这个简单模型要复杂得多,要探索的模型也变化多端,如何选择历史数据的长度,考察多长时间的连续变化(比如连续3天,还是连续5天),如何剔除重大历史事件的影响(比如911纽约被袭击,或者总统弹劾,不得不下了台),如何有效去除低概率事件的噪音,等等。建立一个可靠的模型,的确需要时间的多次检验。
把大娃的作业要来一看,心里马上开始打鼓。作业要求用计算机语言python写一段程序,使用过去两年的历史交易数据,来预测谷歌,第一太阳能公司和美国道琼斯指数的未来交易价格。
隔行如同隔山。我平常用的SAS编程语言,与python相差比较大。当然,下决心学python已经很久了,每年的new year resolution(新年心愿)都总有这么一项。但平常晚上,往往是虚度时光,躺在床上看美国西部枪战片,越狱片,战争片和银行抢劫片,根本没有翻一翻python书的动力和勇气。现在女儿有难,赶紧打开很早之前就买好的书,熬灯油补课。
行路难,用一门新语言编程更难。用走路做个比方。从甲地走到乙地,有两条路,一条路已经走了无数次,路上哪里有坑,哪边有岔路,哪里有悬崖,心里面雪亮,闭着眼走也出不了错。另外一条全然陌生,路上漆黑一片。漫漫长路,不得不一步一步忖着走。我打开计算机,写完一步,就得用谷歌查下一步python的具体用法,进度之缓慢,有如蜗牛。一个晚上下来,第一个函数还没有写完。眼看着第二天还要上班,赶紧停工,上床睡觉。