見出し画像

【検証シリーズ】番外:ストラテジーと半裁量

自分でストラテジー書ける人はどうせやってることなので見なくていいです。

たまに質問箱で来る「あの指標使えます?」的なやつ。自分で検証してください。
とぶん投げてしまいたいのですが、ちょっと酷なのである程度の指標のクセみたいなのを挙げて複合させてみたりなんだかんだやってみようかといった内容です。

クセがわかれば弱点がわかるため、どういった状況では使わないといった部分が見えてくると思うのでその参考になれば幸いです。

どちらかと言えば「これからバックテストやってみるぞー」という方への心構えみたいなものだと思ってもらえればいいです。
また、裁量トレードを言語化する際にも利用できるものであると書いている本人は思っています。

また、以前にそれまでの検証シリーズを購入いただいた方も、こちらを読んでいただいてから振り返ると新たな発見に結びつくかもしれません。

注意
こちらのnoteは特定の手法などを推奨するものではありません。
Pine scriptのバックテストを通じてそれぞれの指標でのエントリーの精度を確認するものであることをご了承ください。

順張り・逆張りのクセ

これに関してはTwitterでもnoteでも何度か言及しているので結論を書いてしまいましょう。

それぞれ対称的なメリットとデメリット

結論と書きましたが、これは「それぞれのインジを往復でポジションを持ち変える」ことを前提としたものです。利確も損切もヘチマもなく、純粋に売買エントリー条件だけを設定し、その条件を満たした時点で持ち変えるといった状況下においての傾向と捉えてください(重要)
なので、インジケーターの生のパフォーマンスだと思っておきましょう。

さて、その前提を元に順張りと逆張りで代表的なインジケーターであるMACDとRSIのバックテスト結果を見てみます。
いずれも設定パラメーターはTVのデフォルト数値準拠とし、エントリー条件は一般的なエントリーとして考えられるものとしています。

MACD

エントリー条件:GCで買い、DCで売り

RSI

エントリー条件:30以下で買い、70以上で売り

いずれも1時間足ですが、勝率とPF(プロフィットファクター)を見てみましょう。MACDの方が勝率は低いにも関わらず、最終的な成績はRSIよりも良いグラフになっています。

先ほど「結論」と書きましたが、これらの条件の場合利確や損切を入れていません。

順張りの場合、エントリーしてから次に反転条件が整うまでひたすらポジションを握り続けます。結果的に大きなトレンドが発生すれば多少狼狽はするもののその流れに乗ってどんどん利益は伸びていきます。
逆にレンジ相場になると頻繁に小さい値幅でコロコロとトレンド判定が変わるため、その度にポジションの持ち変えが発生しジワジワと減っていくことになります。

それに対して逆張りは上下の値幅が制限されるため、大きな一撃を取ることはなかなかできません。
天底を取ることに長けてはいますが、その過程で大きなドローダウンが発生した場合、最高の場所を掴んでも既にリカバリーできないほどの損失を抱えている可能性があります。さらにいい場所で掴んでも値幅を伸ばしきれないデメリットも抱えています。

順張りと逆張りの損益イメージ例

若干語弊がある言い方をしてもいいなら、
順張りはファフナー、逆張りは源さんです。

これらのクセをベースに考える

さて、それでは次にこれらをベースにした場合、いくつかの改善によってパフォーマンスを上げることができます。

手段として最も手軽かつ安易な方法としては、

・損切/利確の実装
・パラメーターの調整
・指標同士の組み合わせ

この3つになるでしょう。

自分でさらに複雑なものを作るのもいいですが、そのステップは今回は省略し、誰もが使いそうなものだけで進行していきます。

それぞれの方法を使用する上で、前述のクセと合わせて考えてみましょう。

損切と利確についてですが、
・順張りは損切しやすく、利確しづらい
・逆張りは利確しやすく、損切しづらい

という対照的な特徴があります。
これは値動きの特徴を見てみれば容易に想像がつくはずです。


緑が順張り、赤が逆張り

自分もベースは順張りですが、多くのトレーダーが順張りを推奨するのは、順張りの方が損切ポイントが見えやすいことにあるからではないでしょうか。
逆張りは利確ポイントが見えやすくなりますが、証拠金が尽きたらゲームオーバーという視点から見ると「いのちをだいじに」な視点で損を把握できる方が優先されるでしょう。
これらのメンタリズムと勝率の傾向から言うならば、ゼロカットを背にしたハイレバの逆張り(いわゆるリバ取りや指標のボラティリティを見込んだ逆張り)はあくまでもある程度まで原資を増やすための手段としては効果的なものになりそうです。ハイレバやらないのであくまで推測ですが。

