ストラテジーテスターのレポートの値はどの様に計算が行われますか?またそれらの意味は?

パフォーマンスサマリータブ

パフォーマンスサマリータブでは、以下の様に純利益や、総利益、最大ドローダウンなどのすべての利用可能なストラテジーのパフォーマンス指標を表示します:

すべてのトレードに対して計算されたパフォーマンス指標は「すべて」の列に表示されます。ロングとショートに対してのみ計算された値は、それぞれ「ロング」と「ショート」の列に表示されます。それでは各パフォーマンス指標の意味を詳しく見ていきましょう。

純利益
テスト期間中にストラテジーによって達成された(選択された通貨での)純損失です。この値は(トレード一覧タブの)利益の列の値をプラスマイナスを考慮しすべて合計したものです。

総利益
ストラテジーで利益の出たすべてのトレードの利益の合計です。

総損失
ストラテジーで損失が生じたすべてのトレードの損失の合計です。トレードの損失を分析し減らす事は、ストラテジーの分析において非常に重要な部分です。その為、ストラテジーでこの部分は最も重要とも言えます。純利益は、総利益が改善することだけでなく総損失を減らす事でも伸ばすことができる事を留意しましょう。

最大ドローダウン
最大損失のドローダウンを表示します。つまり、ストラテジーの最大利益と比較した実行中に発生しうる最大の損失です。ストラテジーテスターの「概要」タブに表示される「最大ドローダウン」の計算は、以下の方法で行われます:

1. ストラテジーの各取引が終了したバーで、各トレード結果の資産を計算します。

2. それぞれの取引について、取引が終了した時点での最大資産を計算します。ストラテジーの初期資金と、その時点で既に終了したすべてのトレードの資産の値を取得し、これらの値の中で最大の値を求めます。

3. 各トレードで、それぞれのドローダウンを計算します。これは、ステップ2で求めたトレードの最大資産からステップ1で求めた資産を差し引くことで行います。

4. ステップ3で求めたすべてのトレードの個々のドローダウンを取得し、それらの中から最大の数値を見つけます。

最大ドローダウンとは、ピーク時からの資産の下落幅の最大値です。計算式を単純化すると、「過去最大の資産 - 最大のピーク後の最低の資産」となります。この値を資産カーブのグラフで大まかに見るには、最大のピークから最低値までを順に見ていきます。最大ドローダウンの算出方法の例を見てみましょう:

スタートの資産(ストラテジーで利用可能な資金)は、常に初期資金と同じです。ここでは100,000ドルと仮定します。

最初の取引でストラテジーはロングポジションを取り、40.65ドルで369枚を買い、14,999.85ドル相当の株式を購入しました。

2つ目の取引で、ストラテジーはポジションをドテンさせるシグナルを受け取りました。これを行うには、369枚のロングポジションを売却し(ポジションサイズを0にして)、その後さらに株式を売ってショートポジションを取る必要があります。20.15ドルで369枚のロングポジションを売却して、7,435.35ドルを得ました。この取引の後の資産は、100,000 - 14,999.85 + 7,435.35 = 92,435.5ドルです。新たな最大ドローダウンは、100,000 - 92,435.5 = 7,564.5ドルです(この時点でこれが唯一のドローダウン値の為、自動的に最大ドローダウンとなります)。ポジションが0になった後、988 - 369 = 619株を20.15ドルで空売りし、実質的に12,472.85ドルを得ました(空売りとは、株を借りて、後でより有利な価格で買い戻すことを期待して先に売ることです)。

3つ目の取引では、ロングに切り換えるシグナルが出ました。その為には、まず619株を買い戻してショートを解消する必要があります。価格が上昇したので、619 * 35.97 = 22,265.43ドルのコストが必要です。ポジションをカバーするために22,265.43ドルを費やしましたが、12,472.85ドルしか得られませんでしたので、この取引の損失は9,792.58ドルです。この段階での資産は、92,435.5 - 9,792.58 = 82,642.92ドルです。これは資産が最も低い時点になりますので、新たな最大ドローダウンは、100,000 - 82,642.92 = 17,357.08ドルになります。

その後、35.97ドルでロングして、44.28ドル近辺でポジションを解消しています。この取引は実際に利益が出ていますので正確な数字は重要ではありませんが、資産が増加しています。最大ドローダウンは、資産のピークとボトムに基づいて計算されるため、引き続き17,357.08ドルとなりますが、資産も常に最低というわけではありません。

ドローダウンの割合と絶対値は2つの異なる指標です。これらは独立して追跡されます。例えば、初期資金が100ドルだったとします。負けトレードが続いた後、資産は50ドルに減少しました。この時のドローダウンは、絶対値では50ドル、相対的には50%となります。その後、利益の出る取引が続いて資産が300ドルに増加した後、200ドルに減少しました。この場合、絶対的なドローダウンは100ドル、相対的なドローダウンは33%になります。この時のストラテジー全体の絶対的なドローダウンの最大値は100ドル、相対的ドローダウンの最大値は50%です。

「トレード一覧」のドローダウンの計算方法は異なる点にご注意ください。トレード一覧では、ドローダウンは各バーごとに再計算されます(その為、各取引のドローダウンはその取引中に起こりうる最大の損失を表します)。「概要」では、最大ドローダウンは各バーではなく、クローズした取引ごとに再計算されます。

バイ・アンド・ホールドでのリターン
最初のトレードが行われた際にすべての資金(初期資金)を証券の買いに使用し、そのポジションをテスト期間中保持したと仮定した場合に得られる想定リターンです。

シャープレシオ
ノーベル賞受賞者のウィリアム・シャープは、1966年に「報酬対変動率」という名称でシャープレシオを考案しました。シャープレシオは、特定のリターンを達成するためにどれだけのリスクが取られたかを示すために、ポートフォリオマネージャーや個人トレーダーによって広く使用されています。シャープレシオの公式は SR = (MR - RFR) / SD で、ここでMRは期間中(3ヶ月以上のトレード期間であれば月次の、3日以上のトレード期間であれば日時の)の平均リターン、RFRはリスクフリーレートのリターン(デフォルトでは年2%。"strategy()" 関数の "risk_free_rate" パラメーターで変更可能です)。SDはリターンの標準偏差です。従ってこの公式は変動性がリスクであるという前提を受け入れる場合、リスク単位あたりのリターンを大まかに定義する値を生成します。シャープレシオが高いほど、エクイティカーブがスムーズになります。スムーズなエクイティカーブである事は多くのトレーダーにとって重要な目標です。

ソルティノレシオ
ソルティノレシオは、シャープレシオのバリエーションの一つで、シャープレシオとは異なる点は、(アップサイド+ダウンサイドの)全体のリスクの標準偏差ではなく、ダウンサイド・リスクのみの標準偏差で計算が行われる点です。この為、正のボラティリティは利益とみなされるため、ポートフォリオのリスク調整後のパフォーマンスをよりよく見ることができると考えられています。

ソルティノレシオの計算式は SR = (MR - RFR) / DD で、MR は一定期間(3ヶ月以上の取引期間の場合は月次、3日以上の取引期間の場合は日時)の平均リターン、RFR はリスクフリーの収益率(デフォルトでは年2%。"strategy()" 関数の "risk_free_rate" パラメーターで変更可能)、DD はリターンのダウンサイド偏差 = sqrt(sum(min(0, Xi - T))^2/N) で Xi はi番目のリターン、N はリターンの総数、T は目標リターンです。

プロフィットファクター
(選択された通貨での)総損失に対してストラテジーが獲得した金額の比率。この値は総利益を総損失で割る事で計算されます。

最大保有数
一度に保有されたポジションの最大数です。

未決済の損益
現在オープン中のポジションの損益です。オープンポジションが無い場合には値は0を返します。

支払い済み手数料
(選択された通貨での)支払い手数料の合計。スリッページは含まれません。

終了したトレードの合計
ストラテジーの終了したトレード(勝ちと負け双方)の総数です。取引の総数はいくつかの理由で重要です。まずストラテジーの結果が統計的に有意である為に取引数は十分多い必要があります。またストラテジーが期待する頻度でトレードされる事を検証するためにも役立ちます。

未決済トレードの合計
現在オープン中のエントリーの数です。

勝ちトレードの数
ストラテジーの勝ちトレードの総数です。

負けトレードの数
ストラテジーの負けトレードの総数です。

勝率
ストラテジーの勝ちトレードの割合です。勝ちトレードの数を終了したトレードの総数で割る事で計算されます。勝率自体はあまり信頼できる指標ではありません。ストラテジーに数多くの小さな勝ちトレードがある場合、勝率は高くなり、平均勝ちトレードは小さくなります。一方少ないけれども大勝利となるトレードがある場合には勝率は低くなりますが、平均勝ちトレードが大きくなります。成功するストラテジーの中には勝率が50%未満のものがありますが、適切な損失のコントロールで収益性が維持されます。

平均トレード
ストラテジーでの1トレードで得られる損益金額です。純利益を終了したトレードの総数で割ることで計算されます。トレードの手数料とスリッページのコストを十分カバーしてそれでも利益を生み出すかの判断に重要な値です。

平均勝ちトレード
総利益を勝ちトレードの数で割ったものです。

平均負けトレード
総損失を負けトレードの数で割ったものです。

