iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
AI & Data

從零開始的套牢生活 - AI股票預測系統系列 第 8

[Day 8] 從零開始的股票預測 - 技術指標與相關係數

一、技術指標(Technical Indicator)

技術指標:投資者用來做技術分析時,會使用到的資料,

通常會是由價格、量或是其他公開資料組成,
它能夠用簡化市場的資訊,包含情緒、過去短期走勢、平均成本等等訊息,反映在數值或圖面上,
讓技術分析投資者做出判斷。

也就是說,技術分析的投資者是藉著技術分析指標,來評估過去狀況,對未來做出決策,
技術分析指標 種類非常多,常見的包括RSI指標、KD指標、MACD指標或布林通道等等。

常用指標

二、Pandas-ta

打算把上面所有指標刻過一遍的人,你可以放下你的鍵盤去泡一杯咖啡休息了,
沒錯,早就有人把它們整理完了,都2021年了沒必要自己刻程式

然後我又是在打完1/3程式了才發現這東西

它的功能其實滿多的,但我們主要會用到的只有指標運算的部分,

pta.sma(
    high=stock_df["max"],
    low=stock_df["min"],
    close=stock_df["close"],
    open=stock_df["open"],
    volume=stock_df["Trading_Volume"],
    length=60,
)

high, low, close, open, volume即為之前撈的技術資料,
sma代表簡單移動平均線(Simple Moving Average , SMA)
length=60代表資料間隔為60
所以上面的程式碼即代表MA60指標
注意的是high, low, open, volumey在sma是不使用的,但放進去並不會報錯

如果不清楚語法或參數,可以使用該語法

help(pta.sma)

更多語法與支援指標請參考官網

三、MA線(Moving Average)

移動平均線 又稱為均線 (英文: Moving Average , 也常簡稱 MA),
代表過去一段時間裡的平均成交價格,
均線最主要目的是用來判斷趨勢通常是預期市場現在跟未來可能的走勢。

而5日線、60日線則分別表示在多長時間取得的平均值
而根據運算方式的不同,又可分為簡單移動平均線、指數移動平均線等30種

然而實際上如果我們將它們進一步分析會發現一件很諷刺的事
https://ithelp.ithome.com.tw/upload/images/20210913/201415867l3KRdHXlp.png
他們之間幾乎沒有差別

相關係數(correlation coefficient)

相關係數表示資料間的關係,數值在-1 ~ +1之間

  • -1表示負相關,即一個變數增加則另一個變數會減少
  • +1表示正相關,即一個變數增加則另一個變數會增加
  • 0 並不表示兩者完全沒關係(獨立)

讓我們回到上面的圖,可以看到MA線之間的COV都在0.85以上
在統計學上代表它們互相的關聯性非常高
實作上這種資料我們通常會全部砍掉

在這裡我們放寬條件,取部分關聯性較低MA線加到我們的指標清單裡面

四、技術指標實作

最後,我們計算出了21種指標值出來
一樣,我們檢查一下它們的相關係數
https://ithelp.ithome.com.tw/upload/images/20210913/20141586PnFjKbzv6B.png

情況比MA線好很多,但有幾個指標間的關聯性還是很高
這部分我們之後會在特徵選擇(Feature selection)的章節進一步作處理

完整程式碼

參考

PS

歷經多次立Flag後,我已經可以歸納出結論了:
只要放預告,之後一定會出事
所以我決定以後文章結尾拿來放油圖了(?
https://ithelp.ithome.com.tw/upload/images/20210913/2014158634J3nJkRi0.jpg
From Youtube


上一篇
[Day 7] 從零開始的股票預測 - 異常值偵測
下一篇
[Day 9] 從零開始的股票預測 - 籌碼面
系列文
從零開始的套牢生活 - AI股票預測系統30

尚未有邦友留言

立即登入留言