一般のトレーダーは、損切りは遅く、利益の確定は速く、という傾向ですよね。私ももちろんそうでした。そして、当然のように勝つことはできませんでした。
行動ファイナンスの理論によれば、人はトレードで損をするのが当たり前なのです。
トレードを始めてから毎日研究し実践する中で、私が最後にたどり着いたのがシステムトレードでした。買いと売りとの判断はシステムが行い、それが裁量で行うより期待値の高いトレードとなるのです。

現在私は日経225先物のシステムトレードを行っていますが、現システムを作るまでに、アイディアを思いついたら検証するためにシステムを作り直し、そのたびに膨大な時間と労力とがかかりました。指標を追加し、数式を変更し、検証途中で判明する追加変更によるバグを修正(指標を追加・数式を変更するのはどうしてもバグの発生の原因になるのです)し、あらためて検証し直します。検証もパラメータを手動で変更して、成績がアップしそうかどうかを調べます。もし良さそうであったら、パラメータ最適値を総当たりするプログラムを実行して、最適なパラメータを調べ、かつパラメータに堅牢さがあるかを検証します。
アイディアが有効かどうかを検証するのは、実に大変な作業でした。
この作業を効率化するには、汎用的なシステムトレードを構築できるプログラムを基礎にして、その上でアイディアを追加しやすく検証を行いやすいようにするのが良いだろうと考えました。
私がシステムを繰り返し作成し検証するなかで獲得した知識と経験とを最大限にこのM.tradingの機能に実装し、できるだけ簡単にシステムを構築することを目指しました。
- [システムトレードに対する理解]
- 必要。
- [テクニカルに対する理解]
- 使用するテクニカル指標への理解が必要
- [Excelの修得度]
- 初心者レベルで可能。
高度にM.tradingを利用するなら、中級レベルは必要
できるだけ簡単にExcelでシステムトレードを構築できるようにしていますが、ある程度システムトレードを理解しておく必要があります。また、指標を組み合わせパラメータを変更して検証するだけなら、Excelの使い方は初心者レベルで充分です。指標を新しく追加する場合や、オリジナルのアイディアをシステムに反映させる場合には、Excelの使い方をある程度習得しておく必要があります。
システムトレードがまったく初めての方のために、「M.tradingによるシステム構築の手引き」では、図入りで詳細に説明をしています。

仮に、M.tradingと同等の機能のアプリケーションを作成しても、Excelの機能の豊富さにはかないません。
アイディアを形にしやすい、という大きなメリットがあります。確かに処理速度は専用のプログラムよりは遅くなりますが、Excelの関数が理解できる修得度の人なら、思いついたアイディアを数式だけで実装(機能の組み込み)でき、プログラムを組む必要がありません。
また、仮に、このM.tradingをExcelではなく、VB.net(マイクロソフトが開発したプログラミング言語)などでプログラムを構築することも考えられますが、この場合、ユーザが自分のアイディアを組み込むのは困難になります。アイディアの実装を行う際、専用のプログラムの場合はプログラムの機能の範囲内でしか行えませんが、Excelの場合はExcelの機能の限界まで利用できるのです。
関数の数式だけでなく、Excelの標準の機能としてVBA(Visual Basic for Applications)というプログラミング言語が使用できますから、これを利用すればたいていのWindowsアプリケーションと同様の機能が実現できます。M.tradingでも、このVBAを利用してシステム構築に便利な様々な機能を実現しています。

M.tradingのVBAの画面。VBAも利用したいというユーザのために、詳細にコメントしています。
買いのEntry、Exit(返済)、売りのEntry、Exit(返済)とにそれぞれ別の設定を行うことができます。バックテストの結果も買い・売り・合計の3種類で表示されます。
買いと売りとに分けている理由は、日本株・225先物のマーケットは明確に買いと売りとで違う傾向があるからです。このことは、かなり重要な点です。これを利用してシステムを構築することもできます。
分足や日足を利用したデイトレード用・スイングトレード用のシステムなどを、作成できます。
分足の足数と時刻は、自由に設定できます。例えば、9:00, 9:12, 9:30, 9,42, 10:00 のような変わった時刻設定で、足数が20にする、といった設定が可能です。

