影線に基づく反転高周波取引戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-24 11:39:31
タグ:

img

概要

コインベース取引所の3分間のK線をベースとした高周波取引戦略である.短期的には逆転の機会があるかどうかを判断するために,Kラインの上下の影線を計算する.価格の上昇または減少が比較的大きいとき,戦略は短期的な逆転を期待して,トレンドに逆の位置を取る.

原則

この戦略は,主に短期的に"過剰購入"または"過剰販売"の機会があるかどうかを判断する. "過剰売買および過剰購入"は,通常,市場の過度に楽観的または悲観的な感情から生じる.そのような一時的な感情的不均衡が発生すると,価格は通常逆転する.

特に,戦略はK線上下下の影線の大きさを計算する.影線が大きいほど,現在のK線閉じる前に購入力と販売力の対立が激しくなる.上部の影線が大きすぎると,多くの購入注文がK線閉じる前に販売注文で倒されたことを意味し,上昇力が弱まる寸前であることを示します.下部の影線が大きすぎると,多くの販売注文がK線閉じる前に購入注文で吸収されたことを意味し,下降力が弱まる寸前であることを示します.

この論理によれば,シャドーラインが大きすぎると (つまり,価格が短期的には"過買い"または"過売り"のように見える場合),ストラテジーはトレンドに逆のポジションを取ることを選択する.ロングポジションを確立するためのストップ・ロスの価格は,下のシャドーラインの真ん中の価格であり,ショートポジションを確立するためのストップ・ロスの価格は,上部のシャドーラインの真ん中の価格である.

利点分析

この戦略の最大の利点は,市場における短期的な不合理の変動をリバース・アービタージを達成するために活用することです.高効率を達成するには比較的少ない資本しか必要ありません.

コインベースは,変動が大きい取引所である.この戦略は,変動する価格を利用して利益を得ています.

リスク分析

この戦略が直面する最大のリスクは,短期間の価格変動は予測ができない可能性があることです.上下の影線の大きさは,価格逆転に関するすべての情報を完全に捉えることができないかもしれません.トレーダーの不合理な感情も論理的ルールに従わないかもしれません.したがって,この戦略にはまだいくつかのランダム性リスクがあります.

また,ストップ・ロストポイントの設定も極めて重要です.ストップ・ロストポイントが緩すぎると戦略の損失が増加する可能性があります.ストップ・ロストポイントが厳しくすぎると機会が逃れることがあります.リスク・リターン比率と勝利率のバランスが求められます.

オプティマイゼーションの方向性

この戦略は,次の次元でさらに最適化できます.

  1. より不安定な暗号通貨などの異なる取引品種をテストします
  2. ストップ・ロスト・ポイントの設定ロジックを最適化します.例えば,ストップ・ロストとATRを組み合わせると
  3. 価格逆転の確率を判断するために機械学習モデルを追加する
  4. 市場楽観主義/悲観主義指数を測定するために 感情指標を組み合わせる
  5. ポジションサイズとマネーマネジメント戦略を最適化

概要

概して,この戦略は典型的な統計的仲介戦略である.短期間の不合理な価格変動を利用して利益を得ようと試み,ある程度の論理と可行性がある.次のステップは,パラメータ設定と戦略の取引ルールをより科学的で体系的にするために,より多くの次元から最適化実験を実施することである.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//for coinbase, 3min logic
//This strategy trades against the short term trend. The first position can be either long or short.
//In the short term, prices fluctuate up and down on wide spread exchanges.
//And if the price moves to one side, the price tends to return to its original position momentarily.
//This strategy set stop order. Stop price is calculated with upper and lower shadows.

strategy("ndb_mm_for_coinbase_btcusd", overlay=true, initial_capital=100000, slippage=50)

fromyear = input(2019, minval = 2017, maxval = 2100, title = "From Year")
frommonth = input(12, minval = 1, maxval = 12, title = "From Month")
fromday = input(1, minval = 01, maxval = 31, title = "From day")
toyear = input(2100, minval = 1900, maxval = 2100, title = "To Year")
tomonth = input(12, minval = 01, maxval = 12, title = "To Month")
today = input(31, minval = 01, maxval = 31, title = "To day")
end = true

length = input(3, title="period")
mag = input(1.2, title="sigma", minval=0.1, step=0.1)

up_shadow = abs(high - max(open, close))
dn_shadow = abs(low - min(open, close))

up_shadow_ma = sma(up_shadow, length) * mag
dn_shadow_ma = sma(dn_shadow, length) * mag

upper = close + dn_shadow_ma
lower = close - up_shadow_ma

plot(upper, color=red)
plot(lower, color=blue)

if strategy.position_size == 0
    strategy.entry("Long", strategy.long)

if 0 < strategy.position_size
    strategy.entry("Short", strategy.short, stop=lower, when=end)

if 0 > strategy.position_size
    strategy.entry("Long", strategy.long, stop=upper, when=end)

もっと