トレーダーの皆様、これから投資を始めようとしている皆様
新年第1週目お疲れ様でした。
さて、前回まで自己紹介等の内容でしたが、今回からようやく第1回目の検証を投稿していきます。
第1回テクニカル検証
『ゴールデンクロスは勝てるの?』
【結論から】
勝てます。
ご一緒に確認していきましょう。
検証の対象は
『日経平均株価』
『対象期間は2010~2022年』
となります。
個別銘柄でも検証可能ですので、一通りの予定している検証を投稿し終えた後に、希望される方がいらっしゃれば、個別銘柄の検証等の深堀を進めたいと考えています。
よって、現段階で個別銘柄に対する考え方として、対日経β値などを活用していただくことでおおよその近似値は見えるかと思いますのでご了承ください。
前置きが長くなりましたが。以下のステップでご説明していきます。
① エントリー&エグジット条件の設定
② pineスクリプト化
③ バックテスト
④ 考察・用途
① エントリー&エグジット条件の設定
『日経平均』に対して『日足』で検証
エントリー条件:5日移動平均線が25日移動平均線を上抜けした時(ゴールデンクロス)
エグジット条件:5日移動平均線が25日移動平均線をした抜けした時(デッドクロス)
(赤〇で買って、青〇で売る、超絶シンプルストラテジー)
② pineスクリプト化
これをトレードツールの[tradingview]の言語に落とし込んで[pineスクリプト化]します
はじめて見られた方は意味不明ですよね、私もそうでした。プログラムに興味のない方は読み飛ばしてください。
(コピーできるコードは記事最後に貼ります。数字をいじって遊んでみたい方はどうぞ)
③ バックテスト
入力したpineスクリプトをチャートに追加すると勝手に過去のチャート記録からバックテストしてくれます。
純利益、トレード数・勝率・PF(RR比)などを受け取ります。
ちなみに通常ではロットを100万で設定していますが、日経を含めた1万円以上の単価の銘柄はロットを1000万に設定しています(お金が足りずにバックテストできなくなるため)
運用として複利と単利があると思いますが、今回は単利で設定しています。
これで2010~2022年の間この手法をした人は61%資産が増えた、ということが分かりました。
勝っていますね。
これで終わっては面白くないので、1年ごと変化を見てみましょう。
表とグラフでまとめてみました。
④ 考察・用途
みなさんお気づきだと思いますが、その年によってかなりのばらつきがあります。
ばらつきどころかマイナスの年もありますね。
これがそのほかの手法にも当てはまり、永遠に勝てる『聖杯がない』といわれる由縁であると思います。
結局、相場を見極めて、自分の引き出しから最適な手法を取り出して戦うことが投資を極める王道なのでしょう。
楽な道はありません。(残念ながら...)
さて、話が逸れてしまいましたが、考察の続きです。
今回の検証結果で特筆すべきは2012年のスーパーパフォーマンスです。
お気づきの方もいらっしゃるかとおもいますが、
アベノミクスに素直に乗っかったことで利益が出たということです。
年末からのパフォーマンスが突出していました。
つまり、このストラテジーは大相場で最高のパフォーマンスを発揮する、ということが言えるでしょう。
そして、コロナの暴落からのリバウンドも取れています。
具体的は使用法としては
暴落時のリバウンド取りです。
アベノミクスのような大相場でもたしかに活用はされているのですが、テクニカル的には狙って取れているものではありません。
数を打ってるからたまたま当たっているだけ、の状態です。
ですので、私たち個人投資家が実戦で使用しようと考えれば、上記のように、暴落時のリバウンド取りで狙っていくことです。
さらに具体的に言えば、ボリンジャーバンドの-3σを抜けて、5日線が反発して25日線を上抜けしたタイミングでエントリーする、という手法です。
そんなタイミングなかなかありませんが、2022年後半にかけて調整相場が予想されている現時点だからこそ、頭の片隅に置いておいても良いのではないでしょうか。
長くなってしまいましたが、このように今後もテクニカルの検証・それから具体的な活用方法をご紹介していきますので、どうぞお付き合いください。
否定的な意見も含めて、どのようなご意見・ご感想でも感謝の気持ちをもってお待ちしております。
さて、次回は
第2回『短期時間軸でのゴールデンクロス』
をお届けします。
↓今回のpineスクリプト
// © win30000
//@version=3
strategy("ゴールデンクロス検証", overlay=true)
sma5 = sma(close,5)
sma25 = sma(close,25)
plot(sma5,color=red)
plot(sma25, color=blue)
SYear = input(2010, "開始: 年")
SMonth = input(1, " 月")
SDay = input(1, " 日")
SHour = input(0, " 時")
SMinute = input(1, " 分")
StartDATE = timestamp("GMT+9",SYear,SMonth,SDay,SHour,SMinute)
EYear = input(2023, "終了: 年")
EMonth = input(1, " 月")
EDay = input(1, " 日")
EHour = input(0, " 時")
EMinute = input(1, " 分")
EndDATE = timestamp("GMT+9",EYear,EMonth,EDay,EHour,EMinute)
BackTest() =>
time >= StartDATE and time <= EndDATE ? true : false
kakaku = security( tickerid ,"D" ,close )
lot = round(100000/kakaku)
entry = crossover(sma5,sma25)
if BackTest()
if strategy.position_size < 1
strategy.order("L", strategy.long,qty = lot , when = entry )
exit = crossunder(sma5,sma25)
strategy.close("L", when = exit)