ホーム > 発行書籍 > ウィザードブック > 250

アルゴリズムトレードの道具箱

アルゴリズムトレードの道具箱

著 者 ジョージ・プルート
監修者 長尾慎太郎
訳 者 山下恵美子

2017年6月発売/A5判 486頁
ISBN978-4-7759-7220-5 C2033
定価 本体9,800円+税

トレーダーズショップから送料無料でお届け
目次まえがき

VBA、Python、トレードステーション、アミブローカーを使いこなすために

富を自動的に創造する世界に飛び込もう!
頼りになるツール!
正確なアルゴリズムトレーディングソリューションを構築するためのツール

技術の進歩によって、今や平均的なトレーダーでもアイデアを低コストで簡単に実装できるようになった。これまで実現不可能と思われていたトレードシステムに新たな息吹が吹き込まれたわけである。自分のトレードアイデアをもとに最高のアルゴリズムを作成したいと思っているが、どこから始めればよいのか分からない人やプログラミングなどやったことがない人にとって、本書は完璧なコードを素早く簡単に書くための良い出発点になるだろう。

本書では、すぐに使える最新のさまざまな検証・トレーディングプラットフォームを紹介している。これらのプラットフォームを理解することで、理論から実践、さらに利益へとつながる知識とツールを手に入れることができる。実例をふんだんに使った説明、今日で最も人気のあるソフトウェアパッケージ、著者のライブラリーからのソースコード――これらのおかげで、あなたのオリジナルのトレードアイデアをプログラミング・評価・実装するのにプログラミング経験は一切必要ない。本書では数多くのトレードシステムを紹介しており、それらの多くはアイデアを「完成した」システムに変換させるものが多いが、自分のトレードシステムを本書で提供するツールを使ってどう構築していくかはあなた次第である。

本書をいつも手元に置き、折に触れて活用してもらいたい。本書は無限の成功を達成するためのアルゴリズムをたたき出す「頼りになるツールボックス」になるはずだ。本書の主な内容は以下のとおりである。

●理論から実践へのスムーズな移行
●本書で提供するソースコードとライブラリーによる完全トレードシステムの開発
●いろいろなトレードシステムの長所と短所の評価
●トレードステーション、トレーダーズスチューディオ、マルチチャート、エクセルなどのプラットフォームから最大限の力を引き出すためのアドバイスとプロからの助言
●サンプルコード、キーワード、データアクセスを提供する便利な付録でアルゴリズム開発時間の短縮

本書のウェブサイトでは、最新のトレードステーションコード、エクセルスプレッドシート、指導用ビデオを見ることができる。ガイダンスで分からないところがあったり、アルゴリズムの実装方法で不明な点がある場合は、ぜひとも著者に直接連絡してもらいたい。

本書は、あなたのトレードアイデアがバックテストや最適化を行うに値するものがどうかが分かるだけでなく、あなたのトレードアイデアが素晴らしいシステムに生まれ変わることも可能である。

さあ、ぐずぐずとサイドラインに立っている場合ではない。本書を持って、富を自動的に創造する世界に飛び込もう!

*本書で紹介したトレーディングアルゴリズム、データ、検証プラットフォームのソースコードはすべて著者サイト(英語)からダウンロード可能です。


著者紹介

ジョージ・プルート(George Pruitt)
フューチャーズ・トゥルース・マガジン誌の研究部長。1000を超えるトレード手法をプログラミングした実績を持ち、フューチャーズ誌、アクティブトレーダー誌、SFOマガジン誌にも積極的に寄稿している。彼の行った研究は、ウォール・ストリート・ジャーナル紙やバロンズ紙でも紹介された。『究極のトレーディングガイド』『勝利の売買システム』(ともにパンローリング)の共著者でもある。

目次(本テキストは再校時のものです)

監修者まえがき
著者について
序論

第1章 トレード入門――アルゴリズムの開発
 アルゴリズムとは何か
 トレードアイデアを疑似コードに変換する方法
 まとめ

第2章 ストキャスティックス、移動平均線、RSI! うわぁ、こんなにあるの!
 オシレーター
 価格ベースのインディケーター
 まとめ

第3章 完全トレーディングアルゴリズム
 トレンドトレードのバトルロワイヤル
 ポートフォリオの構成
 複数アルゴリズム戦略(MAS)
 まとめ

第4章 アミブローカーのAFL入門
 クイックスタート
 価格足インターフェース
 AFL配列プログラミング
 シンタックス(文法)
 AFLウィザード
 アミブローカーのループプログラミング
 まとめ

