VOL.1 パーフェクトオーダーの最適化・詳細解説[1]実験計画

先の投稿 VOL.1パーフェクトオーダーでは、パラメータ設計の実験手順など、ある程度わかっている人向けの記述でした。ここでは、実験手順を知らない人にもわかるよう、また実験内容の詳細について説明していきます。

パラメータ設計の手順に従って説明していきます。

1)ネックシステムの着眼
特に工程が分割しているわけではないので、無視しても良い項です。
ENTRYしてからEXITまでの範囲で実験しました。

2)目的機能の明確化
トレードの機能とは何か?難しいですね。
入力が時間(またはEntry回数)で,出力は損益かな。
結果として損益は必要ですが、勝率も上げたいし、STOPも減らしたい。
それぞれの品質特性(希望するもの:損益や勝率)をそのまま評価することにしました。

3)基本機能の決定
基本機能はエネルギー変換になるので、投入した時間(回数)に対する損益でしょうか。ここでいう時間(回数)は、人がトレードに携わる時間とします。少ない時間(回数)で多くの利益が得られるほうが、自分の時間を有効に使えて自由が増えますので。
今回は、シミュレーションによる結果の現象を観察したいので、基本機能の評価は保留として、目的の評価を中心に解析することにしました。

4)誤差因子の決定
誤差は市場のばらつきです。上昇トレンド,下降トレンド,レンジ相場の3条件を適度に配置すれば、少ないn数で評価できるのかもしれません。しかし、市場の変動パターンは色々あるので、n数を絞るには工夫が必要です。
今回は2009年2月~2018年10月のデータを使っています。これだけの期間があれば、いろいろな相場状況が含まれて十分な誤差になると思います。計算時間もそれほどかからないので不都合はありません。なお、通貨ペアはUSD/JPYのみです。もっと色々な通貨ペアを含めたほうが良いのですが、データ収集も大変なので、今はUSD/JPYのCSVデータしかありません。

5)テストピースの検討
シミュレーション計算するので必要ありません。

6)制御因子の抽出
直交表L18に割り付けて実験します。この直交表には、2水準を1因子,3水準を7因子の合計8因子(表のA~H)を割り付けることができます。
基本的なENTRYとENITの条件は先述のとおりですが、閾値を決めるために実験を行います。例えば、「MA126の傾きが上昇のとき」をLONGの条件にする場合、計算で示せば傾きβを計算して、β>0が条件になります。しかし、多少マイナスでも他のMAがプラスならENTRYしたいかもしれませんよね。そこで、βを多少マイナスの値からプラスの値まで割り振って、どれが良い条件かを見つけようというものです。

A.STOP
  本来なら直近高値などを考えるところですが、計算式を簡略化するため、
  0.5円と1円の2水準としました。
B~E.移動平均線の傾きβ
  少しマイナス,0、少しプラス の3水準にしました。
F.RCI
  全く見ない,RCI52のみ,RCI26と52 の3水準で、ENTRY方向の確認。
  細かい条件ではRCI26,52のβにも閾値が絡んできますが、今回は0以上で
  判断しています。
G.MACDの傾きβ
  判断しない,0,少しプラス の水準にしました。
H.オシレータ(MACDとMACD-MAの差)の閾値
  判断しない,0,少しプラス の水準にしました。
各因子の水準の値は、手動で予備実験した感覚で適当な値を決めました。

7)水準決定と水準ずらし
特に必要ありません。