人工智能預測股票漲停?靠譜嗎?好像行哦,那不發財了?

人工智能預測股票漲停?靠譜嗎?好像行哦,那不發財了?

背景

人工智能很火,各種秀。股票讓人歡喜讓人憂。它們結合能擦出什麼樣的火花?

我從去年5月學編程,樹立目標:數據分析股市,做快樂盈利股民。達成階段目標:預測股票漲停。特寫文章記錄和分享,也看能不能“賣鏟子”。

前提假設和資源

做事需要一些前提或假設。用人工智能預測漲停,我認為基於以下假設:

股市隨機但有規律,是一種混沌狀態。

股票當日漲停表現,影響隔日走勢。

人能學習,能通過覆盤提升交易水平。同樣,用正確的方法也能讓電腦學習和發現規律。

做事也要有資源。使用人工智能(機器學習)要有數據、算法和軟硬件。大數據時代,數據已不是問題。科學家們研究出很多算法。技術大牛開發很多神奇軟件。計算機硬件也突飛猛進。總之,技術進步讓人工智能得以實現。

概念解釋

人工智能是寬泛的概念,泛指一切機器智能。而機器學習和深度學習是實現技術。核心是軟件、算法和數據,算法簡單說就是數學公式。


人工智能預測股票漲停?靠譜嗎?好像行哦,那不發財了?


舉個深度學習的簡單例子:用一個軟件,輸入大量有標記的貓狗圖片,訓練出模型後,另輸入一張圖片,模型能判別出是貓還是狗。


人工智能預測股票漲停?靠譜嗎?好像行哦,那不發財了?


目標

利用人工智能(機器學習),分析當日漲停數據,預測第二天能否漲停(連板)。

數據準備

我收集了2017年至今漲停股數據。

剔除一字板,因為一字板最容易漲停,但沒交易機會。剔除新股,st股,科創板股。計算出其他衍生指標。特性(特徵)有41個,比如:開板次數,封板時間,漲停類型,當日平均封板成功率等。用2020年之前的26774條數據訓練模型,今年的數據驗證模型。

方法篩選

因數據太少,不能用深度學習,我也不會相關軟件框架,所以用機器學習。

最初手工比較算法好壞,效率低。碰巧有大牛發佈神器pycaret,可自動比較算法、調整參數,節省了大量時間和精力。比較了十幾種算法後,梯度提升樹勝出,而catboost最佳。

結果讓人失望

我採用分類算法,標籤是第二天漲停與否,效果不佳。精準率0.46,召回率0.26,下面是ROC曲線圖。因為樹模型天生過擬合,在今年的數據上表現更差。


人工智能預測股票漲停?靠譜嗎?好像行哦,那不發財了?

模型在今年1-3月數據的表現


總之就是,只比瞎猜好一點。很多朋友可能不懂這些指標。我也是一知半解,只知道如何用來評價。簡單說:預測10個漲停,對錯各半,5成勝率,另外漏掉40個。

看到這結果我很沮喪,辛辛苦苦學知識,拼命搗鼓。結果證明沒用白忙活,竹籃打水一場空。

不死心,開始對比算法,瘋狂調參,還是沒什麼用。都要放棄時,有了轉機。

峰迴路轉,還有希望

在人工智能界有句話,進去的是垃圾,出來的也是垃圾。還有一句話,決定模型上限的是數據,而算法只是無限逼近這個上限。它們都強調數據比算法重要。據此斷定,預測效果差,不是因為算法和參數。

難道假設有錯,股票能否連板和昨天沒關係?這不合常理,另外預測結果雖然差,但也有學習到規律。

問題應該是數據不足。我嘗試通過現有數據計算出幾個新特徵,效果只提升了一點點。

我就想今天的數據不足,那能用第二天的數據嗎?誒,開盤漲幅是重要指標,不僅有5分鐘空檔時間,另外不是立馬漲停,用開盤價不耽誤做交易。於是就在模型裡添加了開盤價,結果不錯哦。精準率0.58,召回率0.56,下面是ROC曲線圖。AUC面積提升了10個點,而且過擬合減小了。


人工智能預測股票漲停?靠譜嗎?好像行哦,那不發財了?

添加開盤漲幅後的表現


再簡單說就是,預測10個漲停,6個對4個錯,6成勝率,但只漏掉10個。

而且預測出的是漲停概率,默認高於50%判定漲停。可以提高這個標準,比如高於70%。於是我嘗試調整。結果是預測10個漲停,7個對3個錯,漏掉20個,即7成的勝率。

這個結果就有意義咯。

結論

使用人工智能可以有限預測漲停(連板)。

但只靠當天數據,勝率低,錯誤率高,漏掉很多。所以風險大,參考價值小。

如果添加第二天開盤情況,再提高判定標準後,就能有7成的勝率,漏掉也少。所以風險減小,贏面變大,有參考價值。

需要說明的是,這只是平均水平,不代表每次預測結果都讓人滿意,會有波動。另外預測是以分析歷史數據為基礎,未來是否重演,會不會發生變化,不確定!

所以,沒有免費的午餐,掙錢需擔風險。但有人工智能協助,加上正確的交易系統,嚴格執行交易紀律。期望收益可保證為正,長期堅持肯定盈利,能發財!


分享到:


相關文章: