技術指標2-MACD(移動平均重合/拡散指数)


移動平均
移動平均は、移動価格の適切な平均値を数学的に計算します.トレンドの範囲やずれなどを決定する方法はいくつかあります.最も代表的な移動平均技術はSMAとEMAである.
単純移動平均(SMA)
単純移動平均は最も基本的な移動平均計算方法であり,過去一定日数の価格を加算し,その日数で計算する.
SMA(N)=前日の平均価格=前日の合計価格/N
単純移動平均線を20日と5日に描きます.
import matplotlib.pyplot as plt
import mplfinance as mpf
import numpy as np

df['SMA20'] = df['close'].rolling(20).mean()
df['SMA5'] = df['close'].rolling(5).mean()

df_draw = df[-200:]

adps = []
adps.append(
   mpf.make_addplot(df_draw['SMA20'],panel=0,type='line'))
adps.append(
   mpf.make_addplot(df_draw['SMA5'],panel=0,type='line'))


fig, axs = mpf.plot(df_draw, style='charles', figratio=(3,2),figscale=1.5, addplot=adps, returnfig=True)

axs[0].legend(['SMA20', 'SMA5'])

EMA(指数移動平均値)
SMAとは異なり、EMAは最近の価格を重み付けして移動平均値を計算する方法である.
EMA=(定価) α)+(前日のEMA∮α))(定価alpha)+(一昨日EMA*(1-alpha)(定価) α)+(前日のEMA∮α))
α\alphaα = 2/(持続時間+1)
式から見ると,EPの期限が長ければ長いほどその値は小さくなる.また、EMA値は従来のEMAのEP比率のように現在値を反映するため、最近は平均値に近いほど重み付け値が大きくなる.子供自身を知る必要はない.ただ、最近の傾向をより反映していることが理解でき、以下のように簡単に符号化で表すことができる.
指数移動平均線を20日と5日に描く.
import matplotlib.pyplot as plt
import mplfinance as mpf
import numpy as np

df['EMA20'] = df['close'].ewm(20, adjust=False).mean()
df['EMA5'] = df['close'].ewm(5, adjust=False).mean()

df_draw = df[-200:]

adps = []
adps.append(
   mpf.make_addplot(df_draw['EMA20'],panel=0,type='line'))
adps.append(
   mpf.make_addplot(df_draw['EMA5'],panel=0,type='line'))


fig, axs = mpf.plot(df_draw, style='charles', figratio=(3,2),figscale=1.2, addplot=adps, returnfig=True)

axs[0].legend(['EMA20', 'EMA5'])

