quant-lit進階課程 ▸ 進階課程 · 練習

進階課程 · 練習

課後練習

來源:Codex 製作

先作答,再開啟《解答與解析》。每題以「規則、理由、可能錯誤」三層回答。

第 1 課

  1. 將「比特幣大跌後反彈時買進」改寫成完整策略規格。
  2. 說明「RSI < 30」為何不是完整 hypothesis。
  3. 某訊號用今日 close 計算,卻以今日 close 成交。指出問題與兩種修法。

第 2 課

  1. 策略 A 年化報酬 30%、volatility 60%;B 為 12%、10%。忽略 Rf,計算粗略 Sharpe。
  2. CAGR 18%、max drawdown -36%,計算 Calmar。
  3. 設計兩條終值相同、但 drawdown 完全不同的 equity path。
  4. 為何六個月 Sharpe 3.2 不足以證明策略優異?

第 3 課

  1. 列出財報 feature 至少四種時間欄位。
  2. 為何使用「今天的 S&P 500 成分股」回測十年前有偏誤?
  3. 1:10 stock split 前 1 股 1,000 元,分割後 10 股各 100 元。若 raw price 未調整,報酬會被誤算成多少?
  4. Vendor 的 09:30 bar 代表 09:30–09:31。何時可以使用其 close?
  5. 寫出五項 OHLCV 自動稽核。

第 4 課

  1. 何時 pandas baseline 優於直接使用大型引擎?
  2. 某策略需要 partial fill、limit queue、跨資產現金競爭。選 vectorized 或 event-driven,說明理由。
  3. CCXT 解決了什麼問題?沒有解決什麼問題?

第 5 課

  1. 解釋 position = signal.shift(1) 的因果意義。
  2. 為何 summary metrics 不足以 audit 回測?
  3. 寫三個單元測試,分別檢查時間對齊、成本與資料截斷。

第 6 課

  1. 將總成本拆成至少六項。
  2. 某 1-minute bar 同時碰到 stop 與 take-profit,但無 tick data。提出三種處理方式。
  3. 訂單為該 bar volume 的 40%。你會如何調整 fill model?

第 7 課

  1. 解釋為何 time series 通常不能 random shuffle。
  2. 寫出三個 walk-forward folds。
  3. 為何不能先用全資料 fit scaler 再做 walk-forward?
  4. 應如何彙總各 fold 的 OOS Sharpe?

第 8 課

  1. 100 個獨立無效假設各以 5% 門檻檢定,至少一個假陽性的機率約多少?
  2. 一個「只有兩個參數」的策略為何仍可能嚴重 overfit?
  3. 為你的下一個策略填寫 research registry 的十個欄位。

第 9 課

  1. 三個策略全樣本 correlation 很低,為何仍可能沒有真正分散?
  2. 寫出 portfolio variance 公式並解釋 covariance 的作用。
  3. Volatility targeting 在低波轉高波時可能出現什麼問題?

第 10 課

  1. 列出五項 paper trading 要驗證、但傳統回測無法充分驗證的事項。
  2. 將 kill criteria 分為立即停止、暫停審查、正常隨機變異。
  3. 為一個 ORB 策略定義 promotion pipeline,不填通用神奇門檻。

綜合案例

某網頁宣稱 BTC 策略年化 180%、Sharpe 4.1、勝率 92%,僅提供 equity curve。請依十課架構提出至少 20 個盡職調查問題,並把問題分類為 hypothesis、data、signal、position、execution、evaluation、validation、operations。