Type/to search

能動的適応型定量グリッド取引戦略

Common strategy
Created: 2024-02-02 18:08:22
Last modified: 3 years ago
1
Follow
1802
Followers

img

概要

本戦略は、動的に調整される取引グリッドを構築することで、変動相場において安定的な利益を実現します。戦略は設定されたグリッド数に基づいて、グリッド間隔と上下限価格を自動計算します。価格が各グリッドラインを突破すると、段階的に買いまたは売りのポジションを構築します。価格が元のグリッドラインに再びタッチすると、段階的に利益確定してポジションをクローズします。本戦略は手動および自動のグリッドパラメータ調整の両方をサポートし、市場環境の変化に適応できます。

戦略の原理

  1. 入力パラメータに基づいて、グリッドの境界とグリッドラインの価格配列を計算します。

  2. 価格が特定のグリッドラインを下回り、そのグリッドラインに対応する注文がない場合、そのグリッドラインの価格で買い注文を発注します。価格が前のグリッドライン(最初を除く)を上回り、前のグリッドラインに対応する保有ポジションが存在する場合、前のグリッドラインに対応する買いポジションを決済します。

  3. グリッドパラメータの自動調整が有効な場合、直近の一定数のローソク足データに基づいて、定期的にグリッドの上下限価格、グリッド間隔、およびグリッド配列を再計算します。

優位性分析

  1. 変動相場における利益獲得目標を達成します。相場が上昇または下降する中で、異なる価格帯で段階的にポジションを構築し、利益確定してクローズすることで、全体的に利益を実現します。

  2. グリッドパラメータを手動または自動で調整するオプションがあります。手動調整は人間の介入が必要ですが、より制御しやすいです。自動調整は操作の負担を軽減し、戦略が市場環境の変化に適応できるようにします。

  3. 最大グリッド数を制限することで、片方向のリスクをコントロールできます。価格がすべてのグリッドラインを突破すると、その方向のリスクは抑制されます。

  4. グリッド間隔を調整することで、1注文あたりの損益幅をコントロールできます。グリッド間隔を狭くすると、1回あたりの損益を小さくできます。

リスク分析

  1. 大幅な変動相場では、アービトラージ(裁定取引)のリスクがあります。価格が複数のグリッド間を急速に行き来する場合、裁定取引のリスクに直面する可能性があります。

  2. 初期資金量を適切に設定する必要があります。初期資金が不十分だと、十分な数のグリッドラインをサポートできません。

  3. グリッド数が多すぎる、または少なすぎる場合、戦略の収益に悪影響を及ぼします。グリッド数が少なすぎると変動を十分に活用できず、多すぎると1回あたりの損益が小さくなります。最適なパラメータを見つけるためにテストが必要です。

  4. グリッドパラメータの自動調整には、操作されるリスクがあります。グリッドパラメータの計算は一定数のローソク足データに依存するため、短期的な操作の影響を受ける可能性があります。

最適化の方向性

  1. ストップロスロジックの追加。例えば、トレーリングストップやフォローストップを設定し、片方向の損失リスクをさらに抑制します。

  2. アルゴリズムを導入してグリッドパラメータを最適化。異なる市場段階でのパラメータ設定をテストし、機械学習手法でモデルをトレーニングすることで、パラメータの自動最適化を実現できます。

  3. より多くの指標を組み合わせて相場を判断。例えば、MACDやKDなどで現在が上昇トレンドか下降トレンドかを判断し、グリッド数やパラメータを調整します。

  4. ドローダウン制御の最適化。最大ドローダウン率を設定し、閾値に達したら戦略を停止して、損失の拡大を防ぎます。

まとめ

本戦略は変動相場の特性を最大限に活用し、動的グリッド取引によって安定的な利益達成を実現します。戦略はパラメータ設定の柔軟性を考慮しつつ、操作の負担も軽減します。変動相場において、本戦略は理想的な利益選択肢と言えます。将来のさらなる最適化により、戦略の適用範囲を広げ、ドローダウン制御を改善し、より持続可能で安定した収益を生み出すことができます。

Source
Pine
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("(IK) Grid Script", overlay=true, pyramiding=14, close_entries_rule="ANY", default_qty_type=strategy.cash, initial_capital=100.0, currency="USD", commission_type=strategy.commission.percent, commission_value=0.1)
i_autoBounds    = input(group="Grid Bounds", title="Use Auto Bounds?", defval=true, type=input.bool)                             // calculate upper and lower bound of the grid automatically? This will theorhetically be less profitable, but will certainly require less attention
i_boundSrc      = input(group="Grid Bounds", title="(Auto) Bound Source", defval="Hi & Low", options=["Hi & Low", "Average"])     // should bounds of the auto grid be calculated from recent High & Low, or from a Simple Moving Average
Strategy parameters
Strategy parameters
Grid Bounds
Use Auto Bounds?
(Auto) Bound Source
(Auto) Bound Lookback
(Auto) Bound Deviation
(Manual) Upper Boundry
(Manual) Lower Boundry
Grid Lines
Grid Line Quantity
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)