iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
AI/ ML & Data

從投信數據預測葛蘭碧突破後股價走勢系列 第 13

[Day 13] 資料收集與準備-資料來源的優缺點

  • 分享至 

  • xImage
  •  

前言

在上一篇文章中,我提到台股收盤資訊的取得有許多不同的管道,每個資料來源都有它的特點與限制。為了讓資料更加全面,我決定將多個來源的資料整合起來,避免單一來源的不足,從而構建一個完整的報價資料庫。本篇我們先來講講每個資料來源的優缺點,並說明整合這些資料的目標與過程中可能遇到的複雜性。


優缺點詳細分析

1. FinMind

優點:

  • 資料豐富:FinMind 提供很多台股的數據,像是個股歷史行情、基本面資料、技術指標和籌碼面等等,一應俱全。
  • 操作方便:他們有提供 Python 套件和 API,只要寫幾行程式碼就能抓到你要的資料,對我們這些工程師或資料分析師來說超方便。
  • 更新快:資料更新速度相對較快,通常交易日結束後不久就能拿到最新的資料。

缺點:

  • 缺失值問題:有時候可能會有缺少某些日期或股票的資料,這樣資料就不完整了。
  • API限制:免費版的 API 呼叫次數有限,如果需要短時間的大量請求,可能得付費升級。

2. yfinance

優點:

  • 免費好用:不用註冊,直接就能用,Python 套件也很好上手。
  • 全球市場:不只台股,全球的股票資料都能抓,非常適合做跨市場的分析。
  • 歷史資料:提供很長時間的歷史行情資料,對於研究長期趨勢很有幫助。

缺點:

  • 資料有限:對台股的資料沒有那麼完整,尤其是缺少籌碼、財報等重要資訊。
  • 更新慢:資料更新速度比較慢,可能要等交易日結束很久之後才能拿到最新資料。
  • 資料品質:有時候資料會有錯誤或不一致,需要自己再確認一下。

3. 官方網站(證交所)

優點:

  • 資料權威:直接從台灣證交所來的資料,準確性和權威性都很高。
  • 資料完整:提供完整的交易資料、財報、籌碼資訊等,想得到的都有。
  • 免費取得:資料是公開的,不用花錢就能拿到。

缺點:

  • 操作麻煩:資料需要一個一個手動下載,沒辦法透過 API 自動抓取,想要抓大量資料的話會很累。
  • 格式不一:不同的資料類型格式可能不一樣,需要自己花時間轉換和整理。
  • 更新頻率:有些資料可能要等比較晚才更新,對於需要即時資料的分析會有影響。

4. XQ(全球贏家)

優點:

  • 資料超豐富:提供詳細的技術指標、籌碼分析、財務報表等,非常適合深入研究。
  • 軟體好用:有專業的交易和分析軟體,功能強大,界面友善。
  • 自訂範圍:可以自己選擇要匯出的時間區間,彈性很高。

缺點:

  • 需要付費:有些更進階的功能需要購買授權,會增加一些成本。
  • 資料導出麻煩:資料要透過軟體操作才能匯出,沒辦法完全自動化。
  • 格式處理:匯出的資料格式可能需要再整理,才能跟其他資料一起用,像是轉換成csv格式。

資料庫目標

我的計畫是以 FinMind 作為主要的資料來源,因為它的資料豐富又容易抓取。不過,考慮到有時候 FinMind 可能會有資料缺漏,我打算用 yfinanceXQ 來補足這些缺失,特別是 XQ 的資料會是我驗證資料的重要工具。透過這樣的整合方式,可以確保我們的資料完整又一致,避免只依賴單一來源而出現問題。最終目標就是打造一個完整又可靠的報價資料庫,為之後的數據分析和模型訓練打下穩固的基礎。


資料整合的複雜性

不過,這個整合資料的過程真的不簡單。首先,要處理不同資料來源之間的缺失值問題。意思是說,每當 FinMind 沒有某筆資料時,我就得動用其他來源來補上,這樣會讓資料格式轉換和對應變得有點複雜。

再來,資料的日期對齊也是一個大挑戰。不同來源的資料在特定交易日的數據可能會不一樣,我得一一比對這些日期,確保資料的準確性。另外,還有異常值的處理,有些資料來源的數據可能會突然大幅波動,這時候就需要把那些不合理的數據點剔除掉,確保最終的資料庫保持穩定。


上一篇
[Day 12] 資料收集與準備-資料來源
下一篇
[Day 14] 資料收集與準備-資料前處理(1)
系列文
從投信數據預測葛蘭碧突破後股價走勢17
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言