iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
永豐金融APIs

理財達人Mx. Ada系列 第 25

[第25天]理財達人Mx. Ada-ADX指標

前言

本文說明使用TA-Lib函式庫計算ADX指標。

ADX 指標

平均趨向指標:ADX(Average Directional Movement Index),一種趨勢衡量指標,威爾斯•威爾德所提出,利用多空趨勢變化之差與總和判定價格變動的平均趨勢,可反映價格高低的趨勢轉折。值介於0至100之間。通常,ADX超過30代表匯價已進入趨勢。而低於30則表示匯價在區間內波動。當ADX超過30時,ADX的讀值越大,說明價格趨勢越明顯。

安裝 TA-Lib

git clone https://github.com/mrjbq7/ta-lib.git
python setup.py install

程式實作

import numpy as np
import pandas as pd
import talib
import datetime as dt
import yfinance as yf

# 利用「get_functions」,查看 TA-Lib 提供的所有技術指標
all_ta_function = talib.get_functions()
#print("all_ta_function:\n" ,all_ta_function)
df_funs = pd.DataFrame(all_ta_function)
print("all_ta_function:\n" ,df_funs)
# 利用「get_function_groups」,查看 TA-Lib 提供的所有技術指標類別群組
all_ta_groups = talib.get_function_groups()
df_group_funs = pd.DataFrame(
        {
            '技術指標類別': list(all_ta_groups.keys()),
            '類別指標總數': list(map(lambda x: len(x), all_ta_groups.values()))
        })
print("df_group_funs:\n" ,df_group_funs)

# 開始時間
start=dt.datetime.today()-dt.timedelta(100)
# 結束時間
end=dt.datetime.today()
# 下載台股長榮(2603)歷史交易資料
df = pd.DataFrame(yf.download("2603.TW", start=start, end=end))
adx = talib.ADX(df.High, df.Low, df.Close, timeperiod = 14)
print("ADX:\n" ,adx)

程式執行結果

https://ithelp.ithome.com.tw/upload/images/20211009/201071431ue5Z5a2dc.png

小結

使用yfinance函式字取得個股歷史資料及利用TA-Lib函式庫計算ADX指標。


上一篇
[第24天]理財達人Mx. Ada-RSI指標
下一篇
[第26天]理財達人Mx. Ada-OBV指標
系列文
理財達人Mx. Ada30

尚未有邦友留言

立即登入留言