ラベル 6. FX売買システム開発・多市場検証時代 の投稿を表示しています。 すべての投稿を表示
ラベル 6. FX売買システム開発・多市場検証時代 の投稿を表示しています。 すべての投稿を表示

2011/02/02

FX売買システム開発・多市場検証時代 - 仕掛けと手仕舞いの結合(一目均衡表:三役好転)・サイジングロジックを追加


さて前回は、「一目均衡表:三役好転」システム開発中致命的な既存プログラム・ミスを発見し、意気消沈したけど、サイジングポリシーは決った話までしました。今回はこのシステムを修正し、サイジングロジックを組み込んでいく様子を書いてみたいと思います。

前回、トレーリングで今まで有効だと思ってた手法がどれも効果が無く、
今までの検証を通じて思った事。

もはや、手仕舞い観点だけの検証結果にこだわる必要はない!
ふるいにかけた程度に思えばいい!!
だから、個々の手仕舞い手法の組合せ評価に意味は無い!
やっぱ、仕掛けと手仕舞いの相性があるんや。
例えば、ポジション保有バー数が、仕掛けと手仕舞いで根本的に違っていたら
チグハグなシステムになってしまう。

そして、結局使えそうなアイデアのレパートリーが少ない現状。
もうちょっとアイデア何か無いか探して購入した書籍。

「究極のトレーディングガイド」 5,040円。。。。 もう安く感じてきた。。

そして、読書感想
-----------------------------
著者はシステムトレードの世界で有名な方らしいのですが、本で紹介されているトレードアイデアは、裁量トレード向きなモノも多い。で、後半からはシステムトレードネタ。

○前半の内容
 セットアップ、エリオット波動、バーチャート、
 チャネルとトレンドライン、スィングトレード、パターン
 等のトレードアイデア集。

○ドラモンド・ジオメトリーとPLドット
 突如現る新しい考え方。
 計算はいたって簡単で、前日まで3日間の「(高値+安値+終値)÷3」を平均した価格を
 当日のPLドットとしてプロット。
 面白いのは、そのPLドットの推移とバーチャート(ローソク足)との関係性から
 将来を予測しようとする点。

○バックテストの評価
 ・堅牢なパラメータの選択
 ・定期的な最適化は有効か
  定期的な最適化について、検証結果から否定。
  →これは「アルゴリズムトレーディング入門」の著者ロバート・パルドとは
   意見が異なる箇所。
  →「ダイナミック・チャネル・ブレイクアウト」という概念を紹介。
   様は、知られたチャネルブレイクアウトに使われる日数をボラティリティの
   変化を元に動的に変化させていくという考え方。
 ・ポートフォリオのパフォーマンス評価
  複数市場で同時にトレードできないようなシステムはNG.
  なので、ポートフォリオ分析が不可欠。
  →これは非常に納得。ふむふむ。

○マネーマネジメント
 ・この分野での「リスク」とは、資金残高曲線の変動を表す収益の標準偏差らしい。
  #だから、シャープレシオが評価でよく使われるのね。
 ・リスク・オブ・ルーイン
  要は破産の確率の事。計算式ものってた。

○ポートフォリオについて
 当初資金レベルに応じて、ポートフォリオが例示されている。

 これがかなり参考に!!
 ここでだいぶ考え方が変わりました。
 でも、複数システム+複数市場でシステムを組もうとすると、5万ドル必要だって。
---------------------------------

そして、話を戻して。

過去の手仕舞い手法の組合せにこだわらず、いろいろと手仕舞い手法を検証。
過去購入した書籍も改めて読み返してみた。
すると、いろいろなアイデアもいくつか。

結局、システム化ができて、使って有効そうだったのは以下の手法
-----------------
・デブストップによるストップロス価格算定 「新版 魔術師たちの心理学」
・効率レシオによる手仕舞い 「新版 魔術師たちの心理学」 
・PLドットによるフィルタ 「究極のトレーディングガイド」
・ノンオーバーラッピング・バー 「究極のトレーディングガイド」
・スィング・インデックスによるトレーリング手法
-----------------

そして、ついにサイジングロジックも作成!!
ForexTester2の資金はUS$。そして様々な通貨ペア。
ロジック作るのに苦労しました。それでできたのが以前の記事。

そして、いろいろなサイジングロジックを試してみた。
以下主要なものの抜粋
※初期資金残高は5万$で評価。
----------------------
0. 最小数(0.1ロット)固定
  → PF平均:0.94
1. 初期金額の2%÷初期リスク(1R)で、最低0.1ロット
  → PF平均:0.99
2. 発注時残高÷初期リスク(1R)で、最低0.1ロット
   → PF平均:0.98
3. 上記「0.2」の計算結果を超えない範囲で、ADXR÷20した値
  →PF平均:1.00
----------------------
その後またしても、プログラム・ミスを発見。「機能検証」は大切に。。。

でも、サイジング方式次第でPF平均が結構変わる事にオドロキ!!
固定ロット数サイジングでの評価って意味無いんちゃうか??

そしてサイジングプログラムミス修正後の売買ルール。
【売買ルール】
-------------------------
・発注
 一目均衡表の三役好転
 現在のAsk/Bidから0.04%のマージンを付けて逆指値で発注
・フィルタ
 (ロングポジションの場合)日足PLドットが下落しており、前日/前々日で
 終値がPLドットの下で、PLドットが高値/安値のレンジ内であれば発注しない。
 ただし、条件を満たし次第発注
・ストップロス
 基準線から、デブストップ(7期間の1.1σ)×2のマージン
・決済指値
 3R(初期リスクの3倍の価格)
・トレーリング
 SwingIndexのASIが3バーで15ポイント下落しており、
 ノンオーバーラッピング・バーであれば、過去6バーの高値/安値にストップを移動
 ※本来SwingIndexは値幅制限値を元に計算するが、FXには値幅制限値が無い。
  なので、前バー終値の5%を値幅制限値として計算した。
・自発的手仕舞い
 18期間スローストキャスティクスによる高値/安値圏入り後の3回ダイバージェンス
 効率レシオが12期間で0.8超過後、ボリンジャーバンドの反対側の2σが順行
 以下の全ての条件が満たされた場合
 ・転換線と基準線が逆クロス
 ・遅行線の逆転
 ・終値が雲入り
・サイジング
 「発注時残高2%÷初期リスク」を超えない範囲で、ADXR÷20した値
 ただし、0.1ロット未満になった場合は、0.1ロット
・その他
 初期資金:5万$
 主な時間足:4H足
-----------------------------
●検証結果(2001年)
 PF平均:1.03 、 期待値平均:-00.31(US$)
●検証結果(2005年)
 PF平均:1.12 、 期待値平均:+16.61(US$)
●検証結果(2009年)
 PF平均:0.97 、 期待値平均:-23.37(US$)
 
うーん。まぁまぁ。。。

でも、サイジングロジックいれたので、戦略に必要な要素は全て入った!
今までもそうやったが、
工程を先に進めることで視野が広がってきた気がする。

前へ進むんや!!

という事で以前の記事の開発手順に従い、多市場多期間検証をしよう!!

そして、「FXシステムトレード初心者奮闘記」の複数通貨ペア評価時代は終わり、ドキドキしながら「多市場多期間検証時代」へと進むのでした。
※ちなみに、この「一目均衡表:三役好転」システム、2つの記事で終わらせてますが、
 ここまでで、2ヶ月かかってます。。今数えたら、このシステムだけでも、ここまでで350パターンぐらい検証してた。。

2011/02/01

FX売買システム開発・多市場検証時代 - 仕掛けと手仕舞いの結合(一目均衡表:三役好転)開発・心理面への影響とサイジング



さて前回は、「基準線の向き変化システム」を捨てたところまで話しました。
(まだプログラム・ミスに気づいてませんが。。。)
今回は「一目均衡表:三役好転」システム開発の様子を書きたいと思います。

今回の「一目均衡表:三役好転」は、仕掛けの検証でも成績がよく、元々一目均衡表で体が侵されている事もあり、気合の入った肝いりのシステム。

がんばるぞ!!

検証計画は前回と同じ。
対象も同じで、11通貨ペア、2001年/2005年/2009年で、4H足が主軸

●ドテン検証結果
 PF平均:0.70 、期待値平均:-25.0(US$)

次は、仕掛けに応じた手仕舞いの評価。一番良かったのはコレ
【手仕舞いルール】
-----------------
以下の全ての条件が満たされた時に手仕舞いする
・転換線と基準線が逆クロス
・遅行線の逆転
・終値が雲入り
-----------------
●検証結果
 PF平均:0.77 、期待値平均:-15.43(US$)

さて、次はトレーリング方式の検証。

