バックテスト検証ソフト或いはチャートソフト間では、同一商品であってもデータが違うという現象が生じます。この要因は、大きく分けて「データ取得時間の相違」と「データ算出ロジックの違い」にあるような気がします。
データ取得時間の相違というのは、データが配信される時刻(タイムスタンプ)をどこで認識するかというところにあります。約定値が配信される場合は取引所でのタイムスタンプが最も早い(信頼できる)のですが、どんなに素晴らしいシステム環境でも取引所でのタイムスタンプで取引できることはありませんので、取引所のタイムスタンプで表示されたチャートが果たして正しいか(取引可能か)というのには疑問が残ります。
データ配信業者によっては、自社サーバーを経由した時刻をタイムスタンプとして採用していることもあります。しかし、情報配信までには幾らかのタイムラグがあるのは当然ですので、データ配信業者のタイムスタンプを使うのも間違いではありません。また、タイムスタンプそのものの情報をカットして配信する場合もあります。このときに使うタイムスタンプは、ローカル環境であるお使いのPCの時刻です。たまに時刻が狂ったりするPCもありますので、信頼度は一番低いのですが、情報配信までには幾らかのタイムラグがあるのは当然ですので、PCのタイムスタンプを使うのも間違いではありません。以上の説明が、データ取得時間の相違ということになります。
データ算出ロジックの違いについて、1分足を使っての20期間の移動平均線について考えてみましょう。1分間に約定がない場合、その間のデータは欠落してしまうことになるわけですが、チャートソフトによっては値段がないものとみなして詰めて表示されるものがあったり、あるいは約定はないものの便宜上の理論値を算出して空白を詰めてチャートが描かれたりします。
詰めて表示される場合、欠落したデータは20期間の移動平均線にはカウントされません。一方、理論値算出ロジックの場合は、便宜的に直前の約定値を表示して空白を埋めるといった作業が行われていますので、結果として計算される移動平均線の期間は固定期間を使用することになります。
このような違いがありますので、チャートソフト間で検証した結果がぴったり一致するということはほとんどありません。言い換えれば、多少の誤差はつきものですので、細かいデータの調整よりも大局を見誤らないように心がけることが大事です。このデータ相違の問題を逆手に利用することを考えてもいいかもしれません。複数ツールで検証してみてあまり成績に大差のないトレーディングシステムというのは、データ欠落や誤配信に対して成績がブレませんので、本当に信頼できるものとなるでしょう。







コメントを残す