適応型移動平均(Adaptive Moving Average、AMA)は、ノイズの影響を受けにくい移動平均線を作成する時に使用され、トレンドを検知する際にラグが最小に抑えられるという特徴を持ちます。この指標は Perry Kaufman によって開発され、著書「Smarter Trading(賢いトレーディング)」で記述されています。
種々の平滑化アルゴリズムの欠点の1つに、突発的な価格の変化によって起こった不正のトレンドシグナルの発生があります。言い換えれば、平滑化処理はトレンドに対してラグが避けられないということでもあります。この指標はこれらの2つの欠点を克服するために開発されました。
この指標の売買シグナルはMQL5Wizardでエキスパートアドバイザーを作成してテストすることが出来ます。 |
---|
現在の相場の状態を決定するため、Kaufmanは効率比(Efficiency Ratio、ER)というものを紹介しています。ERは下記の公式で計算されます。
ER(i) = Signal(i)/Noise(i)
ここで
ER(i) — 効率比の現在値
Signal(i) = ABS(価格(i) - 価格(i - N)) — 現在のシグナルの値, 現在の価格とN本前の価格の差の絶対値
Noise(i) = Sum(ABS(価格(i) - 価格(i-1)),N) — 現在のノイズの値, 現在の価格とN本前の価格の差の絶対値の合計
強いトレンド相場では、効率比(ER)は1に近づきます。方向性がない時は 0 に近づきます。ERから得られた値は指数平滑化に使用されます。
EMA(i) = 価格(i) * SC + EMA(i-1) * (1 - SC)
ここで
SC = 2/(n+1) — EMA定数、n期間による指数移動平均
EMA(i-1) — 1つ前のEMAの値
値動きの早い相場の平滑比率は2で(高速SC = 2/(2+1) = 0.6667)、トレンドがない相場の平滑比率は30(低速SC = 2/(30+1) = 0.06452)です。ここで、新しい平滑化定数(scaled smoothing constant、SSC)が導入されます。
SSC(i) = (ER(i) * (高速SC - 低速SC) + 低速SC
または
SSC(i) = ER(i) * 0.60215 + 0.06425
平滑化定数をより効率的にするために、Kaufmanはこれを二乗することを推奨しています。
最終的な公式は下記です。
AMA(i) = 価格(i) * (SSC(i)^2) + AMA(i-1)*(1-SSC(i)^2)
もしくは(変形)
AMA(i) = AMA(i-1) + (SSC(i)^2) * (価格(i) - AMA(i-1))
ここで
AMA(i) — AMAの現在値
AMA(i—1) — 1つ前の AMAの値
SSC(i) — 平滑化定数の現在値です。