コースレビュー: CS 7646 Machine Learning For Trading (トレーディングのための機械学習) @Georgia Tech

ジョージア工科大学のOMSCS(Online Master of Science in Computer Science)で5つ目となるコースを修了した。 まだ記憶が新しいうちに、コースのレビューを書き残しておこうと思う。

1. CS7646 Machine Learning for Trading (ML4T)

CS7646: ML4Tは、Tucker Balch 教授による授業だ。 このコースには大きく3つのセクションがある。 株式データを操作する基本から始まり、マーケットについての基礎知識を学んだ後、Decision Tree や Q-Learningを含むさまざまな最適化手法を使用してポートフォリオを最適化するところまでを学ぶ。

  • Python for Finance(ファイナンスのためのPython)
    • Pandas, Numpy, etc
    • Statistical Analysis of time series data
    • Incomplete data
    • Sharpe Ratio, and other portfolio statistics
    • Optimizers: Building a parameterized model, Optimize a portfolio
  • Market Knowledge(マーケットの知識)
    • Market Mechanics
    • CAPM (Capital Assets Pricing Model)
    • Technical Analysis テクニカル分析
    • Efficient Market Hypothesis 効率的市場仮説
    • The Fundamental Law of active portfolio management
    • Portfolio optimization and the efficient frontier
  • How ML is used for stock trading(機械学習の株式トレーディングへの応用)
    • Regression 回帰
    • Ensemble Learners, Bagging and Boosting アンサンブル学習、バギング、ブースティング
    • Reinforcement Learning 強化学習
    • Q-Learning
    • Dyna Q-Learning

このコースでは、機械学習を株式取引に応用することに焦点を当てている。 とは言うものの、CS7641: Machine Learning よりも大変かというとそういう事はなく、 難易度はそこまで高くなかった。

2. Assignments & Exams

このコースには合計8つの課題(!)と2つの試験(中間と期末試験)があった。そう、課題が8つもあるのだ。 夏学期は春・秋よりも授業期間がかなり短く、実質3ヶ月もない。およそ2ヶ月半ほどだろうか。 そのため、試験週以外はほぼ毎週課題の締切があった。 いくら難易度がそこまで高くないとは言え、休む暇なく走り続けた印象だ。

とはいえ、課題の半分は結構簡単に終わらせられる。 一部の課題ではレポートを書く必要があり、それに時間がかかった。 (要領よくやれば早くてできるかもしれない)

試験は授業や課題の内容に沿ったものだった。 講義を見てコンセプトを理解しておけば、中間試験と最終試験の両方で良いスコアを取ることは難しくない。 中間試験と最終試験の両方で90%以上も十分に狙えるはずだ。

3. Pros / Cons

Pros:

  • 市場メカニクス、ポートフォリオ最適化に関する学習ができる
  • ヘッジファンドの活動や考え方を(少し)知ることができる
  • MLアルゴリズムを株式取引にどのように適用できるかを学べる
  • 良い講義と扱いやすいボリューム
  • TAによってうまく管理されている
  • 課題の評価基準が明確に説明されており、指定された環境でテストも可能だった

Cons:

  • マーケットについての勉強が必要(興味がない場合はConsかなと)
  • MLアルゴリズムの実用的な側面に重点が置かれているため、あまり理論的な面については浅い

4. まとめ

もしヘッジファンドでMLがどのように利用されているか、株式トレーディングに興味があるなら、 このコースの受講をおすすめする。 課題を通じて、MLアルゴリズムを株式取引にどのように適用できるかを学ぶことができるからだ。 (というとすごそうだが、これらの触りを体感できるという程度の期待が良いと思う。)

MLアルゴリズムを適用する鍵は、アクション(ショート、ロング、キャッシュなど)とステート(状態)の離散化だった。 さらに期待する結果を得るためには、ボリンジャーバンド値、MACD、ボラティリティなどの良い指標を提供することが非常に重要だ。 こういった、何をモデルに与えるか、それによってモデルの成績がどう変化するかを体感するのが有意義だったと思う。

もし夏学期にこのコースを受講する予定なら、課題に一刻も早く取り掛かり始めることを強くおすすめする。 毎週課題の締切があるので、バッファを持っている事が大事だと思う。 予想外のことというのは、いつも起きるからだ。

最終的に、私はAの成績を取ることができた。 ある課題でミスを犯し、低い評価を受けてしまったが、残りの課題で挽回しスコアを回復させる事ができた。 課題が多いということは、一つミスをしても挽回可能だという利点もある。

マーケットや株式トレーディングに興味がない場合は、授業が退屈になってしまう可能性もあるので、 自分の興味に合うかどうかをよく考えてからの受講をおすすめする。

by @takp