まいった!!
手持ちのトレーリング手法でいいのが無い!!

うーん。。。。
そして素朴な疑問。

そもそも、心理面と性格の問題で裁量トレードをやめたはず。
じゃぁ、売買システムの開発で、本当に心理面の影響は無いのか!?

売買システム開発していると、t-検定でも必ずしも有意な差異にならない。
なので、各種検証結果データを見て、総合的な判断が必要になってしまう。

しかも「初心者に勘なし」

そして久しぶりに購入した書籍
「新版 魔術師たちの心理学」  2,940円

お!久しぶりに安い!!! ← 完全に書籍代マヒ状態

やっぱり、いろいろとバイアスがあるみたい。
※「バイアス」とは、先入観とか偏見という意味。

●「トレーディングシステムの開発に影響を及ぼすバイアス」
-------------------------
・代表的バイアス : 何かのデータに意味があるとの思い込み
・信頼性バイアス : バックテストデータが正しいとの思い込み
・宝くじバイアス : データをいじくる事で自信が増大してしまう
-------------------------

うーん。今のワシには、宝くじバイアスが大きそうやなぁ。
代表的バイアスってのもあんまり考えた事なかったなぁ。。

●「トレーディングシステムの検証に影響を及ぼすバイアス」
-------------------------
・自由度バイアス : 変数の個数が増大してしまう
 →これから逃れるには、
  自分のトレード概念の理解を深める事。起こりうる様々なパターンを
  想定するしかないみたい。
・後付説明エラーバイアス:未来データを使ってしまう売買ルール
 →そんな事プログラム組んでて、起こりうるんか???
-------------------------
 
この本、書籍名のわりには心理的話題に割いているページ数が意外と少ない。
でも、以下の様な内容が含まれてて結構扱っているテーマの幅が広い

で、読書感想
-------------------------------
この本いい!!安い!!ウマイ!? しかも、読みやすい。。
1.成功のために必要な要素
  ここに、心理的な話とか、目標設定とか書かれている。
  良かったのは、目標設定に関して、トム・バッソというおっさんへのインタビュー。

  この人、かの有名なシュワッガーが「模範的人物」と言ったすごい人みたい。
  著者の色々な質問に、ちゃんと数字を使って答えてくれている。
  私は、こういう「数字」にこそ経験というものが現れると思っているので、
  とっても参考に。
  例えば、適正な年率目標とか、1トレード当りのリスクとか、
  許容最大ドローダウンとか。

2.システムの概念化
  システム開発の手順とかトレーディング戦略とか、システム開発に不可欠な要素とか。
  ここもトレードに限らず投資レベルの事まで、結構幅広い概念が網羅されている。

  ちなみに、ここで、初めて初期1Rという概念を知りました!!
  このR値とは、初期リスク額のこと。
  R期待値とは、初期リスクに対してどれぐらいの損益がでたかを初期1Rとの
  比率を元に計算。
  すると、このR期待値がよければ、サイジングロジックを入れたときにいい成績に
  なるってこと。

  今までモヤモヤしていたサイジング方式。
  ここでスッキリと。
  #今まで固定サイジングで評価してたのはこの為。

  詳細は後述(【サイジング手法についての個人的な考え方】)

3.システム開発に重要な要素の深堀
  意外にも、トレーディングテクニックが色々書かれている。
  参考になったのは、デブ・ストップと、効率レシオ。
------------------------------

【サイジング手法についての個人的な考え方】
-------------------------
上記書籍の著者は4つのサイジング方式を紹介していて、
パーセントボラティリティモデルを推奨している。
だけど、1トレード当りのリスクをコントロールできないので、もう一つの
オススメを適用することにする事にしています。

私が適用するのは、パーセントリスクモデル(資金残高固定比率方式)。

つまり、資金残高あたりの1トレード当りの最大リスクの比率を、
発注価格とストップロス価格の差で割ってロット数を計算。

●サイジング例
 資金残高:100万円
 損切りになった場合の最小ロット数(0.1)当りの損失:5000円
 資金残高の最大リスクの比率:1%

 ・計算式
 100万円×1%=1万円
 1万円÷5000円=2
 → 2×0.1=0.2ロット。  

そして、この方式のもう一つのメリット。
ドローダウン時期は、ロット数が減少傾向になるから、最大ドローダウン幅を
縮小させる事ができるし、好調気は複利効果がでる。

じゃあ、ボラティリティがサイジング時に考慮されていないのかというと、
そんな事は無いというのが、今の自分の考え方。

