複数のパーセント利確エグジット戦略
概要
この戦略は、複数のパーセンテージ利確(exit)を設定する機能を実装しています。まず、ロング・ショートの条件を判断し、エントリーを行います。次に、カスタム関数 percentAsPoints を使用してパーセンテージを価格ポイントに変換します。プログラムは、設定された1%、2%、3%、4%の利確パーセンテージに基づいて4つの exit を設定し、同時に汎用的な2%のストップロス exit も設定します。これにより、複数のパーセンテージ利確が実現されます。
戦略の原理
この戦略は主に SMA 移動平均線のクロスオーバーを使用してエントリーを判断します。具体的には、短期線 SMA(14) が長期線 SMA(28) を上抜けたときにロングエントリー、短期線 SMA(14) が長期線 SMA(28) を下抜けたときにショートエントリーを行います。
では、複数のパーセンテージ利確 exit をどのように設定するのでしょうか?ここではカスタム関数 percentAsPoints を使用してパーセンテージを価格ポイントに変換します。関数のロジックは次の通りです:
percentAsPoints(pcnt) =>
strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
この関数は、ポジションサイズが0でない場合、パーセンテージにポジション平均価格を掛け、最小ティックサイズで割った値を四捨五入して価格ポイントを取得します。ポジションが0の場合は na を返します。
この関数を使えば、パーセンテージを簡単にポイントに変換できます。そして、プログラムは設定された1%、2%、3%、4%の利確に基づいて4つの exit を設定します:
lossPnt = percentAsPoints(2)
strategy.exit("x1", qty_percent = 25, profit = percentAsPoints(1), loss = lossPnt)
strategy.exit("x2", qty_percent = 25, profit = percentAsPoints(2), loss = lossPnt)
strategy.exit("x3", qty_percent = 25, profit = percentAsPoints(3), loss = lossPnt)
strategy.exit("x4", profit = percentAsPoints(4), loss = lossPnt)
同時に、すべての exit で共通の2%ストップロス(loss)を使用します。これにより、複数のパーセンテージ利確が実現されます。
優位性の分析
この複数パーセンテージ利確戦略には以下のような優位性があります:
-
段階的に利確できるため、より大きな利益を得る機会を逃しにくくなります。一般的に、後半の利確幅ほど大きく、リスクも高くなりますが、この戦略でリスクとリターンのバランスを取ることができます。
-
分割して利確することで元本を回収し、リスクを低減できます。例えば、25%ずつ分割し、利益が1%に達した時点で元本の4分の1を回収でき、その後は利益で運用できます。
-
異常な相場でのストップロスを防止できます。2%のストップロスにより、極端な相場変動による大きな損失を回避できます。
-
コードの実装がシンプルで明確であり、理解しやすく、修正や最適化が容易です。カスタム関数でパーセンテージをポイントに変換し、数行のコードで複数の利確を設定できます。
リスク分析
この戦略には以下のようなリスクもあります:
-
パーセンテージ利確は、価格が利確価格付近で往復するレンジ相場を形成しやすくなります。その場合、利確とストップロスが頻繁に発生し、取引回数と手数料負担が増加します。
-
分割利確により取引回数が増え、手数料負担も増加します。手数料が高すぎると、利確による利益の一部が相殺される可能性があります。
-
利確ポイントの設定が適切でないと、収益率に影響を与えます。保守的に設定しすぎると満足な収益を得られず、積極的に設定しすぎるとリスクが高まります。
-
固定パーセンテージ利確は、市場のボラティリティやトレンド性を考慮していません。レンジ相場では利確幅を狭くし、トレンド相場では利確幅を広げるべきです。
最適化の方向性
上記のリスクを考慮し、以下のような点で最適化を進めることができます:
-
利確戦略を最適化し、市場のボラティリティやトレンドに応じて自動調整できるようにする。例えば、ATRを用いた利確を導入し、レンジ相場では利確を引き締め、トレンド相場では緩和する。
-
分割利確の割合や幅を最適化し、リスク・リターンの最適な組み合わせを実現する。パラメータ最適化機能を追加して最適なパラメータを探す。
-
利確回数を減らし、過度な取引を避ける。例えば、価格バッファーを設定し、一定の幅を超えた場合のみ利確する。
-
手数料を考慮し、予想利確利益が手数料を下回る場合は利確しない。または、手数料に応じて利確幅を最適化する。
-
板利確(オーダーブック利確)を利用する。デプス優先・価格優先のオファーに基づき、指値価格の移動を避ける。
まとめ
この戦略は複数のパーセンテージ利確を実現し、1%、2%、3%、4%の4つの利確 exit を設定することで段階的に利確できます。同時に2%のストップロスにより異常な相場での大きな損失を防ぎます。この戦略はリスクとリターンのバランスをとり、より大きな利益を逃すリスクを軽減します。ただし、レンジ相場を形成しやすくなったり、取引回数が増加するなどのリスクもあります。これらの提案を戦略に取り入れて最適化し、より多くの市場で安定的に運用できるようにすることが推奨されます。
- 1

