概要
FXチャートの数時間後の動きを予測するためのプログラムとその最適化を行った事例について紹介します。
計算は全てEXCELのVBAで行っています。データはUSD/JPYの2008年~2019年中旬までのCSVデータより、各テクニカルを計算したデータベースを持っており、そのデータを使って近い形状のチャートから推定しています。推定計算するためのパラメータが多岐にわたるため、パラメータ設計による最適化を行いました。推定に使った計算式の詳細についてはH法を参照してください。
制御因子と水準
計算条件のパラメータは表に示すように多くあります。ローソク足,MA(5,21,75),BB(±1σ~3σ),RCI(9,21,52)のどれを使うか,どの期間の範囲で計算するか、という選択が中心です。必要に応じてその重み付けも考えるところですが、今回は均等に評価しています。今回の割り付けは以下の通りです。
計算の効率化のため、上から順に閾値を越えるもの(差が大きいもの)を除外します。その後順に計算していきます。
制御因子Aで、閾値0.005にすると閾値より差が大きいものが除外され、順に計算される対象数が減っていきます。閾値0.05にすると、甘い閾値なのでよほど悪いもの以外は生き残ります。最後に総合誤差で閾値を決める事になります。つまり、閾値0.005では、全ての条件がクリアしていないとダメという評価を行い、閾値0.05では、いくつか差が大きいものがあってもTOTALで誤差が小さければ良いという評価を行うことになります。
制御因子B~Hでは、各テクニカルの計算範囲を割り振っています。
要因効果図
基準日からの実際の変化(真値)に対する予測した変化(出力)のばらつき(差)をSN比という指標で計算して要因効果図を作成しました。効果のありそうな因子はBの21MA計算期間は短い方が良い,FのRCI9の計算期間は長い方が良いという感じです。確認実験の再現性はいまいちですが、最適-比較-最悪の関係は合っていそうです。
最適条件による推定結果例
最適条件を代入した表は以下の通りです。
最適条件で予測した結果を、実際の変動(チャート)に代入して見ていきます。赤色の太い線が最終的な予測値です。緑色の細い線は推定に使った過去の近いチャートのデータです。(最大10個表示します)この緑色のデータから、SN比で重み付けして出力(赤色の線)を計算しています。
上昇傾向3データと下降傾向3データで計算してみました。比較的うまく推定できているときもありますが、ダメなときもありますね。パラメータ設計を繰り返し行うことで、推定精度は上げることができると思いますが、今回はここまで。