第5章 マイクロソフトエクセルを使ってアルゴリズムをバックテストする
 VBA関数とサブルーティン
 データ
 ソフトウェアの構造
 プログラミング環境
 まとめ

第6章 Pythonを使ってアルゴリズムをバックテストする
 なぜPythonなのか
 Pythonのインストール
 PSBのインストール
 PSBの構造
 本格的な作業の開始
 まとめ

第7章 イージーランゲージ入門
 トレードステーションのIDE
 シンタックス
 イージーランゲージの例
 まとめ

第8章 遺伝的最適化、ウォークフォワード、モンテカルロスタートトレード分析
 トレードステーションとアミブローカーの使用
 コンピューター、進化、問題解決
 人口(母集団)
 VBAエクセルを使って最初の母集団を設定する
 エクセルVBAを使って染色体の適合度を検証する
 選択
 繁殖
 突然変異
 トレードシステム開発で遺伝的アルゴリズムを使う
 過剰カーブフィッティングを防ぐ
 ウォークフォワード・オプティマイザー――余分な労力と時間を費やす価値のあるものなのか
 モンテカルロ分析
 スタートトレードドローダウン
 まとめ

第9章 ポートフォリオマエストロ、マネーマネジメント、ポートフォリオ分析入門
 固定比率
 ポートフォリオマエストロ
 まとめ

付録A アミブローカー
付録B エクセルシステムバックテスター
付録C Pythonシステムバックテスター
付録D トレードステーションとイージーランゲージ
付録E アルゴリズムトレーディングに関する必携書リスト
本書のウェブサイトについて


監修者まえがき

 本書はフューチャーズ・トゥルースの研究責任者であるジョージ・プルートによる“The Ultimate Algorithmic Trading System Toolbox + Website : Using Today's Technology To Help You Become A Better Trader”の邦訳である。アルゴリズムトレードはいまや個人投資家にとって参入障壁が低く、良好なリターンが期待できる代表的な投資手法の一つとなったが、それがなにより素晴らしいのは、優れた投資戦略を構築・実装するための学習プロセスのパスや、避けるべき陥穽が先人たちの経験によって明らかになっていることで、よほど天邪鬼な人でなければ、費やした努力や熱意に比例して上達が進むことになる。本書ではアルゴリズムトレードの基礎だけではなく、PythonやEasyLanguage、VBAといった身近な言語を使ったプログラミングの初歩を学ぶことができ、紹介されているコードはすべてウェブサイトからダウンロード可能である。これらのコードを流用することで、この分野に興味はあるがどこから手を付けてよいか迷っていた人でも無理なくスタートが切れると思う。

 さて、ここで伝統的な投資手法とアルゴリズムトレードとのデザインの相違について書いておく。一般的な投資手法で使われる知識は、金融市場における個人の経験や洞察に基づいて、まず暗黙知として創造される。次にそれを出発点として思考や対話を行うことで演繹的に形式知が導出される。それを実装化したものが投資戦略である。このスタイルの特長は、「なぜこの戦略を使うのか?」における根拠がハッキリしていることである。一方でアルゴリズムトレードにおいては、知識はデータを分析することでまず情報の形で提示される。ここから仮説を立て、批判的合理主義に基づく検証を経て帰納的に形式知が抽出される。このデータドリブンのアプローチは、コンピューターやネットワーク、ビッグデータ解析、人工知能(AI)といった最新の技術と親和性が高く、近年注目を浴びることとなった。だがデータをマイニングしただけでは、その正当性は何も保証されない。したがって、金融市場の複雑性・ランダム性を克服して実践的な投資戦略を構築するには特有の手順が必要である。具体的には、本書にあるようなウォーク・フォワードテストや遺伝的アルゴリズムをはじめとして、アンサンブル学習やさらにはリバースエンジニアリングによるクローン作製などの方法によって再現性・妥当性を確保することになる。この工程の重要性はあまり強調されることがないが、アルゴリズムやAIを利用した運用の成否はこの要素にかかっている。ぜひ本書をはじめとした先行文献の解説を熟読玩味されたい。

 最後に、翻訳にあたっては以下の方々に感謝の意を表したい。山下恵美子氏は正確な翻訳を行っていただいた。そして阿部達郎氏には丁寧な編集・校正を行っていただいた。また、本書が発行される機会を得たのは、パンローリング社の後藤康徳社長のおかげである。

 2017年5月

長尾慎太郎

