iT邦幫忙

0

python 計算均線有誤差

  • 分享至 

  • xImage

不管我用rolling(20).mean()還是用talib.sma算出來得到的20線是跟下單軟體有誤差的
有看到有大陸文章說talib算的是ma 不是sma,有人知道要如何計算出跟台灣下單軟體一樣的均線嗎???謝謝
stockpd["ma20"]= stockpd["Close"].rolling(20).mean()
print(stockpd["ma20"])
stockpd["ma20sma"]= talib.SMA(stockpd["Close"], timeperiod=20)
print(stockpd["ma20sma"])

https://ithelp.ithome.com.tw/upload/images/20210818/20018576FIV5iu8gkg.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
I code so I am
iT邦高手 1 級 ‧ 2021-08-19 10:05:58

下單軟體的MA也許是EMA,公式參考:
https://ctee.com.tw/bookstore/selection/489960.html

看更多先前的回應...收起先前的回應...

有試過用ema了 算出來的質還是不一樣?好像是說talib的sma其實是ma並不是SMA

你如果使用 Yahoo Finance API 抓資料,它提供的資料有時候會有問題,例如 2021-8-17 2330。
Yahoo:
https://ithelp.ithome.com.tw/upload/images/20210820/20001976DiVyQ22dlN.png

TSE:
https://ithelp.ithome.com.tw/upload/images/20210820/20001976C8hvhSvmyf.png

要以TSE為準。

你是說twse嗎??謝謝?可是我剛剛正在算macd,結果羅素兩千也是錯的,難道YAHOO FINACNCE連羅素兩千的資料都抓不準????
以及你真厲害 我是抓YAHOO FINACE都被你猜到。
macd的公式我是抓如下的,謝謝,原來是YAHOO FINACE的問題
https://mrhandbyhand.medium.com/python-macd-indicator-find-golden-cross-b876abcfe2d7

不好意思 我後來想到 如果yahoo finace數據有問題 那布林通道跟KD 我應該也算不出來才對 所以應該是計算方式的問題
布林通道跟KD有算出來 KD是上網找那種自幹KD計算方式的範例拼貼出來的,布林通道適用talib算的

  1. TSE ==> TWSE, 證交所官網。
  2. talib 公式應該都沒問題,有些指標是滾動式的計算,例如KD,要計算準確,必須輸入較長時間的資料。
  3. 有些網站是採用『調整後股價』(Adjusted Close),而非收盤價(Close),指標計算也會有差異。

謝謝 I Code ,現在也只能接受這些誤差了,因為別人都在用,應該表示計算方式可能國內外計算方式不同而已,以及後來聽說國內好幾家下單軟體的KD值也是不同的,所以也只好接受了

我要發表回答

立即登入回答