このブログは、ExcelとVBAを用いて、売買システムを自動的に大量生産するExcelブックとその取扱い方法と構築方法を解説しています。
(かつてトレーダーズショップで販売されていたExcelVBAで自作する売買システム自動大量製造マシンを無料公開するものです。)


 付属のExcelブックでは、複数の価格データに対して、複数の戦略を連続的に検証し、結果を記録する、ということが可能です(詳細後述)。
 

※あらかじめ、9種類のトレンドフォロー系のエントリー戦略と5種類のイグジット戦略が納められており、これらを組み合わせて(9×5=45種類)、複数の価格データに対して、検証するということも可能です(検証内容によっては、多少コードを書き換える必要もあります)。ソースコードは全て公開しているので、ご自身で考えた戦略をテストすることも可能です。
 

※日足の4本値データならば、FX、225先物、商品先物、個別株など、いずれも検証可能です。

推奨環境

Microsoft Excel2007が正常に動作するPC。
Windows Vistaで動作確認。

※注意※ Excel2003で付属のマクロを実行しますと、Excel2003とExcel2007の間の互換性の問題で、一部のマクロにエラーが出てしまいますので、ご自身で修正していただくことになります。あらかじめご了承ください。なお、修正方法などは、ブログを通じて補足していく予定です。



ブログの目的

  1. ExcelとVBAで自分だけのシステム構築ツールを作れるようになっていただくこと
  2. 付属のExcelブックを使えるようになること


ブログの構成
 

 まず、ブログの前半では、冒頭にて「5分で始める」と題し、複数のデータに対して連続的に最適化を行うマクロを実行してご覧いただきます。 こうして、全体像を把握することで、学ぶ目的を明確にし、それを構築できるようになるためには、何を理解する必要があるのか、順序立てて解説していく構成です。 マクロを使って何ができるようになるのか、体感したものを構築できるようになるには何を理解するべきか、理解したことをどのように組み合わせていけば良いか・・・といったように、「全体の構成の把握→構成要素の分解→構築」という流れで学習していきます。
 

そして、ブログの後半は、付属のExcelブックの取扱い説明書となっています。
ブログの構成の詳細は後述の目次をご覧ください。



付属Excelブックを使ってできること

付属のExcelブックでは、以下のような流れで、連続的にシステムの検証を行います。

  1. Excelシートから価格データを読み込む
  2. 検証したい戦略を選択する
  3. パラメータの最適化を行う
  4. 最適化の結果から最適なパラメータを取得する
  5. パフォーマンスを記録する
  6. 1に戻る。

この流れを繰り返したり、分岐させたりすることで、複数のデータに対し、複数の戦略を連続的に検証していきます。付属のExcelブックには、あらかじめトレンドフォロー系を中心に9種類の戦略と5種類のイグジット戦略を用意してあります(詳細下記)。 これらの戦略が複数の売買対象にどのように機能しているのか、を文字通り「システムの徹底比較」をしていただくことが可能です。

 
テキストで解説する内容
  • ワークシート関数とは何か?
  • よく使用するワークシート関数は何か?
  • ワークシート関数を組み合わせて検証シートを構築していく方法
  • 市場のボラティリティに合わせた資金管理をバックテストに組み込む方法
  • マクロの自動記録のやり方
  • マクロの処理速度をあげる方法
  • シート操作、セル操作用のマクロ一覧
  • 各種グラフ操作用のマクロ一覧
  • 各種制御構造の書き方
  • 付属マクロの改造方法・・・etc

ポイント1. ファイルを開いたら、すぐに始められます!

このテキストの目的は、「自分で作れるようになること」が含まれますが、「読んでも難しくて何もできなかった・・・」と挫折してしまわないように、テキストの冒頭で、「5分で始める」と題して、付属のExcelブックを開いていただいて、すぐにマクロで戦略を次々と検証していく様子をご覧いただけます。
 

ポイント2. システムトレーダー向けのExcel とVBA入門&応用テキストとして

市販のExcel VBA入門書の中には良書が多々ありますが、システムトレードを始めようとする人にとっては、「どの機能を学ぶべきなのか?」、「MACDの最適化をしたいんだけど、何を理解すればそれを表現できるのか?」といった具体的な内容になると対応しきれません。
このテキストでは、「システムを自動大量生産」するのに必要なExcelとVBAのノウハウを凝縮してあります。また、冗長さをなくすために、「Excelファイルの開き方」といった初歩的な内容は市販のExcel入門書にお任せし、「ワークシート関数とは何か?」から「システムの自動大量生産」の話まで一気に解説いたします。
 