デイトレードなら、前場開始・前場終了前・前場終了、後場開始・後場終了前・後場終了、夕場開始・夕場終了前・夕場終了、の時刻を指定して、ギャップアップ、ギャップダウンのシステムを組めます。前場開始のように判りやすいように名前をつけていますが、M.tradingでは、特定時刻を9つ設定でき、その時刻に対して何らかの処理を行うことができるようになっている、ということです。数式を少し変更すれば、9つ以上にもちろん設定できます。
スイングトレードでも、前日の終値・翌日の初値のギャップを利用したシステムを組めます。

買い・売り・合計、の3つそれぞれに対して以下の事柄を算出します。
月/年ごと/トレード全体に対して
利益計・損失計・損益合計・勝ち数・負け数・取引回数・1日取引回数・PF・POR・勝率
バックテスト期間を任意に設定できます。
トレード全体に対して
標準偏差・シャープレシオ・ドローダウン期間平均値/中央値・最大ドローダウン・利益期間平均値/中央値・損失期間平均値/中央値・利益額平均値/中央値・最大利益額・損失額平均値/中央値・最大損失額
| 指標 | 指標数 | 各パラメータ数 | 設定可能 パラメータ数 合計 | シグナル数 合計 |
|---|---|---|---|---|
| 特定時刻(Long) | 2 | 3 | 6 | 2 |
| 特定時刻(Short) | 2 | 3 | 6 | 2 |
| ギャップ(数値以上) | 2 | 6 | 12 | 2 |
| ギャップ(数値以下) | 2 | 6 | 12 | 2 |
| 利確・トレイリング・ロスカット(買い) | 2 | 8 | 16 | 2 |
| 利確・トレイリング・ロスカット(売り) | 2 | 8 | 16 | 2 |
| テクニカル指標 | 指標数 | 各パラメータ数 | 設定可能 パラメータ数 合計 | シグナル数 合計 |
| モメンタム | 4 | 1 | 4 | 4 |
| サイコロジカルライン | 4 | 3 | 12 | 4 |
| RCI | 4 | 3 | 12 | 10 |
| ストキャスティクス | 4 | 6 | 24 | 8 |
| スローストキャスティクス | 4 | 7 | 28 | 8 |
| 移動平均乖離率 | 4 | 3 | 12 | 4 |
| 加重乖離率 | 4 | 3 | 12 | 4 |
| ボリンジャーバンド | 2 | 2 | 4 | 6 |
| DMI | 2 | 3 | 6 | 8 |
| エンベロープ | 2 | 5 | 10 | 4 |
| HLチャネル | 4 | 2 | 8 | 12 |
| ピボットポイント | 1 | 0 | 0 | 3 |
| MACD | 4 | 3 | 12 | 12 |
| 単純移動平均 | 4 | 1 | 4 | 10 |
| 指数平滑移動平均(EMA) | 4 | 1 | 4 | 10 |
| 時系列加重平均 | 4 | 1 | 4 | 10 |
| 相関係数 | 4 | 3 | 12 | 10 |
| ドンチャンチャネルブレイクアウト | 4 | 2 | 8 | 4 |
| パラボリック | 4 | 6 | 24 | 4 |
| 一目均衡表 | 2 | 6 | 12 | 8 |
| RSI | 4 | 3 | 12 | 20 |
| ローソク足 | 2 | 22 | 44 | 55 |
| 合計 (指標+テクニカル指標) | 336 | 230 |
利確/トレインリング/損切のストップのパラメータは、最大利益(高値-ポジション)・現時点損益(終値-ポジション)・最大利益-現時点損益・現時点損益(安値-ポジション)と、それぞれのパーセント、を設定できます。
ギャップ数値以上のパラメータは、数値(あるいはパーセント)以上になったらシグナル発生。ギャップ数値以下はその逆。という設定です。
モメンタムなどのテクニカル指標は22設定されています。
使わない指標のワークシートの数式をすべて残しておくと、Excelのブックが大きくなり処理も遅くなります。このM.tradingでは、使わないテクニカル指標は最低限のセルだけ残して残りは削除する機能を備えています。使用する時に構築しなおして、ワークブックの肥大化を防ぎます。

