iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
1
Google Developers Machine Learning

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

暴力股票action預測-什麼叫做暴力美學 ?

  • 分享至 

  • xImage
  •  

零、引言

此乃暴力系列最終章,上篇因為前面出了滿大的問題所以多做了一篇總整理「暴力中繼總匯站-修bug之路之結果重發」,可謂腥風血雨修bug之路啊!!! 解決前幾篇的問題後,心情舒坦的情況下開始了最終章的測試,GOGOGO !!!!!

然後我就碰壁了Orz

今天我想來玩點大的,我希望透過「輸入x時刻的資料」,並預測「一個action適合未來y刻」。也就是我希望我現在做的action並不只是為了「下1刻」,而是為了「下y刻」。 而我今天本來想要直接用自編譯器先對資料做預處理降維取特徵,並且直接開始這章內容。 但最終效果並不理想(沒有放出來),且因為無法判斷原因是出在自編譯器還是方法不好,所以還是退居二位... 今天的內容單純對「暴力輸入資料實測-單純的我被嘲諷了」的方法進行修改,針對我原本想嘗試的方法做,就沒有加入自編譯器了XD 讓我們開始吧...

一、資料處理

1. input data

輸入資料直接使用與上面那篇相同的處理,因為我們主要是想看看這樣如此暴力的資料處理,和不同的label處理下,解果差異性。 所以其實暴力系列的input data一直都是那樣(除力第一篇除外)

2. output data

我們期待現在的action可以延續到後面的y天,所以今天的關鍵無非就是label該怎麼處理? 其實我想這個想滿久的,最後我有實測下方兩種方法,但其中一種如引言所說,沒有比較性,所以沒有放上來(效果其實也不好)

  • 方法一、嚴格執行穩賺不賠政策

    • label為買 : 當「最後一天價格」小於「統計後y天的最小值」
    • label為賣 : 當「最後一天價格」大於「統計後y天的最大值」
    • 其他則不動作
  • 方法二、統計該買和該賣,和者有更大的可能性

    • 先統計「後y天的價格中有多少是大於/小於最後一天價格」
    • label為買 : 後y天中,有更多天是「大」於最後一天價格
    • label為賣 : 後y天中,有更多天是「小」於最後一天價格
    • 兩者相同數量則不動作
  • 我自己實測後整理了以下優缺點的表

mode
方法一 若能學起來,應該可以求穩不求賺多 可惜學不起來......
方法二 比起方法一有更好的收斂,效果也滿不錯的 在有些特殊情況下可能還是會有較大錯誤的選擇

來看看結果吧 !

結果

下方有使用offset是我希望最少與最後一天的價格的差,不要漲一點點也算是漲的意思XD

  • 統一參數
    • epochs = 100
    • batch_size = 3000
  • 樣本總數
    • 1901
  • 訓練樣本
    • 1500
  • epoch選擇
    • 當出現overfitting時,都直接使用epoch=50,沒有則最後的epoch
測試 input 15、output 10、offset 0.01 input 15、output 10、offset 0.015
LOSS
1550
1600
1650
1700
1750
1800
1850
測試 input 30、output 10、offset 0.01 input 30、output 10、offset 0.015
LOSS
1550
1600
1650
1700
1750
1800
1850

看不清楚啦~!!

沒關係,整理我來。 這樣看起來... 好像是input=30的比較優秀,對...應該是吧?

太爛了吧~ 這麼懶嗎?

好啦,簡單整理一下

  • 目前只有實測「往後看10個時刻」
- 歷史30刻 歷史15刻
offset 0.01 容易受小波段資料影響,導致大波段容易失利 小波段的預測表現不錯
offset 0.015 在大波段相較穩些,同時在小波段表現穩定 小波段表現穩定,有滿高的穩定度

以上是我個人見解,實際如何還是得要有個實測的地方,但總體看下來其實超過我的期待 XD

因為我原本是不抱任何希望的Orz

在目前看來,它對於「突然的劇烈震盪」有不錯的表現,一個意外的「突波」也能夠把握住,但仍然有許多問題,這個我們之後再說XDD

程式碼


上一篇
暴力中繼總匯站-修bug之路之結果重發
下一篇
超級簡略的單股買賣模擬器 :: 測試action預測結果
系列文
AI可以分析股票嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言