ポイント3. マクロの逆引き辞書として

このテキストの付属Excelブックを作る過程で使用したマクロの命令を逆引き辞書のように、目的別に調べることができるようにしてあります。付属ブックのソースコードを見ると「範囲を指定して、コピー&ペーストする」とか「データの入っている最終行の行数を取得する」といった一つ一つの命令の集合であることがわかります。

ご自身で自分だけのツールを作る際などには、行いたい作業別にテキストから命令を調べて組み合わせていくことが可能です。
例えば、データマイニングや回帰分析などの処理をする際などにもシート上の値のコピー、書き換えなどは頻繁に行うことになりますので、応用は可能です。
 

ポイント4. 理解度に合わせて読み進められます
 

テキストの構成は、
1. Excelを触ったことがない方
2. ある程度ワークシート関数が組める方
3. ある程度マクロが使える方

という3段階の読者様を想定して、構成を練ってあります。
理解度の度合に合わせて読み飛ばすべき個所を明示してあり、ご自身の目的にあった理解まで最短で進めるように工夫いたしました。
 

ポイント5. 寝ながらシステムを検証しよう!
 

このテキストに付属しているExcelブックと、検証したい戦略と検証対象となるデータを用意すれば、「寝る前に検証用のマクロを実行し、朝起きると、システムが大量に検証されている」といったことも可能になります。

おそらく、これができるようになると、朝起きてパソコンをチェックするのが楽しみになることでしょう。
 

日々大量にシステムを構築できるようになれば、巷に溢れる「右肩上がりの損益曲線のシステム」など、いとも簡単に作れてしまうのがお分かり頂けます。そんなものは適当にいくつかの戦略を複数のデータに対して、検証すればいとも簡単に作れてしまうのです。

また、各種テクニカル指標をまとめて検証してみれば、それらのほぼ全てが機能しないことに驚くことと思います。 掃いて捨てるほど、システムを構築できるようになると、「多くの対象に平均的に機能する戦略」や「ある対象にだけ強力に機能する戦略」などが見えてきます。 手間をかけるべきは、「何故、そうなるか?」についての考察です。 「自分で手を動かしてコードを書く→検証→考察→自分で手を動かしてコードを書く」という過程から得た知見は、ご自身の使うシステムへの信頼につながるはずです。この自分のシステムへの信頼は、長期にわたって優位性を築くことでしょう。
 

ポイント6. 専用ソフトを超えるツールを自分で作れるようになろう!
 

付属のExcelブックとVBAは、ソースコードを公開しておりますので、自由に改造していただくことが可能です。 また、ご自身でツールを構築できるようになると、インターネット上に転がっているワークシート関数やVBAも取り入れ、最適化することも可能になりますから、検証できる戦略の幅が一気に広がります。もちろん、ご自身がお作りになった指標の最適化なども可能です。 ご自身でツールを作れるようになれば、システム構築の専用ソフトを使う必要はありません。 専用のソフトを購入しても時間が経てば、不満な点が目についてくるはずです。「連続的に検証できない」、「複数の変数を参照してモデルを組むことができない」、「最適化できないパラメータがある」・・・などなど。 Excelを使えば、そういった不満があれば、自分でコーディングしてしまうことが可能になるのです。
 

また、システム構築専用ソフトのユーザー向けの文献に書かれている戦略の検証は、Excelでは難しいと考えられがちですが、ほとんどはワークシート関数で、特に問題なく検証可能です。

付属のEXCELブックでは、あらかじめ、ボリンジャーバンド、ブレイクアウト、ダイナミックブレイクアウト、キングケルトナー、モメンタム、PLドット、季節性ブレイクアウト、移動平均線のクロス、ボラティリティブレイクアウト、以上の9種類のエントリー戦略を、また、ATRイグジット、プロフィット・リレイスメント・イグジット、SMAイグジット、トレーリングストップ、時間ストップ、以上の5種類のイグジット戦略が使えるようにしておきました。 また、これらの複数の戦略を個々に組み合わせて、複数のデータに対して検証することも可能です。 トレンドフォロー系のエントリー戦略と複数のイグジット戦略をご用意したので、これらを組み合わせて検証するだけでも、まずまずのシステムが作れてしまうかもしれません。