エクセルVBAによるシステムトレードソフトの作り方

エクセルVBAを使ってトレードシステムを自動構築するツールを無料で配布しています。複数の相場データに対して複数の手法を連続的に自動で検証できます。FX、先物、個別株なんでも使えます。ファイルのダウンロードはこちらから。ファイルを使いこなすことで得られるメリットはこちらで解説してます。

カテゴリ: 第4章 ワークシート取扱い説明書

次に「検証シート」内で検証されているシステムの月次リターンのグラフを描いてみます。
マクロ名は、「Draw_MonthlyNetProfit」です。

マクロの作業内容と作業手順は次の通りです。
1.グラフとして描くデータの範囲を指定する
2.グラフの種類、レイアウト、表示位置などを指定する

この月次リターングラフを描いたあとに、システムのテクニカル指標の変数を書き換えるなどして、パフォーマンスが変化した場合なども、それに合わせてグラフが変化するようになっています。
0701_4

↑評価シートに描かれる月次損益グラフの例(実際には、そのとき検証シート内でテストされているシステムの結果が返ります)。
このエントリーをはてなブックマークに追加 mixiチェック

次に「検証シート」内で検証されているシステムの資産曲線をグラフで描いてみます。
マクロ名は、「Draw_EquityCurve」です。

マクロの作業内容と作業手順は次の通りです。
1.資産曲線の列のデータが入っている範囲を選択する
2.グラフの種類、レイアウト、表示位置などを指定する

  この資産曲線を描いたあとに、システムのテクニカル指標の変数を書き換えるなどして、パフォーマンスが変化した場合なども、それに合わせてグラフが変化するようになっています。
0701_5

↑評価シートに描かれる資産曲線の例(実際には、そのとき検証シート内でテストされているシステムの結果が返ります)。
このエントリーをはてなブックマークに追加 mixiチェック

 次にシステムのマネーマネジメントルールを書き換えましょう。 
ここでは、ATRマネーマネジメントというマネジメントルールに書きえてみます。

マクロ名は、「Money_mng_ATR」です。

マクロの作業内容と実行手順は次の通りです。
1.評価シート内にテキスト、変数を書き込む
2.検証シート内にATRマネーマネジメントのワークシート関数を書き込む

  検証シート内のATRを算出するワークシート関数は、「評価シート」内のセルC3、C5、C7の値を絶対参照しております。
このエントリーをはてなブックマークに追加 mixiチェック

 次に、システムのイグジットルールを書き換えましょう。
 ここでは、ATRイグジットというイグジットルールに書き換えてみます。

 ATRイグジットのルールの詳細については、第6章をご覧ください。
 マクロ名は、「EXIT_ATR」です。

マクロの作業内容と実行手順は次の通りです。
1.「検証シート」内の価格データが入っている最終行の行数を変数に代入する
2.「検証シート」にATRイグジットのワークシート関数を書き込み、価格データの入っている最終行までコピーする
3.「検証シート」上部にEXIT列の解説を書き込む
4.価格データが入っている最終行より下の行を削除する
5.「評価シート」内の変数やイグジットルールの解説をATRイグジット用に書き換える
ということです。

 検証シート内のATRを算出するワークシート関数は、「評価シート」内のセルC13を絶対参照しており、イグジットルールの変数を2にしたい場合、セルC9、C11を書き換えることにより可能です。
 他のイグジットルールを含め、どのセルを書き換えると何が変化するのかは、第6章でまとめて解説しましたので、そちらをご覧ください。
このエントリーをはてなブックマークに追加 mixiチェック

では次に、流し込んだデータを使ってシステムを構築していきましょう。

まずは、エントリールールをマクロによって書きこみます。

このエントリーサインの列へ、エントリーサイン「移動平均線のクロス」を書き込むには、次の手順で行います。
実行するプロシージャは、「ENTRY_SMA_CROSS」です。

マクロの作業内容、作業手順は次の通りです。
1.「検証シート」内の価格データの入っている最終行の行数を変数に代入する
2.「検証シート」に移動平均線のワークシート関数を書き込み、価格データの入っている最終行までコピーする
3.「検証シート」上部に移動平均線列の解説を書き込む
4.価格データが入っている最終行より下の行を削除する
5.評価シート内の変数、エントリールールの解説を書き換える
このマクロをVBEで開いていただくと、上記の作業の内容のソースコードを見ることが可能です。

エントリールール「移動平均線のクロス」のエントリールールは次の通りです。

前日時点で長期移動平均線>短期移動平均線であり、かつ、当日時点で長期移動平均線<短期移動平均線のとき、翌日寄り付きで買い売りは逆。
 
このルールに含まれる2本の移動平均線の算出に使われる変数は、「評価シート」内に書き込まれています。
検証シート内の移動平均線を算出するワークシート関数は、この値を絶対参照しており、移動平均線の変数を10日にしたい場合、評価シート内のセルA4、A6の値を書き換えることにより可能です。

評価シート内のテクニカル指標の変数のセルを書き換えることによって、現在検証シート内でテストされているシステムのパフォーマンスが変化するので、ご確認ください。

他のエントリールールを含め、どのセルを書き換えると何が変化するのかは、第6章の「各種エントリールールとイグジットルールの解説」をご覧ください。

また、同様に違うエントリールールを書き込む際にも同じ手順で実行可能です。
なお、この変数の値をマクロで変化させ、最適化を行う手順は後述いたします。
このエントリーをはてなブックマークに追加 mixiチェック

このページのトップヘ