AI炒股,靠譜不靠譜?

前一段時間,在聽<Sapiens: A Brief History of Humankind >(中文譯本: 人類簡史)。其中一章講到股票能夠用人工智能預測嗎?做者的觀點是不能夠。由於股票市場是有對抗性的,若是你們都相信預測結果,而採起行動,而這樣的集體行動必然會影響股價。這個問題頗有意思。而後,我就饒有趣味的觀望了一下人工智能預測股價的現狀。算法

在進入主題以前,分享一下財經聖經,Benjamin Graham的<The Intelligent Investor>(中文譯本:聰明的投資者)的主要觀點之一: 不要嘗試作預測!!!股票市場惟一不變的是,他會殘忍地給對將來預測自信滿滿的你一個surprise。編程

<思考的快與慢>的做者Daniel老爺爺也說啦,這個世界大部分事情都是隨機的,有一些因果關係嘛,都是喜歡故事的人類牽強編出來的。股票市場,真的不要去預測。api

既然股票市場沒法作預測,那華爾街的分析師們都在忙什麼?那些財經數據分析師們都在忙什麼?<聰明的投資者>裏說,其實他們忙活不忙活都同樣。現在有那麼多數據,難以免想去分析,就像一我的拿着錘子,見到釘子或者像釘子同樣的東西,都想過去釘一下。微信

有意思的是,前一段時間聽Lex Fridman的一期podcast,嘉賓是物理學家Stephen Wolfram, 他提到了,量子力學是破解這個世界的基礎,若是人類可以成功建模量子微觀世界,這個世界的任何東西都是能夠預測的,好比說此刻的你在作什麼,甚至本期的podcast的內容均可以預測出來, 所謂the theory of everything. 若是是這樣,那股票市場預測應該是個小問題吧。網絡

那股票市場到底能夠預測嗎。咱們暫時可能沒法回答這個問題。但咱們能夠回答一個問題,人工智能能夠像巴菲特同樣買賣股票嗎。可能按照Daniel的理論,巴菲特也只是運氣好)。或者咱們把問題更general一點,人工智能能夠像一個行家同樣買賣股票嗎?這個答案可能仍是比較有信心的問答,能夠。股票市場有沒pattern咱們不知道,但行家的操做仍是有pattern能夠找。app

早期的股票預測模型,一般是基於時間序列模型,經過序列分析來預測將來的股票走向。靠譜度如何呢?我想起了在大學時候學過一門課,叫作時間序列分析,有一個例子是,預測彩票,彩票比股票應該更加難以琢磨。這又讓我想起了有了錘子找釘子的比喻。時間序列模型對於股票操做來講,是有必定指導意義的,能夠這麼說吧,時間序列模型就和那些看曲線走勢的股民們作着差很少的事情。雖然你不懂背後的驅動力是什麼,可是倒是有必定的規律,多少規律可信,對於股民和時間序列模型來講,同樣難評定。在市場風險領域,會引入一種評定方法,稱爲backtesting(過後校驗)。把實際的結果與模型預測出來的結果作比較。在機器學習領域,這個backtesting和test set很類似。若是backtest的結果好,可能只是overfitting了測試數據。就和選基金同樣,一個基金在過去五年的表現特別好,但不表明將來就必定好。機器學習

貌似咱們進入了一個思考的死衚衕: 測試結果壞,不行; 測試結果好,不必定可信。機器學習中,咱們是否是也要質疑test set的評分好到底可信不可信吧。test set的評分是否是可信,有一個很大的前提: test set的分佈是否是能夠表明真實的分佈。對於股票曲線走向,咱們能夠這麼翻譯過來,參與backtest的這個時間段的市場因素是否是有表明性。好比說2020年,COVID19對IT股和旅遊股的影響,使得2020的IT股和旅遊股的走勢並不能表明general的狀況。而市場因素很是的複雜,可表明仍是不可表明,這個問題自己就很難回答。每一種編程語言的helloword都很好寫,但實際的code都至關複雜。咱們學習test set策略時,貓狗的例子中的test set就和helloword差很少,但對於實際問題,難度大不少,而對於股票市場來講,尤爲的難。編程語言

對於一個經濟分析師或基金經理,固然並非由單一的曲線走勢來決定投資策略。研究股票預測的機器學習工程師們,總結出了三個方面。學習

  • 技術分析technical analysis: 即上文提到的股票曲線走勢測試

  • 情感分析sentiment analysis: 股民心態,股民對股票的情感是積極的仍是消極的

  • 基本面分析fundamental analyisi: 如公司的財務報表,負債狀況等等 

技術分析和基本面分析,你們都不陌生,做爲模型的輸入,也是很是直觀,就是一堆數據,Internet上隨便拉。那情感分析具體怎麼操做呢。情感分析屬於天然語言範疇。機器學習工程師們會從推特,臉書以及其餘的論壇上爬和股票相關的內容,作情感歸類。談到情感分析對於股票預測,相關的新聞也被列入此範疇,並且影響度彷佛更大。有至關多的機器學習工程師們在作模型,來預測某隻股票,當有相關的新聞在路透或者彭博發佈後,當天的收盤價。實現起來也是天然語言處理的一個應用,算法也是能夠自由選擇,神經網絡,SVM,甚至decision tree。固然每一個機構或者我的的ambitious是不同的,長線預測仍是短線預測,投資比例等等都是重要的信息。

模型作出來了,怎麼評價其質量呢?固然靠譜的結論是經過實踐得出來,而不是實驗室用已知的數據計算出來的。一個模型到底好很差,可能須要多年的時間來檢驗,不過多年以後,對股票影響的因素可能又發生了變化,模型可能早就更新了多個版本了。

股票的預測模型,與其說是intelligent,我更願意說是automation,雖然兩者概念的邊界很模糊。intelligent強調的是模型真正的掌握了奧祕,而automation是automate了人類的操做。而每一個公司的模型是automate了該公司的操做策略。

若是說只是automation的話,你們可能對其難度大大鬆了一口氣。實則否則。即便咱們已經擁有了automation (AUTO),也是有原則必須遵照,列出幾條我比較感興趣的分享一下:

  • 不要人爲干涉。人爲干涉只會增長bias,影響AUTO效果。

  • 世界變化是很快的,對於金融市場更是如此,因此必須考慮如何進化模型。

  • 對於機構來講,不要出售本身的AUTO, 這樣作的話,一來lose focus,二來,大量使用,市場的對抗性會影響AUTO效果

最後分享一些我讀過的比較有意思的相關文章論文:

https://medium.com/swlh/teaching-a-machine-to-trade-stocks-like-warren-buffett-part-i-445849b208c6

https://www.quora.com/Has-anyone-applied-AI-for-stock-trading-with-a-90-or-higher-success

https://towardsdatascience.com/backtest-trading-strategies-with-pandas-vectorized-backtesting-26001b0ba3a5

https://ep.liu.se/ecp/165/003/ecp19165003.pdf


閱讀更多做者原創文章,關注微信公衆號:

 

 
相關文章
相關標籤/搜索