システム評価

2007/02/27

トレンド判定後の利益曲線

基本的な移動平均によるフィルターは、あらゆるフィルター検証プロセスの基礎となるもので、あらゆるマーケットで元の仕掛けのテクニックに対して最も有効な参照期間を探っていく
トレーディングシステム入門、P332

いままで会社の昼休みにブログを書いていたんだけど、セキュリティの関係で書けなくなってしまった...やれやれ(-_-+

で、まともに更新ができていなかった間にniftyのトップページで「いま話題のブログ」として紹介されていたようだ。

なんだか嬉しいけど、更新しないうちに紹介の掲載が終わってしまって、何だか損した気分。

そろそろ、ブログの方もmixi日記と同じく、携帯で更新できるようにしようかな?

...といっても、携帯じゃぁグラフの貼り付けやバックテストはできないから、エッジ付B5ノートパソコンが欲しいところだなぁ。

ここの方々はどんな環境でブログ書いてるんでしょ?

今回は、前回組み込んだトレンド判定フィルタによって結果がどうなったのかをチェック。

...とその前に、ドローダウン(AG列)と回復期間(AH列)にエラー(#VALUE!と表示)が出ているので、その原因となっている値洗い損益(V列)を修正する。

V278に「=IF(O277=1, (E278-T278)*S278, IF(O277=-1, (T278-D278)*S278,))」と入力し、V278をコピー、V279~V991にペースト。

これで、ドローダウン(AG列)と回復期間(AH列)がエラーでなくなるはず。

さて、修正も終わったことだし、各銘柄の利益曲線をチェックしてみよう。

トレンド判定フィルタ適用前のバックテストの利益曲線と比べて欲しい。

■インパクト21(9944)

200日MAトレンドフィルタ適用後のインパクト21(9944)の利益曲線

■高速(7504)

200日MAトレンドフィルタ適用後の高速(7504)の利益曲線

■富士ソフト(9749)

200日MAトレンドフィルタ適用後の富士ソフト(9749)の利益曲線

■三菱自動車工業(7211)

200日MAトレンドフィルタ適用後の三菱自動車工業(7211)の利益曲線

その結果、S-Revengeの利益曲線とシステム評価は、こんな感じになる。

200日MAトレンドフィルタ適用後のS-Revengeの利益曲線

200日MAトレンドフィルタ適用後のS-Revengeのシステム評価

なんだかトレンド判定フィルタ適用前より、すべて悪くなっているような気が...

それに、利益曲線の後半にかけての下落がひどい。

これはなぜなんだろう?

次回は、その原因について、考えてみる。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/02/15

システムのポジションサイジング

マイペースなスキー&ソースツアーを3月に開催予定。昼はスキー、夜はソースを楽しむ一泊二日のツアー(どんなことをやるかについてはこちら)。「ソースセルフスタディキット」を持ってこれることと、スキー(スノボも可)で初級コースをラクラク滑れることがクリアできれば、誰でも参加OK。去年、私が実行して年収3倍になったプランや戦略をツアー参加者だけにこっそり暴露予定(^_^)
お申し込みはこちらからどうぞ

ギアボックス(資金管理)というのは、実際極めてシンプルなものである
トレーディングシステム入門、P387

とある投資家の影響で、為替オプションを勉強している。

これまで、安く現物株式を手に入れるための個別株オプションの使い方(ただし、国内株式ではこの戦略がほぼ使えない...)ぐらいしか価値を見出せていなかったけど、自分のトレードシステムにオプションを組み込んだら、なかなかいい戦略が組めることが分かってきた。

ようやくボードゲームのキャッシュフロー202と同じレベルでのトレードができそうな予感。

トレードだけでなく、投資やビジネスの面でも、キャッシュフロー202と現実がリンクし始めている。

これは、なかなか嬉しいねぇ。

微妙にランキングも好調?

今回は、前回までにシグナルとストップを最適化したS-Revengeが、ポジションサイジングでどこまでパフォーマンスを伸ばせるか探ってみる。

対象となるのは、バックテストのExcel。

ポジションサイジングの基準となるのは、以前、個別銘柄に対して行った方法と同じで、システム停止条件を最大ドローダウン25%とした上で、その半分の12.5%になるまではS-Revengeの最大ドローダウンを許容する前提で、各銘柄のポジションサイズを調整していく。

各銘柄のポジションサイジングのリスク率は、同一とする。

まず、リスク率を同一にするために、S-Revengeの入力パラメータにリスク率を追加して、他の銘柄のリスク率もここを使うようにする。

S-RevengeのC11に「リスク率」、D11に「1.16%」と入れてから、全銘柄のD11に「='S-Revenge'!D11」と入れる。

次に、リスク率に対するS-Revengeの最大ドローダウンを0.1%刻みでリストアップする。

S-RevengeのT2に「=D45」、T3に「0.1%」、T4に「0.2%」、T3~T4を選択、選択範囲の右下をクリックしてT52までドラッグ(5.00%まで作られる)、U2にダミーで「1」を入れる。

T2~U52を選択して、「データ」メニューから「テーブル」を選択。

”行の代入セル”にダミーの「a1」、”列の代入セル”に「$D$11」を入力して、「OK」ボタンをクリック。

これで、リスク率に対する最大ドローダウンの分布がリストアップされる。

S-Revengeの最大ドローダウン分布

1.7%~1.8%の間に最大ドローダウンが12.5%をオーバーする値があるので、今度は0.01%刻みでリストアップするために、T3~T13を1.70%~1.80%に書き換える。

すると、リスク率が1.73%のとき、最大ドローダウンが12.5%以内に収まる最大の12.42%となる。

最後に、D11を「1.73%」に変更すれば完了。

利益曲線とシステム評価は、以下の通り。

ポジションサイジング最適化後のS-Revengeの利益曲線

ポジションサイジング最適化後のS-Revengeのシステム評価

ここまでで、この段階のS-Revengeのシステム構築は終了。

できあがったシステムの最終評価をしよう。

利益曲線は、でこぼこしているものの、基本的に右肩上がりでイイ感じ。

IRR(年利回り)が14.65%なので、海外ヘッジファンドと同じくらいの利回りは出た。

日経平均をバイ・アンド・ホールドした場合よりは、2倍ぐらいいいパフォーマンス。

とはいえ、最大ドローダウンが12.42%なので、利回りに対するリスクはちょっと高め。

それを示すように、シャープレシオが117.95%とかなりギリギリな結果になっている(シャープレシオの見方については、ブログ左上の「ネタを探す」から”シャープレシオ”で検索すること)。

プロフィットファクターを見れば、184.33%なので、そこそこの水準な気はするが、200%以下なので、魅力的なトレードシステムとは言えないレベル。

平均トレード期待値は、\16,288.43なので、1トレードあたり資金の0.2%のプラスが出ていることになる。

...んー、イマイチかなぁ...

1円あたりの期待値は、\7.55と、割とイイ感じに見える。

ということは、トレード頻度が低いんだろうな。

総トレード回数を見ると、3年間4銘柄で216回。

1銘柄あたり年間18回...月に1~2回しかトレードしていないことになる。

日足ベースの短期トレードシステムとしては、少ない方だろうね。

各銘柄で見ていくと、高速(7504)がとてもいいパフォーマンスを出しているのに対して、富士ソフト(9749)や三菱自動車工業(7211)があまりよろしくない。

これらの銘柄を外して、ポートフォリオを組み直してもいいレベルかも知れない。

さて、それほど抜群の評価ではないものの、とりあえず右肩上がりでリスクもそこそこのシステムができあがった。パチパチ!

システムトレードの入門レベルとしては、まぁこんなもんだろう。

もしよければ、ここまでのプログラミングが簡単だったか、それとも難しかったかなどをコメントしてもらえると嬉しいなぁ。コメントした方に合わせて、以降の記事のレベルを調整する予定。

次回から、いよいよシステムトレードの本番(^_^)

まずは、ここまでやってきた入門トレードシステムと、実際に運用に耐えうるトレードシステムの違いについて、触れてみようと思う。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (8)

2007/02/14

最適化後の利益曲線

このシステムは、最大負けトレードと平均負けトレードの金額からも分かるように、適正に開発されたストップなしでは、依然として危険なものである
トレーディングシステム入門、P106

ストップの記事を書いていて、裁量トレーダー時代の苦い想い出を思い出した。

トレードで大失敗する原因のワースト1は「大き過ぎるポジションを持つこと」。

ワースト2は「ストップをかけないこと」。

私は、そのどちらもやってしまっていた(-_-u...

そうしてしまう原因は...”大勝の経験”と”期待”、そして”過去データへの無頓着”。

どれも、自分を過信することから生まれ、金銭的にも心理的にもトレーダーを破滅へと導く。

システムトレードをやっていて、最も良かったなぁと思うのは、このような「自分への甘さ」をプログラムがおおかた排除してくれて、心理的に安定したこと。

もうトレードシステムなしでトレードすることは一生ないと思う...IPO以外は(^_^)

システムトレードをネタにするブログも結構増えてきた気がするなぁ

今回は、前回、最適化分布を調べたストップの最適値を使った、各銘柄の利益曲線とS-Revengeの利益曲線、システム評価をチェックする。

まず、ストップの最適値として、以下を使った。

インパクト21(9944):11.5%
高速(7504):17.0%
富士ソフト(9749):4.5%
三菱自動車工業(7211):1.0%

そのときのバックテストとフォワードテストの利益曲線は、以下の通り。

■インパクト21(9944)

バックテスト
最適化後のインパクト21(9944)のバックテストの利益曲線

フォワードテスト
最適化後のインパクト21(9944)のフォワードテストの利益曲線

■高速(7504)

バックテスト
最適化後の高速(7504)のバックテストの利益曲線

フォワードテスト
最適化後の高速(7504)のフォワードテストの利益曲線

■富士ソフト(9749)

バックテスト
最適化後の富士ソフト(9749)のバックテストの利益曲線

フォワードテスト
最適化後の富士ソフト(9749)のフォワードテストの利益曲線

■三菱自動車工業(7211)

バックテスト
最適化後の三菱自動車工業(7211)のバックテストの利益曲線

フォワードテスト
最適化後の三菱自動車工業(7211)のフォワードテストの利益曲線

これらの結果、S-Revengeの利益曲線とシステム評価は、以下のようになった。

バックテスト
最適化後のS-Revengeのバックテストの利益曲線

最適化後のS-Revengeのバックテストのシステム評価

フォワードテスト
最適化後のS-Revengeのフォワードテストの利益曲線

最適化後のS-Revengeのフォワードテストのシステム評価

各銘柄は、割とバタバタした利益曲線だけど、合成すると、そんなに悪くない形になっているんじゃないかな?

次回は、ポジションサイジングでS-Revengeがどこまでパフォーマンスを伸ばしていけるか探ってみる。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (1)

2007/02/13

ストップ最適化分布

ほとんどの場合、トレードを仕掛けることよりも、手仕舞いすることのほうがはるかに重要であるといえよう
トレーディングシステム入門、P185

一応、私は理系出身なのだが、論理的な文章を書いたり、システマチックに考えをまとめたりするのは苦手。

どちらかと言えば、大雑把でアバウトな性格だと思う。

でも、プログラミングやシステムトレード、投資、ビジネスのときは、そのぐらいの方がかえって事がうまく進むような気がする。

論より証拠(使い方、合ってるのかなぁ?)ってところか(^_^)

ランキングも論より証拠...なのかな?

前回、バックテストとフォワードテストのシグナル最適化分布から、短期MA/長期MAの最適値が分かったので、今回はストップの最適値を求める。

ちなみに、最適値とは言っても、たったこれだけの事例では、将来を約束することもできない(そもそも100%の約束なんてできないけどね)し、現時点では「真のドローダウン」も分かっている訳ではないので、実際にトレードするときは評価以上のドローダウンが出るかも知れないという覚悟をお忘れなく。

以下のバックテストとフォワードテストで共にそれなりの成績が出たシグナル最適値を設定して、再度ストップの最適値を求めてみよう。

インパクト21(9944):短期MA3/長期MA12
高速(7504):短期MA20/長期MA4
富士ソフト(9749):短期MA17/長期MA13
三菱自動車工業(7211):短期MA13/長期MA18

■インパクト21(9944)

バックテスト
インパクト21(9944)のバックテストのシャープレシオストップ最適化分布

フォワードテスト
インパクト21(9944)のフォワードテストのシャープレシオストップ最適化分布

16%~30%は、どちらもシャープレシオに変化がない。

9.5%~14.5%は、バックテストでいい成績が出ているので、この辺りを使うのがいいかな?

■高速(7504)

バックテスト
高速(7504)のバックテストのシャープレシオストップ最適化分布

フォワードテスト
高速(7504)のフォワードテストのシャープレシオストップ最適化分布

14.5%~19%、28%~30%でそこそこのパフォーマンスを出している。

17%付近が使えそう?

■富士ソフト(9749)

バックテスト
富士ソフト(9749)のバックテストのシャープレシオストップ最適化分布

フォワードテスト
富士ソフト(9749)のフォワードテストのシャープレシオストップ最適化分布

2.0%~5.5%、29%~30%がバックテスト/フォワードテスト共通でプラスになっている。

同じぐらいのシャープレシオなら、ドローダウンや平均トレード期間の小さい2.0%~5.5%の方が有利か?

■三菱自動車工業(7211)

バックテスト
三菱自動車工業(7211)のバックテストのシャープレシオストップ最適化分布

フォワードテスト
三菱自動車工業(7211)のフォワードテストのシャープレシオストップ最適化分布

バックテストとフォワードテストでえらくカーブが違うので、中間をとって、1.0%がいいところかな?

各銘柄とS-Revengeの利益曲線がどうなるかについては次回。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/02/09

シグナル最適化分布

システムの検証や設計というものは、必然的にヒストリカルデータに基づかざるを得ないということである
トレーディングシステム入門、P89

私は、システムトレードという、いかにもロジカルっぽいことをしている割には、占いや風水を信じている。

テレビの占いとかはあまり見ないが、普段使うものの色や形には結構こだわる。

だから、服とか財布を買いにいくと、かなり時間がかかったりするんだけどね(^_^u

ブログのカラーリングも、今年の運勢に合わせて変えてたりする。

んで最近、ホロスコープというものを知ったんだけど、これがかなり面白い!

トレードやビジネスにも役立つ感じなので、目に見えないチラカとか信じる方だったら、やってみるといいかもね。

案外、ランキングも占いに左右されたりして(^_^)

前回、バックテストとフォワードテストのシグナル最適化分布を行ったので、今回はその結果について解説したいと思う。

高さを視覚的にチェックするために、3Dグラフを使用するが、短期MA/長期MAの正確な数字は、前回作ったグラフを見ながら、フォローして欲しい。

■インパクト21(9944)

バックテスト
バックテストでのインパクト21(9944)

フォワードテスト
フォワードテストでのインパクト21(9944)

短期MA4/長期MA14と短期MA18/長期MA13の周辺が、バックテストとフォワードテストで共通に大きめの利益を出している。

3Dで見ると、短期MA4、長期MA14の方が、バックテストとフォワードテストで高低差がなく安定しているように見えるので、使いやすいかも知れない。

■高速(7504)

バックテスト
バックテストでの高速(7504)

フォワードテスト
フォワードテストでの高速(7504)

短期MA6/長期MA2と短期MA18/長期MA6の周辺が、バックテストとフォワードテストで共通に利益を出している。

ただ、あまり面積は大きくないので、インパクト21(9944)と比べると過敏かも知れない。

3Dで見ると、短期MA18/長期MA6の方は、それほど利益が大きくないことが分かる。

■富士ソフト(9749)

バックテスト
バックテストでの富士ソフト(9749)

フォワードテスト
フォワードテストでの富士ソフト(9749)

短期MA17/長期MA13がかろうじてバックテストとフォワードテストで共通に利益を出しているだけで、他に利益を共通に出しているポイントがない。

3Dで見ても、山になっているところがほとんど重ならない。

ストップに期待といったところか。

■三菱自動車工業(7211)

バックテスト
バックテストでの三菱自動車工業(7211)

フォワードテスト
フォワードテストでの三菱自動車工業(7211)

短期MA14/長期MA8のわずかな部分と、短期MA13/長期MA19の割と広めのところで、バックテストとフォワードテストで共通に利益が出ている。

3Dで見ても、この2点は共通に利益が出ているが、バックテストで利益が出ていた左上の領域が、フォワードテストでは大幅にへこんでいて、堅牢性が低下しているように見える。

これもストップで改善されるところだろうか...

...こんな感じで、ストップなしのシグナル最適値のチェック完了。

ストップを止めることで、シグナルそのものの特性が見えたと思う。

後はストップでパフォーマンスや安定性を伸ばすことができるかどうか。

次回は、ストップの最適化分布をチェックする。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (3)

2007/02/08

シグナルの堅牢性チェック再び

データの一部を処女データによるテストのためにとっておくことはいいことなのかということである。その答えは、システムと基礎となる前提条件によるが、多くの場合違いはないであろう
トレーディングシステム入門、P88

「マイペースなシステムトレーダーズ(このブログの左下)」のブログが、けっこう面白くなってきた(^_^)

システムトレーダー仲間に囲まれて、いろいろな活動や試みをやるのが前々からの夢だったので、少しずつ実現しているってところかな。

私のセミナーやDVD予約をしたことがある、もしくはmixiのコミュニティに参加している方で、ブログをお持ちであれば、ブログやホームページのアドレスをこちらで密告してちょm(_)m

ここにもおもしろいネタがたくさんあるね

前回のフォワードテストにおけるストップの最適化分布によって、ストップのパラメータで改善しようがないことが分かった。

そこで、ストップを一時的に無効にして、純粋なシグナルのみの堅牢性チェックをしてみようと思う。

これをフォワードテストとバックテストの両方で行う。

まずは、バックテストから。

バックテストExcelの各銘柄のストップ率(D5)を「100%」にすることで、ストップが無効となる。

ストップシグナル(W列)に”ストップ”が出なくなることを確認しよう。

それから、総損益によるシグナルの最適化を行い、分布をグラフにする。

そして、バックテストExcelと同じことを、フォワードテストExcelでも行う。

これらの結果は、以下の通り。

■インパクト21(9944)

バックテスト
インパクト21(9944)のバックテストの総損益シグナル最適化分布

フォワードテスト
インパクト21(9944)のフォワードテストの総損益シグナル最適化分布

■高速(7504)

バックテスト
高速(7504)のバックテストの総損益シグナル最適化分布

フォワードテスト
高速(7504)のフォワードテストの総損益シグナル最適化分布

■富士ソフト(9749)

バックテスト
富士ソフト(9749)のバックテストの総損益シグナル最適化分布

フォワードテスト
富士ソフト(9749)のフォワードテストの総損益シグナル最適化分布

■三菱自動車工業(7211)

バックテスト
三菱自動車工業(7211)のバックテストの総損益シグナル最適化分布

フォワードテスト
三菱自動車工業(7211)のフォワードテストの総損益シグナル最適化分布

結果の解説については次回。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/02/07

バックテストの堅牢性チェック(再)

もしサンプルが正確でないと、シミュレーション結果も正確にはならない
魔術師たちの投資術、P336

何ヶ月もかかっちゃったけど、トレーディングシステム入門を実践で再現できるレベルまで読み込んだ。

具体的なExcelのプログラミングについて書かれてはいるものの、どのセルへの入力なのかが分かりにくかったので、キチンと理解するまで悩みまくった。

この分かりにくさは、魔術師たちの心理学を超えているかも知れない...

ただ、得られるものは、非常に大きい。

特に、データマイニングの考え方と、ストップの論理的なアプローチ、トレンドをシグナル/フィルターの両方に使うやり方は、とても参考になる。

魔術師たちの心理学を読みこなした後に、実践レベルの手引きとして読むと、とても相性がいいと思う。

次のレベルにステップアップしたい方はどうぞ。

こちらもステップアップしたいなぁ(^_^)

今回は、前回直した修正を踏まえて、バックテストの堅牢性チェックをやり直す。

...とはいっても、全部やり直す必要はなく、影響のある箇所だけ。

バックテストの堅牢性チェックのときに、最適化の基準として使っていたのが、シグナルは総損益、ストップはシャープレシオだった。

総損益は修正対象じゃないから、シャープレシオが絡むストップだけやり直せばいい。

■インパクト21(9944)

インパクト21(9944)のシャープレシオによるストップ最適化分布

■高速(7504)

高速(7504)のシャープレシオによるストップ最適化分布

※修正前と変わらなかった。

■富士ソフト(9749)

富士ソフト(9749)のシャープレシオによるストップ最適化分布

■三菱自動車工業(7211)

三菱自動車工業(7211)のシャープレシオによるストップ最適化分布

全体的に、修正前と比べて、あまり変わりがないみたい。

...という訳で、あまりにもあっさり終わってしまったから、フォワードテストのストップ最適化分布についてやっちゃった(^_^)

■インパクト21(9944)

インパクト21(9944)のシャープレシオによるストップ最適化分布(フォワードテスト)

■高速(7504)

高速(7504)のシャープレシオによるストップ最適化分布(フォワードテスト)

■富士ソフト(9749)

富士ソフト(9749)のシャープレシオによるストップ最適化分布(フォワードテスト)

■三菱自動車工業(7211)

三菱自動車工業(7211)のシャープレシオによるストップ最適化分布(フォワードテスト)

うーん、どれも見事なまでにひどいなぁ...

ストップのパラメータで改善のしようがない上、バックテストにはないレベルでの落ち込み方なので、シグナルがカーブフィッティングしていると見て間違いないだろう。

次回は、フォワードテストのシグナルについて検証してみる。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/01/29

システムのリスク評価

リスク・リワードの関係と期待値を完全に理解できるまでは、絶対に戦略を実行に移さないということが重要になる
魔術師たちの投資術、P382

ビリーズ・ブートキャンプ5日目。

基礎編、応用編が終わり、腹筋プログラムに入った。

今までは55分ぶっ通しのハードなエクササイズだったけど、腹筋プログラムからは30分ちょいになるので、終わった後も次の日も結構ラクな感じ。

そういえば、ビリーズ・ブートキャンプがどんなものかをこれまで一言も説明していなかったけど、深夜のテレビショッピングをキャプチャしたものがYouTubeにあったので、こちらをどうぞ(会社とかで見ると「プッ!」って笑ってしまうのでご注意を)。

ビリーさんの名言(笑)を聞くために買う人も多いみたい。

私もその1人だけど(^_^)

金融・投資ランキングには、個性的な人がたくさんいて面白いなぁ

今回は、システムのリスク評価...ドローダウンとシャープレシオ、フラット期間を追加する。

ちなみに、ドローダウン、シャープレシオ、フラット期間の意味については、システムトレード用語をどうぞ。

まず、インパクト21(9944)のシートでB44~D47をコピーして、S-RevengeのB44にペースト。

このままだと、最大ドローダウンとフラット期間が集計されていない上、参照位置も間違っているため、エラーが出る。

という訳で、G53に「=MIN(G58:G791)」と入力して最大ドローダウンを集計して、H52に「=MAX(H58:H791)」と入力してフラット期間を集計する。

最大ドローダウンとフラット期間のための集計

その後、D44を「=G53」、D47を「=H52」に修正する。

これで出来上がり。

システムのドローダウン

最大ドローダウン%が、資金の7.77%と、まだまだリスク許容量に余裕がありそうな感じ。

でも、シャープレシオが100%を切っているので、リスクの割には見返りが少なすぎる。

フラット期間も151日と、ドローダウン後のダメージ回復がやたらと遅いから、心理的なプレッシャーも大きそう。

ようするに、今のS-Revengeは、「こりゃ使えんわなぁ...」という程度のもの(まぁ、出す前から何となく分かってはいたが)。

さて、ようやくS-Revengeのシステム評価が一通り揃ったので、次回からは、各銘柄のチューニングを行う。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (1)

2007/01/27

真の最大ドローダウン

終値の移動平均を計算するときは、始値、高値、安値はすべて無視されるのだ。
トレーディングシステム入門、P106

ビリーズ・ブートキャンプ4日目のエクササイズが、さきほど終了。

応用編に入ったけど、基礎編よりもなんとなくキツくない。

基礎編で鍛えたおかげかな?

日数で言えば半分を超えたところだけど、時間で言えば残り1/5(後半のエクササイズは時間が半分なので)。

最後までワクワクでやり遂げるぞっ!

やっぱ投資関連のランキングの方が反応がいいみたい?

今回は、システムの堅牢性と過去データの長さについて。

このブログで開発しているような、過去のデータに基づくバックテストは、過去のデータに対するシステム評価はそれなりにできているものの、未来に対するテストとしては実は不十分。

たとえば、最大ドローダウンは、過去データの順番に依存するため、たまたま損失が連続しなかったためにバックテストでは最大ドローダウンが低かったけど、実際はもっと深いドローダウンが未来に待ち構えていたなんていうことはしょっちゅうある。

こういう現象が起こると、システムが途中で使い物にならなくなったと判断する人も多いが、実のところ、統計的な裏付けが検証されていないだけ。

これをフォローするための有効なテクニックとしては、魔術師たちの投資術の後半にあるような、トレード100回分の損益をランダムにピックアップするのを10,000回行い、そのときの総損益や最大ドローダウンをチェックする方法がある。

たとえば、1年に100回トレードするシステムであれば、10,000回のテストにより、100年分のバックテストに相当するような組み合わせがテストされ、サンプルの多さから「大数の法則」が働き、単純なバックテストよりもより統計的に信頼できる総損益や最大ドローダウンを知ることができる。

私はこれを、「真の総損益」や「真の最大ドローダウン」と呼んでいる。

特に、真の最大ドローダウンは、とても重要。

単純なバックテストの最大ドローダウンの2倍よりも、真の最大ドローダウンの方が大きいことはちょくちょくある。

つまり、システム見直し条件としてよく出てくる「最大ドローダウンの2倍」は、このようなテストを行うと不適切であることが数字として理解できるようになる(話をカンタンにするために、このブログでもこの条件を使ってはいるけどね)。

また、この10,000回テストのテクニックを使えば、長期間の過去データが必要なくなることにも注目。

あまり昔の過去データは、相場を張るプレーヤーの数が極端に違っていたり、価格帯が違っているため、現状のトレードのためのデータとしては役立たなかったり、悪影響を及ぼす可能性がある。

だから、直近の100トレードの損益や、各トレンド(上昇、下降、横ばい)毎の100トレードの損益を元にした10,000回テストの方が有効だと私は思う。

もっと言えば、トレードシステムそのものが、終値だけを基準にするのではなく、始値/高値/安値も考慮に入れたものであれば、終値だけを分析するよりも4倍の情報を処理できるので、過去データの期間は日足ベースのシステムで3ヶ月もあれば十分だったりする。

このテクニックについては、トレーディングシステム入門のP106~P117に興味深いアイデアがあるので、参考にどうぞ。

それにしても、システム評価の世界は、本当に奥が深いなぁ。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (2)

2007/01/26

システムの期待値

期待値と頻度を掛けた数値を算出しておけば、複数の戦略を利益率で比較できる
魔術師たちの投資術、P272

ビリーズ・ブートキャンプも3日目。

かなり身体が慣れてきて、筋肉痛があまりない。

それに、だいぶ筋肉が戻ってきたので、結構嬉しい。

でも、今日から基礎編から応用編に入るので、これまたキツい内容になるかも...

明日、起きれるかなぁ?(-_-u

ランキングを引っ越してみた

今回は、システムの期待値を追加する。

まず、前回修正したばかりの損益分布をS-Revengeにも追加する。

インパクト21(9944)のシートに行き、J2~R49をコピー、S-RevengeのJ2にペースト。

そのままだと、参照先が異なるせいで、エラーが出まくるので、修正する。

「幅毎利益回数」の参照先となる「利益取引」のセルは、S-RevengeではI列なので、K3~K48の参照列をI列に修正する。

具体的には、K3は「=COUNTIF(I$58:I$791, "<"&(J3+J4)/2)」、K4は「=COUNTIF(I$58:I$791,">="&(J3+J4)/2)-COUNTIF(I$58:I$791,">="&(J4+J5)/2)」、K5~K47はK4をコピーしてペースト、K48は「=COUNTIF(I$58:I$791,">="&(J47+J48)/2)」と修正。

S-Revengeの利益分布

同様に、「幅毎損失回数」の参照先となる「損失取引」のセルは、S-RevengeではJ列なので、P3~P48の参照列をJ列に修正する。

P3は「=COUNTIF(J$58:J$791, ">"&(O3+O4)/2)」、P4は「=COUNTIF(J$58:J$791,"<="&(O3+O4)/2)-COUNTIF(J$58:J$791,"<="&(O4+O5)/2)」、P5~P47はP4をコピーしてペースト、P48は「=COUNTIF(J$58:J$791,"<="&(O47+O48)/2)」と修正。

S-Revengeの損失分布

これが終わったら、システムの期待値を追加する。

インパクト21(9944)のシートのB39~D40をコピーして、S-RevengeのB39にペースト。

これで、期待値と1円あたりの期待値が出せる。

ちなみに、期待値は正しくは「平均トレード期待値」なので、S-Revengeと各銘柄のB39を「平均トレード期待値」に変更しておこう。

システムの期待値

平均トレード期待値は、\4,088.46なので、1トレードするごとに資金の0.05%(= \4,088.46 ÷ \8,000,000)が増えている計算になる。

計算上では、100トレードで5%のプラスなので、1年を250日としたとき、2~3日に1回のトレードチャンスがあれば、年利回り5%。

...んー、やっぱイマイチだなぁ。

1円あたりの期待値は、\3.59。

これに1年あたりの総トレード回数を掛け算すると、182回 ÷ 3年 × \3.59 = \217.79となる。

これをインパクト21(9944)単品の1円あたりの期待値と比較してみよう。

インパクト21(9944)の1年あたりの期待値は、73回 ÷ 3年 × \3.3 = \80.3。

S-Revengeの方は資金がインパクト21(9944)の4倍なので、\217.79 ÷ 4 = \54.45。

このように、期待値に総トレード数を乗じて比べると、S-Revengeよりもインパクト21(9944)の方が良いシステムということが分かる。

まぁ、S-Revengeは、まだ残り3銘柄を調整していないので、フェアな比較とは言えないところだが。

次回は、システムのドローダウンを追加する。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/01/19

システムの損益分析

この比較からは、検討している戦略にどのぐらいの実行機会があるかということの重要性が分かる。
魔術師たちの投資術、P271

前回のp.s.でも書いたけど、正月の連休中、毎日おいしいものを食べてしまったことと、通勤中の運動(10,000歩は歩いている)がなかったせいで、筋肉がゴッソリ落ちて、いらない肉がたくさんついてしまった(-_-u...

...という訳で、前々からテレビ通販で欲しかったビリーズ・ブートキャンプで筋肉を取り戻そうと思ったところ、時を同じくして私のマイミクもビリーズ・ブートキャンプをはじめていた(笑)。

こんなシンクロニシティも、インターネットあってのものだなぁ。

アクセス数は上がり続けているけどランキングはイマイチ?応援よろしく~m(_)m

今回も前回の続きでプロフィットファクターや損益レシオなどのシステムの損益分析の追加をしよう。

今回の作り込みも、基本的にはコピー&ペーストだけなので、実に簡単なのだが、前準備が必要。

各銘柄のB26~D26(総損益)をカット(切り取り)して、どこか適当な空いているところにペーストして一時的に移動した後、B27~D28(勝ちトレードの総利益と負けトレードの総損失)をカットして、B26にペーストし、適当なところに移動した総損益を再度カットして、B28にペースト。

これは、勝ちトレードの総利益、負けトレードの総損失と総損益を入れ替えるための作業。

ま、そもそも各銘柄のシステム評価項目を作ったときに、並べ方が間違っていたのを、ここで直しているだけなんだけどね(^_^)

損益関係の評価項目の並べ替え

4銘柄分の作業が終わったら、インパクト21(9944)のシートのB35~D38をコピーして、S-RevengeのB35にペースト。

これで、プロフィットファクター、平均損益、損益レシオが出せる。

プロフィットファクターの計算式損益レシオの計算式は、過去の記事を参考に。

システムの損益分析

損益レシオは216.28%と悪くない値が出ているのに、プロフィットファクターは139.60%とイマイチな感じ。

これは、平均の利益と損失のバランスはいいが、全体的な損益がたいしたことないことを意味する。

平均損益が悪くなければ、取引を続ければ続けるほど利益が伸びていく訳だから、平たく言えば取引頻度が低いってこと。

実際、総トレード回数を見ると、3年で181回となっている。

平均すると年間60回しかトレードしていないので、1年を250日としたとき4~5日に1回の割合。

短期システムとしては、取引頻度がちょっと低いので、もっと取引頻度を上げることが、システム改善の1つの案になる。

現実のトレードでは、勝率や利回り、期待値だけでシステムを正確に評価することはできない。

それらの指標が取引頻度によってどのぐらいレバレッジがかかるかということが重要なカギになるのだ。

次回は、システムの期待値を追加する。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/01/18

システムのトレード期間

いずれにしても、2~3年で経済的自立を確保する方法を習得することができるだろう。
魔術師たちの投資術、P15

私の人生を劇的に変えたソースの自宅学習キット、「ソース・セルフスタディ・キット」40,950円(税込)を持っている方限定で、スキー合宿ツアーをやろうとかなぁと計画中。

このツアーは、去年の今ぐらいに、ソースを教えてくれた親友と一緒に行った、スキーとソースからこの世の法則を学び、人生を見直す一泊二日のスキー旅行と同じもの。

私の人生が劇的に変わるきっかけとなったこの旅行を、今度は私からあなたに伝えられたらいいな。

私がこの1年、どうやってソースを元に実績を出していったかについても、コッソリと暴露予定。

参加資格は、「ソース・セルフスタディ・キット」を持ってこれて、スキー(スノボも可)で初級コースがラクラク滑れる方限定。

3月初旬にツアー予定なので、今セルフスタディキットを持っていないあなたでも、今すぐ購入して始めれば、1ヶ月半の猶予があるので、たぶん間に合うはず...私も去年、そんなペースで間に合ったから(^o^)

中級コースが滑れない人は...1ヶ月半で滑れるようになってね(^_^u

まだ宿を予約していないけど、どのぐらい人数がいるか知りたいので、「行ってみたい!」というあなたは、こちらからお申し込みどうぞ~

スキー・スノボのランキングって意外と静かだなぁ

今回も、前回の続きでシステムのトレード期間の追加。

今回の作り込みは、コピー&ペーストだけなので、実に簡単。

インパクト21(9944)のシートのB30~D34をコピーして、S-RevengeのB30にペースト。

これだけで、トレード期間とIRRが出せる(参考までに、IRRの計算式についてはこちら)。

システムのトレード期間

トレード期間は、基本的に各銘柄のものと同じで変わりはないので、IRR(内部収益率)だけをチェックしよう。

IRRが4.49%、つまり年利回り4.49%ということなので、下手なファンドよりはまともかな(ドローダウンやシャープレシオを見ていないので、堅牢性については何とも言えないが)。

いずれにせよ、このレベルじゃぁシステムトレードに時間をかけるのはツライところだな。

あと3~4回ぐらいで、システム評価が終わり、各銘柄の調整が始まるので、それまでガマン、ガマン。

次回は、システムの損益分析を追加する。

ではでは(^_^y

p.s.正月の食べ過ぎと運動不足のせいで、筋肉が落ちて、いらない肉がたくさんついてしまったので、前々からテレビ通販で欲しかったビリーズ・ブートキャンプでシェイプアップすることにした(^_^)

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/01/17

システムの損益

損失が出ている取引をやめ、利益が出ているものを育てていくことを続けていれば、ポートフォリオが順調に増えていくというのは理に適っている。それなのに、なぜ多くの人はそれをしないのだろう。
魔術師たちの投資術、P253

最近、昼間の仕事の中で、ビジネスのことを教える機会が増えている。

それに、仕事の内容も好きなことしかしていないし、付き合いたい人とばかり付き合うようになっている。

一言で言えば、「とても自由だ」。

こうなってくると、サラリーマンと副業は、時間拘束があるぐらいしか違いがないなぁ。

いやはや、ソースさまさまだな。

人は、たった一冊の本で、劇的に変われるものだねぇ...って昨日と同じオチじゃん(^_^)

ブログランキングも多少私の人生を変えたっけ

今回も、前回の続きでシステム評価の追加。

損益に関するシステム評価を追加しよう。

まず、システム全体の資金を追加する。

C7に「資金」、D7に「='インパクト21(9944)'!D7+'高速(7504)'!D7+'富士ソフト(9749)'!D7+'三菱自動車工業(7211)'!D7」を入れればOK。

システムの資金

それから、システムの損益を追加する。

まず、I53に「=SUM(I58:I791)」、J53に「=SUM(J58:J791)」を入れて、「勝ちトレードの総利益」と「負けトレードの総損失」を計算しておく。

次に、B26に「勝ちトレードの総利益」、B27に「負けトレードの総損失」、B28に「総損益」、B29に「CCR」を入れ、D26に「=I53」、D27に「=J53」、D28に「=D26+D27」、D29に「=D28/D7」を入れる(CCRの計算方法についてはこちら)。

システムの損益

3年で13.5%の利益かぁ...

まぁ、外貨預金や利回りの悪い不動産よりは、全然いいぐらいってところか。

次回は、システムのトレード期間を追加する。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (2)

2007/01/16

システムのトレード回数と勝率

不動産投資戦略のなかには1年に3~4回しかチャンスがないものもある一方、株や先物なら1年に200回のチャンスもあり得る。
魔術師たちの投資術、P270

一角さんがシステムトレードの利益率は50%が低くて毎年100%ならOKという記事を書いているのを見て、私もそのぐらいが普通の基準になっているなぁと改めて気付く。

1年半ぐらい前は、年利回り15~20%のヘッジファンドを見て、「すげー!」って感動していたけど、今となっては、システムトレードと未公開株は1,000%~10,000%、IPOは200~300%、私募債は40%~60%、自分で企画する投資プロジェクトは40%オーバー、不動産投資も30%強と、明らかに利回りのレベルが別世界に入っているなぁ(こりゃまるで神田さんのエロ本ネタと一緒だな)。

前にmixi日記でも書いたけど、人は1~2年あれば、劇的に変われるものだねぇ。

ランキングも劇的に上昇する予感?

今回は、前回の続きでシステムの利益日数と損失日数を追加する...つもりだったけど、よくよく考えたら、複数銘柄なので、利益日数と損失日数は計算できないじゃないか(^_^u...

...という訳で、今回から、システム評価を追加しよう。

最初は、システムのトレード回数と勝率の追加。

まず、利益取引の回数と損失取引の回数をカウントするために、I52に「=COUNT(I58:I791)」、J52に「=COUNT(J58:J791)」を入れる。

システムの利益取引と損失取引をカウント

それから、B22に「勝ちトレード回数」、B23に「負けトレード回数」、B24に「総トレード回数」、B25に「勝率」を入れ、D22に「=I52」、D23に「=J52」、D24に「=D22+D23」、D25に「=D22/D24」を入れる(勝率の計算方法についてはこちら)。

システムの勝率

現時点では、勝率が39.23%でも、一応利益が出ることに注目。

...ただし、800万円を3年間運用して約100万円のプラスなので、システムを作る労力の方がもったいない感じだが(-_-u...

でも、まだこのシステムは、各銘柄の調整が1/4しか終わっていないことを思い出して欲しい。

残り3銘柄の調整によって、どこまでパフォーマンスが伸びるかをお楽しみに!

次回は、システムの損益を追加する。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/01/15

システムの勝敗取引

見込める利益と起こりうる損失を天秤にかけて、その比率に納得できれば実行する。
魔術師たちの投資術、P247

具体的なトレードシステムの開発方法を記事にするにあたって、どこまで公開していいものか悩んでいたんだけど、トレーディングシステム入門を読んで、「ここまでやっちゃっていいんだ!」って確信が持てた。

結構な部分まで公開することになるけど(ただし、自分の使っているトレードシステムそのものは絶対に公開しないが)、きっとオープンにすればするほど、自分の知識とノウハウが向上するに違いない。

ブログ、セミナー、勉強会、ビデオ、ebookなども含めて、ワクワクしながらマイペースにリリースしていけたらいいなぁ。

頻繁に記事を書いていたらだんだん上がってきた

今回は、前々回からの続きでシステムの利益取引と損失取引を追加する。

...と、その前に、利益取引や損失取引を計算するために全銘柄の「ストップ込損益」合計を作るのを忘れていたので、累積損益の前列に追加しておこう。

C列最上部の”C”と書かれた灰色の列表示枠で右クリックをして、「挿入」を行えばOK。新しいC列が追加される。

C51に「ストップ込損益」を入れ、C58に「='インパクト21(9944)'!AA58+'高速(7504)'!AA58+'富士ソフト(9749)'!AA58+'三菱自動車工業(7211)'!AA58」を入れ、C58をコピー、C59~C791にペースト。

すると、#VALUE!が連発するので、元のセルを修正する必要がある。

インパクト21(9944)のシートに行き、ストップ込損益であるAA58の式を「=IF(L56=L57, IF(Z58="", , Z58-$D$2), IF(Z58="", IF(X57=0, , T58-$D$2), IF(X57=0, Z58-$D$2, T58+Z58-$D$2)))」に修正。

修正前との違いは、空文字列("")を空欄に変更しただけ。

これを、高速(7504)、富士ソフト(9749)、三菱自動車工業(7211)の全てに行えば、S-Revengeのストップ込損益がきれいに表示されるようになる。

システムのストップ込損益

それから、I51に「利益取引」、J51に「損失取引」を入れる。

利益取引は、I58に「=IF(D58>0, D58, "")」を入れ、I58をコピー、I59~I791にペースト。

損失取引は、J58に「=IF(D58<0, D58, "")」を入れ、J58をコピー、J59~J791にペースト。

なお、利益取引と損失取引の計算式の詳細は、以前各銘柄で説明したところを参考にどうぞ(まぁ見るまでもなく簡単な式ではあるが)。

システムの利益取引と損失取引

次回は、システムの利益日数と損失日数を求める。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (4)

2007/01/12

システムのドローダウン

マイペースなシステムトレーダー新年会を1/13(土)に開催予定。まっ昼間から新宿の飲み屋で「2007年のシステムトレード目標」をみんなで作って、その後はべろんべろんになって野望でも語り合っちゃおう(笑)。締切は少し伸びて前日1/12(金)の18時まで。参加費用5,000円。
→大盛況のうちに終了。お集まりいただいたみなさま、ありがとう!

120回トレードしたあとの平均利益は96Rだが、89Rのドローダウンが出る可能性もわずかながらあることに耐えられるかどうか、もしそれが無理ならば耐えられないシステムはほかにもたくさんあるだろう。まず、このことを自問しておかなければ、トレードを始めても早々とやめることになって、せっかくの安全な戦略が危険なものに変わってしまう。
魔術師たちの投資術、P335

そろそろ確定申告の準備をはじめないといけない。

利益が出たあなたも、損失が出たあなたもお忘れなく(^_^)

去年は、3/15...つまり、確定申告の最終日ギリギリに出しにいったので、とんでもなく大変だった...(余談だが、質問コーナーにいた税理士さんはかなり大変そうだった)

今年は、今月中に用意できるといいなぁ。

経理・会計・税金のランキングでも見てみようかな

今回は、前回からの続きでシステムのドローダウンと回復期間を作る。

ドローダウンを計算するための最大累積損益も計算する。

...と、その前に、ドローダウンを計算するために全銘柄の「値洗い損益」合計を作るのを忘れていたので、前回作った累積損益の前列に追加しておこう。

C列最上部の”C”と書かれた灰色の列表示枠で右クリックをして、「挿入」を行えばOK。新しいC列が追加される。

C51に「値洗い損益」を入れ、C58に「='インパクト21(9944)'!S58+'高速(7504)'!S58+'富士ソフト(9749)'!S58+'三菱自動車工業(7211)'!S58」を入れ、C58をコピー、C59~C791にペースト。

これで値洗い損益は完了。

システムの値洗い損益

その後、E51に「最大累計損益」、F51に「ドローダウン」、G51に「回復期間」を入れる。

最大累計損益は、E58に「=IF(E57>D58,E57,D58)」を入れ、E58をコピー、E59~E791にペースト(最大累計損益の計算式の詳細は以前各銘柄で説明したところを参照)。

ドローダウンは、F58に「=IF(D58-E58+C58>=0, 0, D58-E58+C58)」を入れ、F58をコピー、F59~F791にペースト(ドローダウンの計算式の詳細は以前各銘柄で説明したところを参照)。

回復期間は、G58に「=IF(F58<0, G57+1, 0)」を入れ、G58をコピー、G59~G791にペースト(回復期間の計算式の詳細は以前各銘柄で説明したところを参照)。

システムのドローダウン

できあがったドローダウンをグラフ表示すると、こんな感じになる。

システムのドローダウンカーブ

総損益が\1,000,000なのに対して、最大ドローダウンが-\500,000なので、ちょっとドローダウンが深いなぁ。

まぁ、各銘柄の調整が全くされていないから、今のところはしゃーないが。

次回は、システムの利益取引と損失取引を追加する。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2007/01/11

システムの利益曲線

歴史を見ると株はこれまでかなり魅力的な投資先だった。
魔術師たちの投資術、P293

ブログで株式向けのトレードシステムを作っているけど、私の副業の本業(?)は、為替と商品先物。

でも、記事を書くうちに、だんだんと株式や指数先物でもいけそうな気がしてきた。

昔は、現物の3倍しかレバレッジがかけられない株式でシステムトレードをする魅力を感じなかったけど、株式のリスキーなボラティリティを利用して、うまくポジションサイジングしてあげれば、意外といい線までいけるかも知れないなぁ...

ただ問題なのは、まともなスクリーニングツールを持っていない(為替や商品先物は全銘柄見ても大して時間がかからないけど株式はそうはいかない)ってところと、ブログで作っているトレードシステムと自分用のトレードシステムをごっちゃにしてしまいそうで怖いってところなんだよね(^_^u...

でも株式ランキングで勝負はできないだろうなぁ...

今回から、いよいよ各銘柄を1つのシステムに組み上げていく。

...とはいえ、インパクト21(9944)以外の銘柄は、シグナル/ストップ/ポジションサイジングの最適化をまだしていないので、でたらめなポートフォリオではあるが。

まぁ、とりあえず何も考えず、合成してしまおう(^_^)

はじめに、合成用のシートを追加。

インパクト21(9944)のシートのタブで右クリック、「挿入(I)」を選択。

合成用シートの追加

すると、新しいシートが追加されるので、このシートのタブで右クリック、「名前の変更(R)」を選択したら、”S-Revenge”と入力。

合成用シートの名前変更

先頭の”S”は”システム”の略で、その後の”Revenge”は、昔やられた株へのリベンジということでこんな名前(^_^)

次に、システムの内容を入れていく。

今回は、システムの累積損益まで作ってみる。

B51に「日付」、C51に「累計損益」とラベルを入れる。

インパクト21(9944)と同じ日付をリストすればいいので、B58に「='インパクト21(9944)'!B58」を入力し、B58をコピー、B59~B791にペースト。

それから、C58に「='インパクト21(9944)'!AB58+'高速(7504)'!AB58+'富士ソフト(9749)'!AB58+'三菱自動車工業(7211)'!AB58」と入れ、C58をコピー、C59~C791にペースト。

4つの銘柄の累積損益(AB列)を合計したものをシステムの累積損益として計算する。

システムの累積損益

ここまで終わったら、B77~C791を選択し、「挿入(I)」メニューから「グラフ(G)」を選択した後、点なしの折れ線でグラフを作ると、こんな利益曲線が出る。

システムの利益曲線

うーん、後半のとてつもない上昇は、三菱自動車の影響をモロに受けているなぁ。

ま、何となく右肩上がりな感じなので、期待できそう。

次回は、システムのドローダウンと回復期間を作る。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

mixi日記でシステムトレード以外のネタを書いているのでどうぞ

| | コメント (0)

2006/12/29

ポジションサイジングの最適化

ある取引について、またあるポートフォリオを構成する各取引において、何単位をリスクにさらすか決定することにより、報酬とリスクの特徴を決定することができる。
魔術師たちの心理学、P367

今日から冬休み。

1日、のんびりブログやメールの返事でも書こうと思ったら、いろいろやることがあって、すでにこんな時間になってしまった(-_-u...

まったく、楽しい時間というものは、速く過ぎるものなんだねぇ。

...え?歳っ?

そこ、そんな野暮なことは言わない(^_^)

ランキングの流れも速いのか!?

今回は、ポジションサイジングの最適化について。

ストップ幅についても考慮する予定だったけど、まずは基本ということで、シンプルなポジションサイジングの最適化から。

ボラティリティポジションサイジングでは、「ATR」と「リスク率」をいじって、どのぐらいの最大ドローダウンまで許容するかを最適にしていくことができるが、話を簡単にするために、「リスク率」だけに絞って説明する。

まずは、どのぐらいの最大ドローダウンまでを許容するか決めよう。

よくあるのは、バックテストの最大ドローダウンの2倍までいったらシステムの運用を一度停止して、システムを見直すという考え方。

このシステム停止条件が妥当かどうかは、また別の機会に詳しく突っ込むとして、今回はこれでいくとしよう。

また、実際の最大ドローダウンは、25%以内が復活できるギリギリの線。

これについては、ドローダウンからトントンに戻すまでの必要利益を参考にして欲しい。

という訳で、バックテストでの最大ドローダウンを25%の半分である12.5%まで許容することにしよう。

資金\2,000,000の12.5%は、\250,000。

後は、最大ドローダウンが\250,000辺りになるように、リスク率を適当に調整していけばいい。

すると、\250,000にギリギリ収まるリスク率は1.16%。

このときの利益曲線はこんな感じ。

ポジションサイジング最適化後の利益曲線

利益曲線の形自体は変わっていないが、総損益とドローダウンが多少大きくなった(最適化以前の利益曲線はこちら)。

ポジションサイジングの最適化は、こんなもんかな。

あまりにあっさりしているのでビックリしたかも知れないが、要はどのぐらいのリスクを受け入れるかがポジションサイジングの要点。

だから、一番難しいのは、ドローダウンをどこまで受け入れるかを決定するところなんだな。

ここは、トレーダー自身のリスク許容度で変わってくる極めて心理的な部分なので、どこが正解というのがないところが、難しいところ。

いずれは、リスク許容度の心理的な面についても、詳しく触れてみたい。

次回は、もう少し突っ込んだポジションサイジングの最適化について。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

| | コメント (2)

2006/12/26

ストップの最適化

損切りにしても利益を確定するにしても、手仕舞いは市場で収益を得るためのカギを握るところである。
魔術師たちの心理学、P301

アフターフォロー勉強会に参加された方達からたくさんリクエストがあったので、「マイペースなシステムトレーダー新年会」を1/13(土)にやろうかな(^o^)

真っ昼間から、新宿の飲み屋で「2007年のシステムトレード目標」を参加者全員で作って、べろんべろんになりながら夢とか語り合っちゃったりしたら何だか楽しそう。

今からだと、場所を押さえられるかどうか分からないけど、どのぐらいリクエストがあるか知りたいので、希望するあなたはこちらの申し込みフォームを送ってね

募集締め切りは、12/31(日)まで。参加費用は、5,000円前後かなぁ。

ちなみに、人数が多過ぎるときは、先着順になるのでお早めに。

年末はランキングが空くのでラッシュをかけてみようかな?

今回は、ストップの最適化。

ストップを最適化するときは、シャープレシオと利益曲線を使う。

もっと本格的にやるときは、過去の勝ちトレードと負けトレードから勝敗の分岐点となるストップ額やMAE倍ストップ幅、ATR倍ストップ幅の傾向をデータマイニングするんだけど、現時点では簡単なもので十分。

何せ、まだ●●ワ●●テ●●をやっていないので...

これは来年になっちゃうかな?

まぁ、それはひとまず置いといて、まずストップ最適化用のテーブルを作る。

テーブルの左上となるBG2にシャープレシオである「=D46」を入れる。

これまでテーブルで2つの値の組み合わせの最適化をしてきたが、今回はストップ率だけの最適化なので、多少テーブルの使い方が異なる。

右方向にダミーの入力候補として1を入れ、下方向にストップ率の入力候補を0.5%~30.0%まで0.5%刻みで入れる。

次に、BG2からBH62までをドラッグかSHIFTクリックで選択し、「データ(D)」メニューから「テーブル(T)」を選ぶ。

「行の代入セル(R)」にダミーのセルとしてどこか適当な空白のセルをクリックし、「列の代入セル(C)」にはストップ率である「$D$5」をクリックする。

すると、こんな感じでストップ率毎のシャープレシオが自動計算される。

ストップの最適化

ちなみに、テーブルを残したまま編集をすると、毎回テーブルの再計算が入り、結構Excelが重くなるので、「ツール(T)」メニューから「オプション(O)」を選び、「計算方法」タブの計算方法で”テーブル以外自動計算(T)”を選択しておくと編集のたびに自動計算が走らなくなって快適。

テーブルの自動計算を解除

ただし、テーブルの自動計算が行われなくなるので、意識的に再計算(F9キーで実行)を行う必要が出てくるので注意。

さて、テーブルを見ると、25.5%以上において、シャープレシオが最大の113.11%となっている。

これは、25.5%以上はストップが働いていないことを意味する。

つまり、25.5%というストップ幅は、魔術師たちの0心理学のPxxxで言うところの「MAE(最大逆行幅)」である。

この最も深いストップ幅である25.5%に設定すれば、このシステムにおいて、最もリターンとリスクが高く、最も期間が長いトレードを行うことになる。

深いストップ幅の利益曲線

あなたのリスク許容度が高い場合は、このストップ率を選択すればいい。

ただし、もう少し安定した利益を望むのであれば、ストップ幅を縮めることでドローダウンを抑えることもできる。

これには、ストップ幅分布と利益曲線のバランスを取る必要がある。

まずは、ストップ幅分布を見てみよう。

ストップ幅分布は、一次元のグラフで見る(ここでは折れ線グラフを使用)。

ストップ率の分布

これを見ると、4.5%および16.5%~25%の間でシャープレシオが高い。

これで大体の当たりを付けたら、後は利益曲線の形で選ぶ。

最も浅いストップ幅である4.5%だと、割とシャープ(平らに近い)利益曲線を描く。

浅いストップ幅の利益曲線

16.5%~25%の中間となる19.5%だと、4.5%よりはドローダウンが大きく、でこぼこしているが、ストップ幅分布の幅が広いので、堅牢なストップと見ることもできる。

中間のストップ幅の利益曲線

これらのうち、どれを選ぶかは、あなたの趣味(継続可能なトレード時間とリスク許容度)次第だ。

なお、利益の大きさは、ポジションサイジングでコントロールできるので、単一システムであれば、より安定した利益曲線を選ぶのが賢明とも言える。

反対に、複数システムの合成によりドローダウンは緩和できるので、複数システムを前提とするなら最も大きな利益のものを選ぶことが利に叶っているかも知れない。

どの戦略を選ぶにしても、あなたの「トレード可能な資金量」と「リスク許容度」がキーポイントだ。

一応、私の好みで4.5%を選んでおく。

次回は、ストップ幅を考慮に入れたポジションサイジングの最適化をしてみようと思う。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

| | コメント (10)

2006/12/22

リスクを最小にする

システムの設計は、低リスクを目指すべきである。
魔術師たちの心理学、P69

ネット株の心理学を半年前に読んで以来、トレードはマーケティングとかなり共通点があることに気付いた。

たとえば統計や確率に基づくものであるといった表面的な部分から、深いところでは人間心理を読み解くあたりで共通の考え方やスキルが要求されるなぁと感じている。

トレーディングシステム入門を読んで、ますますその想いは強まった。

データマイニングの結果から有効なシステムを構築する手順や、望む条件にマッチするグループをターゲットにする等、マーケティングと全く変わりないテクニックがたくさん使える。

システムトレードをはじめた当初は、「ビジネスシステム」の考え方や使い方を学ぶためのいい経験になると思っていたんだけど、マーケティングのいい経験にもなることが分かって、私の中でシステムトレードとビジネスの境界がだんだんなくなりつつある。

改めて、システムトレードは本当に素晴らしい。

2年前から私のブログを押し上げ続けてくれた人気blogランキングも素晴らしい(^o^)

今回は、シャープレシオを元にした最適化を行いながら、Excelのグラフ機能オンパレードで最適化の結果を検証してみる。

シャープレシオを元に最適化を行うと、総損益が最も大きく、ドローダウンが最も小さいものを探すことができるので、リスクを最小にしながら利益を求めていくことができる。

このシャープレシオの特性については、こちらで書いているのでどうぞ

まず、出力結果であるAK2をシャープレシオである「=D46」に変更する。

それから、前回やったのと同じように、テーブルの計算を行う

そうすると、短期MA日数16日、長期MA日数14日が最大のシャープレシオ(56.47%)となり、結果的に前回の総損益と同じになった。

では、全体の分布がどのようになっているかをチェックしてみよう。

AK2~BE22を選択し、「挿入(I)」メニューで「グラフ(H)」を選択。

「グラフの種類(C)」のリストを下の方にスクロールしていき、”等高線”をクリック。

「形式(T)」が4種類あるので、左下の平面カラー等高線をクリック。

「完了(F)」ボタンをクリックすれば、シャープレシオの分布図が出る。

シャープレシオの分布図

これの見方なんだけど、横軸が短期MA日数、縦軸が長期MA日数になる。

中心から少し右上のクリーム色になっている箇所が、最大のシャープレシオを含む40%~60%の範囲で、赤紫の箇所がそれより下の20%~40%の範囲、青紫の箇所が最低の0%~20%の範囲となっている。

クリーム色の周辺がいきなり青紫だったりすると、入力が少しブレただけでシャープレシオが急変する神経質な設定ということになるが、今回は周りを赤紫に囲まれているので、それなりに堅牢な結果かも知れない。

20%刻みの範囲だと、いまいちどのぐらい神経質か分からないので、そんなときは3D等高線を出してみるとよりビジュアルに見えて分かりやすい。

それに、10%刻みになるので、より細かなチェックができる。

等高線グラフの白いところで右クリックして、「グラフの種類(Y)」をクリック、「形式(T)」を左上の3Dカラー等高線をクリックして、「OK」ボタンをクリック。

最大のシャープレシオの箇所が飛び出ているはずだ。

シャープレシオの3D分布図

見づらいときは、グラフで右クリックして、「3-D グラフ(V)」を使えば、見る角度を自由に変えることができるので、見やすい角度に調整すること。

3D設定

さて、この3Dで見ても、シャープレシオ最大の箇所を頂点とした山になっているので、それほど神経質ではないことが確認できる。

なので、まぁまぁの設定なんだと思う。

後日、このシステム設定が本当に使い物になるのかはテストされるので、そのときを楽しみに待つとしよう。

ちなみに、総損益の分布は、こんな感じになる。

総損益の分布

3Dだとこんな感じ。

総損益の3D分布

シャープレシオの分布とは結構違うけど、最大の周辺は、似たような感じになっているので、総損益だけ見てもそれなりに堅牢なシステムなんじゃないかな?

こうして、総損益とシャープレシオについて、最適化を行ってみたが、期待値、勝率、損益レシオ、プロフィットファクターなどの出力結果でも最適化を試すことができる。

「最適化されると一体何がよくなるのか?」という意味を考えた上で、いろいろ試してみて欲しい。

ちなみに、私はシャープレシオをメインに最適化を行っている。

次回は、ストップの最適化をやる予定。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

| | コメント (1)

2006/12/21

最適化

たとえ戦略のもととなる経済の基本が分かっていなくても、マーケットのタイプによって戦略の機能の仕方が変わるということは知っておいてほしい
魔術師たちの投資術、P323

昼間の仕事が落ち着いて間もなく、夜の仕事(笑)がやたらと活発化してきた。

システムトレード関連ビジネス、アメリカの不動産投資、ライセンスビジネスファンド、リーダー育成チームビジネス、SF小説家プロデュースなどなど...

今まで昼間の仕事に没頭していて休んでいたのを一気に取り返すかのような怒涛の勢いでチャンスが舞い込んでくる。

おまけにパソコンも壊れたり、家族が風邪を引いたりで、まさに暇無し状態になってしまった。

せめてお正月は、セミナーDVDでも再作成して、のんびり過ごしたいな...

...って、それも遊びじゃないじゃん。

んー、でも、遊びと仕事の区別が最近は全くついていないから、一緒か(^_^)

ランキングも少しは慌しい感じにならないかな?

今回から何回か続けて、シグナルやストップの最適化をしてみよう。

まずは、最適化に必要となるExcelの「テーブル」の基本的な使い方から。

ある2つの入力パラメータの組み合わせから、組み合わせ数分の出力結果を一気に求めるのに、このテーブルは役立つ。

具体的には、短期と長期の移動平均日数の組み合わせから、総損益の各パターンを出すといった使い方をする。

早速、この例を試してみよう。

テーブルの左上となるAK2に総損益である「=D26」を入れる。

その右方向に長期移動平均日数の入力候補を1~20まで入れ、下方向に短期移動平均日数の入力候補を1~20まで入れる。

右方向は、AL2が「1」、AM2が「2」...という感じで、BE2の「20」まで。

下方向は、AK3が「1」、AK4が「2」...という感じで、AK22の「20」まで。

ちなみに、20までしか入れないのは、今のシステムが移動平均を20日までしか受け付けないため。

最適化実行前のテーブル

次に、AK2からBE22までをドラッグかSHIFTクリックで選択し、「データ(D)」メニューから「テーブル(T)」を選ぶ。

「行の代入セル(R)」に短期移動平均日数である「$D$3」を入力(セルをクリックしてもOK)。

「列の代入セル(C)」に長期移動平均日数である「$D$4」を入力

テーブルのパラメータ入力

それから「OK」ボタンをクリックすると、自動的にテーブルの計算が始まる。

このとき、シートをクリックすると、計算が中段されるので、しばらく放っておこう。

最適化実行後のテーブル

BE22まで計算されたら、この中から最大の総損益となる組み合わせを探す。

BE23に「=MAX(AL3:BE22)」と入れると、最大の総損益の金額が分かるので、Ctrl+Fキーを押して、その金額を検索する。

インパクト21(9944)なら、437500を入力して検索する。

このとき、「検索対象」を”値”に設定するのを忘れずに。

検索

ちなみに、Excelのバージョンによっては、検索ウインドウが異なる。

検索結果によると、最大となる総損益の組み合わせは、短期MA日数が16日、長期MA日数が14日のとき。

おや?短期MAよりも長期MAの方が日数が少ない...

これは、ゴールデンクロスが起こったときに売って、デッドクロスが起こったときに買う、いわゆる「逆張り」のような売買となる。

では、この売買がどんな利益曲線になるか確かめてみよう。

短期MA日数であるD3に「16」、長期MA日数であるD4に「14」を入れる。

このときの利益曲線はこんな感じになる。

最適化後のインパクト21(9944)

うーん、ドローダウンは深いものの、なかなかいい形の利益曲線だね。

こんな感じで、Excel標準の機能を使うだけで簡単に最適化ができる。

いやー、やっぱExcelはすごいよ(^o^)

次回は、総損益以外の出力結果での最適化について検討していく。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

| | コメント (0)

2006/11/22

ポジションサイジングの評価

どれが信頼に足るシステムの検証方法で、どれが役に立たないものなのだろうか
トレーディングシステム入門、P25

最近、mixi日記でビジネスオーナーの条件マーケティングの捉え方について、ちょこちょこ書いている。

前回の冒頭でも書いたように、マーケティング/セールスに自己投資している影響だと思うけど、以前学んだときと明らかに違うのは、実践までのスピード。

前々からビジネス書を実践できることが「私の強み」だったんだけど、この数年で得た経験と実績のおかげで、心理的にも思考的にも金銭的にも実践するのがどんどんラクになっていて、スピーディに行動に移せる。

また、自分だけでなく、ビジネスチームにも伝えたり、教えたりするため、「人に分かりやすく伝えるための情報整理」というプロセスが入り、よりクリアな理解ができているんだと思う。

この現象は、システムトレードについても同様で、セミナーや勉強会で人に教えるために難解な魔術師たちの心理学を分かりやすく噛み砕いたり、ビジュアル化することで、人に伝えやすくすると同時に、私自身の理解もかなり深まっている気がする。

「人に伝える」ってのは、最も効果的な学習プロセスなのかも知れないねぇ。

ランキングから学ぶこともいろいろあるね

今回はボラティリティポジションサイジングの結果について、利益曲線と評価指標を使って考察してみる。

まずボラティリティポジションサイジングによって利益曲線がどうなったかを見てみよう。

ボラティリティポジションサイジング適用後の利益曲線

比較対象として、固定金額単位の利益曲線を出してみよう。

固定金額単位ポジションサイジング適用後の利益曲線

元となる資金とリスク(最大ドローダウン)が異なるため、金額ベースでの比較はできないが、相対的にドローダウンは増え、利益は減っている形なので、明らかに利益曲線は悪くなっている。

試しに、シャープレシオが最大となる最適な「ATR平均日数」と「リスク率」を最適化してみた(最適化の方法については、近いうちに伝える予定)。

ちなみに、ATR平均日数は1日~20日、リスク率は0.1%~8%の範囲で最適化のシミュレーションをしている。ATR平均日数は、20日よりも大きい値を試したいところだが、ATR(H列)が20日以上に対応していないため、今回は見送る(実は、ここら辺の評価のしづらさが、Excelベースのトレードシステムの弱点でもあるので、平均日数の扱いについては十分注意して欲しい)。

すると、ATR平均日数は1日、リスク率は0.1%が最もシャープレシオが高い状態になる。

ただし、リスク率が0.1%だと、利益が全然出ないので、最大ドローダウンが15%前後になる0.9%にリスク率は設定してみた。

最大ドローダウンの15%にしたのは、バックテストの最大ドローダウンの2倍を超えたとき、システムを停止するという条件にしたとき、実際の最大ドローダウンとして30%付近を限界にしたいから。

それ以上のドローダウンは、復活できないほどの致命傷になるので、とれるリスクの限界は資金の30%としている。

さて、最適化した後の利益曲線はどうなっただろう?

最適化後のボラティリティポジションサイジングの利益曲線

それなりに良くはなっているようだ。

ここで、固定金額単位ポジションサイジングも最適化後のボラティリティポジションサイジングと同程度のリスクで試してみる。

固定金額単位ポジションサイジングにおいて、リスク、つまり最大ドローダウンが15.58%となる固定金額単位は\17,320。

このときのシャープレシオは28.95%。

明らかにボラティリティポジションサイジングよりもいい値が出ている。

また、利益曲線はというと...

最適化後の固定金額単位ポジションサイジングの利益曲線

同程度のリスクなのに、利益は2倍近く大きい。

結論として、日経平均ETFでは、ボラティリティポジションサイジングがあまり相性が良くないという感じかな。

もちろん、ATR平均日数がもっと大きくなると好転する可能性はないことはないが...

まぁ実際は、ボラティリティポジションサイジングやリスク率ポジションサイジングやは、1銘柄あたりのボラティリティリスクやリスク率を均等化するためのポジションサイジングなので、単一銘柄よりも複数銘柄に対して使うことで意味の出てくるポジションサイジングモデル。

それに、利益曲線がイマイチでも、いろいろな銘柄と組み合わせたときには、全体の利益曲線をシャープな(右肩上がりのドローダウンが少ない)状態にする作用もあるので、ポートフォリオ全体では、どちらのポジションサイジングが優れているかという結論は今のところ出せない。

ということで、次回からは、ポートフォリオでのシステムトレードについて、考えていこうと思う。

ではでは(^_^y

この記事でワクワクしたら応援クリックよろしく!

気が向いたらこちらも応援してね

| | コメント (2)