M.trading システムトレード開発ソフト

株・225先物・商品先物・FX など向けに、デイトレ・スイングのシステムトレードを開発するためのソフトウェアです。

システムトレードの優位性

一般のトレーダーは、損切りは遅く、利益の確定は速く、という傾向ですよね。私ももちろんそうでした。そして、当然のように勝つことはできませんでした。

行動ファイナンスの理論によれば、人はトレードで損をするのが当たり前なのです。

トレードを始めてから毎日研究し実践する中で、私が最後にたどり着いたのがシステムトレードでした。買いと売りとの判断はシステムが行い、それが裁量で行うより期待値の高いトレードとなるのです。

私は自分の判断を信用していませんが、システムは信用しています。システムに従っていると勝つことができるからです。

M.trading開発の理由

現在私は日経225先物のシステムトレードを行っていますが、現システムを作るまでに、アイディアを思いついたら検証するためにシステムを作り直し、そのたびに膨大な時間と労力とがかかりました。指標を追加し、数式を変更し、検証途中で判明する追加変更によるバグを修正(指標を追加・数式を変更するのはどうしてもバグの発生の原因になるのです)し、あらためて検証し直します。検証もパラメータを手動で変更して、成績がアップしそうかどうかを調べます。もし良さそうであったら、パラメータ最適値を総当たりするプログラムを実行して、最適なパラメータを調べ、かつパラメータに堅牢さがあるかを検証します。

アイディアが有効かどうかを検証するのは、実に大変な作業でした。

この作業を効率化するには、汎用的なシステムトレードを構築できるプログラムを基礎にして、その上でアイディアを追加しやすく検証を行いやすいようにするのが良いだろうと考えました。

私がシステムを繰り返し作成し検証するなかで獲得した知識と経験とを最大限にこのM.tradingの機能に実装し、できるだけ簡単にシステムを構築することを目指しました。

M.tradingに必要な技術

[システムトレードに対する理解]
必要。
[テクニカルに対する理解]
使用するテクニカル指標への理解が必要
[Excelの修得度]
初心者レベルで可能。
高度にM.tradingを利用するなら、中級レベルは必要

できるだけ簡単にExcelでシステムトレードを構築できるようにしていますが、ある程度システムトレードを理解しておく必要があります。また、指標を組み合わせパラメータを変更して検証するだけなら、Excelの使い方は初心者レベルで充分です。指標を新しく追加する場合や、オリジナルのアイディアをシステムに反映させる場合には、Excelの使い方をある程度習得しておく必要があります。

システムトレードがまったく初めての方のために、「M.tradingによるシステム構築の手引き」では、図入りで詳細に説明をしています。

Excelでシステムを開発するメリット

エクセルのメリット
仮に、M.tradingと同等の機能のアプリケーションを作成しても、Excelの機能の豊富さにはかないません。

アイディアを形にしやすい、という大きなメリットがあります。確かに処理速度は専用のプログラムよりは遅くなりますが、Excelの関数が理解できる修得度の人なら、思いついたアイディアを数式だけで実装(機能の組み込み)でき、プログラムを組む必要がありません。

また、仮に、このM.tradingをExcelではなく、VB.net(マイクロソフトが開発したプログラミング言語)などでプログラムを構築することも考えられますが、この場合、ユーザが自分のアイディアを組み込むのは困難になります。アイディアの実装を行う際、専用のプログラムの場合はプログラムの機能の範囲内でしか行えませんが、Excelの場合はExcelの機能の限界まで利用できるのです。

関数の数式だけでなく、Excelの標準の機能としてVBA(Visual Basic for Applications)というプログラミング言語が使用できますから、これを利用すればたいていのWindowsアプリケーションと同様の機能が実現できます。M.tradingでも、このVBAを利用してシステム構築に便利な様々な機能を実現しています。

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つ以上にもちろん設定できます。

スイングトレードでも、前日の終値・翌日の初値のギャップを利用したシステムを組めます。

バックテスト

ワークシートM

買い・売り・合計、の3つそれぞれに対して以下の事柄を算出します。

月/年ごと/トレード全体に対して

利益計・損失計・損益合計・勝ち数・負け数・取引回数・1日取引回数・PF・POR・勝率
バックテスト期間を任意に設定できます。

トレード全体に対して

標準偏差・シャープレシオ・ドローダウン期間平均値/中央値・最大ドローダウン・利益期間平均値/中央値・損失期間平均値/中央値・利益額平均値/中央値・最大利益額・損失額平均値/中央値・最大損失額

指標

指標指標数各パラメータ数設定可能
パラメータ数
合計
シグナル数
合計
特定時刻(Long)2362
特定時刻(Short)2362
ギャップ(数値以上)26122
ギャップ(数値以下)26122
利確・トレイリング・ロスカット(買い)28162
利確・トレイリング・ロスカット(売り)28162
テクニカル指標指標数各パラメータ数設定可能
パラメータ数
合計
シグナル数
合計
モメンタム4144
サイコロジカルライン43124
RCI431210
ストキャスティクス46248
スローストキャスティクス47288
移動平均乖離率43124
加重乖離率43124
ボリンジャーバンド2246
DMI2368
エンベロープ25104
HLチャネル42812
ピボットポイント1003
MACD431212
単純移動平均41410
指数平滑移動平均(EMA)41410
時系列加重平均41410
相関係数431210
ドンチャンチャネルブレイクアウト4284
パラボリック46244
一目均衡表26128
RSI431220
ローソク足2224455
合計
(指標+テクニカル指標)
336230

利確/トレインリング/損切のストップのパラメータは、最大利益(高値-ポジション)・現時点損益(終値-ポジション)・最大利益-現時点損益・現時点損益(安値-ポジション)と、それぞれのパーセント、を設定できます。
ギャップ数値以上のパラメータは、数値(あるいはパーセント)以上になったらシグナル発生。ギャップ数値以下はその逆。という設定です。

モメンタムなどのテクニカル指標は22設定されています。
使わない指標のワークシートの数式をすべて残しておくと、Excelのブックが大きくなり処理も遅くなります。このM.tradingでは、使わないテクニカル指標は最低限のセルだけ残して残りは削除する機能を備えています。使用する時に構築しなおして、ワークブックの肥大化を防ぎます。

テクニカル指標DMI
テクニカル指標DMIのワークシート

新しく指標を追加する

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

追加の方法は、M.tradingによるシステム構築の手引きで詳細に解説しています。

パラメータ設定

パラメータ設定

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

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

設定の記録

設定を記録

シグナルの設定・パラメータの設定を、ファイルとして保存できます。
設定の記録をファイル単位で行えるため、管理が容易です。

システムを構築する

さまざまなシグナルを組み合わせ、バランスのとれたシステムを構築してゆきます。
設定方法は2種類あります。

システムトレード開発(.net)の画面を通して操作する方法

シグナル設定

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

ワークシートで直接設定する方法

ワークシートP

もっとも基本的なシグナルの組み合わせ(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のプログラムは公開していますので、自由に変更可能です。
各パラメータ・数式の意味、プログラムの処理の意味、などをコメントで詳細に記述していますので、オリジナルのアイディアを反映させる際の手助けになるでしょう。

システムトレード開発(Excel)

機能まとめ

システムトレード開発(.net)

機能まとめ

M.tradingによるシステム構築の手引き

handbook.png(56369 byte)

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(無料)などが必要です。

get_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 」は「@」に置き換えてください。

お知らせ

見本のファイル