聊天視窗

數據驅動的投資決策:金融分析與機器學習實務 - 第 1 章

第一章 金融數據與市場結構

發布於 2026-02-24 01:37

# 第一章 金融數據與市場結構 ## 1.1 市場結構概覽 金融市場是資金供需雙方互動的場域,主要分為以下三大類別: | 市場類型 | 主要參與者 | 交易特性 | |--------|-----------|--------| | **交易所市場** | 交易所、券商、對沖基金、散戶 | 受制度化交易時間限制,價格透明,結算機制成熟 | | **場外(OTC)市場** | 企業、投資銀行、場外交易商 | 交易時間彈性,透明度相對較低,常見於債券、衍生品 | | **電子市場** | 高頻交易機構、算法交易者 | 以低延遲、量化策略為主,價格變動速度極快 | > **關鍵點**:不同市場結構影響數據的時間戳、深度、成交量與波動性,進而決定分析方法的選擇。 ## 1.2 常見數據來源 金融數據可分為三大類型:**行情數據、新聞數據**以及**社交媒體與替代數據**。以下列出主流來源與其特性。 | 數據類型 | 典型來源 | 主要特徵 | 典型應用 | |--------|-----------|-----------|-----------| | **行情** | Bloomberg、Reuters、Yahoo Finance、Quandl、Alpha Vantage、交易所原始 API | 時序性強、分辨率可到 tick、包含 OHLCV、深度 | 回測、波動率計算、機器學習特徵工程 | | **新聞** | Bloomberg、Reuters、Factiva、Twitter、RSS Feed | 文字內容、發布時間、作者、來源 | 情緒分析、事件驅動模型、風險敞口 | | **社交媒體/替代** | Twitter、Reddit、LinkedIn、金融論壇、區塊鏈交易數據、Google Trends | 高頻、非結構化或半結構化 | 社群情緒、流行趨勢、非傳統風險因子 | > **實際操作**:以 Twitter API 為例,可透過 Tweepy 取得推文並同步時間戳。 python import tweepy # 設定 API 金鑰(示例,請使用自己的金鑰) consumer_key = 'YOUR_CONSUMER_KEY' consumer_secret = 'YOUR_CONSUMER_SECRET' access_token = 'YOUR_ACCESS_TOKEN' access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET' auth = tweepy.OAuth1UserHandler(consumer_key, consumer_secret, access_token, access_token_secret) api = tweepy.API(auth) # 取得最新 100 條推文 tweets = api.search_tweets(q='AAPL', count=100) for tweet in tweets: print(tweet.created_at, tweet.text) ## 1.3 資料品質與治理 資料品質直接影響模型準確度與投資決策風險。核心品質指標包括: | 指標 | 定義 | 檢查方式 | |------|------|-----------| | **完整性** | 所有必要欄位都有資料 | 欄位缺失比例 < 5% | | **一致性** | 交叉欄位資料符合邏輯 | 例:開盤價 ≤ 收盤價 | | **準確性** | 資料與實際相符 | 與交易所公布資料比對 | | **時效性** | 資料更新頻率 | 延遲 < 1 秒(高頻) | | **唯一性** | 無重複交易記錄 | 主鍵檢查 | ### 資料清洗流程 1. **資料匯入**:使用 `pandas.read_csv`、`sqlalchemy` 或 `pyodbc` 連接資料庫。 2. **缺失值處理**:`df.dropna()`、`df.fillna(method='ffill')`。 3. **類型轉換**:確保時間戳為 `datetime64[ns]`,數值型為 `float`。 4. **異常值檢測**:利用箱型圖、Z-score 進行 outlier 篩選。 5. **時間同步**:若結合多源資料,使用 `pd.merge_asof` 或 `pd.concat` 並對齊索引。 ### 資料治理框架 | 角色 | 職責 | |------|------| | **數據所有者** | 決定資料使用權與存取規範 | | **資料管理員** | 建立資料庫、維護資料品質 | | **資料科學家** | 進行分析與模型建構 | | **合規負責人** | 確保資料處理符合法規(GDPR、MiFID II) | > **實務提示**:在多機構合作時,使用資料目錄(Data Catalog)與資料血緣追蹤(Data Lineage)工具,確保資料可追溯。 ## 1.4 交易所與場外市場 - **交易所**:以台灣證券交易所(TWSE)為例,提供「日線資料」「Tick 資料」「深度資料」三種層級。 - **場外市場**:如美國的 OTCQB、OTCQX,資料較為分散,需自行聚合。 - **結算機制**:清算所(CCP)與交易所結算系統(CSD)分別處理風險管理與資產交割。 ## 1.5 典型數據類型示例 | 類型 | 典型欄位 | 典型值範例 | |------|----------|------------| | **Tick** | 時間戳、價格、成交量、買一價、買一量、賣一價、賣一量 | 2024‑02‑24 10:15:23.456, 320.75, 200, 320.74, 500, 320.76, 400 | | **日線** | 開盤、最高、最低、收盤、成交量、成交金額 | 2024‑02‑24, 320.50, 322.00, 319.80, 321.10, 1,200,000, 385,200,000 | | **新聞** | 發布時間、標題、內容、來源 | 2024‑02‑24 09:30:00, "AAPL 股價突破關鍵支撐", "Apple 以 1% 之增長報告", Bloomberg | | **社交媒體** | 發佈時間、內容、使用者、推文 ID | 2024‑02‑24 10:00:00, "AAPL 可能因新品推出股價上漲", @investorX, 1234567890 | ## 1.6 監管與合規要求 - **GDPR**:若使用個人資料(如推文使用者),需取得同意並提供刪除權。 - **MiFID II**:交易資料需歸檔 7 年,並對交易行為進行監控。 - **證券交易法**:禁止內線交易,資料使用需符合公開資訊披露原則。 > **實務建議**:建立資料存取權限模型(RBAC/ABAC),並定期進行合規稽核。 ## 1.7 案例簡介 1. **AAPL 股價情緒模型**:結合 Twitter 情緒與日線價格,使用 Logistic Regression 預測短期走勢。 2. **台灣 ETF 交易成本分析**:採用 TWSE 深度資料,計算成交價差、滑點與手續費。 3. **高頻波動率預測**:使用 Tick 資料構建 GARCH 模型,測試 1 秒內波動率變化。 > **學習目標**:掌握從資料採集、清洗、結合到基礎統計分析的完整流程,為後續機器學習與策略回測打下堅實基礎。