電子信箱 service [at] bituzi.com
幣圖誌首頁 facebook粉絲團 google plus google plus

利用數據分析制定交易策略 :貝氏定理(二)

未來世界處處充滿著電腦,電腦越來越"聰明",幫人類完成許多事,人類似乎不用再去思考,一切都聽電腦的決定就對了。

那 交 易 呢? 

『請問電腦大大,今天好累不想上班,可以幫我去市場廝殺一番,自動交易賺錢嗎? 』

交易策略成千上萬種,再這麼千奇百怪也不稀奇。這麼多交易策略,無非就是在做預測。就像電腦幫人類作各種最佳的決定,也是在作預測。

預測勝率接近100%,我們叫做"套利";預測勝率大於50%,我們叫做"有準度"。

預測勝率就算低於50%,只要期望值是正的,搭配好的資金控管,我們依然可以賺錢!

交易策略的勝率,絕對是金融市場研究人員最感興趣的議題之一。本週我們介紹,如何利用數據分析,制定良好的交易策略。

當然,要做預測,你必須熟悉貝氏定理,我們先來看精準預測裡面的一段話:

依據貝氏定理,預測基本上是一種資訊處理活動。使用新資料來測試我們對客觀世界的假設,目標是要對客觀世界的概念更真實、正確。


者Nate Silver用IBM的超級電腦 -- 深藍(Deep Blue)如何打敗棋王Garry Kasparov作為說明!

深藍(Deep Blue)如何打敗棋王(Garry Kasparov)?

IBM是全世界最大的電腦公司之一,其所創造的超級電腦 -- 深藍,當時世界排名為259名。為何運算能力如此強的電腦能戰勝人腦?  電腦真的會自己思考嗎?不覺得恐怖嗎? 電腦會不會也很愛錢,把我的錢都賺走?

然而仔細想想,再強運算能力的電腦,就是僅只於運算能力而已。要像人類一樣思考,沒那麼簡單!

沒錯,深藍不會思考,那深藍憑什麼打敗棋王? 原來深藍具有強大的資料庫,包括十億組以上的西洋棋棋局,且每秒鐘可以計算2億步以上的可能走法。

換句話說,人類歷史上曾經出現過的棋局,深藍的資料庫應該都有紀錄,而資料庫裡的某些棋局,可能還不一定在人類的歷史上出現過。

有了這麼多棋局資料,深藍可以做什麼事?

深藍可以憑著其超級會運算的能力,分析下一步走法在其資料庫裡的勝率,甚至分析到未來十幾步可能的走法。因為有巨量資量可以分析,深藍可以精準預測贏的機率,執行看似跟人類思考一樣的行為,也就是最有可能贏的下一步

你說深藍屌不屌? 屌爆了!這場比賽,要說是棋王與超級電腦的對決,還不如說是棋王與歷史上所有西洋棋專家的對決。

十多年前的深藍都能打敗棋王了,現在的超級電腦不能戰勝大盤?

每次想到深藍與棋王的對決,牧清華一直有個問題。各位認為電腦打敗棋王困難,還是電腦做交易打敗大盤困難?

更明確點,在假設資料庫存有所有西洋棋資料跟歷史交易資料的前提下,電腦打敗所有的西洋棋選手困難?還是電腦自動交易,打敗市場上所有的投資人困難?

或許有人會說,這是兩種不同的遊戲,困難度並不能拿來做比較。事實上牧清華也不知道答案? 但我會猜是電腦下棋比較困難,下面是一種可能的的分析方法:

在資訊科學裡,描述電腦處理某個程式的困難與否,我們用"複雜度"(complexity)去表示。

要知道電腦只是執行人類撰寫的程式而已,電腦最厲害的就是一秒鐘可以運算很多次,且不會出錯。別把運算想得太複雜了,就是加減乘除跟簡單的邏輯判斷而以。

因此,要比較電腦處理的兩個任務哪個比較困難,我們或許可以用複雜度的觀點去說明。

電腦戰勝棋王的複雜度 v.s. 電腦戰勝大盤的複雜度

參考精準預測裡面的一段話:

西洋棋賽一開始,白方可以用20種不同方式中的任何一種開局,而黑方可以用他自己的20種走法來回應,第一回合輪完就創造出400種可能的順序。第二回來輪完有71,852種。第三回合之後有9,132,484種。

整盤棋下完,有些數學家認為數字高達10的1000....0000次方 (次方項共50個0),這個數量超過全宇宙原子的總數。

夠 複 雜 吧 !?

而電腦交易戰勝所有投資人的複雜度,我們就拿一天的交易時間為例。期貨盤中5小時,假設每1秒交易一次,5小時共交易18000次。假設電腦每次都要判斷買或賣兩種決定,那就是2的18000次方複雜度。

2的18000次方這個數量級,跟上面所說10的1000...0000次方比起來小的多,比例幾乎為0。

這樣的論點雖然不完全正確,但是可以窺見,電腦去下西洋棋的困難度,應該不亞於作交易賺錢的困難度。

當然,10多年前電腦就可以打敗棋王,現在的電腦能力想必更強。電腦沒有問題,有困難的還是在交易策略的制定,交易資料如何分析。談到這,我們不得不再回去瞭解貝氏定裡。

數據如何分析?利用事前機率推斷事後機率!

類似深藍的概念,要分析這麼多的資料,我們要讓電腦去計算每種可能步驟"會賺錢的機率"。這沒有很困難,如果你的資料夠齊全,套用簡單的貝氏定裡,就可略窺一二。

舉例來說,市場上許多老師會用到的技術分析:一段漲勢後,若出現槌子,代表市場要反轉往下。(參考論文: The profitability of candlestick charting in the Taiwan stock market)

上面這個論述,只是通論,不一定每次都是這樣發展。但即使如此,我們還是可以估計其正確性的機率。

事件A = 10個交易日後股價收低 (10天後的收盤價<今日的開盤價)

事件B = 3MA連續上揚6日後出現 Hammer (High=Close>Open>Low)

我們想要知道P(A)是多少?事實上我們不知道 (知道就發了),所以這稱為事前機率。

但是卻發生了事件B,也就是現在想要估計的是P(A|B),這稱為事後機率。

因為資料更多,我們用歷史資料計算 P(B|A) 與 P(B|A^c)
(註: 事件A^c 表示10個交易日後股價收高)

                                                                                       P(A) P(B|A)
根據貝氏定理 P(A|B) = P(A交集B)/P(B)  =  --------------------------------------------
                                                                        P(A) P(B|A + P(B|A^c)(1-P(A)))

現在,P(A|B)即為修正過後的機率,也就是你認為10日後股價收低的機率。

利用數據分析制定交易策略的方法成千上萬種,但資料分析的目的就要作精準的機率預測,有了精準的機率,便可發展出各種可獲利的交易策略。

今天只是利用貝氏定裡作簡單介紹。牧清華相信,未來巨量資料時代的來臨,絕對有人可以發展出像打敗棋王一樣的超級電腦,打敗所有投資人。牧清華期待那一天的到來。

星期五;一天一錠,效果一定,歡迎訂閱「幣圖誌Bituzi電子報」

1.  精準預測說的好,分析這些統計數字的直觀推論法讓電腦可以跟人類的直覺與經驗平等競爭。

2. 有長期閱讀謀權奪利真英雄專欄的讀者,應該會瞭解這裡所謂的良好的交易策略,只是創造出還不錯的勝率。有了好的勝率後,還須搭配適合的資金控管,才是獲利保證的聖盃!

0 意見: