相場の強弱を計る その2
セクターごとの強弱を計る指標として、もう一つ考えだしたのがECPという指数です。
この指数については以前 にも紹介しました。
計算方法は次のようになります。
1. あるセクターにおける銘柄Aの前日比変動率をAm、売買高をAvと定義する。それと同様に銘柄BはBmとBv、銘柄CをCmとCv...というように定義する。
2. そのセクターの平均変動率は売買高で加重平均し、以下のように計算する。
M=(Am × Av + Bm × Bv + Bm × Bv + ...)/(Av + Bv + Cv + ...)
3. 1999年年初の指数値を1とし、それに対して2で求めた変動率Mを毎トレード日ごとに積算し、累積指数を計算する。
ECP=1 × M1 × M2 × M3 ...
こちらの指数は先日紹介したMVRに対して、各銘柄の株価変動率の要素を付け加えたものとなってます。
なお、自分の場合はそのセクターで売買高が多い主要銘柄だけを計算対象とし、当日そのセクター全体の売買高に占める割合が5%以上のものだけをピックアップしてます。
また、売買高については単純に終値×出来高で計算し、さらに新興銘柄は別セクターとして扱いました。
こうして求めた指数のグラフは次のようになります。
以前 にも紹介した通り、この指数は時間経過とともに無限増大(?)する性質を持っているようです。
もっとも、この10月の大暴落によって指数値は大分下がりましたが...
元々この指数は短期逆張りでインする際に、該当セクターの大雑把な乖離率を把握する目的で作ったのですが、それとは別に、今回のような大暴落時にトレードを防止するような方法に使えないか、ちょっと試してみました。
具体的には指数値が直近安値を更新している場合は(逆張りで)トレードしない、というロジックを組み込んで検証してみましたが、結果は良くなるどころか逆に悪化しました。
どうやらこの方法で通常(?)の下げと大暴落とを区別することは難しいようです。
やっぱり逆張りはこういった大きな〝一発〟をもらうことを覚悟して、ポジションサイズのコントロールで持ちこたえるしかないんでしょうかね...?
うーん、何かほかに方法はないだろうか?
この指数については以前 にも紹介しました。
計算方法は次のようになります。
1. あるセクターにおける銘柄Aの前日比変動率をAm、売買高をAvと定義する。それと同様に銘柄BはBmとBv、銘柄CをCmとCv...というように定義する。
2. そのセクターの平均変動率は売買高で加重平均し、以下のように計算する。
M=(Am × Av + Bm × Bv + Bm × Bv + ...)/(Av + Bv + Cv + ...)
3. 1999年年初の指数値を1とし、それに対して2で求めた変動率Mを毎トレード日ごとに積算し、累積指数を計算する。
ECP=1 × M1 × M2 × M3 ...
こちらの指数は先日紹介したMVRに対して、各銘柄の株価変動率の要素を付け加えたものとなってます。
なお、自分の場合はそのセクターで売買高が多い主要銘柄だけを計算対象とし、当日そのセクター全体の売買高に占める割合が5%以上のものだけをピックアップしてます。
また、売買高については単純に終値×出来高で計算し、さらに新興銘柄は別セクターとして扱いました。
こうして求めた指数のグラフは次のようになります。
以前 にも紹介した通り、この指数は時間経過とともに無限増大(?)する性質を持っているようです。
もっとも、この10月の大暴落によって指数値は大分下がりましたが...
元々この指数は短期逆張りでインする際に、該当セクターの大雑把な乖離率を把握する目的で作ったのですが、それとは別に、今回のような大暴落時にトレードを防止するような方法に使えないか、ちょっと試してみました。
具体的には指数値が直近安値を更新している場合は(逆張りで)トレードしない、というロジックを組み込んで検証してみましたが、結果は良くなるどころか逆に悪化しました。
どうやらこの方法で通常(?)の下げと大暴落とを区別することは難しいようです。
やっぱり逆張りはこういった大きな〝一発〟をもらうことを覚悟して、ポジションサイズのコントロールで持ちこたえるしかないんでしょうかね...?
うーん、何かほかに方法はないだろうか?
相場の強弱を計る
相場全体を支配する雰囲気をテクニカル的に捉えるためにはどうすればいいのか?
一般的には日経平均やTOPIX、あるいは騰落レシオといったものが使われていると思います。
ただ自分の場合、相場の強弱を計るにはセクターごとの資金の需給を見るのが一番ではないかと考え、次のようなオシレーターを用意しました。
A=あるセクター内で株価が前日比で上昇した銘柄の売買高の総和
B=あるセクター内で株価が前日比で下落した銘柄の売買高の総和
C=あるセクター内で前日比変わらずの銘柄の売買高の総和
とすると、
MVR=(A+C×0.5)×100/(A+B+C×0.5)
このオシレーターは、騰落レシオとアームズ・インデックスとボリュームレシオを合成したものです。
結果が50以上なら強気、50未満なら弱気と判断します。
また、ある一定期間の強弱がどうであったかを見たい場合は、各トレード日における上記ABCをそれぞれa1、a2、a3...のようにし、
A=a1+a2+a3...
B=b1+b2+b3...
C=c1+c2+c3...
というように変数を入れ替えて上記の式に代入し計算します。
というわけでこのオシレーターの利用価値についてですが、こちらでの検証によると、短期順張りでは強気(50以上)の時に仕掛けると若干ではありますが結果が良くなりました。
ただ、トレード機会を半減させてでもこのオシレーターに合わせるべきかというと、ちょっと微妙な感じです。
短期逆張りの方に関してはまだ検証不十分ではありますが、弱気(50未満)の時に仕掛けると結果が良くなる傾向にあるようです。
何らかの材料によるものではなく、相場の雰囲気に押されて値を下げた銘柄は反発しやすい、ということなのかもしれません。
一般的には日経平均やTOPIX、あるいは騰落レシオといったものが使われていると思います。
ただ自分の場合、相場の強弱を計るにはセクターごとの資金の需給を見るのが一番ではないかと考え、次のようなオシレーターを用意しました。
A=あるセクター内で株価が前日比で上昇した銘柄の売買高の総和
B=あるセクター内で株価が前日比で下落した銘柄の売買高の総和
C=あるセクター内で前日比変わらずの銘柄の売買高の総和
とすると、
MVR=(A+C×0.5)×100/(A+B+C×0.5)
このオシレーターは、騰落レシオとアームズ・インデックスとボリュームレシオを合成したものです。
結果が50以上なら強気、50未満なら弱気と判断します。
また、ある一定期間の強弱がどうであったかを見たい場合は、各トレード日における上記ABCをそれぞれa1、a2、a3...のようにし、
A=a1+a2+a3...
B=b1+b2+b3...
C=c1+c2+c3...
というように変数を入れ替えて上記の式に代入し計算します。
というわけでこのオシレーターの利用価値についてですが、こちらでの検証によると、短期順張りでは強気(50以上)の時に仕掛けると若干ではありますが結果が良くなりました。
ただ、トレード機会を半減させてでもこのオシレーターに合わせるべきかというと、ちょっと微妙な感じです。
短期逆張りの方に関してはまだ検証不十分ではありますが、弱気(50未満)の時に仕掛けると結果が良くなる傾向にあるようです。
何らかの材料によるものではなく、相場の雰囲気に押されて値を下げた銘柄は反発しやすい、ということなのかもしれません。
逆張りシステムのジレンマ
逆張りする時は大抵の場合、移動平均乖離率や株価下落率を参考にしてインするだろうと思います。
ここまでは大概のシステムでそう変わらないはずで、問題はアウトのタイミング。
自分が使っている検証システムで試した限り、利益確定に関しては固定比率で行うよりも、可変比率(5日移動平均や直近安値からの反発率)で行った方がパフォーマンスが良くなりました。
また損切りついては、損切りを行わずに上記条件を満たしたときに退出した方がパフォーマンスは良くなりました。
ただ、そうすると時としてトンでもない損失を出してしまうので、2日以内に退出条件を満たせなければ3日目の寄りで仕切ることにしました。
そうすると個別のトレードごとのパフォーマンスは若干落ちますが、時間あたりのパフォーマンスで考えた場合、その方が有利になると考えたのです。
さて、そうして構築したシステムで検証を行うと次のようになります。
上の図は検証結果のごく一部ではありますが、一見すると非常に結果良好のように思えます。
各トレードごとの勝率は75%あり、プロフィットファクターは2.38です。
ですが注意して見ると、トレードがある特定の日に集中して発生していることが分かります。
ここに検証パフォーマンスを見誤ってしまう原因があるのです。
この種のシステムでは、ある特定の日にシグナルが50以上発生することも珍しくありません。
資産余力が十二分にあれば全ての銘柄を押さえることも可能かもしれませんが、そういうことが出来る人はごく限られるでしょう。
また、トレード内容をよく見てみると、シグナルが少ない日に限って損失を出しているケースが目立ちます。
損失幅に制限を設けない逆張りシステムでは、平均損失率>平均利益率となってしまうことを避けられません。
そのためシグナルが少ない日に1銘柄あたりのポジションサイズを大きく持っていたりすると大打撃を被る結果となってしまいます。
システムの適正なパフォーマンスを計るには、個別銘柄ごとのトレード結果ではなく、トレード日ごとの平均損益率を計算し、それを使ってプロフィットファクターを算出するなど、工夫する必要があると思います。
(トレード日ごとの平均損益率で考えると、今回の場合は勝率57%、プロフィットファクターは1.62となります。)
ちなみに今回紹介したシステム、今年のパフォーマンスは9月までの結果であればずっとプラスですが、10月だけでそれまでの利益を全て吐き出し、トータルマイナスです。
やっぱり大暴落の前には、この種のシステムは無力ですね...
最近の雑誌の記事によると、下げ相場の逆張りで名を馳せたカリスマトレーダー、B・N・F氏は今回の暴落相場にあたって、普段なら逆張りでインすべきところを、直前に違和感を感じ取り、トレードを取り止めたのだそうです。
氏が感じた違和感の正体は残念ながら分かりませんが、そうした〝直感〟をシステム化できる日は果たして来るのでしょうか...?
いや、ここはLet's チャレンジというべきかな?
ここまでは大概のシステムでそう変わらないはずで、問題はアウトのタイミング。
自分が使っている検証システムで試した限り、利益確定に関しては固定比率で行うよりも、可変比率(5日移動平均や直近安値からの反発率)で行った方がパフォーマンスが良くなりました。
また損切りついては、損切りを行わずに上記条件を満たしたときに退出した方がパフォーマンスは良くなりました。
ただ、そうすると時としてトンでもない損失を出してしまうので、2日以内に退出条件を満たせなければ3日目の寄りで仕切ることにしました。
そうすると個別のトレードごとのパフォーマンスは若干落ちますが、時間あたりのパフォーマンスで考えた場合、その方が有利になると考えたのです。
さて、そうして構築したシステムで検証を行うと次のようになります。
上の図は検証結果のごく一部ではありますが、一見すると非常に結果良好のように思えます。
各トレードごとの勝率は75%あり、プロフィットファクターは2.38です。
ですが注意して見ると、トレードがある特定の日に集中して発生していることが分かります。
ここに検証パフォーマンスを見誤ってしまう原因があるのです。
この種のシステムでは、ある特定の日にシグナルが50以上発生することも珍しくありません。
資産余力が十二分にあれば全ての銘柄を押さえることも可能かもしれませんが、そういうことが出来る人はごく限られるでしょう。
また、トレード内容をよく見てみると、シグナルが少ない日に限って損失を出しているケースが目立ちます。
損失幅に制限を設けない逆張りシステムでは、平均損失率>平均利益率となってしまうことを避けられません。
そのためシグナルが少ない日に1銘柄あたりのポジションサイズを大きく持っていたりすると大打撃を被る結果となってしまいます。
システムの適正なパフォーマンスを計るには、個別銘柄ごとのトレード結果ではなく、トレード日ごとの平均損益率を計算し、それを使ってプロフィットファクターを算出するなど、工夫する必要があると思います。
(トレード日ごとの平均損益率で考えると、今回の場合は勝率57%、プロフィットファクターは1.62となります。)
ちなみに今回紹介したシステム、今年のパフォーマンスは9月までの結果であればずっとプラスですが、10月だけでそれまでの利益を全て吐き出し、トータルマイナスです。
やっぱり大暴落の前には、この種のシステムは無力ですね...
最近の雑誌の記事によると、下げ相場の逆張りで名を馳せたカリスマトレーダー、B・N・F氏は今回の暴落相場にあたって、普段なら逆張りでインすべきところを、直前に違和感を感じ取り、トレードを取り止めたのだそうです。
氏が感じた違和感の正体は残念ながら分かりませんが、そうした〝直感〟をシステム化できる日は果たして来るのでしょうか...?
いや、ここはLet's チャレンジというべきかな?