システムトレードの作り方の基本

トレードとは、その時点で利用できるデータを利用して、買いか売りか見送りか、を決定することです。

人が行うトレードの場合、その時点で入手できるデータ(四本値の他に、銘柄の業績や、噂や、その人が把握している全て)を利用して、

  1. 買い

  2. 売り(現物の売却、信用の空売りなど)

  3. 見送り(ポジションを維持するか、ポジションが無いのを維持するか)

を、人が決定しています。

その決定を、機械的に判断するのがシステムトレードになります。
機械的であればその判断を人が行っても良いですが、通常はPCを使います。

PCが機械的に判断するには、PCで処理できるデータでなければなりません。従って、通常は、日付・時刻・四本値(始値・高値・安値・終値)・出来高のデータを利用することになります。一般的ではありませんが、銘柄の業績や、噂を数値化できるのなら、それらを利用するのも可能です。

例えば次のようになります。

20110217fig1.png

225先物の日中の四本値を配置してあります。その四本値から計算して、2/9のザラ場終了後、買いシグナルが発生しています。そのシグナルは翌日(次の行の2/10)の始値で買う、という意味になります。

シグナルを算出するには、その時点で利用できる数値を全て利用して構いません。つまり、45行目以前の全ての行のデータ(2行目~45行目)を利用するのが可能です。それらデータから、買いにするか売りにするか見送るかを、決定するわけです。 未来の数値を利用してはいけません。2/9のザラ場終了時点で、2/10の四本値が判るわけがないからです。例外は、2/10の始値を利用してギャップを算出し利用する場合だけです。

M.trading システムトレード開発ソフトでシステムを開発するのも、基本は同じです。

データ → 計算 → シグナル

計算部分が、移動平均やローソク足の形状などの指標になります。計算部分はどれだけ複雑になっても構いません。Excel は極めて複雑な計算でも処理できます。

また、シグナルを算出した後、そのシステムを評価するために、損益・勝率・PF・PORを算出することが出来ます。