[心得] 用FB Prophet預測美股未來行情
完整文章:
https://blog.zmcx16.moe/2021/11/fb-prophet.html
Github程式碼:
https://github.com/zmcx16/stock-forecast
最近覺得自己美股轉換標的的時機都不是很好, 抄底常抄在半山腰, 就想說來研究一下預測趨勢好了, 雖然知道要預測市場趨勢基本上不可能, 變因變數太多, 不過就當作小參考也好, 至少能大概知道從過去來看目前大致的趨勢是向上或向下也不錯~。
Note:
以下的內容只是實驗用, 行情預測要考慮的變因變數太多, 也沒有絕對永遠適用的方法,建議把以下內容當做一種類似均線的參考就好。
FB Prophet時序模型公式:
y(t) = g(t) + s(t) + h(t) + e(t)
g(t) 代表趨勢,直接透過線性模型來回歸出大致上的趨勢
s(t) 代表週期的變化,日週期,週週期,年週期等
h(t) 代表假日的變化,假日週期可能會影響到持有股價的意願。
e(t) 包含了模型沒有涵蓋的錯誤或者是變化
從公式看可以知道主要是以趨勢跟週期的變化去擬合未來的預測結果。 基本上單針對行情預測這件事來說, 最重要的就是趨勢的預測, 年週期的部分則是對淡旺季有所幫助, 節假日的部分或許也或多或少有幫助 (e.g. 感恩節, 黑色星期五等?)。
接著就來測試看看模型的效果如何, 測試資料就先選AT&T的近一年股價資料, 首先把近一年的資料拆成9:1, 前10.8個月當訓練資料, 後1.2個月當測試資料, 再來評估模型的效
果:
https://i.imgur.com/7SssPt4.png
上面黑色的點是真實資料的點價位, 藍色的線則是模型訓練完後模擬出的結果, 淺藍色的區塊則是預測線的上限及下限, 可以當成模型認為可能的最大誤差, 至於Y軸的值為什麼跟股價不一樣, 是因為有先對資料做對數轉換, 把資料變得更平穩並且預測的趨勢能更趨於線性。
https://i.imgur.com/hbIMXHK.png
第二張圖則是Prophet其他component的圖, 上面那張是趨勢預測圖, 基本上前大半部分會跟這一年的股價差不多擬合, 而最後面那一段有淡藍色區塊的則是實際預測的部分。 而下面那張圖是用每週循環的預測, 基本上意義不大就不看了~。
https://i.imgur.com/vusifta.png
最後第三張圖則是在把資料做對數反轉換, 還原回原本的股價資料, 光從AT&T本身的股價趨勢就覺得會繼續往下跌, 模型預測出的結果也就是符合他近期的下跌趨勢, 在加一些怪怪的小循環震盪...。
比較有意思的地方是, 預測的股價下限趨勢差不多是維持一樣的斜率, 可是上限則是往上持平, 應該可以想成模型認為股價之後可能會繼續用差不多的速度往下跌, 或是轉為盤整趨勢。 再來最後我們可以用測試資料跟預測資料算一下平均誤差跟均方誤差:
MSE: 1.2798056068411054
MAE: 1.0764610288441487
單純用平均誤差看, 跟真實股價平均差一塊錢左右, 以25塊的股價算差不多是4%, 1.8個月的預測資料跟真實資料落差4%價格, 這樣的結果是好或不好, 其實我也不太能把握, 畢竟AT&T的beta本來就小, 如果是波動大的個股, 只落差4%的話我是會覺得很厲害...。
跑完上面的模型, 在來重新思考一下, 上面的模型只是單純用近10.2個月的收盤價, 去預測後面1.8個月的收盤價, 就只是個單變數的模型, 可是股票市場的變數何其多, 單用收盤價就去預測未來資訊太少了, 能準確預測反而才奇怪。
關於這點, Prophet本身是可以接受添加附加的回歸量來訓練模型的, 只不過必須在訓練資料跟預測資料上都有想加的回歸量才行, 可是未來的資料不可能會有, 只能用某些方法才能生成出來。 這邊選的簡單作法就是, 先把你想加的回歸量都做一遍預測, 然後拿這些預測的回歸量當作你真正要預測的模型的附加回歸量, 這樣就可以只依靠訓練資料做多變數預測模型了, 在這邊我額外加入了Open High Low Volume作為附加的回歸量, 並來預測未來收盤價的結果:
https://i.imgur.com/YBnW6CM.png
https://i.imgur.com/8TE693C.png
https://i.imgur.com/K6jYUiR.png
恩....看第一張圖跟第三張圖, 可以發現預測線跟上下限極度貼合實際的股價, 其實這結果不太意外, 因為附加的回歸量有開盤價跟最高價以及最低價, 而這三種資料跟收盤價本來就是極度相近的, 所以畫出來會長這樣我倒是不太意外...。
再來看最後一段預測的結果, 趨勢來說還是一樣的, 只是上下限的部分也極度貼合, 這通常就兩種情況, 一是真的精準度很高, 預測神準, 不過想也知道不太可能; 而第二種情況是最有可能的, 就是overfitting過度學習了, 來看看最終測試資料的平均誤差跟均方誤差結果:
MSE: 1.1426736398003121
MAE: 0.9865404828745983
結果還真的比只用收盤價的模型好了近10%, 我是覺得只是運氣好啦... 關於這個問題就先放一邊, 因為上面的預測模型看起來就太overfitting了, 這次附加回歸量我去掉OpenHigh Low, 只用Volume試試看, 因為Volume本身跟價格無關, 應該不會在有上面那種極度擬合的預測圖, 下面是跑完的結果:
https://i.imgur.com/R2grNEn.png
https://i.imgur.com/I4tQS7L.png
https://i.imgur.com/aEZVm04.png
MSE: 1.3153719245816298
MAE: 1.0991889378931168
看起來跟只用收盤價預測差不多, 不過均方差跟平均差反而更大了, 其實要說不意外也是不意外, 畢竟交易量大增有可能大漲也有可能大跌, 至於到底往上走還是往下走都是概率的問題, 猜錯方向就是大錯...。
上面部落格完整文章另外有用AAPL實驗的結果, 礙於篇幅就不寫在這了, 有興趣的話可以在到blogger上看。
--
所以週一會漲還是會跌
一樓的問題就是我的問題
直接列出未來一個月 TSLA 漲跌啦
然後我跟你說你這東西高機率沒屌用
你講得很認真,我聽得很茫然
FB Prophet 這東西出來超久了 連我這麻瓜都聽過
這東西能炒股的話 Facebook Core Data Science Team
拿這個去炒股就好 公司還要賺元宇宙幹嘛
FB 現金這麼厚
我也覺得真的要靠程式交易持續賺到錢, 大概只有文藝復興科技公司辦得到, 基本上這個 只是做來當輔助交易決策用, 至少趨勢線的部分可以拿來做為參考, 我目前是把這工具當 成另一種均線參考用XD
※ 編輯: zmcx16 (123.194.201.118 臺灣), 11/27/2021 21:28:43永遠不要預測市場
廢話少說 會漲還是會跌
樓主請問你覺得大概AT&T多少錢算是落底?
個人看法, 現在接刀很危險, 趨勢很明顯持續向下, 不過以本益比來說很甜了, 如果找 不到好標的我會想分批買入, 不過預期上檔獲利大概就20幾%, 我個人會比較想找上檔 獲利30% up的標的, 如果是當作防禦型資產倒是可以考慮。 現在這種趨勢根本看不出底 部在哪。 願意持有兩年以上的話我是覺得有機會回到30塊以上。
週一當然跌,出這麼簡單的問題
週一當然跌,出這麼簡單的問題
我又笨又呆又韭 告訴我跌到幾點會開始彈就好了 再
告訴我彈到幾點又要開始修正
星期一就是全民搶空運動,晚來沒券可空
整篇有一個小迷思就是要很準才能賺錢
但是不準的時候錯得少,準的時候對得多就會賺了
程式線仙
周1早盤跌 中午拉高 嘎空 在下去
請問學這個有推薦的入門書嗎 感謝
指數比前一天低就是跌
可以找一下? 歷史紀錄大跌一天後 之後再跌的機率?
又在預測市場~程式線仙
預測LTCM很會玩,越玩越大,最後玩到翻車了
做這種其實蠻有意思的 只是在場上接你買的貨大部分
的人工具不會多高科技 就K棒、SMA 頂多KD or MACD
寫程式到市場可能就要分清楚 你是要來賺錢(將你
平常的交易策略自動化)還是做研究(學術、職涯)
還是來賣鏟子(具有某種神奇指標的軟體
LTCM主要是槓桿開太大+死在肥尾效應, 如果他當初槓桿開小一點, 應該有機會像大獎章基 金那樣持續賺錢(個人想法), 程式交易我目前是完全不考慮碰, 槓桿也不敢開, 乖乖找有 賺錢的公司撿便宜..., 然後希望自己進出場點能在抓得更好些, 績效能改善好一點是一 點XD
建議你不要 這東西已經有論文回測過了 績效非常差 b
oost都贏他
這真的沒卵用
忙了半天只拿來看趨勢,要看趨勢也有更快更好的方法
,猴子射飛鏢也50% 50%
G大講得很有道理
不要浪費才能,好好在豬屎屋做個幾年,遠勝過在這
推導這些543
無聊…所以學數學跟統計在市場賺大錢了?
做好風控就好了,市場不是你能預測的
interesting but useless
我覺得很好阿!給推
z大分享文我必推,謝謝z大分享
爆
[心得] 今年績效+心得 & 美股產業-內幕投資整理今年迄今投資績效: 62.1% 投資日誌: 2020年績效: 2%86
[標的] 元大金-多-十年新高1. 標的:2885 元大金 2. 分類: 多 3. 分析: 最早推薦買進股價:20.935
Re: [標的] 大盤 空大盤走勢比當初想像的還要強勢 上週四確認封閉跳空缺口後,島狀反轉失敗→空單全數退場 尊重市場趨勢,並且翻多操作 目前大概用3成資金進場短線操作 現在的盤勢已經不像之前的射飛鏢行情那麼好做26
[心得] 30週均線投資法版友們多數都是喜歡操作短線殺進殺出 不管綜合損益是獲利或虧損 好像沒有進出股(賭)場就渾身不對勁 在這波行情中有獲利了結的版友們 先恭喜各位找到適合自己的獲利方式 然而操作「短線」導致虧損賣出的板友們 我想提供一點心得 希望能幫助一下版友們不求大賺至少避開不必要的虧損24
[標的] 美股TRXC 短多長空1. 標的: 美股 TRXC 2. 分類:短多長空 3. 分析/正文: A. 長空 千萬不要因為Senhance也是手術機器人理解成是達文西的競爭者20
[標的] 美 軍火股 LMT/NOC 短線波段交易的選擇?1. 標的:NOC / LMT 2. 分類:請益 3. 分析/正文: 先附上技術圖:21
[標的] 有未來趨勢的標的: Pfizer (NYSE:PFE), FANG+ ETF 007571. 標的:輝瑞、00757 2. 分類:多/空/討論/心得 討論 3. 分析/正文: 今年科技股修正蠻多的,回想去年那些炒到天價的股票,不勝噓唏阿16
Re: [請益] 大家怎麼設定停利分享一點新手想法,股神們請鞭小力 我自己理解停利的最大原因在於股市不可預測性很高 不管檯面新聞如何,標的籌碼如何 都只能拿來預測未來可能走勢 但說到底預測就是一個機率問題,不一定照著你預測走12
Re: [請益] 有程式交易之後,一堆投資大師都露出馬腳看完原文的留言以後覺得...應該很多人根本沒碰過程式交易吧 程式是人寫的,不同的人寫的當然也會各種不同 市面上很輕易就能找到的的確大多都很爛 但就哥目前使用的,只要找到一個確定長期趨勢的標的 然後還有不要爆倉,長期趨勢也不是永遠往一個方向走,肯定都是有漲有跌7
Re: [標的] 4904 遠傳 EP2原文吃吃 回一下這篇然後補個對帳單 隔一周後繼續追蹤一下趨勢 目前還是往當初預測的趨勢走 (收斂三角 60底)
38
[情報] UPST的Q3財報30
[情報] 突發新聞:美聯儲降息25個基點7
Re: [請益] 美債套著配也舒服???6
Re: [請益] 為何一堆人都想著債市要做價差?6
[標的] Coinbase25
[情報] WCI指數 11/7 +7%4
[標的] 2324 仁寶 Super Computing 2024 多9
[情報] 1307 三芳 前三季eps 2.76元3
[情報] 113/11/07 八大公股銀行買賣超排行25
[請益] 每次都特別選在除權息後進場這策略好嗎?8
《通網股》新復興前9月每股盈餘8.44元2
Re: [請益] 為何一堆人都想著債市要做價差?3
[情報] 2880華南金 10月自結0.12 累計1.4213
[情報] 2812 台中銀 室內裝修施工決標公告5
[情報] 6788 華景電 前三季EPS 10.0