1章Pythonとアルゴリズムトレード
ゴールドマン・サックスでは、株式売買に携わる従業員数は、2000年のピーク時の600人から今日ではわずか2人にまで減少しています†1。
—The Economist
[†1] 「Too Squid to Fail.」The Economist、2016年10月29日(https://www.economist.com/leaders/2016/10/27/too-squid-to-fail)
本章では、本書で取り上げているトピックの背景と概要について説明します。アルゴリズムトレードのためのPythonは、Pythonプログラミングと金融の両方にまたがるニッチな分野ですが、Pythonのデプロイメント、インタラクティブな金融分析、機械学習と深層学習、オブジェクト指向プログラミング、ソケット通信、ストリーミングデータの可視化、トレードプラットフォームなど、多様なトピックに触れており、急成長を遂げています。
Pythonの重要なトピックについて手短に思い出したい場合は、まず「付録A Python、NumPy、Matplotlib、pandas」を読んでください。
1.1 Pythonによるファイナンス
プログラミング言語Pythonは、1991年にGuido van Rossumによってバージョン0.9.0が最初にリリースされたのが始まりです。1994年にはバージョン1.0がリリースされました。しかし、Pythonが金融業界における主要なプログラミング言語と技術基盤としての地位を確立するまでには、約20年の歳月がかかりました。もちろん、ヘッジファンドを中心としたアーリーアダプターもいましたが、普及が始まったのは2011年頃からでしょう。
金融業界でPythonを採用する上での大きな障壁の1つは、CPythonと呼ばれるPythonのリファレンス実装がインタープリタ型の高レベル言語であるという事実です。一般的に数値アルゴリズム、特に金融のアルゴリズムでは、(入れ子になった)ループ構造が実装されることがよくあります。コンパイルされたCやC++のような低レベル言語は、このようなループを実行するのがとても速いのですが、Pythonはコンパイル方式ではなくインタープリタ方式であるため、一般的にはその実行がとても遅いのです。結果としてピュアPythonは、オプションのプライシングやリスク管理のような、実際の金融アプリケーションを実行するには遅すぎることがわかりました。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access