利確/損切の実装

ATRとHL

さて、では利確と損切の実装に移っていこうと思いますが、テクニカル視点かつ簡単にできそうなもので思いつくのは、

・直近安値/高値の利用
これについてはhighesetやlowestといった関数によって使える最も簡単なものです。

・ATR
裁量トレードを紹介しているブログや記事の中で損切や利確の基準でこれが利用されている例もよく見かけます。

・閾値やパラメーターの違う同一指標
エンベロープやボリンジャーバンド等、レンジ戦略で使う例があります。

これらで挙げたものは単純なコードによって実装ができる例になるでしょう
これ以外にも、それぞれ異なる条件を損切や利確の条件にすることも可能です。

基本的に利確は伸び率を、損切は勝率を犠牲にするものと認識して差し支えありません。
これは次に紹介するパラメータの調整にも係るところですが、うまく調整できれば損失を限定し、利益の減少を留めたものになり、繰り返しトレードをすることによって利益を伸ばすことができます。
しかし逆に損失ばかり増え利益が伸びない産廃になる諸刃の剣にもなります。
そして大概は後者に落ち着きます。その原因についてはまた後程。

パラメータの調整

エンベロープ戦略による誤ったパラメータの例

上の画像は一例として最適化されていないパラメーターの例を表示しました。
ビットコイン日足においてエントリーをMAから上下1%値幅、損切値幅を2%値幅にしているものです。
日足のボラティリティに対しエントリーも利確損切も極端に狭く、勝率はまさかの1桁、損益も無限損切によるドローダウンが目立つ割に伸び率は低いというまさに最低の状況です。

このロジックは単純な逆張りなため限度はありますが、パラメーターの数値だけを相場特性に合わせてみましょう。

時間軸を1時間足に、MAの期間設定だけ変更

これだけでもだいぶ見れるものに変わりました。

特に相場の状況を読んで最適化させるbotterであればもはや半裁量botterと言っても過言ではないくらい調整に余念はないはずです。
最適化されていないパラメータではせっかく利益を取りこぼし、不要な損失を抱えることになるでしょう。
そして銘柄や時間軸によっても調整しなければなりません。
「一部の相場については役に立つが、汎用的に通ずるパラメーターはよほどロジック自体が完成されていない限りほぼ存在しない」と思って良いはずです。
いわゆるカーブフィッティングですね。これ自体については「自分が儲けるために行う」のであれば問題ないしむしろ相場環境が変わったと思った時点で変更する柔軟さは必要だと思っています。
ですが「全銘柄対応」みたいなのを売りにして販売しているEAやロジックについては私のものも含め、一度立ち止まった方が良いでしょう。
いくらその際の損益グラフの伸びが素晴らしくても必ずカーブフィッティングやリペイントなどのトラップがあると疑うくらいがちょうどいいです。これは自分の作ったロジックにおいても同じです。

指標同士の組み合わせ

指標同士の組み合わせについては複数の目的が考えられます。

・フィルターとしての指標+売買に使用するための指標
・エントリーに使用するための指標+利確損切をするための指標

これ以外にも売買条件を独立した非対称なものにし、より相場への適応を高めることも可能です。
しかしカーブフィッティングを求めて複雑化しすぎると適用できる相場が限定されすぎて、一度崩れた際に対応できないという難点を抱えることになります。
こういった状況に対しては、
・特化したパフォーマンスを捨て汎用化させる
・それぞれの状況に特化した複数のストラテジーを用意し使い分ける
などの対策をすることによって軽減または相乗の可能性があります。
私はいくつものロジックをストックしているのはこういった状況に対応するためでもあります。
しかしその選択をするのは自分の判断になるため、ここは裁量要素が含まれます。ゆえに「半裁量」というタイトルで落ち着きました。

有料部分では組み合わせの例としてMAとRSIを用いた複合的なロジックの検証を簡易的にやっていきます。
noteについての質問などはTwitter(@lasthopelonger)までお問合せください。

ここから先は

10,486字 / 10画像

¥ 500

この記事が気に入ったらサポートをしてみませんか?