iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 30
3
Google Developers Machine Learning

AI可以分析股票嗎?系列 第 30

預計撐兩天的我,今天是第30天 - 筆記總整理

零、一路走來始終如一

沒錯, 當初真的只想說要撐兩天 ,但還是認認真真的規劃了一下,然後就寫到今天了(有點佩服自己)。

  • 而且還上粉專
  • 而且還上粉專
  • 而且還上粉專

一切都是來得這麼突然XD 有點小開心+小歉意 (工程師的BUG往往都是這麼樸實無華,且枯燥

一直做錯實作還要多一篇來修BUG,進度超慢還亂測試,邪門歪道喔!! 躺分啊!!

小...小的錯了,但還是要給它結束啊 !!! 回到正題,其實在規劃這個系列文的時候,我的最終目標就一直都希望用RL來實現。 雖然最後的結尾是如此地偏門 (笑死 XD

那為什麼不用正規的RL做呢?

要啊! 要做啊! 但我預計在25天前就把該解決的解決了才對Orz 計劃趕不上變化啊!!! 連GCP都統我一刀... 我原本預計的規劃如下的排列組合 :

  • *的代表我有做的 XD 最後一欄對我來說只是bonus
時間軸 使用模型 使用資料集 資料處理方法 預測 環境
最先 * LSTM * 短線 * 普通正規化 * 價格 * local電腦
-- ↓ -- CNN - 加入指標 - * GCP VM
-- ↓ -- CNN-LSTM * 當沖 畫成圖 * 行動 -
-- ↓ -- Muti-Model - - - -
-- ↓ -- * 偏門RL 3日短線 - - GCP API
最後 RL 月線 - 行動+價格 edge

好爛喔~ 還跳過這麼多模型

我盡力了喔(哭~),而且因為是第一次參加,我不確定是不是第一天就要開始寫 ... 那時候因為忙到 9/4,還是給它在9/2就開始寫了XD 而且本來還要先屯個幾篇再開始,但真的不知道,所以都當天來... 有鑑於此,在這獻上發自內心的一句諫言 : 「 千萬不要回去看那幾篇!!

回顧一下作者我到底都幹了些什麼吧! (程式碼位於最下方的參考中)

一、古生代 :: 單細胞生物所撰寫的文章

篇章 備註
1 30天可以用AI來分析股票嗎? 講幹話
2 起步~走! 講幹話
3 GCP環境建置-我可以開始Coding啦! 實作錯了硬要講幹話
4 GCP上架設VM - 筆記 實作錯了硬要講幹話
14 股票市場及python網路爬蟲 幹話的完全體

-> 筆記 :: 採坑系列

篇章 備註
9 TFRecord踩坑踩好踩滿 抱回我的自尊~哼! (但後面依然沒有用它)
21 Keras-LSTM踩坑踩好踩滿 然後自尊就被搶走了

二、中生代 :: 盤古大陸TFRecord上不去

篇章 備註
5 股票預測需要什麼樣的NN模型? 我的第一篇筆記觀念XD
6 股票預測初探 :: 只有過程沒有結果~嗚嗚 實作很久的失敗TFRecord
7 股票預測二訪 :: 簡單測試及修正小問題 繼續嘗試TFRecord然後失敗Orz
8 股票預測三試 :: 使用小的Dataset和LSTM做多個測試 放棄TFRecord總算有了第一個結果

三、人類的出現 :: 實戰前的測試路系列

篇章 備註
10 實戰前的測試路(一) :: 正規化資料 最基本的正規化資料
11 實戰前的測試路(二) :: 加入第二個變數 加入「交易量」資訊
12 實戰前的測試路(三) :: 混合正規測試 將兩個不同的正規化方是結合
13 實戰前的測試路(四) :: 非股價預測測試 預測action的第一步

四、文化的形成 :: 沒有實作所以只好講幹話系列

篇章 備註
16 沒有實作所以只好講幹話系列(一) :: 從loss到梯度下降 loss是什麼?
17 沒有實作所以只好講幹話系列(二) :: 模型中的激勵函數 激勵函數是什麼?
18 沒有實作所以只好講幹話系列(三) :: 過擬合了 !! 過擬合是什麼?
16 沒有實作所以只好講幹話系列(四) :: 淺談Reinforcement Learning (RL) 強化學習是什麼?

五、現代世界 :: 暴力系列

篇章 備註
19 暴力LSTM模型實測-你是在跟我開玩笑嗎? 實作有BUG LA
20 暴力輸入資料實測-單純的我被嘲諷了 實作有BUG LA
22 暴力拔掉do_nothing類別-期待的我被侮辱了 實作有BUG LA
23 暴力中繼總匯站-修bug之路之結果重發 把BUG補掉 LA
24 暴力股票action預測-什麼叫做暴力美學 ? 預測趨勢

六、未來世界 :: RL的出現

篇章 備註
15 超級簡略的單股買賣模擬器 第一個環境模型
25 超級簡略的單股買賣模擬器 :: 測試action預測結果 1000滾到2億
26 比較不簡略的單股買賣模擬器 :: 面對現實吧 ! 然後就賠錢了...嗚嗚
28 偏門RL實測 :: 用超簡單股票交易模擬器來訓練模型 測試用環境來訓練模型
29 偏門RL實測 :: 調出一個合適的環境參數 !! 設法找到最適合的Reward

七、總結 :: AI可以分析股票嗎?

在這一系列的trial and error當中,我也對整個股票市場從0慢慢升到了1 (滿是100) 。「AI可以分析股票嗎?」這個問題早在第一篇幹話中已經給出了答案,在實作的過程中也驗證了這個答案,在一般的情況下,不加入人為的指標、沒有環境狀態或甚至完全不知道自己在預測什麼的情況下, AI都能夠使模型收斂並有一定的成效

但加入手續費就直接GG了

沒錯Orz,但不可否認,如果把環境狀態也放進去,很有可能有翻轉的餘地 (催眠中~

那麼如果要繼續的話,接下來要做什麼?

如果要繼續,應該要把戰場撤離「當沖」。除非你在證券公司上班,不然就是幫他們賺錢,現在應該要將時間軸拉長一點,做3-7天的連續投資。 這個就會比較麻煩了,我們不能用原本的LSTM來做(資料會太大),也要考慮正規化的問題,因為隔天的開盤價不同。 我認為RL是最好的方式,我們需要顧全大局,又要有一定的限制,這些是單單給y_true做不來的。

怎麼都是直接預測action? 想要直接使用程式交易嗎?

其實我最一開始的目標就是程式交易,但如果想要由機器幫你「過濾」掉股票或是「提取」一些特正要你注意某些股票,這在暴力系列的最後一篇就可以拿來用,把條件設得嚴苛一點、把模型修改一點,甚至可以把輸出分類一下,弄成「該注意」「稍微注意」...等等,也可以的 !

你是不是忘了什麼東西? GCP勒?

堆...堆噗起 ~ !!! 誰知道做一做30天就到了XD 而且我用GCP上的虛擬環境...才訓練個 4 天就 $800 左右,比我放1000進去我的模型賠的還多Orz... 不過說認真,我真的滿想使用到GCP上的API,但真的沒時間研究喇 ! 以後,以後再說 XD

之後會繼續嗎?

明年鐵人再考慮囉XD 今年是我的第一年,感性的話就先語畢吧 ! 學到不少真的,到最後都有維持初心地朝自己好奇的方向鑽,算是收穫滿滿吧 ! 鐵人第30天,結束啦 !

撒花放鞭炮+訓練一下明年的模型...

我開玩笑的 (跪...

參考資料


上一篇
偏門RL實測 :: 調出一個合適的環境參數 !!
系列文
AI可以分析股票嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
嗡嗡
iT邦新手 4 級 ‧ 2019-10-01 01:04:02

恭喜!!! 比預計多撐過了15倍的時間XD!!!

哈哈哈 真的~ 果然定小一點的目標可以有比較大的成就感 哈哈哈哈

0
阿展展展
iT邦好手 1 級 ‧ 2020-02-20 14:52:26

恭喜完賽 \0.0/

我要留言

立即登入留言