システムトレードナビ:概要:システム開発の手順

↑「システムトレードナビ:コンテンツ一覧」へ戻る

トレードシステムを作る際、どうような手順で構築していったらいいのかを簡単に説明していきます。

ターゲットを選択する。

ここではデイトレもしくは短期トレードのターゲットとして適しているかどうかを見ていきます。

流動性の大きさ
準備できる資金量
値動きの良さ
レバレッジ
過去データ取得容易性
過去データの連続性
自分との相性

等を考慮して選択します。

個別株、日経225先物、TOPIX先物、FX、CME、SGX、CFD、海外先物等がターゲットになるかと思いますが、
この中から、個別株、FX、日経225先物、TOPIX先物についての適否を検討してみます。

個別株

値動きも良く、取引量も多い銘柄もありますが、バックテスト用の過去データの取得に難があります。日足は比較的簡単に無料で手に入りますが、分足となると直近はともかく古いデータはなかなか取得が困難です。

株式分割等がありますから日足使用としてもデータの連続性という点で問題です。
信用取引を使えば売りからもエントリーでき、かつレバレッジもほどほど効かせられますが、上記のようなデメリットを考慮すれば敢て選択するターゲットではないと思います。

FX

シストレのターゲットとしては当然有力候補です。
自動売買も可能なツールMT4が使用できる国内会社もかなり出てきましたから、いろいろ面白い事ができるか思います。
ただ、MT4の使い方をマスターしなければなりませんからその辺がネックになりますね。

シストレがどんなものかを知る為でしたら、エクセルを使用した日足ベースの寄引システム構築がお勧めです。

MT4を使用せずエクセルでもFXの自動売買は可能です。
楽天RSSからは10分遅れですがリアルデータは手に入りますので、VBAやUWSCを駆使すれば自動売買ロボットは開発できますし、岡三オンライン証券の岡三RSSであれば、エクセルの関数だけで自動売買は可能です。

日経225先物

あらゆる観点から見てもシステムトレードに向いているターゲットだと思います。レバレッジもほどほど効き、かつミニもありますから多くの資金を用意できないトレーダー にとっても最適です。
過去データも日足、分足共入手しやすいですし。

比較的簡単に構築できる寄引システムのターゲットとしても最適です。

TOPIX先物

日経225先物には及びませんが流動性の大きさ、値動きの良さ、レバレッジの観点からもシステムトレードには向いているターゲットです。

但し、値動きは日経225先物と相関関係が強く、ボラは日経225先物よりも若干低いので、日経225先物でなく、 敢えてTOPIX先物を選択するような優位性はないかと思います。

ということでTOPIX先物単体でのトレードはあまりお勧めではありませんが、225先物とTOPIX先物のNT倍率の拡散・収束を利用した裁定取引という手法がありますので興味のある方は研究されてみてはどうでしょうか。

ツールを選択する。

マネックス証券では自動売買ツールの定番TRADESTATIONが使用可能になったようですが残念ながら現段階では先物は対象外です。
今後に期待です。
本サイトのお勧めはエクセルです。

トレードスタイルを選択する。

トレード手法にも、デイトレスウィングポジション等、玉を保有する期間でいくつかのタイプがあります。
以前のように株価が右肩上がりで上昇し続けるようなことは、今後あまり期待できませんから長期保有は取り敢えず選択枝から外して、デイトレとスウィング(長くて数週間の保有)あたりが落としどころかと思います。

使用足を選択する。

トレードスタイルに合わせて使用足を選択します。

デイトレの場合

スキャルピングを狙うのであれば、1分足ということになりますが、他のツールはどうかわかりませんが、エクセルでは1分足を扱うのは厳しいかと思います。

データ量が半端ないのでたぶんバックテストで嫌気がさしてしまうでしょうし、仮に根性で完成までもっていったとしても証券会社の発注にそれなりの時間を要しますからスリッページもかなり発生して利益が吹っ飛びかねません。

1日に1回から数回位までの取引が現実的です。
となると通常は5分足~15分足位が適しているかと思います。

一見、短い足を使用した方が小さな波もとれてより利益を上げられそうですがそんな事はありません。

AIや高度なアルゴリズムを駆使したプロのシステムはともかく、我々素人のシステムではスリッページの問題もありますし結局ちゃぶつきの局面でたっぷり損失を出してしまいますから労多くして功少なしとなる可能性が高いかと思います。

寄りでエントリー、引けで手仕舞う寄引システムであれば、通常は日足、分足であれば30分足か60分足になるかと思います。

スウィングトレードの場合

日足、分足を使うのであれば5分足60分足位が妥当かと思います。

該当のヒストリカルデータを収集する。

使用足が決定しましたので、バックテスト用のヒストリカルデータを収集する作業に入ります。

以前は取得してもデータの質が悪く、歯抜けがかなりあり、いろいろなデータを調べて使えるレベルにするのにかなり時間を要しました。

最近は日足レベルであればいろいろなサイトからかなり正確な無料データを取得できますし、分足についても以前と比較するとだいぶ収集しやすくなりました。

有料で良ければ取引所で取得できますが、かなり値段ははります。

取得する期間については最低数年分、できれば10年以上は揃えたいところです。でないと有効なバックテストができません。
バックテスト期間が短かいと必ずと言っていいほどリアルトレードでやられます。

どの相場にもいくつかの大きな局面が存在します。どの局面にもある程度対応できるシステムでなければ実戦で長く生き残れません。
バックテストで対応可能か否かを確かめてやらなければなりませんので最低数年分のデータが必要ということになります。

売買戦略を立案する。

さて、いよいよ売買モデルを構築していくフェーズです。

