平均3%儲かるブレーク法の順張り期待値を検証(システムトレード)

私のブログの人気ランキング。

圧倒的に

 
 

システムトレード

 
 

バックテスト結果は皆さん興味あるんだね。

よーし、だったら僕 期待に答えちゃうよ。

今回は、新しい指標使った手法のバックテストをやってみるよ!!!

 
 

(c) 鳥山明/ドラゴンボール

 
 

ちょwwお前言うな。でもぐうの音も出ない。

 
 

色々と試行錯誤して文章を面白く書いているものの皆さん興味なく、単にコードと結果だけ求めてるっぽい……。

2年前に投稿されているストラテジーを見つけた。

平均3%儲かるブレーク法のルールを公開
今回は人気のシリーズである株シストレのルール紹介をしていきたいと思います。ブレーク法のルールです。 ブレーク法…

良心的なサイトだなーー。

2019年でサイト更新止まってるけどさ。

 
 

【新規建て】

  • 日経平均の移動平均25日線が上向き
  • かつ、過去50日間の押しが30%以内である
  • かつ、終値が過去50日間の高値より大きい

【決済】

  • 利益が15%以上
  • もしくは、保有日数が120日以上
  • 損切りは-10%

 
 

保有日数が120日以上……って、ドローダウンに耐えられないよ。

18年間で取引回数363回って……少なすぎ。

 
 

というのが所感。そして最初は実装が簡単に見えた。

【2022.01.02追記 日曜2限の株式講座管理人様よりコメント】

●120日で決済する理由

これは消極的な決済のために使います。株価がヨコヨコになった結果、一年近く保有を続けるケースが散見されます。これを防止するための時限的な措置で、別に120日でも75日でも構いません。

●取引回数が少ない理由

一つの理由は、イザナミで暗黙的に定義された条件があるためです。
・売買代金が少ないときは取引しない
・ストップ高、ストップ安で取引しない
ただ、大きな理由は「資産曲線を描くときは10銘柄までしか投資しない」というルールを設けているからです。

平均3%儲かるブレーク法のルール

上記のサイトにはイザナミでの実現方法も明記されていた。

 
 

【仕掛け】

  • 1) [日経平均の25日線(集計した銘柄数)]が[0]より[大きい]
  • 2) 過去[50]日間に、[終値]が[フィボナッチ押し(50,30.0)]より[小さい]日が[1]日以上[存在しない]
  • 3) [終値]が[期間高値(高値)(50)(1日前)]より[大きい]
  • 4) [期間高値更新日数(50)]が[2]より[小さい]
  • 5) [翌日寄付]で[買い]を仕掛ける

【手仕舞い】

  • 1) [終値]が[建て値(+15.00%)]より[大きい]
  • 1.1) [翌日逆指(終日)][保有期間高値(高値)-ATRのn倍(30,3.00)]で手仕舞いする
  • 2) [保有日数]が[120]より[大きい]
  • Yes) [翌日寄付]で手仕舞いする
  • No) [翌日逆指(終日)][建て値(-10.00%)]で手仕舞いする

【集計条件】

  • 1) [移動平均(終値)(25)]が[移動平均(終値)(25)(1日前)]より[大きい]
  • 2) 集計する

 
 

知らない言葉が幾つか出てきたな……。

日経平均の25日線(集計した銘柄数)とは

調べたところ(日経平均の)25日移動線が前日より高い場合に集計を行うというシステムらしい。

判定が〇であれば集計結果は「1」、そうでなければ「0」を返す。

 

これはイザナミの独自用語だ。

期間高値更新日数とは

「期間高値更新日数」とはイザナミ公式サイトに次のように書いてある。

指定期間の高値が連続して更新されている日数のこと。

日数がゼロであれば、高値は更新していないと判断し、日数が1以上であれば高値更新中だと判断します。
高値圏かどうかを簡単に判断するために利用します。

これは直接TIlib.ptライブラリを書き換えたほうが早そうだ。

最高値の日付が指定の期間を超えると、一旦ゼロにリセットされる。

ただし指定期間を超えても最高値を更新中であれば、指定期間以上の数値が返ってくる可能性がある。

仕様としてはイマイチだけど「期間高値更新日数」を取得する役割は果たしていると思ってる。

フィボナッチ(febonatch)数とは

「フィボナッチ押し/戻し」という言葉が出てきた。

イザナミの解説は次の通り。

フィボナッチ押し

【 [期間高値]-[(期間高値と期間安値の差)×[押し目比率]] 】

フィボナッチ数とは、61.8:38.2の比率を意味し、黄金分割比率とも呼ばれます。

フィボナッチ数は、イタリアの数学者レオナルド・フィボナッチ(1170年頃 – 1250年頃)に因んで名付けられた数だ。

 
 