SMAは5日線に比べて、最近の価格で移動している感じがします.
MACD(移動平均収束/拡散指数)
MACDとは?
移動平均収束、拡散指数はトレンドの強度を測定します.価格方向を示す他の指標とは異なり、MACDはトレンド基準の方向を示している.
MACD(12, 26) = EMA12 - EMA26
一般説明MACDは以下の通り.
  • MACD増加すると
  • に上昇傾向にある.
  • は負数から正の値に変化し、上昇時に傾向が変化し、
  • と評価する.
    短期指数平均-長期指数平均を考えてみましょう.MACDが0であることは、長期基準の価格と短期基準の価格が同じであることを意味する.また、正の値を持つことは短期平均が長期平均より高いことを意味し、これは最近の価格の動きが過去より高い場所で形成されていることを意味している.
    import matplotlib.pyplot as plt
    import mplfinance as mpf
    import numpy as np
    
    df['EMA12'] = df['close'].ewm(12, adjust=False).mean()
    df['EMA26'] = df['close'].ewm(26, adjust=False).mean()
    
    df['MACD'] = df['EMA12'] - df['EMA26']
    
    df_draw = df[-500:]
    
    adps = []
    adps.append(
        mpf.make_addplot(df_draw['EMA12'],panel=0,type='line'))
    adps.append(
        mpf.make_addplot(df_draw['EMA26'],panel=0,type='line'))
    adps.append(
        mpf.make_addplot(df_draw['MACD'],panel=1,type='line', ylabel='MACD'))
    adps.append(
        mpf.make_addplot(np.zeros((len(df_draw))), panel=1,type='line', color='red', linestyle='dotted',secondary_y=False))
    
    
    fig, axs = mpf.plot(df_draw, style='charles', figratio=(4,3),figscale=1.5, addplot=adps, returnfig=True)
    
    axs[0].legend(['EMA12', 'EMA26'])

    MACD Signal
    MACD信号(9)=MACDの9日間単純移動平均線
    MACD(12,26,9)では、MACDは上記のようにして得ることができ、このMACDの9日間の指数移動平均線でMACD信号を得ることができる.
    import matplotlib.pyplot as plt
    import mplfinance as mpf
    import numpy as np
    
    df['EMA12'] = df['close'].ewm(12, adjust=False).mean()
    df['EMA26'] = df['close'].ewm(26, adjust=False).mean()
    
    df['MACD'] = df['EMA12'] - df['EMA26']
    
    df['MACD_Signal'] = df['MACD'].ewm(9, adjust=False).mean()
    
    df_draw = df[-500:]
    
    adps = []
    adps.append(
        mpf.make_addplot(df_draw['EMA12'],panel=0,type='line'))
    adps.append(
        mpf.make_addplot(df_draw['EMA26'],panel=0,type='line'))
    adps.append(
        mpf.make_addplot(df_draw['MACD'],panel=1,type='line', ylabel='MACD'))
    adps.append(
        mpf.make_addplot(df_draw['MACD_Signal'],panel=1,type='line', color='orange',secondary_y=False))
    adps.append(
        mpf.make_addplot(np.zeros((len(df_draw))), panel=1,type='line', color='red', linestyle='dotted',secondary_y=False))
    
    
    fig, axs = mpf.plot(df_draw, style='charles', figratio=(4,3),figscale=1.5, addplot=adps, returnfig=True)
    
    axs[0].legend(['EMA12', 'EMA26'])
    axs[2].legend(['MACD', 'MACD_SIGNAL'])

    MACD信号を用いてこの点を説明した.
  • MACDを増えれば,上昇局面,特に0未満が正の値になると傾向が変化したと考えられる.
  • MACDは信号が上に突き進むと上昇信号、下に突き進むと下降信号です.
  • もちろん、上記の規定に従って取引を行うと、現在は収益を創出することは難しい.よく知られている戦略は、多くの人がこの方法で差額を得たとき、
    パターンが破られるからです.△買収、売却はグラフのパターンを変える.しかし、この変化は別のパターンを生み出し、このパターンでお金を稼ぐ人も生まれます.つまり、私的な見解だが、この世界には金儲けの魔法の公式戦略は永遠に存在しない.そして、いつもその時点でお金を稼ぐ戦略(モデル)があります.
    MACDとMACD信号を利用した投資戦略
    MACD信号の上方突破と下方突破は直感的に上線図でははっきり見えないので,棒グラフでオシロスコープに2つの違いを示した.
    import matplotlib.pyplot as plt
    import mplfinance as mpf
    import numpy as np
    
    df['EMA12'] = df['close'].ewm(12, adjust=False).mean()
    df['EMA26'] = df['close'].ewm(26, adjust=False).mean()
    
    df['MACD'] = df['EMA12'] - df['EMA26']
    
    df['MACD_Signal'] = df['MACD'].ewm(9, adjust=False).mean()
    df['MACD_OSC'] = df['MACD'] - df['MACD_Signal']
    
    df_draw = df[-500:]
    
    adps = []
    adps.append(
        mpf.make_addplot(df_draw['EMA12'],panel=0,type='line'))
    adps.append(
        mpf.make_addplot(df_draw['EMA26'],panel=0,type='line'))
    adps.append(
        mpf.make_addplot(df_draw['MACD'],panel=1,type='line', ylabel='MACD'))
    adps.append(
        mpf.make_addplot(df_draw['MACD_Signal'],panel=1,type='line', color='orange',secondary_y=False))
    adps.append(
        mpf.make_addplot(np.zeros((len(df_draw))), panel=1,type='line', color='red', linestyle='dotted',secondary_y=False))
    adps.append(
        mpf.make_addplot(df_draw['MACD_OSC'],panel=1,type='bar', color='green',secondary_y=False))
    
    
    fig, axs = mpf.plot(df_draw, style='charles', figratio=(4,3),figscale=1.5, addplot=adps, returnfig=True)
    
    axs[0].legend(['EMA12', 'EMA26'])
    axs[2].legend(['MACD', 'MACD_SIGNAL'])

    今、各指標にはどんな意味がありますか.どのようにこれらの指標を利用して取引をすれば、娼妓を創造することができますか.自分の戦略を考え出してほしいです.