文系人間のためのシステムトレーダー養成所 システムトレードのためのエクセル講座第5回 最適化
--------

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2009-05-17

システムトレードのためのエクセル講座第5回 最適化

お待たせしました。今回はエクセルを使った最適化について述べていきたいと思います。
これを覚えると売買検証が大変効率よく行えるようになりますのでぜひ覚えておいてください。
それでは始めます。どうぞお楽しみください。
 システムトレードのためのエクセル講座 
                第5回
                最適化
まず前回までのエクセルファイルをひらいてください。
そしたら新しいシートを選択してください。左下にあるタブのSheet3で良いと思います。
手順の方の解説は今回は最小限にとどめます。
Sheet3が最適化シート、Sheet2にグラフ、Sheet1には売買検証のデータが入っていると仮定します。
それでは始めましょう。
まず完成図からみてください。

Sheet3の完成図
1-14.png
このようになります。イメージをつかんで頂いた上でコードを記述していきましょう。

Sheet3の記述式

1,  A1にヒゲ乖離幅と入力
2,  A2に時間と入力
3,  A3にPFと入力
4,  B1に1を入力
5,  B2に1を入力
6,  B3に=Sheet1!B8を入力
7,  C3に0.1を入力
8,  D3に0.2を入力
9,  C3とD3をまとめて選択し、左下にカーソルを合わせ黒十時が出ることを確認する
10, 黒十時が出てる状態でドラッグしQ3まで引っ張る。
11, B4に1を入力
12, B5に2を入力
13, B4とB5をまとめて選択し、左下にカーソルを合わせ黒十時が出ることを確認する
14, 黒十時が出てる状態でドラッグしB50まで引っ張る。

解説
今回は赤い番号の手順だけ解説していきます。

6,  B3に=Sheet1!B8を入力
今回は、最適化するための判断材料としてPFをつかうことにしました。
Sheet1のB8をみてください。PFの値がでるセルが選択されていますね。
直接=Sheet1!B8と入力するよりも、
1, Sheet3のB3を選択する
2, =と入力
3, Sheet1のタブをクリックする
4, B8をクリックする
5, エンターキーを押す
という方が感覚的にわかりやすくて良いかもしれません。

10, 黒十時が出てる状態でドラッグしQ3まで引っ張る。
この列は何かというと、ヒゲ乖離幅の最適化するときに調べたい値です。1時間足で1.5以上のヒゲがでることは殆ど無いのでQ3までにしました。
もう少し細かく調べたい方は0.05刻みで調べてもよいかもしれません。
0.05刻みで調べたい方は7,8の手順で0.1 0.2 となっているところを0.05 0.1に変えて頂くとできるようになります。

14, 黒十時が出てる状態でドラッグしB50まで引っ張る。
とりあえず47までにしておきました。特に理由はありません。
個人的には47本後ものことになると良い結果が出たとしてもそれは完全に運でしかないのではないかとおもいます。
ただ、ヒゲ順張りブレイクアウトとして使える可能性があるかもしれないということで、もしブレイクアウトならばどれくらいの長さを置いて手仕舞うのが都合良いのかが知りたいため、多めに本数をとってみました。

つぎに、Sheet1を少しいじります。Sheet1を開いてください。
Sheet1.png

Sheet1の記述式

1,D1を=Sheet3!B1と修正。
2,D2を=Sheet3!B2と修正。

解説
上のやり方は繰り返しになりますが、
1, Sheet1のD1を選択する
2, バックスペースをおしてセルの中身をクリアする。
3, =と入力
4, Sheet3のタブをクリックする
5, B1をクリックする
6, エンターキーを押す
という方が感覚的にわかりやすくて良いかもしれません。
もちろんD2も同じように行えます。

これで下準備は整いました。 お疲れ様でした。それでは最適化の最終ステップにまいりましょう。
Sheet3に戻ってください。

最適化
1,C4を選択して表示-window枠の固定-window枠の固定を選択してください。
windowwaku.png


2,数式タブにある再計算方法をデータテーブル以外自動を選択してください。
saikeisan.png

2,B3:Q50の範囲を選択します。
kore.png


3,データ-WhatIF分析-データテーブルを選択します。
WHaif.png

4,行の代入セルに$B$1を記述(直接B1をクリックすると$B$1と記述されます)
5,列の代入セルに$B$2を記述(直接B2をクリックすると$B$2と記述されます)
6,数式タブにある再計算実行をおしてください。
jikkou.png
7,計算が終わるまでしばらく待ちます。(5分くらい?)
8,完成です。
サ鄙・レ チ#58600;、 49


解説
これでヒゲの長さ0.1~1.5円と時間1~47時間の組み合わせすべてのPFがでました。
PFの組み合わせが表のようになっているのがご覧いただけるのではないでしょうか。
この中から最も成績が良いと思われるものを選び出しましょう。
データーの範囲を選択するとExcelの右下に最大値や最小値がでますのでそちらを参考にするのも良いと思います。


もしPFでなくて累計損益の最適化をおこないたいのならば、Sheet3のB3セルに=Sheet1!B9を入れ込めば、累計損益の最適化を行うことができます。


ヒゲ順張りシステムは使えるか?
さてヒゲ順張りは使えるのでしょうか?それを分析するための僕なりの選定判断基準を説明します。

それは

PFが1以上であるものの割合が65%をこえているかどうか。

です。
いくらPFが4とかのモデルがあっても、パラメーターをいじくるとほとんどは1以下になってしまうモデルはオーバーフィッティング(過剰最適化)である可能性が高く、モデルの見直しをする必要があります。

それを調べるためにこのような表をつくってみました。
1ijou.png

D1D2D3の式だけ説明します。
D1:=COUNTIF(C4:Q50,">1")  PFが1以上である個数
D2:=COUNTIF(C4:Q50,"<1")  PFが1以下である個数
D3:=D1/(D1+D2)*100      PFが1以上である個数のパーセンテージ

今回は90%以上がPFが1以上なのでオーバーフィッティングの心配は無いと言えるでしょう。


どうもお疲れ様でした!本来は、パラメーターの組み合わせの選択方法まで踏み込みたかったのですが、意外と文が長くなってしまったので、今回はここまでにします。

今回も最後までお読み頂きありがとうございました。


次回は今回は触れられなかったパラメーター選択の判断方法を取り上げたいと思います。

お楽しみに。


大変励みになりますので、ブログランキングの応援よろしくお願い致します。 人気ブログランキングへ

theme : FXでシステムトレード
genre : 株式・投資・マネー

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。