iT邦幫忙

10

python 透過yahoofinance出現收盤價大於最高價

  • 分享至 

  • xImage

今天回測資料的時候發現透過yahoofinance爬蟲下來的台股股票資料出現收盤價大於最高價,而且是大於10%以上的那種,然後用程式去跑,發現有很多間公司的股票交易資料都出現同樣的情況,想問有人知道為什麼會這樣?以及是什麼處理,我問AI說是除權息等等相關 可是那應該是變少,說可以改用adj Close 來替代close?想問問先進的意見,謝謝
https://ithelp.ithome.com.tw/upload/images/20250817/20018576rLUIInRSDM.png

--------------0819更新如下------------------------
後來我又重新下帶一次 然後結果如下 有些只是誤差一點點但有些誤差頗大的。
https://ithelp.ithome.com.tw/upload/images/20250819/20018576AB0GMgjZnT.png

https://ithelp.ithome.com.tw/upload/images/20250819/20018576ce9ChTiK0S.png
有的甚至誤差大於10%了?Close比hihg大於10%????
https://ithelp.ithome.com.tw/upload/images/20250819/200185769sVvU9nnpn.png

------------0820更新如下----------------
後來想到一件事情如果收盤價大於最高價 那有沒有一種可能收盤價也低於最低價的情況也發生
結果真的是有
https://ithelp.ithome.com.tw/upload/images/20250820/20018576YV1gtn0dsZ.png

https://ithelp.ithome.com.tw/upload/images/20250820/20018576HgrgMl2i9l.png

看更多先前的討論...收起先前的討論...
DennisLu iT邦好手 1 級 ‧ 2025-08-17 11:39:40 檢舉
這樣有點在擲筊問法...

都能出結果了,
只是計算結果都不成正常,
要自己加程式碼,
把要帶進公式的讀取到數據另外單獨print出來(如果解除問題再拿掉就好),
如果數字異常不正常,你應該也有所依據是來自哪裡,
如果不知道帶公式中的數值不對,
土法一點就把爬的內容整個輸出去找,一定是抓到哪裡了。
如果是AI寫的,自己不知道程式為何抓到哪個,
但至少知道問題出在哪個數值抓錯所以整個算錯。
ccutmis iT邦高手 2 級 ‧ 2025-08-18 09:19:00 檢舉
股票日K基本數據為 開高低收量(OHLCV) 其中的收(C)應會落在高(H)跟低(L)之間 C<=H 或 C >=L 不應有 C > H 這種情況發生 如同樓上說的 你應該先檢驗不帶任何自己寫的公式 單純從 yfinance 撈的資料把它 print 出來,例如列出 2025-08-15 的台積電日線數據 然後跟證交所的每日收盤行情去比對 OHLC 一不一致 如果比對結果一致 那就跟 yfinince 無關了
0819下午重抓後,完全沒有修改過內容的 ,然後用python去找出Close大於High筆數 已經補充圖片如上
0819下午重抓後,完全沒有修改過內容的 ,然後用python去找出Close大於High筆數 已經補充圖片如上
ccutmis iT邦高手 2 級 ‧ 2025-08-19 23:59:12 檢舉
TO6953 家碩是上櫃股票 從櫃買中心找到 2025-01-13 的日成交資料:

https://www.tpex.org.tw/www/zh-tw/afterTrading/otc?date=2025%2F01%2F13&type=AL&id=&response=html&order=0&sort=asc

上櫃股票每日收盤行情(不含定價) 產業類別:所有證券 資料日期:114/01/13
代號 名稱 收盤 漲跌 開盤 最高 最低 成交股數 成交金額(元) 成交筆數 最後買價 最後買量(張數) 最後賣價 最後賣量(張數) 發行股數 次日漲停價 次日跌停價
6953 家碩 216.50 -7.50 220.00 220.50 216.00 18,000 3,911,000 18 216.50 1 217.50 1 30,014,600 238.00 195.00

開 220.00 高 220.50 低 216.00 收 216.50

以交易所公告數據為準 如果 yfinance 撈出來的數據中夾雜著錯誤訊息 那可能就沒有參考價值了 因為 GIGO
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
jack1234552000
iT邦新手 5 級 ‧ 2025-08-17 22:31:02

我不太懂你所使用的技術
你文中有提到
異常的部分是「台股股票資料出現收盤價大於最高價」

那這些你認為的異常資料
他們和你認為正確資料的條件依據一樣的部分是什麼?
舉例:第一筆資料異常
那他們時間點、或者其他條件(例如公司所屬)依據一樣嗎
也就是說 你要比的這兩份「第一筆資料」
同時是2025年8月17日和A公司嗎?

後來0819下午一點半後又重新下帶一次 然後結果如下 有些只是誤差一點點但有些誤差頗大的。 檔案沒有修改過 ,就單純另外寫python去找出close 大於high的筆數和列出日期

https://ithelp.ithome.com.tw/upload/images/20250819/20018576QFnxQcRIkd.png

https://ithelp.ithome.com.tw/upload/images/20250819/20018576oxGbJJtB6H.png

我把彙總檔案上傳給AI後問AI的結果回覆如下
https://ithelp.ithome.com.tw/upload/images/20250819/20018576NkKdN9E0Fs.png

我要發表回答

立即登入回答