# Georgia Tech OMSCS 線上碩士
CS7646 - 機器學習與交易
CS 7646 - Machine Learning for Trading 是一堂用股票數據來入門機器學習的課程。 難度不高,但從手寫 Decision Tree 到 Q-Learning 交易策略,內容比想像中豐富。
author image
小貓貓工程師
Apr 4, 2026 · 5 min read
hero

前言

第二堂課我選了 CS 7646 - Machine Learning for Trading,一堂用股票數據來入門機器學習的課程。會選這堂主要是朋友推薦,說這是修 CS7641 之前很好的暖身課。

對於有 CS 背景的學生來說,這堂課的難度不高。但內容比我預期的豐富不少,從手寫 Decision Tree 到實作 Q-Learning 交易策略,麻雀雖小五臟俱全。

Footnotes

我是 2025 Spring 的學生。課程內容和作業可能每學期有所不同。


課程內容

課程分成三大模組:

Module 1 — 數據與投資組合基礎: 讀取和繪製股票數據、NumPy 基礎、時間序列統計分析、Sharpe Ratio、投資組合優化。算是暖身,主要在熟悉 Python 和金融數據的操作。

Module 2 — 金融市場理論: 避險基金運作、市場機制、CAPM[1]、技術分析、效率市場假說等。這部分是整堂課中最不像 ML 的部分,但考試會考,所以還是得認真看。

Module 3 — 機器學習: Regression、學習演算法評估、Ensemble Methods(Bagging、Boosting)、Reinforcement Learning、Q-Learning、Dyna。這才是重頭戲。

Footnotes

[1] Capital Asset Pricing Model,資本資產定價模型。金融領域用來評估投資風險與預期報酬的模型。

上課影片是由 Tucker Balch 教授預錄的,風格比較傳統,長度適中,倍速看的話每週大概 2 小時就能消化完。


作業

總共 8 份作業,由淺入深:

  1. Martingale (P1) — 機率模擬與隨機漫步,暖身用。
  2. Optimize Something (P2) — 用 Sharpe Ratio 做投資組合優化。
  3. Assess Learners (P3) — 整堂課的精華。手寫 Decision Tree(DTLearner)、Random Tree(RTLearner)、Bag Learner(Ensemble),甚至還有一個 Insane Learner(堆疊式 Ensemble)。全部從頭實作,有少量 Starter Code。測試 Overfitting 和 Underfitting 的概念。
  4. Defeat Learners — 對抗式挑戰:設計能「打敗」特定學習器的數據集。很有趣的練習,幫助理解不同演算法的弱點。
  5. Market Simulator — 建立一個含手續費和滑點的回測引擎,後續作業都會用到。
  6. Indicator Evaluation (P6) — 實作技術指標(SMA、Bollinger Bands 等)加上理論最佳策略(用完美先見之明當基準線)。
  7. Q-Learning Robot (P7) — 從頭實作 Q-Learning,讓機器人在格子世界中導航。從監督式學習到強化學習的過渡。
  8. Strategy Evaluation (P8) — 期末大作業。結合所有東西:先用規則建立 Manual Strategy,再用 DTLearner + BagLearner 建立 ML 策略,最後做兩個實驗比較不同方法。

作業之間有連貫性,像是 Market Simulator 會在後面的作業中重複使用,Learner 也會在 Strategy Evaluation 中整合。每份作業如果集中精神,大概 3-4 小時可以完成,但 P3 和 P8 需要更多時間。

總共 4 份報告(P1、P3、P6、P8),但比起 CS7641 的 8 頁正式論文,這裡的報告輕鬆很多。


考試

2 次考試,都是選擇題,難度不高。只要把課程影片看完基本上就沒問題。

比較需要注意的是 Module 2 的金融理論部分,像 CAPM 和效率市場假說這些概念對 CS 背景的人來說不太直覺,反而是考試中比較容易失分的地方。


回頭看

修完 CS7641 之後回頭看,ML4T 確實是個不錯的暖身。Decision Tree 和 Q-Learning 的基礎在 CS7641 中直接用上了。雖然深度差很多,但至少讓你知道這些東西長什麼樣子。

至於金融的部分,說實話對我的 ML 學習沒有太大幫助,但了解一下量化交易的基本概念也不壞。不過如果你問我這堂課有沒有改變我對股票投資的看法 —— 並沒有。看歷史數據做預測,在沒有真實世界的脈絡下,模型的表現其實很有限。倒是技術指標的概念蠻實用的。

如果你的目標是 CS7641,ML4T 不是必修但值得一修。


總結

這堂課對有 CS 背景的人來說不算難,每週大概花 5-6 小時就能應付(2 小時上課 + 3-4 小時作業)。但內容涵蓋的範圍比想像中廣,從基礎的投資組合分析到手寫機器學習演算法再到強化學習,是一堂紮實的入門課。

如果你和我一樣是把它當作 CS7641 的前菜,那這堂課完全勝任。

Footnotes

本文由小貓貓工程師與 AI 協作完成

我是小貓貓工程師
希望我的分享能給正在考慮繼續深造的你一些啟發
找到自己繼續學習的動力


Reference


Copyright © 2026 小貓貓工程師