■序論

 まず最初に断っておくが、略奪的トレード、ピンギング、PoP、流動性リベートといった特殊な注文の発注・変更アルゴリズムを使った高頻度トレードについて知りたい人には本書は向かない。本書は、トレードの意思決定をしたり、トレードサイズを決めたり、マネーマネジメントを行ったりするトレーデングアルゴリズムと、こうしたアルゴリズムを作成するソフトウェアについて学びたい人を読者対象とするものだ。

 本書ではトレーディングアルゴリズムの開発・検証・最適化について学んでいく。本書のもう1つの目的は、読者にたくさんの検証プラットフォームやプログラミング言語に触れてもらうことである。プログラミングの経験がなくても心配することはない。あなた自身のトレードシステムが開発できるように細かく指導していく。ソースコードと説明はトレードステーションのイージーランゲージ、アミブローカーのAFL、そして私のPythonとエクセルの検証エンジン用のものが用意されている。これらのプラットフォームを選んだのは、異なるスクリプト言語と異なるトレーディングプラットフォームの概要を見るのに打ってつけと思ったからだ。これらとは異なる検証・トレーディングプラットフォームを使っている人は、私がこれらのプラットフォームを選んだことを批判するかもしれないが、イージーランゲージのソースコードはマルチチャートに簡単に移植することができ、アミブローカーの一種独特でパワフルなプラットフォームは完全トレーディングソリューションを提供してくれる。Pythonとエクセルのソフトウェアはソースコードも含めて関連ウェブサイトで見ることができる。このウェブサイトではほかのプラットフォーム用のイージーランゲージコードとAFLコードも提供している。物事はできるだけシンプルなほうがよい。だから、Pythonの数学関数ライブラリーのNumPyやSciPyは含んでいない。また、学習曲線を短縮するためにPythonの基本的な総合開発環境(IDLE)を使った。高度な総合開発環境を使って物事を複雑にすることなく、Pythonの必要最小限の要素だけを使いたかったからだ。

 成功しているクオンツたちは統計解析用プログラミング言語のRを使う人が多いが、私は物事を簡単にするために学習しやすいPythonを選んだ。すべてとは言わないが、大部分のアルゴリズムはコモディティと先物データのみを使って検証したが、本書に登場するすべての検証プラットフォームは株式とETF(上場投信)を検証するのにも使うことができ、本書に含まれるすべてのトレーディングアルゴリズムもこれらのアセットに適用することができる。株式データとETFデータは取得がきわめて簡単だが、コモディティと先物データを簡単に使えるフォーマットで取得するのは少し難しい。しかし、コモディティと先物のヒストリカルデータはわずか100ドルでピナクルデータから取得することができる。私は1980年代の終わりからずっとCSIデータを使っているが、本書で行った検証の大部分でもこのデータを使った。データベースを毎日更新したい人は、ピナクルとCSIがお勧めだ。Quandlを知らない人は、ぜひ使ってみてほしい。Quandlは数値データの検索エンジンだ。Quandlで無料の先物つなぎ足のデータベース(Wiki Continuous Futures)を見つけたときは、驚きのあまりうれしくなった。ただし、このデータは無料なので、日付やデータポイントが欠損していたり、つなぎ足が各限月からのデータをつなぎ合わせただけのデータであったりといった具合に、CSIやピナクルといった高品質のデータほどは良くないことはご承知おき願いたい。

 また各限月間のギャップが含まれているため、検証プラットフォームでは使えない。現実世界では、先物ポジションは「ロールオーバー」される。つまり、期近を清算して、2番月で同じポジションを取る。この「ロールオーバー」によってギャップは取り除かれる。Wiki先物データを取り込んでバックアジャストつなぎ足を作成するアプリケーションをPythonで書いたが、これはPythonシステムバックテスターとエクセルシステムバックテスターにインポートすることができる。検証のためのデータが必要だったので、関連ウェブサイトでは30以上の銘柄の10年分以上のASCIIバックアジャスト先物データベースも提供している。ソフトウェアの使い方とQuandlから先物データをダウンロードする方法も提示しているので、参考にしてもらいたい。

 本書にどうしても含めたいものが1つあった。それはアルゴリズムトレードシステムの「聖杯」である。われこそは聖杯だと主張する多くのアルゴリズムを分析したが、厳密な検証を行うと、ブレークイーブンにさえならなかった。こうしたアルゴリズムはあなたのリストから消去しておこう。「聖杯」はあるのかないのか、あるとすればどれが聖杯なのかは分からないが、本書では次に挙げるようなものは学べるはずだ。

