レンジ相場のローソク足を用いた定量取引戦略
概要
本戦略はインジケータベースのモメンタム戦略であり、RSI、Stoch、MACDなどのオシレーター指標を用いて戦略の取引シグナルを構築します。戦略の主な考え方は、価格が揺れ動く際に指標を用いてトレンド方向を識別し、指標シグナルに従ってエントリーすることです。同時に、遅延スーパートレンド指標を利用してストップロスを設定します。
戦略原理
本戦略はまずカスタム関数f_getOscilatorValuesを呼び出して、RSI、Stoch、MACDなどの異なるオシレーター指標の値を取得します。次に、f_getSupertrend関数を介して遅延スーパートレンド指標の値を計算し、トレーリングストップロスに使用します。
指標を計算した後、戦略はf_getBuySellStops関数を呼び出し、指標値に基づいてエントリーストップロス水準と利食い水準を計算します。具体的には、ATR指標を計算し、ATRにストップロス係数を乗じたものをエントリーストップロス水準とし、ATRに利食い係数を乗じたものを利食い水準とします。トレンドが反転した場合、ストップロス水準と利食い水準は調整されます。
その後、戦略はローソク足の実体方向を判断し、上昇ローソク足の場合は緑色で、下降ローソク足の場合は赤色で描画します。ローソク足と指標を描画した後、戦略はエントリー条件を満たすかどうかを判断します。エントリー条件は、指標が買われ過ぎを示した場合に価格が上限バンドを上抜けたらロング、指標が売られ過ぎを示した場合に価格が下限バンドを下抜けたらショートします。さらに、戦略は高時間枠の移動平均線によるフィルター条件を導入しており、価格が移動平均線をブレイクしないとエントリーできません。
エントリー後、ストップロス水準はトレーリングされ、トレーリングストップロス水準は上限バンドまたは下限バンドのうち近い方になります。ストップロス水準に達した場合、ポジションはクローズされます。価格が利食い水準に達した場合、部分的に利食いします。
戦略の優位性分析
本戦略には以下の優位性があります。
- オシレーター指標を使用してトレンドの方向性を識別することで、市場の短期的な反転機会をタイムリーに捉えることができます。
- 遅延スーパートレンドによるストップロス戦略を適用することで、損失が拡大する前に損切りしてポジションをクローズし、1回の損失を限定できます。
- ATRに基づいてリスクを測定したストップロス水準と利食い水準を計算することで、ポジションサイズを動的に調整できます。
- 高時間枠の移動平均線と組み合わせてフィルタリングすることで、トレンドに逆らったポジションを避けられます。
- 部分的利食い戦略により、利益を伸ばしつつ一部の利益を確定できます。
- 戦略の考え方はシンプルかつ明確で、理解・実装が容易であり、定量取引の初心者に適しています。
戦略のリスク分析
本戦略には以下のようなリスクも存在します。
- オシレーター指標にはラグの問題があり、エントリーシグナルが遅れたり、エグジットシグナルが早すぎたりする可能性があります。これは指標パラメータを調整して最適化するか、トレンドフォローイング指標を追加して判断を補助することで改善できます。
- ストップロス水準が近すぎると、ブレイクされて損切りされる可能性があります。ストップロスの範囲を適度に広げるか、Chandelier Stopなどの動的ストップロス戦略を使用することで対応できます。
- 部分利食い後、残りのポジションがトレーリングストップロスに引っかかる可能性があります。部分利食いの割合を下げて余裕を持たせることができます。
- バックテストデータへのフィッティングリスクがあります。異なる市場で複数回検証し、過学習を避ける必要があります。
- 高時間枠の移動平均線をフィルター条件として使用しても、機能しなくなる可能性があります。トレンド分類などの手法を用いて大周期の動きを補助的に判断すべきです。
戦略の最適化方向
本戦略は以下の点から最適化が可能です。
- 異なるオシレーター指標のパラメータ組み合わせをテストし、良質なシグナルを提供する組み合わせ(例:高速KラインのStochなど)を選択します。
- 部分利食いをトレーリング利食いに変更し、ATRまたは移動平均線に基づいて利食い位置を設定することを試みます。
- 大周期のトレンド判断に機械学習アルゴリズムを導入し、高時間枠移動平均線フィルターに代わることで判断精度を向上させます。
- 出来高指標などをエントリーフィルター条件に追加し、不要な逆張り取引を避けます。
- 指標のアンサンブルと重み最適化を行い、現在の銘柄に最も適した指標の組み合わせを選別します。
- 機械学習のリスク管理モジュールを追加し、ストップロス水準、利食い水準、ポジションサイズなどを動的に最適化します。
- 三角裁定取引または先物現物裁定取引の取引シグナルを追加し、先物と現物の価格差から利益を得ます。
まとめ
本戦略は全体的に、定量取引の初心者が学ぶのに非常に適した戦略であり、考え方は明確で、キーポイントは指標分析とリスク管理にあります。ただし、実際の取引ではパラメータの最適化とリスク回避を行わなければ、安定したリターンを得ることはできません。また、トレンド判断、ストップロスの最適化、アンサンブル学習などの面から戦略を改善し、よりロバストなものにすることができます。総じて、本戦略は実行可能かつ最適化可能な戦略テンプレートとして非常に参考価値があります。
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HeWhoMustNotBeNamed
//@version=4- 1
