書評レビュー「Python3ではじめるシステムトレード」

2017年5月12日

Python3

タイトルからして気になっていた「Python3ではじめるシステムトレード」を読んでみましたので、レビューしてみます。

※「読んだ」とは言えないかもしれませんが、、、理由は後述

Python3でシステムトレード

Amazonでもたまたまこの書籍を見かけていたり、先日のイベントで筆者の講演を聞いていたので、この本はいつか読んでみようと思っていました。

Pythonといえば、最近特に注目されているプログラミング言語です。高度なデータ分析ができることは知っていたので、「この本を読めば、今よりもっと自動売買がはかどる!」と期待を込めていました。

が、未だこの夢は達成できていません笑 理由はこちらの通り、、

難解過ぎる

そう、難解すぎるのです。本書を理解するには、最低でもこちらが必要です

  • Pythonを使えること
  • Pythonのライブラリであるpandas、matplotlab等々を使えること
  • 大学レベルの数学と統計学の知識があること
  • もちろん株式や金融の知識もあること

はい、無理ですね。

私はPythonは一応使えます。大学で数学や統計学の授業は受けたことはあります(得意なわけではありません)。株式の知識はそれなりにあるはずです。

しかし、歯がたちませんでした。無理です。

申し訳程度にPythonや統計などについての用語に触れていますが、あまりに簡潔なので理解不能でした。まるで大学の教科書を読んでいるようです。。基本知識は他で身につけなければなりません。

この書籍を真に理解できる人間は、日本に何人いるのでしょうか。。

実際のトレード戦略にはあまり触れていない

この本のもう一つの難点は、あくまで過去の分析が主ということです。「有用なトレード方法」とか「将来の相場の予想」など、実際のトレードに役立つ戦略についてはほぼ触れられていません。

本のタイトルを「Python3ではじめるシステムトレード」から「Python3ではじめる金融相場分析」あたりに変えてほしい、、、

とはいっても

無理無理言っていても仕方ないので、今はまだ理解できていませんが、今後ゆっくりとこの本を通じて勉強していきたいと思います。

と言うのは、高度な相場の分析について日本語で書かれた本なんて、他に存在しないからです。そういう意味では大変意義のある本だと思っています。

この本を通じて高度な分析を行いたい人に向けて、下記に私の思ったことや感想、意見などを述べます。

この本を読む前の事前勉強

本気でこの本に取り掛かるなら、事前勉強は必須だと思います。参考になりそうな本をピックアップしてみました。

Pythonに関して

Pythonの入門書はいろいろありますが、私はこの本が詳しいと思います。

統計学に関して

こちらの本は話題になりましたね。

「統計学が最強の学問である」は読み物としては良いものの、具体的な用語などを詳しく理解することはできないと思います。学問としての統計学について良書と言われるのはこちら。

データ分析に関して

Pythonを使ったデータ分析に関する本です。

Pythonの有用性

Python

さて、筆者が講演でもこの書籍でも言っていましたが、Pythonは大変有用なプログラミング言語だと思います。金融に興味があるなら、Pythonを学んでみる価値はあるでしょう。

Pythonが使えれば、このように金融ビッグデータを解析することもできます。いま流行りのディープラーニング・人工知能もPythonです。流行りのIoTもPythonでできます。

Webサイトだって作れてしまいますし、パソコンがあれば(WindowsでもMacでもLinuxせも)無料で使えます。素晴らしいですね・・

環境構築

本書では、Windows(64ビット版)にAnacondaと言われるツールを入れて各種のプログラムを動かしています。Anacondaというのは、データ分析などに必要なツールが多くまとまったパッケージのことです。これを入れればすぐにPythonでデータ分析が可能になります。

私はMacBookに上記のAnacondaを入れました。特に問題は生じていません。

ちょっとコード紹介

こんな簡単なコードで、1949年からの日経平均が描画できてしまうのは、驚きです。

%matplotlib inline
import pandas_datareader.data as pdr
import matplotlib.pyplot as plt
start="1949/5/16"
end = "2016/9/30"
N225 = pdr.DataReader("NIKKEI225", 'fred',start,end)
N225.plot(color='darkblue')
plt.ylabel('N225 index')
plt.show()

日経

Pandas

Pandasについて、著者はこう言っています。

Pandas:金融時系列データのデータベースとしての機能を意識して設計されたモジュールで、pandasの存在がPythonを使う1つの理由である

ちょっと勉強になった点について、メモ書きです。

メモ書き

Pandasでは、時間に従って記録したデータを時系列データ(time-series data)と言います。

また、時間を一時点に固定した各国の株価指数、経済指標などのデータをクロスセクションデータといいます。

この2つのタイプの特性を兼ね備えたデータをパネルデータといい、Pandasはこの時系列データとパネルデータの分析に適したデータ構造と道具を提供しています。

  1. Series
    名前の通り時系列データを分析するためのデータ構造
    1変量時系列解析に適している
  2. DataFrame
    パネルデータ、多変量時系列を分析するためのデータ構造

難しい・・

チャレンジしたい方はぜひどうぞ!

全16章ある本書、とんでもなく難解です。試してみたい方はぜひどうぞ!