![Introducing Monte Carlo Methods with R](https://images.springer.com/sgw/books/medium/9781441915757.jpg)
前言
最近幾天,R法狗和李世石的人機(jī)大戰(zhàn)非常熱鬧浅蚪,周圍的朋友基本都是看好R法狗能五殺的節(jié)奏烫罩,不過(guò)我一直持有懷疑的態(tài)度贝攒。理由也很簡(jiǎn)單,對(duì)于這么好的博弈機(jī)會(huì)隘弊,國(guó)內(nèi)外必然存在一些勢(shì)力對(duì)這一事件做變相莊家(陰謀論)梨熙,如果其中有一兩局存在變數(shù),賠率非逞噬龋可觀质欲,這里有我在知乎上的回答。
R法狗與股票交易
參考 知乎的問(wèn)答:AlphaGo 的學(xué)習(xí)決策模型是否能用于股票市場(chǎng)的交易怎憋?
下面是 徐所謂向前 的高分答案 :
其一九昧,圍棋是一個(gè)封閉系統(tǒng)赠橙,是一個(gè)完全信息系統(tǒng)愤炸,無(wú)論是現(xiàn)在的深度學(xué)習(xí)還是以前的機(jī)器學(xué)習(xí),都依賴于龐大的樣本訓(xùn)練凤薛,訓(xùn)練完成之后的樣本外輸入诞仓,其本質(zhì)和可能性要與訓(xùn)練樣本相同墅拭。例如圍棋只能你一步我一步在固定區(qū)域內(nèi)下,所有的規(guī)則都是實(shí)現(xiàn)就已經(jīng)約定好的舒憾。而金融市場(chǎng)并不是完全信息系統(tǒng)穗熬,這一點(diǎn)在很多人的回答中也都提到。也就是很多新的情況探遵,是系統(tǒng)不可預(yù)估的妓柜,并不是在歷史中存在的,在這種情況下藏雏,之前的訓(xùn)練會(huì)失效塌衰。做過(guò)自動(dòng)程序化交易的人都知道蝠嘉,如果自己不清楚策略為什么賺錢(qián)蚤告,不清楚背后的理論是什么努酸,是不敢放任其自動(dòng)交易的。就算深度學(xué)習(xí)系統(tǒng)經(jīng)過(guò)了長(zhǎng)期驗(yàn)證获诈,也不能保證某些黑天鵝來(lái)臨的時(shí)候,它能正確的應(yīng)付舔涎,這個(gè)幾乎是無(wú)法證明的亡嫌。或許賺了幾年但是幾分鐘就全虧回去了于购。比如今天第四場(chǎng)小李子終于贏了一局肋僧。在下棋中出現(xiàn)bug輸一局無(wú)所謂嫌吠,在交易中出低級(jí)bug可能就再也無(wú)力翻身了居兆。
其二泥栖,阿法狗的paper中提到吧享,人類現(xiàn)有的棋譜在訓(xùn)練中只占到了很小的一部分。他們發(fā)現(xiàn)如果只用人類現(xiàn)有的棋譜殊鞭,阿法狗很快會(huì)陷入過(guò)度優(yōu)化操灿。因此對(duì)于阿法狗的訓(xùn)練趾盐,自己和自己下棋才是訓(xùn)練集的大部分救鲤。這也是為什么在盤(pán)中總是出現(xiàn)一些人類無(wú)法理解的下發(fā)本缠,認(rèn)為是阿法狗的失誤丹锹。其實(shí)阿法狗算得很清楚卷仑,因?yàn)槿祟愒谟趪宓母鞣N可能性走法其實(shí)還只探索了一部分粘昨。對(duì)應(yīng)到金融市場(chǎng)张肾,所有的行情吞瞪、新聞芍秆、財(cái)報(bào)等等妖啥,對(duì)于這樣一個(gè)復(fù)雜系統(tǒng)來(lái)說(shuō)荆虱,數(shù)據(jù)量遠(yuǎn)遠(yuǎn)不夠怀读。但是系統(tǒng)不可能像圍棋那樣自己模擬出行情菜枷、新聞和財(cái)報(bào)等信息椿息。因?yàn)閲宓淖叻ㄓ幸?guī)矩,而行情并不是隨機(jī)生成的數(shù)據(jù)序列枫耳。因此想要完全使用深度學(xué)習(xí)預(yù)測(cè)明天大盤(pán)的漲跌是不可能的孟抗,因?yàn)闆](méi)有足夠的訓(xùn)練樣本凄硼。
從這里我們可以得到結(jié)論:R法狗的學(xué)習(xí)模型可以部分輔助交易,但很難全部適用于股票交易狐史。
雖然R法狗并不是完美的说墨,但是從這次人機(jī)大戰(zhàn)中我們能看到蒙特卡洛樹(shù)算法(MCTS)的局勢(shì)判斷能力(大菊觀)大放異彩。確實(shí)姜贡,基于模擬計(jì)算技術(shù)已經(jīng)成為現(xiàn)代統(tǒng)計(jì)學(xué)家工具箱中的一個(gè)重要組成部分楼咳,仿真模擬和可視化技術(shù)可以在直覺(jué)上輔助決策者做出決策烛恤。
DeepMind的創(chuàng)始人Hassabis說(shuō)AlphaGo做的是,引進(jìn)了神經(jīng)網(wǎng)絡(luò)這種直覺(jué)層面的東西糙申,而直覺(jué)是頂級(jí)圍棋棋手間的差距船惨。
上述引用自 Google谷歌愛(ài)好者的微博 粱锐,可以看出,現(xiàn)在直覺(jué)在人工智能決策中的重要作用铐然。管中窺豹,明星交易員在股票交易中的重要性也是不可小覷的沥阳。
什么是蒙特卡洛樹(shù)
蒙特卡洛樹(shù)(Monte Carlo Tree Search)從字面上看就是 蒙特卡洛(仿真模擬) + 樹(shù)(決策樹(shù))自点,它是一種人工智能中的優(yōu)化算法桂敛,結(jié)合了隨機(jī)模擬的一般性和樹(shù)搜索的準(zhǔn)確性,MCTS 在博弈論中正在廣泛應(yīng)用薪伏。
算法
![](https://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/MCTS_(English).svg/800px-MCTS_(English).svg.png)
蒙特卡洛樹(shù)將決策問(wèn)題描述為一種二叉樹(shù)的決策樹(shù)形式嫁怀,將問(wèn)題求解分為四個(gè)步驟潦牛。
選子
設(shè)想下一步棋走到哪個(gè)位置
自行模擬雙方下棋若干步
返回一個(gè)最優(yōu)解
迭代方法
每次選子都考慮兩件事:
- 選子后的若干步是否占優(yōu)
- 這種選子方案在這些模擬中被用了多少次巴碗。(正常人記不住,只能主觀判斷)
約束
選子的主要困難在于如何平衡這兩個(gè)問(wèn)題:
- 在高平均勝率下模擬幾步合適召噩?
- 如何少量模擬完成自我博弈過(guò)程逸爵?
顯然模擬過(guò)多會(huì)占用過(guò)多的計(jì)算資源师倔,模擬過(guò)少得不到好的結(jié)果。
目標(biāo)函數(shù)
為了解決這個(gè)問(wèn)題疲恢,所以有以下公式:
$$\frac{w_i}{n_i} + c\sqrt{\frac{\ln t}{n_i}}$$
- $w_i$ 表示第$i$步的勝率
- $n_i$ 表示第$i$步的模擬次數(shù)
- $c$ 人工參數(shù)瓷胧,靠科學(xué)家選擇的一個(gè)數(shù)字
- $t$ 總模擬次數(shù)
這個(gè)公式中可以看出來(lái)搓萧,想要總勝率得分高宛畦,就需要適當(dāng)控制模擬次數(shù)揍移,但模擬過(guò)多會(huì)受到懲罰羊精,而模擬過(guò)少則存在隨機(jī)偏差過(guò)大的問(wèn)題囚玫。
更多算法相關(guān)討論可以參考 Not_GOD大神簡(jiǎn)書(shū)文章:蒙特卡洛樹(shù)搜索 MCTS抓督。
實(shí)現(xiàn)
參考資料
- 蒙特卡羅(Monte Carlo)方法簡(jiǎn)介
- Douglas Whitaker:Monte Carlo Tree Search in R
- Meduim: Why AlphaGo is interesting, from a non-technical technical perspective.
- Wiki:Monte Carlo tree search
- 簡(jiǎn)書(shū):蒙特卡洛樹(shù)搜索 MCTS
- 知乎:AlphaGo 的學(xué)習(xí)決策模型是否能用于股票市場(chǎng)的交易铃在?
- 知乎:機(jī)器學(xué)習(xí)(machine learning)在經(jīng)濟(jì)學(xué)領(lǐng)域是否有應(yīng)用前景?
- A Survey of Monte Carlo Tree Search Methods
- GitHub:Mastering the game of Go with deep neural networks and tree search
- 微盤(pán):Introducing Monte Carlo Methods with R
作為分享主義者(sharism)阳液,本人所有互聯(lián)網(wǎng)發(fā)布的圖文均遵從CC版權(quán)帘皿,轉(zhuǎn)載請(qǐng)保留作者信息并注明作者 Harry Zhu 的 FinanceR專欄:https://segmentfault.com/blog/harryprince畸陡,如果涉及源代碼請(qǐng)注明GitHub地址:https://github.com/harryprince。微信號(hào): harryzhustudio
商業(yè)使用請(qǐng)聯(lián)系作者丁恭。