トレーディングシステム入門:中編

訂正箇所(表2.1に合わせた表現に変更した場合)

62ページ

誤)パーセンテージベースの平均利益は
正)平均損益(%)は

63ページ

誤)勝ちトレードの回数は
正)勝ちトレード(の回数)は

誤)最大の勝ちトレード(%)は
正)最大(の)勝ちトレード(%)は →表2.1では%が抜けている

誤)勝ちトレードの平均利益(%)は
正)平均勝ちトレード(%)は→表2.1では%が抜けている

63,64ページ

誤)(F$2:FX,”>0”)
正)(F$2:FX;”>0”)

64ページ

誤)負けトレードの回数は
正)負けトレード(の回数)は

誤)最大の負けトレード(%)は←(6行目の文章)
正)最大(の)負けトレード(%)は

誤)負けトレードの平均損失(%)は
正)平均負けトレード(%)は

誤)最大の負けトレード(%)は←(12行目の文章)
正)(最大の)ドローダウン(%)は

誤)現在の金額ベースの平均トレードは
正)平均損益(%)を現在の金額ベースに換算した数値は

65ページ

誤)トレード回数は
正)総トレード数(トレード回数)は

誤)勝率は
正)表2.1の”勝ちトレード”の右となりの値(勝率(%))は

誤)今日の最大の勝ちトレードの金額は
正)最大(の)勝ちトレード(%)を現在の金額ベースに換算した数値は

誤)今日の勝ちトレードの平均利益の金額は
正)平均勝ちトレード(%)を現在の金額ベースに換算した数値は

誤)今日の累積利益の金額は
正)累積利益(%)を現在の金額ベースに換算した数値は

66ページ

誤)負けトレードの割合は
正)表2.1の”負けトレード”の右となりの値(負ける確率(%))は

誤)今日の最大の負けトレードの金額は
正)最大(の)負けトレード(%)を現在の金額ベースに換算した数値は

誤)今日の負けトレードの平均損失の金額は
正)平均負けトレード(%)を現在の金額ベースに換算した数値は

誤)今日の最大ドローダウンの金額は
正)(最大の)ドローダウン(%)を現在の金額ベースに換算した数値は

表が完成できたら”別名で保存”を選び保存するが、OpenOfficeを使用している場合は CSVではなくOpenOffice形式で保存する。
そうしないと、せっかく入力した計算式が消える可能性があるためだ。

データの準備

データがなければなにもはじまらない。
「データマイニングによりマーケットの傾向をさぐる」ことを行うのであれば当然マーケットのヒストリカルデータが必要となる。
そうでない場合はバックテストに使用するためにデータが必要となる。

データのタイプはポイント修正ベースつなぎ足と、比率修正つなぎ足(Ratio Adjusted Data、略名RAD)の2種類が必要。
この2つを多くのマーケットについて準備する。

また本書では、日足と週足と月足のデータも使っている。
(デイトレードであれば本来1時間足などの日中足がのデータが必要になるが、本書では使っていない。
その理由はおそらく長期にわたって日中足のデータがあるマーケットが存在しないかもしれないためと推測する。)

どのマーケットも同じ期間のデータが必要であり、長いほどよい。システム構築用と最後のテスト用の2つに期間を分けてバックテストに使用する。

以上から合計(データの種類:2 × マーケットの数 × 時間枠の種類3)の数のヒストリカルデータが必要となる。

ここで本書の67ページから77ページにかけての「先物のデータ」について復習すると、先物には期限が存在しその期限が終了すると次の期限が始まる。

バックテストではこれらの期限のデータをつなぎ合わせて長い期間のデータ(つなぎ足)として使う必要がある。
ここで問題となるのが期限が変わった日=限月の乗り換え日にプライスが突然変更されることがあることだ。
これはマーケットの動きとは関係のない変更である。

本書には
「マーケットのプライスとボラティリティ(プライスの時間足の高値安値の幅)には

ボラティリティ(高値-安値)÷そのボラティリティの時間足の始値(終値でも可)、は年月でほとんど変化しない

という関係がある。」という前提がある。

この前提が、このプライスの変更の問題により先物のヒストリカルデータでは崩れてしまうのだ。

この問題を解決する目的で使うのがポイント修正ベースつなぎ足とRADである。

ポイント修正ベースつなぎ足は単純に「限月の乗り換え日に変更のあったプライス」と変更前のプライスとの差を使って、変更前もしくは変更後のプライスを修正する。
ちなみに変更前(乗り換え日以前=ロールオーバー以前)のプライスを修正した場合は”バックアジャスト”といい、変更後のプライスを修正した場合は”フォアードアジャスト”という。
本書のRADについてはその修正方法が複雑となり、その計算式は次のとおり。

Cinew = Ciold X (1+(C – c) / C)

ここで
Cinew = iバー前の修正後価格、
Ciold = iバー前の修正前価格
C   = 乗り換え日の新しい限月の終値
c = 乗り換え日の旧限月の終値

無修正のヒストリカルデータを手に入れて、この計算式を使い自分でRADを作るつもりは私にはないため、この式を深く考えることはしないが、この式をそのまま使うすると、フォアードアジャストのデータとなる。

しかし現在のプライスをベースとするならば当然バックアジャストのデータを使うべきでだろう。
(本書ではどちらのタイプのデータなのかは不明。)