Python からはじめるアルゴリズムトレード

パイソンカラハジメルアルゴリズムトレード

自動売買の基礎と機械学習の本格導入に向けた Python プログラミング

Python からはじめるアルゴリズムトレードの表紙
プログラミング
著者:
Yves Hilpisch / 村上 振一郎(イーブ ヒルピシュ / ムラカミ シンイチロウ)
出版社:
オライリー・ジャパン
出版日:
2022年04月08日頃
ISBN:
9784873119793
在庫:
在庫あり
3(2 件 / 楽天ブックス)
中級者向け
プログラミングPythonpandasNumPyデータ分析アルゴリズムアルゴリズムトレードバックテストリアルタイム処理自動取引

なぜ注目されているか

言及数
1222位
総合1874位 言及 1 件

書籍紹介

Python を使ってトレードを始めたい人に最適!
『Python によるファイナンス 第 2 版』の著者が、アルゴリズムトレードに Python を利用する方法を解説する書籍です。具体的には、アルゴリズムトレード用の適切な Python 環境の設定、データの取得、NumPy/pandas を使ったデータ分析、取引戦略のバックテスト、市場予測、ストリーミングのリアルタイム処理等、アルゴリズム取引のさまざまな側面に Python を適用するさまざまな手法を紹介することにより、自動取引戦略をシステマチックに構築、デプロイするために、どんな選択肢があるのかを学ぶことができます。

技書の森解説

『Python からはじめるアルゴリズムトレード 自動売買の基礎と機械学習の本格導入に向けた Python プログラミング』 (Yves Hilpisch 著、村上 振一郎 訳、オライリー・ジャパン、2022 年 4 月刊) は、売買のルールを Python のコードとして書き、金融データの取得から戦略のバックテスト、市場予測、ストリーミングデータの処理、ブローカーの API を通じた自動売買の運用までを順に組み立てる書籍です。原書は Python for Algorithmic Trading で、版元の紹介文では、アルゴリズムトレードを始めるうえで必要な自動売買の基礎と、機械学習を本格的に導入するために必要な Python の知識を解説する本と説明されています。

全 10 章と付録 A の構成、実行環境の準備から自動売買の運用まで

構成はまえがきに続く 1 章から 10 章と、付録 A です。1 章は Python によるファイナンスの書き方として NumPy のベクトル化や pandas の DataFrame クラスを示し、単純移動平均、モメンタム、平均回帰、機械学習と深層学習という戦略の種類を整理します。2 章は Conda と Docker コンテナ、クラウドインスタンスを使った実行環境の準備、3 章は CSV、Excel、JSON、Eikon Data API などからの金融データの読み込みと、TsTables や SQLite3 による保存です。4 章はベクトル化バックテストで、単純移動平均、モメンタム、平均回帰の各戦略をバックテスト用のクラスへ一般化し、5 章は線形回帰、scikit-learn によるロジスティック回帰、ディープニューラルネットワークを使ったマーケットの方向性の予測を扱います。6 章はロングオンリーとロングショートのイベントベース・バックテストのクラスの作成、7 章はティックデータのサーバーとクライアントをソケットでつなぐリアルタイム処理と Plotly によるストリーミングデータの可視化です。8 章は Oanda での CFD トレード、9 章は FXCM での FX トレードを、それぞれの API でヒストリカルデータの取得から発注、アカウント情報の取得まで追い、10 章はケリー基準による資産管理、最適レバレッジとリスク分析、オンラインアルゴリズム、ロギングと監視を含むトレードオペレーションの自動化です。付録 A は Python、NumPy、Matplotlib、pandas の基礎を補います。

ベクトル化とイベントベース、2 つのバックテストと過学習

戦略を検証する最初の段階では、価格の時系列を pandas の列として持ち、シグナルとリターンを列どうしの演算でまとめて計算するベクトル化バックテストがよく使われます。コードが短く計算も速いため、多くの案をふるいにかける用途に合いますが、約定のタイミングや取引コスト、手持ちのポジションに応じた分岐は表しにくいという弱点があります。時点を 1 本ずつ進めながら注文と残高を更新するイベントベースの方式はその弱点を補う代わりに、実装の手間と実行時間が増えます。本書は 4 章でベクトル化、6 章でイベントベースのバックテストを扱います。4 章には 4.5「データスヌーピングとオーバーフィッティング」の節があります。

機械学習 を価格の予測に使う場合も、同じ注意が形を変えて現れます。過去のリターンを特徴量にして翌期の上げ下げを当てる分類問題は組み立てやすい一方で、時系列の順序を崩して学習用と検証用のデータを分けると、未来の情報が学習に混ざって成績を過大に見積もります。また、価格の水準そのものより方向性を当てる問題として立てるほうが扱いやすく、予測の正解率が高くても取引コストを差し引くと利益が残らない場合があります。5 章は線形回帰による指数の水準とリターンの予測から始め、方向性の予測、回帰に基づく戦略のベクトル化バックテストを経て、分類アルゴリズムと深層学習へ進む順に並んでいます。

前提となる Python と金融の知識、Oanda と FXCM の位置づけ

付録 A は Python のデータ型や制御構造、NumPy、Matplotlib、pandas の基礎を補い、本文はクラスを使ったバックテストのコードやソケット通信、クラウド上の実行環境を扱います。金融の側では、ロングとショート、レバレッジと証拠金、CFD と FX といった語が説明の前提として出てきます。8 章と 9 章のコードは Oanda と FXCM の API とアカウントを前提にしています。また 2022 年刊の本で、ライブラリと各社の API はその時点の仕様に基づいています。目次に並ぶ戦略は単純移動平均、モメンタム、平均回帰と、回帰 / 分類のモデルです。

Python の本の中での位置づけと、全 10 章の範囲

Python の書籍の中での位置づけは Python 本の選び方 で整理しています。本書は、金融データの取得からバックテスト、機械学習による予測、ストリーミング処理、Oanda と FXCM の API を通じた発注と監視までを、全 10 章と付録 A に収めています。

言及した記事 (1 件)

この本は技書デッキのカードです (攻撃 2 / 3 枚引く) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: