[原] 三連陽小勝過擬合,一爆倉回到解放前:R法狗的大菊觀和蒙特卡洛樹

Introducing Monte Carlo Methods with R
Introducing Monte Carlo Methods with R

前言

最近幾天,R法狗和李世石的人機(jī)大戰(zhàn)非常熱鬧,周圍的朋友基本都是看好R法狗能五殺的節(jié)奏,不過我一直持有懷疑的態(tài)度。理由也很簡單,對于這么好的博弈機(jī)會,國內(nèi)外必然存在一些勢力對這一事件做變相莊家(陰謀論),如果其中有一兩局存在變數(shù),賠率非常可觀,這里有我在知乎上的回答

R法狗與股票交易

參考 知乎的問答:AlphaGo 的學(xué)習(xí)決策模型是否能用于股票市場的交易?

下面是 徐所謂向前 的高分答案

其一,圍棋是一個封閉系統(tǒng),是一個完全信息系統(tǒng),無論是現(xiàn)在的深度學(xué)習(xí)還是以前的機(jī)器學(xué)習(xí),都依賴于龐大的樣本訓(xùn)練,訓(xùn)練完成之后的樣本外輸入,其本質(zhì)和可能性要與訓(xùn)練樣本相同。例如圍棋只能你一步我一步在固定區(qū)域內(nèi)下,所有的規(guī)則都是實(shí)現(xiàn)就已經(jīng)約定好的。而金融市場并不是完全信息系統(tǒng),這一點(diǎn)在很多人的回答中也都提到。也就是很多新的情況,是系統(tǒng)不可預(yù)估的,并不是在歷史中存在的,在這種情況下,之前的訓(xùn)練會失效。做過自動程序化交易的人都知道,如果自己不清楚策略為什么賺錢,不清楚背后的理論是什么,是不敢放任其自動交易的。就算深度學(xué)習(xí)系統(tǒng)經(jīng)過了長期驗(yàn)證,也不能保證某些黑天鵝來臨的時候,它能正確的應(yīng)付,這個幾乎是無法證明的。或許賺了幾年但是幾分鐘就全虧回去了。比如今天第四場小李子終于贏了一局。在下棋中出現(xiàn)bug輸一局無所謂,在交易中出低級bug可能就再也無力翻身了。

其二,阿法狗的paper中提到,人類現(xiàn)有的棋譜在訓(xùn)練中只占到了很小的一部分。他們發(fā)現(xiàn)如果只用人類現(xiàn)有的棋譜,阿法狗很快會陷入過度優(yōu)化。因此對于阿法狗的訓(xùn)練,自己和自己下棋才是訓(xùn)練集的大部分。這也是為什么在盤中總是出現(xiàn)一些人類無法理解的下發(fā),認(rèn)為是阿法狗的失誤。其實(shí)阿法狗算得很清楚,因?yàn)槿祟愒谟趪宓母鞣N可能性走法其實(shí)還只探索了一部分。對應(yīng)到金融市場,所有的行情、新聞、財(cái)報等等,對于這樣一個復(fù)雜系統(tǒng)來說,數(shù)據(jù)量遠(yuǎn)遠(yuǎn)不夠。但是系統(tǒng)不可能像圍棋那樣自己模擬出行情、新聞和財(cái)報等信息。因?yàn)閲宓淖叻ㄓ幸?guī)矩,而行情并不是隨機(jī)生成的數(shù)據(jù)序列。因此想要完全使用深度學(xué)習(xí)預(yù)測明天大盤的漲跌是不可能的,因?yàn)闆]有足夠的訓(xùn)練樣本。

從這里我們可以得到結(jié)論:R法狗的學(xué)習(xí)模型可以部分輔助交易,但很難全部適用于股票交易。

雖然R法狗并不是完美的,但是從這次人機(jī)大戰(zhàn)中我們能看到蒙特卡洛樹算法(MCTS)的局勢判斷能力(大菊觀)大放異彩。確實(shí),基于模擬計(jì)算技術(shù)已經(jīng)成為現(xiàn)代統(tǒng)計(jì)學(xué)家工具箱中的一個重要組成部分,仿真模擬和可視化技術(shù)可以在直覺上輔助決策者做出決策。

DeepMind的創(chuàng)始人Hassabis說AlphaGo做的是,引進(jìn)了神經(jīng)網(wǎng)絡(luò)這種直覺層面的東西,而直覺是頂級圍棋棋手間的差距。

上述引用自 Google谷歌愛好者的微博 ,可以看出,現(xiàn)在直覺在人工智能決策中的重要作用。管中窺豹,明星交易員在股票交易中的重要性也是不可小覷的。

什么是蒙特卡洛樹

蒙特卡洛樹(Monte Carlo Tree Search)從字面上看就是 蒙特卡洛(仿真模擬) + 樹(決策樹),它是一種人工智能中的優(yōu)化算法,結(jié)合了隨機(jī)模擬的一般性和樹搜索的準(zhǔn)確性,MCTS 在博弈論中正在廣泛應(yīng)用。

算法

蒙特卡洛樹將決策問題描述為一種二叉樹的決策樹形式,將問題求解分為四個步驟。

  1. 選子

  2. 設(shè)想下一步棋走到哪個位置

  3. 自行模擬雙方下棋若干步

  4. 返回一個最優(yōu)解

迭代方法

每次選子都考慮兩件事:

  1. 選子后的若干步是否占優(yōu)
  2. 這種選子方案在這些模擬中被用了多少次。(正常人記不住,只能主觀判斷)

約束

選子的主要困難在于如何平衡這兩個問題:

  1. 在高平均勝率下模擬幾步合適?
  2. 如何少量模擬完成自我博弈過程?

顯然模擬過多會占用過多的計(jì)算資源,模擬過少得不到好的結(jié)果。

目標(biāo)函數(shù)

為了解決這個問題,所以有以下公式:
$$\frac{w_i}{n_i} + c\sqrt{\frac{\ln t}{n_i}}$$

  • $w_i$ 表示第$i$步的勝率
  • $n_i$ 表示第$i$步的模擬次數(shù)
  • $c$ 人工參數(shù),靠科學(xué)家選擇的一個數(shù)字
  • $t$ 總模擬次數(shù)

這個公式中可以看出來,想要總勝率得分高,就需要適當(dāng)控制模擬次數(shù),但模擬過多會受到懲罰,而模擬過少則存在隨機(jī)偏差過大的問題。

更多算法相關(guān)討論可以參考 Not_GOD大神簡書文章:蒙特卡洛樹搜索 MCTS

實(shí)現(xiàn)

參考資料

作為分享主義者(sharism),本人所有互聯(lián)網(wǎng)發(fā)布的圖文均遵從CC版權(quán),轉(zhuǎn)載請保留作者信息并注明作者 Harry Zhu 的 FinanceR專欄:https://segmentfault.com/blog/harryprince,如果涉及源代碼請注明GitHub地址:https://github.com/harryprince。微信號: harryzhustudio
商業(yè)使用請聯(lián)系作者。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容