●トレーディングアルゴリズム開発をノンプログラマーと共にやってきた27年間の経験
●開発サイクルで最もよく使われるツールや基本要素
●一般公開されているトレードシステムの大部分をなすコアトレーディングモデル
●ノンクオンツをそれほどノンクオンツではない人に転換させる最も重要で最もシンプルなプログラミングテクニック
●ウォークフォワード、遺伝的最適化、モンテカルロシミュレーションといった複雑なトレードアイデアの簡単な例と説明
●アイデアからトレーダブルなソリューションに至るまでのアルゴリズム開発を手助けしてくれる完全ツールボックス

 成功するトレーディングアルゴリズムのほとんどは定量分析(QA)を使う。定量分析は金融時系列に数学公式を適用することを言う。本書ではトレーディングアルゴリズムの設計にはこのタイプの分析のみを使う。多くのトレードプランに使われるファンダメンタル分析も使うが、これは簡単に消化できるデータフォーマットにまとめるにとどめた。ファンダメンタルデータは巨大で多様で、多くの場合は市場の動きは予想不可能な形でそれに反応する。私が長年にわたって扱ってきた例のなかでは、月次失業率が好例だ。本書執筆の時点では失業率は下降傾向にあり、これは株式市場が上昇することを示すサインになる。しかし、当時の金利はほぼ0%で、FRB(連邦準備制度理事会)が量的緩和を廃止したり、金利を上げないのではないかという不安から、市場は下落するかもしれない。このタイプのファンダメンタル分析は多くの入力量を必要とし、検証可能なものに集約するのはほぼ不可能だ。

 一方、定量分析はチャートに含まれるデータのみを使って分析が行われる。値動きや価格の移動は簡単に定義でき、したがって検証することができる。トレーディングアルゴリズムを検証・評価することができる能力は偉大なツールになる。なぜなら、モデルがどのようにして市場の振る舞いを正確に描くことができるかを示すことができるからである。市場の振る舞いを解釈することができれば、市場の非効率を利用することができる。もしアルゴリズムがヒストリカルデータを基に市場の非効率を利用することができれば、将来的にも利用することができる可能性がある。将来的なパフォーマンスに対するこの希望こそが、アルゴリズムトレーダーの質を測る唯一の測度になる。ヒストリカルパフォーマンスは必ずしも将来的な結果のインディケーターにはならないことはみんな知っているが、ほかに何があるというのか。自分のシステムを急いで定義・検証し、ヒストリカルパフォーマンスが良いからと言って、すぐにリアルマネートレードに乗り出すアルゴリズムトレーダーは消える運命にある。これは、ヒストリカルパフォーマンスがシステムトレーダーの質を測る唯一の測度になると言ったことと矛盾してはしないだろうか。良いトレーディングアルゴリズムは利益が出ることを示すだけでなく、堅牢性も兼ね備えていなければならない。堅牢性とは、トレードシステムがさまざまな市場のさまざまな市場状態で高いパフォーマンスを上げることを言う。アルゴリズムは、トレーダーが最初の数回のトレードを自信を持って行えるだけでなく、連敗のあとでもトレードを続けられると感じるところまで改善することができる。アルゴリズムの改善は、ヒストリカルな結果が素晴らしく見えるまでいじる(これをカーブフィッティングと言う)ことではない。それは時間をかけて学び、トレーディングアルゴリズムを、失敗させるように設計されたツールを使って作業することである。実際のお金を使ってトレードする前にアルゴリズムを失敗させる。これがアルゴリズム改善の目的なのである。失敗しないということは成功することを意味する。あなたのアルゴリズムが徹底分析のむち打ちに耐えることができれば、勝利のアルゴリズムを手に入れたことになる。

 本書の第1章ではアルゴリズムの定義と例を紹介する。トレードアイデアを書き出せない、疑似コードに書けない、実際のコンピューターコードに書けないというのは、自分のトレードアイデアを検証したいと思っているトレーダーにとって最大のネックとなる。1組の命令に還元することのできるトレーディングアルゴリズムは、2つのモデリング手法(パラダイム)を使って正しくプログラミングすることができる。これら2つのパラダイム――有限状態マシンとフローチャート――はこのあと詳しく議論するとともに、記述された説明文をまずは図表、そして次に疑似コードへと変換するのに使う。図表を使ったアプローチとアルゴリズムを定式化するシンプルな疑似コードについては本章でこのあと説明する。検証可能なアルゴリズムを定義できなければ、どんなに優れた高度な検証ソフトウェアがあってもムダでしかない。本章ではアルゴリズムの定義の仕方についても説明する。

 第2章はトレーディングアルゴリズムやインディケーターの基本をよく分かっている人にとっては繰り返しになるかもしれないが、本章ではインディケーターの背景にあるロジックを説明するだけでなく、完全なる仕掛け・手仕舞いテクニックにインディケーターをどう組み込めばよいかについても説明する。本章でも図表や疑似コードが頻繁に登場するが、それは各インディケーター、その目的、トレーディングアルゴリズムへの組み込み方をよく理解できるようにするためだ。また、インディケーターベースのトレーディングアルゴリズムのパフォーマンスも提示する。

 第3章は完全なるトレーディングアルゴリズムとそのヒストリカルパフォーマンスについて説明する。すべてとは言わないが、検証のほとんどはコモディティや先物のヒストリカルデータを使って行った。このデータは50年以上も前のシステマティックトレードの概念を彷彿させるものだ。でも、これはアイデアを株式市場に変換できないという意味ではない。ほとんどの場合は可能だ。しかし、私がコモディティデータにこだわったのは、私がコモディティに詳しいからである。これらのアルゴリズムの完全なる疑似コードと実際のコンピューターコードも提示する。アルゴリズムの堅牢性を決める主要な統計量についても説明する。これらの統計量はアルゴリズムの結果を評価するのに使う。

 第4章ではアミブローカーと、トレーディングプラットフォームの最も重要な要素――統合開発環境と関連するスクリプトプログラミング言語、各市場とポートフォリオの検証、アルゴリズムパフォーマンスの統計量――について説明する。これらの要素は、第5章でエクセルVBAについて、第6章でPythonについて、そして第7章でトレードステーションについて詳しく説明する。

 第8章では遺伝的最適化、ウォークフォワード最適化、ウォークフォワード分析、モンテカルロシミュレーションについて説明する。遺伝的オプティマイザーはVBAを使って構築し、バイオロジーとコンピューターの統合というアイデアを遺伝的オプティマイザーを使って説明する。また、遺伝的アルゴリズム、適合度、淘汰、繁殖、突然変異についても詳しく説明し、エクセルを使ったコード例を示す。人工知能もトレーディングアルゴリズムの研究には不可欠で、この章では人工知能の謎に包まれたベールをはがし、これらのツールを堅牢性を生みだすのにどう使うべきなのかについて説明する。こうした話のなかでぜひとも議論しなければならないのが機械学習についてである。機械学習は今日のトレードでは議論の的になっているトピックだ。最近では「ビッグデータ」が話題になっているが、これはかなり進んでおり、本書の枠を超えるので説明は割愛する。私はこれまでマシンオンリーの入力によって得られたアルゴリズムに取り組んできたが、これらのアルゴリズムは時の試練に耐えてきた。

 トレーディングアルゴリズムは幅広い市場で機能してこそ、有用で堅牢性を持つと言うことができる。第9章ではトレードステーションとアミブローカーのポートフォリオレベルの検証能力を使って、いろいろなマネーマネジメントテクニックとポートフォリオマネジメントテクニックを紹介する。最も人気のある固定比率アプローチについても説明する。

 Pythonシステムバックテスターの完全ソースコードはウェブサイトで見ることができる。Pythonは多くのクオンツたちが使っている新しい言語で、この言語を使ってシンプルでパワフルなバックテスターの開発方法を示していく。ASCIIファイルを開いたり、データをリストデータ構造にインポートしたり、クラスやモジュールを作成したり、データベース全体をループするのに使われる重要な言語概念やシンタックス(文法)についても説明する。検証プラットフォームの構築については、モンテカルロシミュレーションやスタートトレードドローダウンシミュレーションをはじめとするソースコードを参照してもらいたい。

 ほとんどのトレーダーはエクセルを持っていると思う。VBAを使ったPythonバックテスターの簡易バージョンの完全コードもウェブサイトで見ることができる。

 本書はトレードのためのツールボックスであり、ガイドであり、アルゴリズムトレーディングのいろいろな側面にも言及している。どういったツールボックスについても言えることだが、なかに入っているツールを使ってトレーダーのアイデアを検証・評価できるだけでなく、実装できる形で再現するのには時間と努力が必要であることは言うまでもない。


関連書籍


システム検証DIYプロジェクト【第2版】

アルゴトレード完全攻略への「近道」

ワイルダーのテクニカル分析入門

トレードシステムの法則

マーケットのテクニカル秘録

トレーダーズショップから送料無料でお届け
ウィザードブックシリーズ - 現代の錬金術師シリーズ - パンローリングライブラリ -
ウィザードコミックス
- 電子書籍 - 投資セミナーDVD - オーディオブック -
トレーダーズショップ 日本最大の投資家向け専門店
-
Copyright (C) Pan Rolling, Inc. All Rights Reserved.