システムトレードの構築
システムトレードをする際にまず何から始めるべきか?
当然システムの根幹になるアイデアが必要ですがそれ以外にも、バックテストするためのデータ、検証するためのシステムが必要になります。検証をすることによってシステムの客観的な評価が可能となり信頼して使い続けるための拠所となるので非常に大事です。
時系列データの取得は
Excelを参照してください。
システム検証のためのシステム
最初にシステムがどの程度の性能なのかを客観的に評価するため、システム検証ためのシステムを作ります。これによりアイデアのなかで使えるもの使えないものが見えてきます。
また、システムトレードで大事なことは、システムの指示通りに長期間にわたって使い続けることです。状況に左右されにくい堅牢なシステムといえども、システムの指示通りに行動してこそ意味があります。
中途半端な検証では負けが続いた時にシステムを信頼して使い続けることが困難になります。
そんなことにならないためにも堅牢なシステム検証の手法が必要といえます。
堅牢なシステムとは?
相場環境にかかわらず好不調の波が少なく安定しているシステム。
つまりどの期間でもパフォーマンスが直線的に推移していることになります。それには過剰なカーブフィティングがされていないことが重要。基本的に取引回数の少ないトレードは要注意です。また多少パラメータを変化させてもパフォーマンスが安定していることも大事になります。一般的にシンプルな戦略ほど長期的に安定しています。
堅牢なシステム検証に求められることとは?
・長期間でおこなう。ただし長すぎる期間はエッジの消失にもつながるので10年程度で十分と思われます。
・特異な周期性があれば発見できるようにしておく。
・特性やリターンなど他のシステムとの比較が容易である。
・リスクの程度が把握できる。
システム作成の注意点
基本的にシステムトレードでは大量の時系列データを扱います。
そのためあらかじめ考えを整理しておかないと後々思わぬ落とし穴にはまることもあります。
例えばある日の騰落を予測するときにその日の終値を含んだ乖離率で計算してしまうなど。
普通に考えればすぐに気がつくようなことですがデータ量が多くなると見落とすことがないとはいいきれません。
簡単に注意点をまとめてみました。
- 1.時系列データに関係したもの
-
意味のあるデータを使っているか確認。 当日の予測には前日(前夜)までのデータを使用しているか。
休場のあつかい。海外市場の騰落率は日本市場が休場の期間の合計にするか否か。
先物の前日比(CME)を扱う場合はSQによる限月交代の価格差に注意する。
データの特性を理解しておく。例えば、CME先物場合、円建てとドル建てではSQまでの残存日数でプレミアムが変わってくる。
- 2.データ整理に関係したもの
-
あとからセルを挿入した場合、VLOOKUP等の関数の参照列が変わらないようにする。
行数や列数の指定ではなくCOLUMNやROW関数を使用しておく。
参照先や範囲が間違えていないか十分確認する。特にOFFSET関数などはわかりにくので注意する。
少数点以下の数値の計算は、2進法による誤差がでるので整数にしたのち計算する。
- 3.システムに関係したもの
-
実際に売買できるシステムで検証する。例えばギャップが生じた場合の順張り取引は実際に発注しても指値では約定しない可能性があり成行ではスリッページが大きくなるのでこのようなシステムは避けます。
手数料を考慮すること。デイトレードシステム等売買回数の多いシステムでは意外に影響が大きい。
数式はできる限り簡略化する。PCの性能が向上してきたとはいえ軽いにこしたことはない。
|