こんなの一度は見たことあるよね?

 
 

 
 

このフィボナッチ数列の中に現れる不思議な比率のことを

フィボナッチ比率(Fibonacci Ratio)

という。

 
 

さらに「フィボナッチ比率」に基づいたテクニカル指標を

「フィボナッチ・リトレイスメント」

と呼ぶ。

逆張り売買法などで実は超有名なのね。

 

「フィボナッチ・リトレイスメント」では、フィボナッチ比率に基づいた23.6%、38.2%、50%、61.8%及び100%の水準がよく用いられる。

 
 

オカルトそのものじゃん!

 
 

なんで株価の上下が数学式で求まるんだよww

人間の心は数学式で解けるのかよ!

 
 

RSIやらMACD知っても、このような気持ちにならなかったが、なんだろう この無理矢理感……。

【2022.01.02追記 日曜2限の株式講座管理人様よりコメント】

フィボナッチ押しを使っている理由は、単に押しの表現が楽になるからです。
単純に安値~高値の押しが30%であれば、別にフィボナッチトレースメント使わなくてOKです。

トレーリングストップとは

マーケットが有利に変動した際、指定した「ストップレート」と「マーケット価格」の差を維持しながら、自動的に「ストップレート」を更新する機能。

簡単にいえば、相場に強い下落が起きた場合には利益確定してしまうというルール。

これをATRを使って実現したようだ。

-ATRのn倍

ATRとは、真の値幅の期間平均(単純移動平均)の値を指します。

真の値幅とは、下記3つの中の最大値を指します。
(1)当日高値-当日安値
(2)当日高値-前日終値
(3)前日終値-当日安値

「n=1.0」の場合はマイナス符号の1 ATRです。

例えば

1.1) [翌日逆指(終日)][保有期間高値(高値)-ATRのn倍(30,3.00)]で手仕舞いする

に関しては次のように解釈できる。

翌日逆指(終日)で、-3ATR(30日間)で手仕舞う

実装して独自変更した部分

過去[50]日間に、[終値]が[フィボナッチ押し(50,30.0)]より[小さい]日が[1]日以上[存在しない]

 
 

……がよく分からなかった。

これ、ほぼ何の銘柄ヒットしないよね?いや、実際にしなかったし。

 

参照ページに書かれている図のようなチャートの形でも抽出されないんじゃないの?

この図の赤丸部分は「押し30%以内」に入ってないじゃん。

 
 

仕方ないので、フィボナッチ押しの範囲を50日ではなく20日としてみた。

うーん、大丈夫かな。これ……。

【2022.01.02追記 日曜2限の株式講座管理人様よりコメント】

これはイザナミ語なので難解なのですが、日本語訳すると「終値が50日間連続で高値30%圏内にある」という話になります。30%圏内の定義は「(高値ー安値)×0.30」です。高値・安値は変化するので、逐次計算が必要です。

バックテスト結果

計算時間は東証一部だけで3時間。ソートの高速化を行わなければ4時間。

システムトレードソフト「Protra」のバックテストがソート処理修正で6倍高速になる
ある日の職場での会話。先輩「俺は株のセンス結構あると思うんだよね。」先輩「10億ぐらい貸してくれたら、利子つけて返せる自信があるよ。」先輩「元手が無いからやってないけどさ。」私「では、まず100万円を200万円にすることから始めたらどうでし

利益曲線は次のとおり。

グラフの形はオリジナルのサイトの画像に似てる気がする。

と思ったけど、比べてみると全然違う。

全トレード平均利率は3%でなく4%になった。これは許容範囲。

取引回数は全く違う……。オリジナルは日経平均関連銘柄だけ使って363回の取引を行ってる。

フィボナッチ押しの実装を変えたのが原因だと思うが、イザナミの詳細仕様が分からないので実装できない。
 
 

これだけ似たグラフになったら良いんじゃない?一週間悩んだよ……。

この手法は、高値を更新した際に買い、高値で決済する順張り。

順張り手法は少ないから、この実装は参考になるかもしれない。

スイングトレードの場合

一週間だけ保有の手法に変えてバックテストを実施してみた。

利益曲線は次のとおり。

うーん利益率が低すぎる。

順張りだし保有期間を伸ばさきゃ駄目か……。

ただ120日保有は長いわーーー。

心理的に耐えれないし資金効率が悪い。

まとめ

今回は久しぶりに手強い相手だった。

 

「オラ強いやつ見るとワクワクすっぞ!」

 

……。

 

……。

 

あれ?バックテストしているのって、そもそも何が目的だっけな……?

ソースコード

バックテストには無料OSSの「Protra」を利用した。

TIlib、Utility、TrendCheck、TOPIXライブラリはGitHubに置いている。

タイトルとURLをコピーしました