2024-11-26|閱讀時間 ‧ 約 0 分鐘

002.第一步該做什麼?

Q:第一步要先進行什麼動作?請給我詳細的建議

A:

第一步:建立核心資料庫和數據收集流程

1. 確認系統範圍與需求細化

  • 明確你需要存哪些數據:例如財報數據、技術指標、回測結果等。
  • 梳理你的財報分析邏輯,將需要的計算公式和篩選條件列出來,作為系統數據表的設計基礎。
  • 定義最小可行系統 (MVP) 的功能:
    • 存儲每季篩選的財報結果。
    • 每日更新技術線型數據。
    • 建立一個初步的數據視覺化介面。

2. 選擇工具並建立基礎架構

  • 選擇並搭建資料庫(推薦 PostgreSQL,或者若無伺服器可考慮 Google Sheets 作為臨時解決方案)。
  • 使用 Python 作為數據處理和自動化腳本的核心工具,搭配以下套件:
    • pandas:處理數據分析。
    • SQLAlchemy:連接資料庫。
    • yfinance 或其他財報 API:下載股市財報數據。

具體操作步驟

步驟 1:資料庫設計與搭建

  1. 設計資料表結構(以下資料庫由GPT產生)
    • 財報數據表 (financial_reports)
      • stock_id (股票代號)/quarter (季度)/revenue, profit, eps (各種指標數據)/selected (是否符合篩選條件)/created_at (創建時間)
    • 技術指標表 (technical_indicators)
      • stock_id/date (交易日期)/rsi, macd, moving_avg (技術指標)
    • 追蹤清單表 (watchlist)
      • stock_id/label (標籤分類,例如「潛力股」、「高風險」)/notes (手動添加的備註)
  2. 啟動資料庫
    • 如果本地測試,安裝 PostgreSQL 15.10
    • 設定密碼/Port 5432/Local used
    • 若使用雲端,選擇 AWS RDS 或 Google Cloud SQL。

步驟 2:數據收集腳本

  1. 收集財報數據
    • 使用 API,編寫 Python 腳本下載財報數據並存入資料庫。
    • 這裡先搜集各公司的基本資料當作練習。
def fetch_twse_data(api_url):
"""
TWSE API 獲取上市櫃公司資料
"""
response = requests.get(api_url)
response.raise_for_status() # 檢查是否有錯誤
return response.json()

def transform_data(data):
"""
JSON 數據轉換為 DataFrame,並整理格式以符合資料庫結構
"""
# 將 JSON 轉為 DataFrame
df = pd.DataFrame(data)

# 重命名欄位為資料表結構對應名稱
df = df.rename(columns={
"出表日期": "report_date",

搭配GPT+Google很快可以完成自己的資料庫。


短期目標:完成數據輸入與存儲

  • 完成資料庫搭建,並驗證財報與技術指標的數據是否可以正常存取。
  • 初步建立數據更新流程,確保數據能每日更新,並正確存入資料庫。

後續計畫

在完成這一步後,可以進一步進行:

  1. 分析模組的設計:建立篩選條件的函式,並實現每日追蹤。
  2. 可視化介面的搭建:使用簡單的工具(如 Streamlit)快速呈現篩選結果和技術線型。

完成第一步後,你將擁有一個穩定的數據存取與更新基礎,便於進一步優化與擴展系統功能!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.