テクニカル指標DMIのワークシート
指標のワークシートを追加すれば、既存の指標ワークシート同様に扱えます。
VBAのプログラムで、指標のワークシートから動的にExcelの数式、ユーザフォーム、チェックボックス、各種設定を構築できるようにしています。
既存の指標でも、使わないのならワークシートから削除しても構いません。
追加の方法は、M.tradingによるシステム構築の手引きで詳細に解説しています。

指標のパラメータ数280個。これとは別に、システム全体に対するパラメータは30個あります。
新しくパラメータを追加すれば、このパラメータ設定画面でも利用できます。
また、Excelのワークシートに直接入力もできますし、表示されるユーザフォームから入力もできます。

Excel パラメータ設定 ユーザフォーム

シグナルの設定・パラメータの設定を、ファイルとして保存できます。
設定の記録をファイル単位で行えるため、管理が容易です。
さまざまなシグナルを組み合わせ、バランスのとれたシステムを構築してゆきます。
設定方法は2種類あります。
- システムトレード開発(.net)の画面を通して操作する方法
- ワークシートで直接設定する方法
システムトレード開発(.net)の画面を通して操作する方法

買いEntry・売りEntry・買いExit・売りExitに対し、シグナルを選択するだけで、AND・OR・Entry停止のシグナルを構築できます。詳しくは、ヘルプ:シグナルを参照して下さい。
ワークシートで直接設定する方法

もっとも基本的なシグナルの組み合わせ(AndのEntryとExit)は、チェックボックスにチェックを入れるだけです。
ワークシートで直接設定する方法:買いEntry組み合わせ例
1%以上のギャップアップ AND MACDのクロスの状態
Andの組み合わせは、パラメータの数字を入力してチェックボックスにチェックを入れるだけ、です。
1%以上のギャップアップ OR MACDのクロスの状態
どちらかの条件を満たした時(OR)の組み合わせは、それらのシグナルの[OR]に数字を入れて[OR構築]ボタンを押すと、自動で数式が構築されます。
MACDのクロスの状態 AND 1%以上のギャップアップでない
ある条件になった時には買いEntryを行わないようにするには、それらのシグナルの[Entry停止]に数字を入れて[エントリー停止構築]ボタンを押すと、自動で数式が構築されます。
シグナルを複数組み合わせるのに、数式を入力する必要はありません。
さらに、オリジナルなアイディアを反映したいのなら、手作業で数式に変更を加えることも可能です。

損益で色分けされた表
シグナルの組み合わせである程度良さそうなものができたら、次はパラメータ(numA,numB,numCの3つまで)の数値を総当たりして最適なパラメータの組み合わせをPCに計算させます。
また、MACDのように必ず EMA1パラメータ数字<EMA2のパラメータ数字、にする指標の場合、numA<numB の条件で実行できます。
計算させる数値の範囲と条件とを設定して実行すれば、それぞれの数値でのバックテストの結果がCSVファイルに保存されます。
保存されたCSVファイルから色分けされた表を構築でき、堅牢なパラメータの設定はどのあたりなのか一目瞭然となります。
表の見本:225先物日足を、2つのMACDで探索した表が次のサンプルに入っています。
MACDパラメータ探索結果まとめ

