經過了一天的奮鬥,總算是把昨天做爆的LSTM修好了,
失敗的可能原因可能為
前兩項算是程式上的Bug,
「2020股價」處理也很簡單,要嘛整段拿掉,要嘛把整個訓練段拉長即可,
「預測時間過長」的原因比較有趣,讓我們來看看原作者做出來的結果
而這是我用台積電(2330)套用作者程式碼做出來的結果
可以看出來預測的結果都不錯,起碼該有的轉折都有學到,然而當我繼續做下去後的結果變成這樣
看起來很棒對吧,別著急,這是Train的部分,讓我們來用它來預測未來
馬上就變成不知道在預測甚麼鬼東西的情況
經過了長時間的排查我終於發現問題了,這是作者的Train-Test分法
number_train = round(0.9 * result.shape[0]) # 取 result 的前90% instance做為訓練資料
而這部分是我的
train_df = df[(df.index > "2014-01-01") & (df.index < "2018-12-31")]
test_df = df[(df.index > "2019-01-01") & (df.index < "2020-12-31")]
沒錯,兩者的差距只是預測未來的區間大小,
通常3個月後的股票價格就會很飄了,之後的部分就和瞎猜差不多了。
經過了說長不長說短不短的一個月,我也勉強算是脫離股票小白了吧?
原本以為區區股票預測應該很簡單吧,畢竟求學路上也聽過很多人靠程式預測股票發財的,
但現在看來應該大部分都是在唬爛(笑
股價預測對現今ML和DL發展來說還是太早了,
如果是選股可能會好點,畢竟基本面和股價的關係應該會比較明顯
但現在30天也結束了,也許明年的鐵人可以試看看?
前面30天我也做爆了不少天數,現在我知道為什麼那麼多人喜歡寫基礎教學文了,
畢竟沒有程式跑不出來的風險(笑
然而我的觀念是要做就要學到東西,無關對錯,只是我想試新東西罷了
之後還有10天的時間我應該會把之前做爆的部分改成其他東西,
太亂的部分也會做整理,當然以上是建立在IT邦不會把編輯鎖起來的狀況,
畢竟我是第一次參賽,如果真的鎖起來的話就...再說吧(笑