ペイオフレシオ(平均勝ち / 平均負けの比率)
(選択された通貨での)平均損失に対する平均利益の損益率の値です。平均勝ちトレードを平均負けトレードで割る事で計算されます。勝ちトレードの数と負けトレードの数の比率を考慮しない為、このフィールドはそれ自体ではあまり意味のある値ではなく、収益性に対してストラテジーは別のアプローチを取ることができます。ストラテジーは多くの小さな利益を獲得する為にあらゆる可能性でトレードする事ができますが、その場合平均負けトレードが平均勝ちトレードよりも大きくなります。この値は高いほど良いですが、勝ちトレードの割合と純利益を一緒に考慮する必要があります。

最大勝ちトレード
テスト期間で最も利益を利益を上げたトレードです。

最大負けトレード
テスト期間で最も損失の大きかったトレードです。

トレードでの平均バー数
すべての終了したトレードでの平均のトレード経過期間をバー数で示したものです。

勝ちトレードでの平均バー数
すべての勝ちトレードでの平均のトレード経過期間をバー数で示したものです。

負けトレードでの平均バー数
すべての負けトレードでの平均のトレード経過期間をバー数で示したものです。

マージンコール
ストラテジーで発生したマージンコールの合計数です。

概要タブ

概要タブではストラテジーの主なパフォーマンス指標を提供します。

タブの上部にはパフォーマンスサマリータブと同じ名前の指標があり、中央部に次のチャートが表示されます:

ドローダウン
ドローダウンチャートでは、すべての終了したトレードでのトレードの数に対するドローダウンを表示します。

資産
資産チャートでは、すべての終了したトレードでのトレードの数に対する(選択された通貨での)資産の増減を表示します。このエクイティカーブのラインチャートはトレード数に対するトレードのパフォーマンスを示しており、この汎用的なエクイティチャートはトレーディングパフォーマンスの一般的な分析に最適です。

バイ・アンド・ホールド
バイ・アンド・ホールドのチャートは、最初のトレードが行われた際にすべての資金(初期資金)を証券の買いに使用し、そのポジションをテスト期間中保持したと仮定した場合に得られたと想定されるリターンを表示します。

各要素はタブ下部の対応するボタンをクリックすることで表示/非表示の切り替えが可能です。

トレード一覧タブ

トレード一覧タブでは各トレードの詳細情報を表示します。

トレードはエントリー注文とエグジット注文のペアです。トレードはエントリー注文の執行順に時系列に並べられます。最も早く行われたトレードが一覧の一番上に表示されます。

#
トレードの連番です。

タイプ
トレードの方向(ロングまたはショート)です。

シグナル
トレードのオープン/クローズに用いられた注文の識別子です。識別子は以下のいずれかの関数で引数idに割り当てられた文字列です: strategy.entry、strategy.order、strategy.exit、strategy.close、strategy.close_all。

日時
チャートのタイムゾーンでの取引時間です。

価格
執行価格です。

取引
売買された取引数です。

利益
各トレードの損益と損益率です。

累計利益
各トレード終了時のストラテジーの累計損益です。損益率は、各トレードの前の資産(初期資金+累積損益)と比較して直前のトレードに対する相対的な損益の割合を表示します。

最大可能利益
ストラテジーの各トレードで獲得できる可能性があった最大利益と利益率です。

ドローダウン
ストラテジーの各トレードで起こり得た最大の損失と損失率です。

利益、累計利益、最大可能利益、ドローダウンのカラムがどの様に計算されるかを確認してみましょう:

この例では、6月15日の始値でAAPLを1株買い、6月22日の始値でそれを売却しています。初期資金は1000ドルでした。

利益
株式を333.25ドルで買って351.34ドルで売りました。つまり利益は (351.34-333.25) = 18.09ドルで、利益率は (18.09/(333.25*1))*100% = 5.43%でした。

累計利益
累積利益は、以前のすべての累積利益の値と現在の利益の値を合計する事で計算されます。このケースの場合、取引は1つのみですので、累積利益は18.09ドルとなり利益と等しくなります。累積利益率の値は、初期資金を計算に考慮し、累計利益率(%) = 利益/(初期資金+前回のトレードの累計利益)*100% = 18.09/(1000+0)*100 = 1.81% の式で計算されます。

最大可能利益
トレード中に到達した最高値は6月19日の356.56ドルでしたので、この取引での最大可能利益は 356.56ドル - 333.25ドル = 23.31ドルで、率にすると (23.31/(333.25*1))*100% = 6.99% でした。

ドローダウン
6月15日の購入以降の株価の最安値は332.58ドルでしたので、この取引で起こり得た最大損失は 333.25ドル - 332.58ドル = 0.67ドルで、率にすると (0.67/(333.25*1))*100% = 0.20% でした。