エラーズ・フィッシャー トランスフォーマー 取引戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-08 16:51:10
タグ:

img

概要

この戦略は,技術分析のマスターであるジョン・エラーズによって設計されたフィッシャー・トランスフォーム指標をベースに,ロング/ショート取引の価格傾向逆転点を自動的に識別する.その最大の利点は,価格逆転の正確性とタイミングです.

戦略の論理

この戦略は,フィッシャー変換式を使用して価格を標準化し,ガウス分布に近い価格配列を生成する.フィッシャー変換式は: y = 0.5 * ln ((((1+x) / (((1-x)).この変換を通じて,価格極端は比較的希少なイベントに変換される.最新のフィッシャー変換値が前期よりも高く/低いとき,それは潜在的な価格逆転を示唆する.この戦略は,この指標のターニングポイントに基づいて取引信号を生成する.

具体的には,戦略のステップは以下のとおりです.

  1. 中間価格 HL2 を計算する.
  2. 長度期間の最高価格xMaxHと最低価格xMinLを計算する.
  3. 標準価格 nValue1=(xHL2 - xMinL) / (xMaxH - xMinL) - 0.5 を計算する.
  4. nValue1をスムーズに nValue2を得るため,極端な状態を防ぐ.
  5. フィッシャー変換式を nValue2 に適用してフィッシャー指標 nFish を得ます.
  6. nFishを前の値と比較して,ターンが起きたかどうかを判断し,取引方向posを設定します.
  7. 取引シグナルを生成するために POSに基づいて長/短ポジションを設定します.

利点分析

この戦略の最大の利点は,取引信号の正確性とタイミングである.フィッシャー変換価格配列がガウス分布に近似しているため,フィッシャー指標によって価格逆転が迅速に識別され,反応することができる. これにより,逆転機会の間に合う把握が保証される.さらに,エラーズ・フィッシャー変換自体も高度に信頼性の高い逆転信号のために広く検証されている.

リスク分析

この戦略の最大のリスクは,フィッシャー変換価格配列が理論的なガウス分布に完全に適合しない可能性があることです.ギャップのような異常な市場変動は,フィッシャー指標が誤った信号を生成させる可能性があります.これらの信号を盲目的に取引すると大きな損失を引き起こす可能性があります.

このリスクを軽減するために,他の指標を組み合わせてシグナルをフィルタリングし,異常な市場での取引を避けます.また,取引頻度とサイズを減らすためにパラメータを微調整することができます.

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

この戦略は,次の側面で最適化できます.

  1. "長さ"パラメータを最適化して,異なる市場条件に最適な組み合わせを見つけます.
  2. ダウンサイドを制限するためにストップ・ロスのメカニズムを追加する.
  3. 異常な市場での不正な取引を避けるために取引フィルターを追加します.
  4. 信号の正確性を向上させるため,他の指標と組み合わせます.

結論

この戦略は,タイムリーなトレードエントリのための価格逆転点を迅速かつ正確に特定するために,エラーズフィッシャー変換指標を利用する.その最大の強みは,取引信号の正確性とタイムリー性にある.また,緩和するためにパラメータ調節と取引規則最適化が必要なリスクもあります.全体的にこの戦略はさらなる研究と適用を保証します.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/12/2016
// 	Market prices do not have a Gaussian probability density function
// 	as many traders think. Their probability curve is not bell-shaped.
// 	But trader can create a nearly Gaussian PDF for prices by normalizing
// 	them or creating a normalized indicator such as the relative strength
// 	index and applying the Fisher transform. Such a transformed output 
// 	creates the peak swings as relatively rare events.
// 	Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
// 	The sharp turning points of these peak swings clearly and unambiguously
// 	identify price reversals in a timely manner. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Fisher Transform Indicator by Ehlers Backtest", shorttitle="Fisher Transform Indicator by Ehlers")
Length = input(10, minval=1)
reverse = input(false, title="Trade reverse")
xHL2 = hl2
xMaxH = highest(xHL2, Length)
xMinL = lowest(xHL2,Length)
nValue1 = 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 =   iff(nValue1 > .99,  .999,
	         iff(nValue1 < -.99, -.999, nValue1))
nFish = 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
pos = iff(nFish > nz(nFish[1]), 1,
	   iff(nFish < nz(nFish[1]), -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nFish, color=green, title="Fisher")
plot(nz(nFish[1]), color=red, title="Trigger")

もっと