在油管上的進一步研究發現,俄國的數學家馬爾可夫弄出來的馬爾可夫鏈,看上去非常高深,應用廣泛,但說明的卻是一個淺顯的道理。比如哲學家說的螺旋式上升,歷史學家說的歷史是驚人的相似,街上老百姓說的大白話,太陽底下沒有新鮮事,如是等等的表述,不一而足。
用股票市場來舉個例子。股票價格波動,生生不息。如果把一個股票的價格和前一天比較,一般可以分為大漲(漲幅大於百分之一),小漲,小降,大降(降幅大於百分之一)。活躍市場中不漲不降的例子比較罕見,為簡單起見,不升不降歸為小漲類別。取一段股票交易的歷史數據,比如過去五年中,連續三天的價格變化,有時候出現第一天小漲,第二天小漲,第三天大漲的狀況。假如這樣的狀況在過去的五年裡出現了100次。在這100次里,對第四天的股票進行觀察,發現五年來第四天再次大漲的情況有20次,小漲50次,小跌25次,大跌5次。
建立了這樣的模型,就可以用來預測未來的股票走勢。比如前天小漲,昨天小漲,今天大漲,如果沒有特殊事件的出現,從歷史上來看,明天股票小漲的概率就比較大。當然現實世界比這個簡單模型要複雜得多,要探索的模型也變化多端,如何選擇歷史數據的長度,考察多長時間的連續變化(比如連續3天,還是連續5天),如何剔除重大歷史事件的影響(比如911紐約被襲擊,或者總統彈劾,不得不下了台),如何有效去除低概率事件的噪音,等等。建立一個可靠的模型,的確需要時間的多次檢驗。
把大娃的作業要來一看,心裡馬上開始打鼓。作業要求用計算機語言python寫一段程序,使用過去兩年的歷史交易數據,來預測谷歌,第一太陽能公司和美國道瓊斯指數的未來交易價格。
隔行如同隔山。我平常用的SAS編程語言,與python相差比較大。當然,下決心學python已經很久了,每年的new year resolution(新年心願)都總有這麼一項。但平常晚上,往往是虛度時光,躺在床上看美國西部槍戰片,越獄片,戰爭片和銀行搶劫片,根本沒有翻一翻python書的動力和勇氣。現在女兒有難,趕緊打開很早之前就買好的書,熬燈油補課。
行路難,用一門新語言編程更難。用走路做個比方。從甲地走到乙地,有兩條路,一條路已經走了無數次,路上哪裡有坑,哪邊有岔路,哪裡有懸崖,心裏面雪亮,閉着眼走也出不了錯。另外一條全然陌生,路上漆黑一片。漫漫長路,不得不一步一步忖着走。我打開計算機,寫完一步,就得用谷歌查下一步python的具體用法,進度之緩慢,有如蝸牛。一個晚上下來,第一個函數還沒有寫完。眼看着第二天還要上班,趕緊停工,上床睡覺。