【感想】『Rubyではじめるシステムトレード』読了

Rubyではじめるシステムトレード (現代の錬金術師シリーズ)

Rubyではじめるシステムトレード (現代の錬金術師シリーズ)

取り組んだ動機

ふろうしょとくほしい

学習方法

史上最長のGWを利用して1日2章ぐらいのペースで進めました

とりあえず結論

  • 体系的なプログラミングを学習する本ではない
  • これからオリジナルのシストレシステムを構築しようとしている人にとっては必読レベルの良書 おすすめ度:★☆☆☆☆(後述) 難易度:★★★★☆

体系的なプログラミングを学習する本ではない

第1部準備編(1~3章)ではRubyの文法などの基本的な内容や環境構築を学習し、第2部データ編(4~9章)ではおもに東証の銘柄の過去の株価データを「スクレイピングで」取得する方法の学習、第3部(10~22章)でバックテストを行うシミュレーションソフトを作成していくという構成になっています。

一応最低限のRubyの説明はあり、この本でプログラミング始めても大丈夫!みたいな雰囲気で書かれてますが、無謀です。
すごいセンスのある人なら大丈夫なのかもしれないですが…(ちなみにこの本の著者は東北大学出身です(権威主義))。
めちゃくちゃ複雑な機能を使ってるとかいうわけではないですが、ソース内コメントも最低限で、Rubyistらしい省略記法も多用しているので、最低限シンボルとかブロックとかRuby独特の文法を理解している上で取り組まないと厳しいと思います。

加えて「仕掛け」「手仕舞い」「ストップ(損切りライン)」「フィルター(仕掛け時の追加ルール)」をすべて同じ「ルール」クラスから派生させるという素人からするとトリッキーに見える設計になっていて、そこらへんの説明もあんまりなかった気がするので、設計まで含めてプログラミング的な知見を増やすというような目的にはややそぐわないのかなぁという印象です。

またこの本は2014年に発行された書籍なのですが、ヤフーファイナンススクレイピングしていたり、Rubyのバージョンが古いこともあって、おそらくソースコードの丸写しでは正常に動かない箇所が出てくると思われます。
ちょくちょく誤植らしき箇所も散見されるので、ある程度、自分でデバッグしつつ修正していく能力が必要です。

これからオリジナルのシストレシステムを構築しようとしている人にとっては必読レベルの良書

この本の圧倒的な強みは著者が実際に使用していた(る?)であろうシステムを惜しげもなく公開しているという点につきると思います。
ある程度自力でソースコードを読み解いていく能力があり、これからオリジナルのシステムトレードのシステムを構築しようとしている人にとっては、どういう機能が必要なのか、こういう指標を実装するにはどういうアルゴリズムを組めばいいのか、など大いに刺激される知見を与えてくれます。

本格的に運用するならやはりデータベースを使用するべきでしょうし、スリッページや資金管理が考慮されていないなど、システムをそのまま流用するのは厳しい印象ですが、システム構築に関する考え方などは十分参考にできそうです。

おすすめ度★1というのは決して悪書という意味ではなく、万人向けではない、必要な人は何を言われても買うだろうという以上の意味はありません。

最後におすすめの学習法としては、まず予習の部分を軽く読み流し、各章の最後の機能テスト用のコード(掲載されていない章もあります)を1行ずつ実行しながら、必要な箇所をその都度実装していき、分かりにくい部分があればソースコードの解説を読んでいくという方法が効率的ではないかなと思います。

カロリーメイトください。