今やろうとしているトレンドフォローシステムの場合、ストップロスを求めるには、
ボラティリティを反映した動的な価格差で計算すべきと思っているので、間接的に
ボラティリティの要素が含まれたサイジングになる。

ちなみに、「ラルフ・ビンスの資金管理大全」によると、統計的学的には前回の
トレード結果と次のトレード結果との因果関係は無いのが普通とのこと。
(ちなみに、統計学で検証すると、因果関係が判明する事もあったらしい)
なので、マルチンゲール戦略なんてありえない。

サイジング方式決定!!
資金残高固定比率方式にする!!
-------------------------

で、話を元に戻して。

手持ちのトレーリング手法でどれもダメなら一からアイデアを考えな。。。
そこで登場するのが

「自分のトレード概念の理解を深める事」

確かに、今まで検証した手仕舞い方式、仕掛けとはなんの関係も無い手法。
原点に立ち返り、理論的にいろいろ考えることに。
あと、過去に購入したテクニカル本をもう一度ざーっと読み返す。

そして、すこしいい成績になった売買ルール
【売買ルール】
-----------------------------
・発注
 一目均衡表の三役好転
 現在のAsk/Bidから0.04%のマージンを付けて逆指値で発注
・ストップロス
 発注価格から7期間ATRの3倍
・トレーリング
 過去26バーの高値/安値
・自発的手仕舞い
 スローストキャスティクスによる高値/安値圏入り後の3回ダイバージェンス
 RSIによる失敗したスィングが発生
 以下の全ての条件が満たされた場合
 ・転換線と基準線が逆クロス
 ・遅行線の逆転
 ・終値が雲入り
・その他
 主な時間足:4H足
 サイジング:0.1ロット(1万通貨単位)固定
 評価期間:2001年
-----------------------------
●検証結果
 PF平均:0.97 、 期待値平均:-3.26(US$)

※トレーリング方式の発想(「自分のトレード概念の理解を深める事」きっかけ)
 一目均衡表で重要な要素に「基準線の向き」というものがあります。
 基準線は過去26バーの高値と安値の中間値。
 例えばロングポジションのとき、過去26バーの安値を割り込むという事は、
 基準線が下に向くという事。
 なので、過去26バーの高値/安値をトレーリングに使う事に。
 
じゃあ、スィーニーの手仕舞い手法を追加しよう!
修正するために、プログラムを何気なく見てみる。



あ”~~


回帰線による手仕舞いのロジック間違えてる!!
しかも、ショートポジションですぐに約定しなければオーダが
キャンセルされるという致命的なミス!!

今まで検証した2つのシステムはなんやったんや!!
過去記事「正しい開発手順って?」で書いた、「機能確認」の重要性を再認識。。

そして、ショックを引きずりつつ、「FXシステムトレード初心者奮闘記」の複数通貨ペア評価時代は、このシステムの改善を試みるのでした。



2011/01/31

FX売買システム開発・多市場検証時代 - 仕掛けと手仕舞いの結合(基準線の向きの変化システム)


さて前回は、「移動平均3線交差システム」の手仕舞いを修正し、上手くいったところまで話しました(プログラム・ミスに気づいてませんが)。今回は「基準線の向きの変化システム」開発の様子を書きたいと思います。

前回の検証で、「手仕舞い手法の検証」での手仕舞い手法の組合せが、必ずしもベストとは限らない事に気づいたオレ。

今回は「損小利大」で有効そうな、トレーリング手法の選定を優先的に検証する様に
検証計画を見直す事に。

【検証計画】
-----------------------
1.ドテンで評価
2.仕掛けに応じた手仕舞いの評価
3.ドテン+各種トレーリングの評価
4.スィーニーの分析から逆指値のマージンを求める
5.自発的手仕舞いを追加
6.スィーニーMAE/MFE分析による手仕舞いを追加
7.前提条件
  主な時間足:4H足
  対象通貨ペア数:11通貨ペア
  サイジング:最小の1万通貨ペア(0.1ロット)固定
  対象期間:2001年、2005年、2009年
-----------------------

●ドテンの評価結果(2001年)
 PF平均:0.86 、 期待値平均:-10.67(US$)

