トレーディングビューにはパインスクリプトというプログラミング言語が実装されています。。このパインスクリプトを用いてヒンデンブルグオーメンを再現してみました。

ヒンデンブルグオーメンとは

ヒンデンブルグオーメンとは、相場のピークで暴落の前兆を捉える指標のことです。かつてはeワラント証券がホームページで公表していましたが、昨年末を持って公表を取りやめてしまいました。このため、各自で計算して推計する必要が出てきています。eワラント証券がかつて公表した計算方法のペーパーによると、計算方法は次のようになっています。

  1. (# of New 52W Highs)/(# Advancing + # Declining)>.022 AND (# of New 52W Lows) /(# Advancing + # Declining)>.022
  2. (.NYA Close Price)t0 / (.NYA Close Price)t-50 > 1
  3. (McClellan Oscillator) < 0
  4. (# of New 52W Highs / # of New 52W Lows) < 2

それでは各条件式を見ていきます。

1 新高値と新安値を更新した銘柄がそれぞれ2.2%以上

この条件は相場のピークで起こる典型的な事象です。 lpplsモデルの記事でもご紹介しましたが、相場の最終局面では価格の振幅が非常に大きくなります。このため。最高値を更新する銘柄が非常に増えたり、最安値を更新する銘柄が逆に非常に増えたりします。これらの銘柄数が一定以上の閾値を超えると、暴落の前兆と判断します。この一定の閾値については、標準では2.2%となっていますが、2.8%としたりするものもあり、私は若干条件を緩めにして2%に設定しています。

パインスクリプトでは次のように表現します。

//@version=5
indicator("Hindenburg Omen",shorttitle="HOmen",overlay=false)
NEWHLtoALL = input.float(.022, "2.2%", minval=-.0, maxval=0.04, step=0.002)

NEWH=request.security("INDEX:MAHN", "1D",close)
NEWL=request.security("INDEX:MALN", "1D",close)

から始まり。始まり。

ADV=request.security("INDEX:NSHU","1D",close)
UNC=request.security("INDEX:UNCN","1D",close)
DEC=request.security("INDEX:NSHD", "1D",close)

TOTAL=ADV+DEC+UNC

COND1= ( (NEWH/TOTAL)>NEWHLtoALL and (NEWL/TOTAL)>NEWHLtoALL)?1:0

または。

ADV2= request.security("USI:ADV","1D", close)
UNC2= request.security("USI:UNCH.NY","1D", close)
DEC2= request.security("USI:DECL","1D", close)

TOTAL2=ADV2+DEC2+UNC2

COND1= ( (NEWH/TOTAL2)>NEWHLtoALL and (NEWL/TOTAL2)>NEWHLtoALL)?1:0

なぜ2パターンあるかというと、トレーディングビューで参照できる指標が2通りあるからです。最初のパターンはトラッキングできる時系列データの期間が短いので、後者のパターンを私は採用しています。

2 ニューヨーク証券取引所株価指数が50日前より高い

2つ目の条件です。株価指数は50日前。株価指数は50日前より高くなっているということがピークをつけるためには必要です。

INDEX=request.security("NYA", "1D",close)

//Condition 2: Index is higher or equal in value than when it was 50 days ago.
COND2=(INDEX>INDEX[50])?1:0

3 マクラレンオシレーターがマイナス

マクレラン・オシレーター(McClellan Oscillator)は、「二つの差(値上がり銘柄数-値下がり銘柄)」の短期指数移動平均(推奨値:19日)と長期指数移動平均(推奨値:39日)を求め、この二つの移動平均値の差から、短期の騰落傾向を見るテクニカル指標です。短期のオシレーターはマイナスに転じるという相場のピークにおける特徴をうまく表したものです。

//McClelland Oscillator
RANA=1000*((ADV2-DEC2)/(ADV2+DEC2))
MA1=ta.ema(RANA,19), MA2=ta.ema(RANA,39)
MCC=MA1-MA2

//Condition 3: McClelland Oscillator must be negative.
COND3=(MCC<0)?1:0

4 52週高値銘柄数が52週安値銘柄数の2倍未満

暴落前には大きな上昇は起きませんから、52週高値をつけた銘柄数も 52週安値の銘柄の2倍以内でないといけないという条件です。私はシュミレーションした結果、1.5倍以内という値に調整しています。

HtoL = input.float(2, "2", minval=-0, maxval=4, step=0.1)

//Condition 4: The ratio of New 52W Highs to New 52W Lows cannot exceed 2

COND4=((NEWH/NEWL)<HtoL)?1:0


条件を満たした場合のプロット

条件を満たした場合には、アクアカラーの縦線を入れて、30日以内はこの警告が継続するという設定にしております。

ALL4=(COND1+COND2+COND3+COND4)
HOmen= (ALL4==4?1:0)

//Plots the Hindenburg Signal above bar

plot((ALL4==4?close:na),color=color.aqua, linewidth=1, style=plot.style_histogram)

//Hindenburg Omen Signal Period of 30 days
test=ta.barssince(HOmen==1)<=30?1:na
bgcolor(test == 1 ? color.new(color.aqua,85) : na, editable=true)

ビットコイン

トレーディングビューでビットコインの週足チャートにヒンデンブルグオーメンを図示してみました。下記の黄色い部分は金星逆行です。このようにヒンデンブルグオーメンだけでなく、他の指標と組み合わせるとより予測の精度が上がります。この前記事にした。 lpplsモデルとも組み合わせると、相場の転換点をかなり高い確率で的中させることができるようになります。

image

イーサリアム

image

ポリゴン

image

ダウ平均

ヒンデンブルグオーメンが元にしている指標はニューヨーク株式市場ですから。ダウ平均の転換点の予測が最も正確になります。

image

テスラ

image

ドキュワーク

特に、ドキュワークスなどの大暴落したテック株を取引する上では、このヒンデンブルグオーメンは必須です。ピークを逃してしまうと回復不能な大暴落に巻き込まれて資産を失うことになってしまいます。

image

カーバナ

image

まとめ。

ここまでヒンデンブルグオーメンによるチャート分析をしてみました。ご紹介したパインスクリプトのコードはトレーディングビューで誰でも適用して分析に活用することができます。ヒンデンブルグオーメンを公表しているサイトがなくなったからといっても諦めることなく、各自で分析して、より精度の高い分析ができるようになると投資成績も向上することが見込まれます。引き続き私もヒンデンブルグオーメンを相場のピークの予測に活用して、投資をしていきたいと思います。