[複数銘柄のバックテスト]のボタン1つで複数銘柄のバックテストが可能。
複数銘柄のバックテストを行いExcelファイルでその結果をそれぞれ保存します。
保存されたExcelファイルから、さらに統合された結果をExcelファイルで出力します。
銘柄毎の四本値が必要です。
Excelの数式、VBAのプログラムは公開していますので、自由に変更可能です。
各パラメータ・数式の意味、プログラムの処理の意味、などをコメントで詳細に記述していますので、オリジナルのアイディアを反映させる際の手助けになるでしょう。
機能まとめ
- 基本的な使い方なら、ワークシートで数式を作成する必要はなし。
- 買い・売り別設定可能 デイ・スイング両対応
- 自由に分足を設定可能
- 特定時刻を自由に設定、時刻に合わせたシグナル可能。
- 利確/トレインリング/損切のストップ、ギャップ対応。
- 組み込み済みの指標数 28個
- 組み込み済みのパラメータ設定数 336個
- 組み込み済みのシグナル数 230個
- 新しく指標を組み込んで、既存の指標と同様に取り扱い可能。
- 詳細なバックテスト結果
- パラメータ最適値 総当たり
- パラメータ最適値の表を構築
- Excelの数式・VBAプログラムを公開
機能まとめ
- システムトレード開発(Excel)に対する処理
- シグナルを選択するだけで、シグナル設定が可能
- パラメータ設定が可能
- 指標の組み合わせ設定・パラメータ設定をファイルに記録可能
- 選択した銘柄の四本値を貼り付け
- ボタン1つで複数銘柄のバックテストが可能

M.tradingを利用してシステムを構築するための詳細な手引きを付属させました。
M.tradingの使い方から、Excelの関数を使う際にトラブルとなりやすい点とその回避方法や、M.tradingのプログラムの仕組みまで、解説しています。
システムトレードが初めての人から今後システムを高度に作り込む人にまでのハンドブックとなります。PDF・A4サイズで約70ページ。
最初のページの見本です。
「M.tradingによるシステム構築の手引き」 はじめに・基本的な使い方(PDF 390KB)

私は今のシステムを組むために様々な方法で研究しました。その研究を行うための知識と経験とをまとめた冊子を付属させました。

私がシステムを構築運用する中で獲得した実務実際的なノウハウです。
- 有利な道とは?
- ブログで明かしていない、システムのスペック
- システムトレードで通常禁じ手と考えられていることや意味が無いとされていることが、実は有効である事実。
- 私がシステムを信頼するに至るまでの道のり
PDF・A4サイズで約20ページ。
掲示板でご質問を受け付けています。
適宜書き込みを整理し、FAQとしてまとめる予定です。
書き込みしていただいた、要望・提案・プログラムのコードなど、今後のM.tradingの改良、その他プログラムの構築に、反映いたします。
ご購入後2年間は、無償でバージョンアップできます。
- Microsoft Excel 2002, 2003, 2007のいずれかが必要です。
Excel 2007を推奨します。 - Excel 2000より前のバージョンでは一部機能が動きませんので利用できません。
- Windows XP上のExcel 2002,2003,2007、
Windows Vista,7上のExcel 2007、で動作を確認しています。 - M.trading チャートシステムは、Excel2007専用です。
分足(15分足など)で長期間(5年間など)の4本値を使ってのバックテストはかなり時間がかかりますので、この場合、処理能力の高いPC(メモリ1G以上、CPU Core2Duoなど)を推奨します。日足なら、5年でも約1250行程ですから、それほどPCの負担にはなりません。
株価・先物・FXなどの四本値のデータは、利用者自身で準備していただく必要があります。*1
PDFを見るには、Adobe Reader(無料)などが必要です。
Windows XP Pro SP2 + Excel2007
CPU Core2Duo 1.66GHz, メモリ2G の環境で作成しました。
Norton Internet Securityで、ウイルスチェックを行っています。
*1 サンプルとして225先物の日足の四本値と、幾つかのパラメータ探索結果(MACD1クロスシグナルなど)を添付しました。225先物の四本値は参考として添付したものであり、製品に含まれるものではありません。
システムトレード開発ソフト M.trading
http://www.moderns.co.jp/trade/
お問い合わせ
お問い合わせフォームか、
E-mailで御願いします。
information at moderns.co.jp ※「 at 」は「@」に置き換えてください。
お知らせ
- 2009-04-29 M.trading システムトレード開発(.net)をVer 1.6.2にバージョンアップしました。ユーザの方は、フォーラムにログイン後ダウンロードできます。
- バグ修正。
- エラー処理を追加
- お知らせ(過去分)















