NO brain NO money

自分がコツコツ作ってきた頭脳は、5年で1億作れるのか

シストレ進捗 -ボリンジャーバンド最適化ロジック-

知り合いの某社長から、「ブログの更新楽しみにしてる」と言われたので、やる気出して更新。
とはいえ、mixi決済後、一切取引してないので、取引系はなし。

何かネタを、と思い引っ張り出したのが、シストレの振り返り。
というわけで2部構成で更新を。

1部:ボリンジャーバンド最適化ロジック
2部:上下10円抜きロジック

###################

1部:ボリンジャーバンド最適化ロジック

10月実際にやってみて、結構いい勝率、いい稼ぎができたロジックです。一部裁量が入ったけど。
しかし、10月末日からの上げ相場に対応できないため、シストレロジックとしての不採用を決断しました。
その浅い歴史などをつらつらと。

ボリンジャーバンドの説明は不要か、と思ったが、いちおうurlは貼っておく。
http://www.gaitameonline.com/academy_chart02.jsp

通常、バンドを描画するにあたっての移動平均線は25を使い、σの係数は1or2or3を使うのがまぁ普通。
まぁ普通なんだけど、最適なパラメータじゃないんじゃない?と思ったわけです。
直感的には、移動平均25は長くとりすぎだと思うし、1σ、2σ、3σ、のどれを使ったら一番儲かるねん!とか。

というわけで、過去1年間の日経先物miniの日足のデータを用いて、パラメータ最適化の計算をしてみました。
※当方専業ではないので、相場に張り付くことができないので、5分足ではなく日足を使い、基本寄りで入って「今日は上か下か」といった1日1回の取引を前提にしてました。

なお、ボリバンを使うので、逆張り一本です。

パラメータは以下の通り

  1. 移動平均期間N

  2. 当日の始値がボリバンxσ以上だったら売り or 以下だったら買い、のような入札タイミングパラメータx逆張りなので、反発を予測してます)

  3. 当日の始値が前日終値よりk%以上 or 以下だったら寄りでのインを見送る(思惑での暴落、暴騰時の動きは読めないため)。安全装置パラメータk

  4. 利食い幅 y円(y円幅分利益がでたら利確)

  5. 損切幅 z円(z円幅分損失がでたら損切)


で、この5パラメータを総当たりさせて、過去の収益はどのパラメータだったらもっとも高くなるのか、を探るわけです。
が、例えば5パラメータごとに10個の要素を用意すると(例:移動平均日数5~14の10要素とか)、組み合わせパターンは10の5乗で、えっと、まぁ莫大になるわけですよ。
これを自宅pcのローカルメモリを使ってやると、いつまで経っても終わらないあげく、ようやく返ってきた結果がエラー、なんて時は泣きたくなってしまったので、急きょ会社のサーバーをおかりして(小声)ぶん回したら、一晩で終わりました。
企業すごい。

ちなみに、計算はR言語を使ったスクリプトで回しました。
一部サンプル。
foreachクソ遅いですね。
※なお、TTRパッケージで移動平均が計算できます。R使いの方はぜひ。

f:id:highwaystar430:20141118172451p:plain


余談ですが、「利食い幅を超えて上にいったら利食いラインで決済、損切も利食いもなければ終値で決済」といった、複雑な条件を書くのがダルすぎて泣きそうになりました。

アレコレ計算の結果、最終的に10月実用していたのが

  • 売りシグナル:12日移動平均から0.1σ以上、上に乖離してたら売り
  • 買いシグナル:10日移動平均から0.7σ以上、下に乖離してたら買い

でした。


さて、得られた計算結果からの考察です。

  • σ絶対値は大きいと儲からない。
    というか、0.1σ程度だったらボリバン作る意味ないんじゃ・・・。
    これを見るに、日足がボリバンで反発するなんて幻想としか思えない。

  • 買いと売りのバンド幅は違う。
    上昇⇒下落、はすぐ反発(売りシグナルは0.1σしか乖離してないのに出る)、下落⇒上昇、の方が深くつっこんで反発する(買いシグナルは0.7σも離れないと出ない)ってのが、人間の売買の心理を表していて面白いと思いました。

  • 利食いは大きく、損切は小さくすると儲かる。
    確か、利食い幅の最適パラメータは100円を超えていたのに対して、損切は50円程度。
    これが最も利益を上げる数値でした。
    つまり、利食いは大きくしないと勝てないのです。試しに20円で利食いした時の結果を見てみましたが、普通に年トータルで損してました。これ、頭でわかっててもなかなかできないですよね。システム化することで解決できる問題の一つの気がします。

ここで、10月からの日経先物終値の推移と、上記のボリバン2本を合わせて見てみましょう。

10月と11月の境目に線を引いてます。

始値が、赤より上だったら売り、緑より下だったら買い、というわけです。

10月、ほぼこの通りにして割と勝てましたが、11月は負ける気がしたので一切取引をしてません。

 

f:id:highwaystar430:20141118173227p:plain


先に結論を言うと、このロジック、一方的な相場に弱いのです。
10月もエボラやらなんやらで下げ相場でしたが、月トータルで見ると、ボリバンをまたいでの揉み合いとも見て取れます。
だから10月は勝てたんです(多分)

ボリバンの統計的根拠から言って、揉み合いでしか力を発揮できないのは容易に想像できるんですけど、実証すると面白いですね。
以下が、このロジックを用いた過去1年間の収益シュミレーションです。(何円抜けたか、の合計を収益としてます。)
なお、年合計だと2,500円ほどプラス収支。mini1枚で取引し続けた場合の収益に換算すると25万プラスという感じ。
※だいたいmini1枚で補償金含め、原資は10万かからないくらい。

先物miniが5円刻みなのに収益が5の倍数になってないのはご愛嬌。

f:id:highwaystar430:20141118173131p:plain


赤字になってる月は

  • 2013年11月
  • 2014年2月
  • 2014年5月
  • 2014年9月

です。(確か9月は途中までだったかな)

これらの月のチャートを見るに、すべて傾きが一方的な月になっているようです。

f:id:highwaystar430:20141118183746p:plain

このデータがあったので、一方的な上昇相場になりそうな11月の取引はやめたわけです。

解決策として、移動平均かい離率をパラメータとして突っ込んで、乖離率がv%以上だったら取引しない、といった制限を加えるのが現実的ですが、制限と機会損失は表裏一体。
どんな相場でも対応しうるロジックでなければ、今後戦っていけないと思い、シストレロジック不採用となりました。

久しぶりに長文書いた。
読み手に伝わればいいのだけれど。

第2部もそのうち書きます。

では。