程式語言-KD值調參數
難易程度★★
Published in
4 min readFeb 1, 2019
此篇文章使用 Anaconda的 Jupyter寫程式,測試環境 python3.6,事先完成 pandas、numpy、twstock及 talib套件安裝
這篇我們調整參數改變『KD值』
上篇『程式語言-技術線圖繪製』介紹用 Talib畫出各種技術線圖,但總覺得KD值與看盤軟體的不一樣
於是一樣參考 Finlab量化實驗室-簡單158種技術指標計算最後一段,嘗試把『KD值』裡面的參數叫出來,研究研究~
由於套件與上一篇一模一樣,這邊就不再贅述,有興趣請點此連結
接下來直接作程式解析
程式解析
- 先導入所需要的爬蟲及畫圖套件
#導入套件
%matplotlib inline
import datetime
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt#專門做『技術分析』的套件
from talib import abstract#專門抓台股的套件
import twstock
2. 開始用twstock抓股票資料
#設定爬蟲股票代號
sid = ‘2330’
data=twstock.Stock(sid)
3. 用twstock裡的fetch函數取得資料,再放入dataframe裡
#用fetch_from抓取資料,指定日期放入dataframe裡
df = pd.DataFrame(data.fetch_from(2018,1))#設定index
df.set_index('date', inplace = True)
4. 用之前教過的abstract.STOCH畫KD值
#畫技術指標-KD值
abstract.STOCH(df).plot(figsize=(16,8))
5. 看看最後10筆資料數值為何
#顯示KD裡的資料內容
abstract.STOCH(df).tail(10)
6. 把裡面的參數印出來,原始參數fastk=5,slowk=3,slowd=3,台股一般fastk=9
#查詢指標內的參數預設值
print(abstract.STOCH)
財經小教室
fastk: 今日收盤價在這段行情波段中(行情的最高與最低值範圍中)所處的相對位置(百分比)值
slowk: fastk的 3日修正式移動平均值
slowd: slowk的 3日修正式移動平均值
7. 輸出修改後的參數值
#修改參數數值
abstract.STOCH(df,fastk_period=9, slowk_period=3,slowd_period=3).tail(10)
我們來看一下『修改前』及『修改後』與『看盤軟體』比較何者最為接近
結果發現好像兩者都與看盤軟體的相差甚大…
附上原始程式碼
這次的教學教了
- 溫習talib、twstock套件使用
- 溫習fetch的用法
- 查詢STOCH函數裡的參數
- 試著修改參數值並輸出
- 了解KD指標參數的定義