(2014/6/25 19:20 計算式修正)
さて前回は、システム評価・最適化をマネージメントに絡めて考察しました。 今回は、その考察結果を元に、最適化やシステム評価(≒パフォーマンス評価)の具体的な手法について書いてみます。
1.おさらい
前回、資産の最大化を目指す「目的関数(≒パフォーマンス評価方法)」として、「オプティマルfにおける幾何平均」がよい、と考えましたが、付随して配慮すべき点もありましたので、どういったシステムを良い、と考えるのかを、一旦整理します。
■ 目的関数の特性
- オプティマルfにおける幾何平均が高いほどよい
- 同じ「オプティマルfにおける幾何平均」であれば、オプティマルfは低いほどよい
- 「オプティマルfにおける幾何平均」÷オプティマルfが同じでも、「オプティマルfにおける幾何平均」が高いほどよい
2.目的関数の計算式
評価値(年率オプティマルfレシオ) =
平方根[ { (オプティマルfにおける複利年率+100%)^2-1 } ÷ オプティマルf ] (式1)
(2014/6/25 計算式修正)
ずばり、これがいいのではないか、と思っています。 例えば、オプティマルfが初期リスク10%で、その時の複利年率が+30%であった場合は、以下の様に計算されます。
評価値 = 平方根[ {(30%+100%)^2-1} ÷ 10% ]
= 平方根[ { (0.3+1)^2-1 } ÷ 0.1 ]
= 平方根[ (1.3^2-1) ÷ 0.1 ] (2014/9/27 修正)
= 平方根(0.69÷0.1) (2014/9/27 修正)
= 2.6268 (2014/9/27 修正)
便宜上、この目的関数(パフォーマンス評価指標)を命名したいので、「年率オプティマルfレシオ」(略してAROFレシオ:Annual rate at Optimal-f Ratio、あろっふれしお?)という名前にしてみました(笑)
最適化の為だけの評価であれば、同一期間のパフォーマンスを比較できればよいので、以下の計算式でも問題ないと思います。 自分が最近見直した最適化作業では、簡便的にこの式を使っています。
#むしろ、下記(式2)が先に思いついて、ブログを書きながら、前述の(式1)に変形させた、といった流れです(笑)
評価値(T2OFレシオ) = (最終資産倍率^2-1) ÷ オプティマルf (式2)
(2014/6/25 計算式修正)
さきほどと同じ条件で、かつ、検証結果が3年分の評価結果だとすると、評価値は以下の様になります。
評価値 = {( 1.3倍/年^3年 )^2 -1} ÷0.3
= (2.197^2-1) ÷ 0.3
= (4.8268-1) ÷ 0.3
= 12.756
ついでにこれも、「T2OFレシオ」(TWR^2 at Optimal-f Ratio)と、命名しました(笑)
3.計算式の背景
もし条件が「オプティマルfにおける幾何平均」であれば話は簡単なのですが、冒頭「目的関数の特性」にある、他の2つの条件を表現する必要があります。 単純に考えると、「幾何平均÷オプティマルf」が思いついたのですが、3番目の条件を満たせなくなります。
なので、倍率で表現した「幾何平均」を2乗すれば、条件をクリアできる、と思いついたわけです。 要は、前述の(式2)です。
#幾何平均が「+10%」であれば、1.1を2乗する
そして、(式2)を、もうちょっと意味がありそうな値として年率換算し、平方根をとることで、レベルをあわせ、(式1)に変形しました。
「じゃあ、2乗じゃなくて、3乗や1.5乗じゃだめなのか?」 という疑問も、当然湧いてくると思うのですが、ダメな理由は何も思いつきません(笑)
4.考察
このパフォーマンス評価方法の欠点は、期待値がマイナスのシステムを評価できない点にあります。 これは、そもそも「オプティマルf」を求める際、期待値がマイナスだと、オプティマルfはゼロ(つまりトレードしない)がベストですので、実質的にオプティマルfが求まらないためです。
あと、「オプティマルf」を求めるのが面倒、という欠点もあります。 エクセルであれば「ソルバー」を使えば、簡単に求まります。 プログラムで求める場合は、「2分探索木」のアルゴリズムを使って、任意に決めた一定レベルの精度にたどり着くまで計算する、という方法があり、私はそうしています。
ちなみに、「オプティマルfなんて、ケリーの公式で簡単に求まるじゃないか」という意見もありそうですが、「ラルフ・ビンスの資金管理大全」では、以下の様に、実質的に否定されています。
「 利益が常に同額でないとき、かつ/または、損失が常に同額でないときにはケリーの公式は適用できない。 適用しても正しいオプティマルfの値は得られない。 」 (「ラルフ・ビンスの資金管理大全」より)
なので、裏をかえすと、固定値幅でTP/SLを指定して、他に決済ルールが無い場合は、「ケリーの公式」が使えるという事だと思います。
5.最後に
ここまでで、前回ブログ記事でいう「資産を最大化してくれるか?」という観点で評価するための、目的関数の計算方法について書いてきました。 つまり、パラメータ値の最適化時は、この「年率オプティマルfレシオ」(もしくはT2OFレシオ)が最大になるパラメータ値を選ぶ事になります。
ただし実際には、「堅牢なパラメータ値か?(局所解に陥っていないか?)」という配慮も必要になり、その取組みが、オーバー・フィッティングを避けれるかどうかを左右するのだと思います。
次回は、この方法を具体的に書いてみたいと思います。 たぶん(笑)
ではでは~
0 件のコメント:
コメントを投稿