そして、以下のトレーリングを検証
------------------
・3期間短期RSIによる過去5バー終値の高値/安値
・パラボリック・SAR(前回SARを、過去10バー/20バーの高値/安値)
・ボリンジャーバンドの+2σ、-2σ
------------------
●ベストだったトレーリングの検証結果
 方式:パラボリック・SAR(過去20バーの高値/安値を前回のSARとして計算)
 PF平均:0.87 、 期待値平均:-8.66(US$)

いろいろトレーリング方式を試すが、
やはり、仕掛けによってベストなトレーリング方式は変わってしまう。

そして、自発的手仕舞いを追加
【売買ルール】
----------------
・発注
 一目均衡表の基準線の向きが変わったら、変わった方向に
 現在のAsk/Bidから0.05%のマージンを付けて逆指値で発注
・トレーリング
 パラボリック・SAR(過去20バーの高値/安値を前回のSARとして計算)
・自発的手仕舞い
 スローストキャスティクスによる高値/安値圏入り後の3回ダイバージェンス
 RSIによる失敗したスィングが発生
・その他
 主な時間足:4H足
 サイジング:0.1ロット(1万通貨単位)固定
----------------
●検証結果(2001年)
 PF平均:0.92 、 期待値平均:-4.91(US$)

うーん。。。やっぱりマイナス収支

そして、スィーニーのMAE/MFEによる手仕舞いルールを追加
【売買ルール】
----------------
・発注
 一目均衡表の基準線の向きが変わったら、変わった方向に
 現在のAsk/Bidから0.05%のマージンを付けて逆指値で発注
・ストップロス
 発注価格から2%離れた価格
・利益目標
 発注価格の7%
・トレーリング
 パラボリック・SAR(過去20バーの高値/安値を前回のSARとして計算)
 約定42バー後でのブレイクイーブン
・自発的手仕舞い
 スローストキャスティクスによる高値/安値圏入り後の3回ダイバージェンス
 RSIによる失敗したスィングが発生
 約定後60バー後で手仕舞い
 約定42バー以降で、終値が回帰線(y=0.027x)を下回り。
・その他
 主な時間足:4H足
 サイジング:0.1ロット(1万通貨単位)固定
----------------
●評価結果(2001年)
 PF平均:1.17 、 期待値平均:2.63(US$)

収支がプラスや!
いいぞいいぞ!!

そして、次へ
●評価結果(2005年)
 PF平均:1.16 、 期待値平均:0.79(US$)

やった!!!
2005年の評価でもプラス収支!!!!

そして、本工程最後の評価期間へ
●評価結果(2009年)
 PF平均:0.86 、 期待値平均:-11.81(US$)


撃沈・・


ここまででもかなり時間かかってるのに、次はどうすればええんや??
色々試行錯誤するが、なかなかいい成績にならんぞ!!

そういや、前回スィーニーのMAE/MFE分析で効果あったなぁ。。。
よっしゃ、ドテンとスィーニーのMAE/MFE分析だけで勝負してみるか。

【売買ルール】
-----------------------
・発注
 一目均衡表の基準線の向きが変わったら、変わった方向に
 現在のAsk/Bidから0.08%のマージンを付けて逆指値で発注
・ストップロス
 発注価格から3%離れた価格
・利益目標
 発注価格の9%
・トレーリング
 MFEから3%離れた価格
 約定48バー後でのブレイクイーブン
・自発的手仕舞い
 ドテン
 約定後52バー後で手仕舞い
 約定48バー以降で、終値が回帰線(y=0.032x)を下回り。
・その他
 主な時間足:4H足
 サイジング:0.1ロット(1万通貨単位)固定
----------------
●評価結果(2001年)
 PF平均:1.10 、期待値平均:1.50(US$)
●評価結果(2005年)
 PF平均:1.27 、 期待値平均:4.04 (US$)


そして因縁の2009年


●評価結果(2009年)
 PF平均:0.87 、期待値平均:-15.20(US$)


あかん。。。
何をやっても3年共収支がプラスにならん。
しかも、さっきよりあかんやん。

1個のブログ記事にまとめてしまったが、このシステムの開発に1ヶ月かかったんやぞ!!

そして、この仕掛け手法は捨てる事に。
仕掛けの手法で生き残った中で、一番成績悪かったやつやし!
うんうん。あきらめも肝心や!!!

そして、「FXシステムトレード初心者奮闘記」の複数通貨ペア評価時代は、次のシステム開発に進むのでした。 プログラム・ミスがまだ残っている事に気づかないまま・・・
※プログラム・ミスは、回帰線による手仕舞いの箇所