SSブログ

システムにおける性能指標の定義と位置付け(2):損益に関する指標 [システムトレード]

トレーディングシステムにおける最も代表的な性能指標の一つには、その重要度はともかくとして損益累計が挙げられます。損益累計は、そのシステムを運用した結果、どれくらいの収益が見込めるかを、直接的に表現しています。
これは株価推移のようなもので、その騰落に注目が集まるのは、ごく自然なことでしょう。

損益累計は、分析期間中の全トレードにおける個々のトレードの損益を加算したものです。個々のトレードにおいて損益がプラスの場合のみを加算したものが総利益、そうでない場合のみを加算したものが総損失となり、両者の合計が損益累計もしくは総損益ということになります。

分析期間中のトレード結果は、勝ちトレードか負けトレードのいずれかとなることから、
  トレード数=勝ち数+負け数
となります。ここで損益ゼロの場合は、通常、負けトレードに分類します。

勝ち数をトレード数で割ったものを勝率と定義し、トレード数と勝率を用いて表現すると、
  勝ち数=トレード数×勝率
  負け数=トレード数×(1-勝率)
となります。ちなみに、これは定義を言い直したに過ぎません。

各トレードにおけるi番目の勝ちトレードの利益をP(i)、j番目の負けトレードの損失をL(j)とすると、
  総利益=ΣP(i) (i=1 to 勝ち数)
  総損失=ΣL(j) (j=1 to 負け数)
となります。ここでΣはP(i)やL(j)の値を、各トレードの数だけ合計することを表します。L(j)は通常、負の値もしくはゼロを用います。

なお、勝ちトレードがない場合は、
  総利益=0
  総損失=ΣL(j) (j=1 to トレード数)
負けトレードがない場合は、
  総利益=ΣP(i) (i=1 to トレード数)
  総損失=0
となります。

これらをそれぞれ勝ち数、負け数で割ると、平均利益及び平均損失が得られます。
  平均利益=総利益/勝ち数 (勝ち数≠0)
      =総利益/(トレード数×勝率)
  平均損失=総損失/負け数 (負け数≠0)
      =総損失/(トレード数×(1-勝率))

なお、勝ちトレードがない場合は、
  平均利益=0
負けトレードがない場合は、
  平均損失=0
となります。

KFシステムクリエイターの場合は、総損失をマイナスで表記するため、
  損益累計=総利益+総損失 (総損失≦0)
となりますが、総損失を絶対値で表記する場合は、
  損益累計=総利益-|総損失|
となります。ここで|x|はxの絶対値を表します。

また、平均損益は、
  平均損益=損益累計/トレード数
となります。

更に、平均利益を平均損失の絶対値で割ったものが、損益レシオもしくはペイオフレシオになります。
  損益レシオ=平均利益/|平均損失|
       =-平均利益/平均損失 (平均損失<0)

一方、総利益を総損失の絶対値で割ったものが、プロフィットファクター(PF)です。
  PF=総利益/|総損失|
    =-総利益/総損失 (総損失<0)

これらの値は、通常、1より大きいほど良いとされています。

なお、損益レシオとPFとの間には、以下の関係があります。
  損益レシオ=-(総利益/勝ち数)/(総損失/負け数)
       =PF×(負け数/勝ち数)
       =PF×((トレード数-勝ち数)/勝ち数)
       =PF×(1/勝率-1)

これらについては、過去の記事「プロフィットファクターは大きいほど良いのか?」などで解説していますので、そちらをご参照ください。

さて、損益累計は最も基本的な性能指標の一つですが、トレーディングシステムの性能を評価するという意味においては、あまり重要ではありません。
その理由の一つは、損益額はあくまで株価水準に依存する、ということです。そのため、分析期間中の株価水準が時期によって大きく異なると、損益額の水準も大きく異なってしまいます。

例えば、過去における株価水準が現在と比べて非常に高い場合、分析期間中の損益累計は過去の損益額に大きな影響を受けてしまいます。システムトレードでは未来の収益が最重要であるにも関わらず、それを左右する直近性能が反映され難いと言うことになるわけです。

同様の理由で、損益累計と関連が深いPFや損益レシオ、勝率、平均損益などもまた、トレーディングシステムの性能を評価するという意味においては、重要とはなり得ません。

この問題を緩和するためには、損益累計ではなく累計損益率を用いる方法があります。累計損益率は各トレード毎の損益率を合計したものですが、損益累計同様、総利益率と総損失率の和で表すことが出来ます。

総利益率や総損失率は、各トレードにおけるi番目の勝ちトレードの利益をP(i)、j番目の負けトレードの損失をL(j)とし、それらのトレードに投じた資金額をF(i)及びF(j)とすると、次式で定義されます。
  総利益率=Σ(P(i)/F(i)) (i=1 to 勝ち数)
  総損失率=Σ(L(j)/F(j)) (j=1 to 負け数)

ただし、KFシステムクリエイターでは、総利益率や総損失率を評価項目として直接的には用いていません。しかし、評価項目として採用している他の性能指標から求めることが出来ます。

これらは評価項目として用いられている平均利益率と平均損失率、勝ち数と負け数、もしくはトレード数と勝率から、
  総利益率=平均利益率×勝ち数
      =平均利益率×トレード数×勝率
  総損失率=平均損失率×負け数
      =平均損失率×トレード数×(1-勝率)
となります。

そして累計損益率は、
  累計損益率=総利益率+総損失率
       =(平均利益率×勝率+平均損失率×(1-勝率))×トレード数
で求めることが出来ます。

累計損益率に運用資金を乗じると、システムを単利運用した場合の損益額になります。それに運用資金を加えれば、単利運用時の資産残高が求まります。
  単利資産残高=運用資金×(1+累計損益率)

以上のように、累計損益率は単利運用時の損益を表します。一方、累計損益は単株運用時の損益を表します。では、複利運用時にはどのような指標を用いれば良いのでしょうか。
それは、累積損益率によって得ることが出来ます。

累積損益率は、必ずしも利益と損失に場合分けする必要はありませんが、これまでの説明に倣って累積利益率と累積損失率を定義してみます。

各トレードにおけるi番目の勝ちトレードの利益をP(i)、j番目の負けトレードの損失をL(j)とし、それらのトレードに投じた資金額をF(i)及びF(j)とすると、
  累積利益率=Π(1+P(i)/F(i)) (i=1 to 勝ち数)
  累積損失率=Π(1+L(j)/F(j)) (j=1 to 負け数)
となります。ここで、Π()は()内の項を、各トレード毎に全て乗じることを表します。

これらから、累積損益率は次式で示されます。
  累積損益率=累積利益率×累積損失率
       =Π(1+PL(k)/F(k)) (k=1 to トレード数)
ここで、PL(k)はk番目のトレードにおける損益を表します。

累積損益率は、資産カーブ(資産推移)のばらつきが大きいと、増加しにくいという性質があります。すなわち、累積損益率が大きいということは、取りも直さず資産カーブの直線性(ロバスト性)が高いということを意味します。

累計損益を累計損益率や累積損益率に拡張したことと同様に、PFや損益レシオなども、単利基準や複利基準で再定義することが出来ます。
単利基準におけるPFの再定義につきましては、以前の記事「プロフィットファクターの再定義」で解説しました。

次回はそのおさらいをすると共に、複利基準での再定義などについても考えたいと思います。また、売買指標の残りの項目についても、順次解説していきます。
長くなりましたので、今回はここまでといたします。

nice!(0)  コメント(0) 
共通テーマ:

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。