過去のチャートを眺め、どのような局面で利益を上げていったらいいのか、それを実現するにはどのようなテクニカル指標を使用すれば有効か等を検討し仮説を立てていきます。

戦略が掲載されたトレード関連の本も何冊か読む必要があるかと思います。

このフェーズの詳細につきましたは「売買戦略立案時のヒント、留意点」という事で、後述していますのでそちらを参照していただければと思います。

立案した売買戦略をプログラムする。

TRADESTATIONのような自動売買ツールの場合は既に用意されている戦略を組み合わせるか、EASYLANGAGEのような簡易言語を使用してプログラミングをしていきます。

エクセルの場合は立案した戦略をエクセルシート上に関数を使用して具現化していきます。

自動売買ツールの場合はツールにバックテスト結果検証レポートが用意されていますので問題ないのですが、 エクセルで自作する場合にはシート作成時にバックテスト時の検証を効率よくできるようなシート設計をしておく必要があります。

シート設計の際の注意点です。

市販されているエクセルを使用したシストレ本では、エントリー条件等の入力エリア、集計エリア、明細エリアが同一シート上に展開されている例が多いかと思いますが、エントリー条件等の入力エリアと集計した結果を展開する集計用シートは同一シート、明細用シートは別シートとして分けて管理しておいたほうが、バックテストの検証等後々の使い勝手が良いかと思います。

予想されるスリッページや手数料を控除した数値で、かつできればポジションサイジング等を考慮して資金管理シュミレーションできるように最初から集計用シートに組み込んでおけば実運用に近い検証が可能となり実戦に入って表面上は利益が出ているのに口座残高が減っていく等という事態は避けられるかと思います。

具体的なシート設計に関しては後述します。

バックテストを実施する。

楽観的に構想し、悲観的に計画し、楽観的に実行する稲盛和夫氏の言葉です。

その「悲観的に計画する」にあたる部分です。この段階は徹底的に悲観的な見方で対処しましょう。
その上で基準に達したと判断したシステムを使えるから「楽観的に実行する」、つまり楽観的に運用できるのです。
くれぐれも「楽観的に計画し、悲観的に実行する」にならないように注意して下さい。

さて、売買モデルが簡易言語でプログラミングもしくはエクセルシート上に表現されました。いよいよ過去データを使用しての検証です。
期待に胸が膨らみます。そして、パラメーターとの格闘が始まります。

データの先読みをした事に気づかず圧倒的なパフォーマンスに自分を天才と思ったり、過ちに気づきやっぱり凡人と落胆したり。悲喜こもごもの連続です。

想定したシステム評価基準に達するまでバックテスト~最適化の作業を繰り返します。

一定のシステム評価基準の内容については、別項で詳細しますが、非常に大事なポイントを一つ。

徹底してシステムの弱点を精査しておきましょう。

最初はどうしてもプラスの要素、つまりリターンの大きさだけに目がいきがちになります。
しかし実戦においてはマイナスの要素がきっちり検証されているか否かが継続運用の鍵を握っていると言っても過言ではありません。

一定以上のドローダウンの発生時期と頻度、連敗の発生時期と頻度を調査し、発生した時期の相場の状態と比較して、それらの発生が納得のできるものである事を確認しておくことは必須事項です。

この部分をきっちり検分しておかないと、いざ実戦でドローダウンが始まった時に、それが使用システムの想定内のドローダウンなのか、過去のエッジが通用しなくなってきている予兆としてのドローダウンなのかの判別をつけられなくなります。

結果、システムを信頼できなくなり運用中断という事態を招きかねません。

誰でもマイナスの要素については多少目をつぶりたくなるのが常ですが、これを怠ればリアルトレードで致命的な結果を招くことは必定です。

明細シートでは損益関係の項目の隣にドローダウンを表示して常にチェックできるようにしておきましょう。

実戦前のメンタルトレーニングも兼ねて、よりリアリティーを出すためにドローダウンの数字を先物1枚を運用したと仮定して金額で表示(-100ならー10万円)し、かつ仮想口座を設定し、大きなドローダウンの出ている前後を1日毎にシュミレーションを行い、増えていくドローダウン、減っていく口座残高に精神的にも資金的にも耐えられるか否かを検証しておくと実戦時にも役立つと思います。

取引を行うにあたり当初資金としていくら必要かという質問を良く見かけますが、これを行っておくとある程度イメージはつかめると思います。

このような過程を経て初めて、苦労して作り上げた己のシステムの信頼性に確固たる確信を持て実戦での継続運用が可能になります。

フォワードテストを実施する。

バックテストが完了、ある程度納得できるシステムが完成したとします。

このままリアルトレードに入っていくということもありですが、できれば、しばらくの間はシステムがうまく機能するか否かを確認するフォワードテスト期間を設けて検証した上で、本番に移行していった方がベターです。

運用上の問題点とかも結構、顕在化してきます、特に自動売買ロボットで運用する場合は。

又、入手したテスト用データが仮に10年分あるとすれば、7~8年分でバックテストを行いパラメータを確定し、残り2~3年分でテストしてみてパラメータが有効か否かを検証していく方法もあります。

その結果、検証結果が納得のいくものであればいよいよ実トレードです。

バックテスト、フォワードテストを経て作成したシステムが十分実戦運用に耐えうると判断した場合にのみ運用を開始しましょう。

中途半端な状態での実運用は必ずと言っていいほど頓挫します。

検証段階では徹底的に悲観的な立場で対処しその上で信頼性に確信が持てたのであれば、実行段階では 楽観的に個々のトレードに一喜一憂することなくいかなる結果も淡々と受け入れてトレードを継続していきます。(理想ですが)
↑「システムトレードナビ:コンテンツ一覧」へ戻る

コメントの入力は終了しました。