テクニカル

チャートの形に意味はあるのか。あるとしたら、どこまでか。

テクニカル分析は、過去の値動きと出来高から将来を推し量る手法。 この章ではまず仕組みを正確に理解し、次にその有効性を検証する。 順番を逆にすると、指標の意味も分からないまま 「効く/効かない」の言い合いになる。

結論を先に置いておく。 ここで扱う指標に、将来の価格を当てる力があるという確かな証拠はない。 それでも学ぶ意味がある理由は、章の後半で扱う。

良い成績は、予測力の証拠にならない。 情報がゼロの乱数データでも、1000本試せば「素晴らしい成績の1本」は必ず出る

移動平均

直近 n 日の終値を平均する。ノイズを削って方向を見やすくするのが目的。

単純移動平均(SMA) SMAn(t) = (Pt + Pt−1 + … + Pt−n+1) / n

これはローパスフィルタそのもの。 短い周期の変動を落とし、長い周期だけを通す。 n を大きくするほど滑らかになるが、 同時に反応が遅れる。この遅れは避けられない。

SMAの遅れ 平均的な遅れ ≒ (n − 1) / 2 日
  1. SMAは n 日分の終値を等しい重みで平均している
  2. 重みの重心は、区間の真ん中 — つまり (n−1)/2 日前
  3. だからSMAは実質「(n−1)/2 日前の価格水準」を表している
  4. 25日移動平均なら約12日の遅れ。トレンドの転換は必ず後から分かる

遅れを減らすため、新しい価格を重く見る指数移動平均(EMA)もある。

指数移動平均(EMA) EMA(t) = α × Pt + (1 − α) × EMA(t−1)
ただし α = 2 / (n + 1)
なぜ α = 2/(n+1) なのか
  1. EMAを展開すると、重みは α, α(1−α), α(1−α)², … と減衰する
  2. この重み列の重心(平均的な遅れ)を計算すると (1−α)/α
  3. SMAの遅れ (n−1)/2 と等しくなるよう置く: (1−α)/α = (n−1)/2
  4. 解くと α = 2/(n+1)

つまり「n日EMA」はn日SMAと同じ遅れを持つように調整したEMA という意味。EMAのほうが直近の価格に敏感だが、 平均的な遅れそのものは同じになるよう定義されている。

ゴールデンクロス

短期移動平均が長期移動平均を下から上に抜ける状態。 逆がデッドクロス。よく使われるのは25日と75日、または50日と200日。

これが何を意味しているかを正確に述べる。 短期線が長期線を上抜くということは、 直近25日の平均価格が直近75日の平均価格を上回った、 それだけ。将来についての情報は一切含まれていない。

よくある誤解 ゴールデンクロスは買いシグナル。上昇トレンドの始まりを教えてくれる
実際 すでに上がったという事実の要約。「トレンドの始まり」に見えるのは、上がり続けた例だけを後から見ているから

さらに、移動平均の遅れを思い出す。 25日線と75日線のクロスが起きる頃には、 平均12日と37日の遅れを持つ2本が交差している。 価格の転換点から数週間経っている。

ボリンジャーバンド

移動平均を中心に、標準偏差の倍数だけ上下に線を引く。 価格のばらつきの幅を可視化する。

ボリンジャーバンド 中心線 = SMAn
上バンド = SMAn + k × σn
下バンド = SMAn − k × σn

σ は直近 n 日の終値の標準偏差。k は通常2。 n は20が多い。

「±2σ の中に95%が収まる」は正規分布の話。 株価の日次変化率は正規分布ではなく、 裾が厚い(極端な値が理論より頻繁に出る)。 実際にバンドの外に出る頻度は5%より多い。

さらに σ は直近20日から推定した値であって、 真のばらつきではない。静かな20日間の後は σ が小さく推定され、 バンドが狭くなる。そこに大きな動きが来れば簡単に外れる。 「バンドウォーク」と呼ばれる現象は、この推定の遅れの現れ。

よくある誤解 −2σ に触れたら売られすぎ。反発を狙って買う
実際 −2σ を割るのは、ばらつきが拡大している最中でもある。下落が続く局面では下バンドに沿って落ち続ける

RSI

直近 n 日の値上がり幅と値下がり幅の比率を0〜100で表す。

RSI RS = n日の平均上昇幅 / n日の平均下落幅
RSI = 100 − 100 / (1 + RS)
  1. 各日の前日比を出し、プラスの日の上昇幅とマイナスの日の下落幅を分けて集計
  2. それぞれ n 日で平均する(Wilderの原式は平滑平均を使う)
  3. RS は「上げ幅は下げ幅の何倍か」。全部上げなら分母が0でRSは∞
  4. RSI = 100 − 100/(1+RS) は、RSを0〜100に押し込む変換
  5. RS = 1(上げ幅と下げ幅が同じ)のとき RSI = 50 になる

具体例:RSIを手で計算する

直近14日で、上昇した日が9日・合計上昇幅126円、 下落した日が5日・合計下落幅42円だったとする。

平均上昇幅 = 126 / 14 = 9.0円
平均下落幅 = 42 / 14 = 3.0円
RS = 9.0 / 3.0 = 3.0
RSI = 100 − 100/(1+3.0) = 100 − 25 = 75

分母を下落した日数ではなく期間の日数(14)で割る点に注意。 「上げの勢いが下げの3倍」という比率がそのまま指標になっている。

70以上で買われすぎ、30以下で売られすぎ、とよく言われる。 だがこの閾値に理論的な根拠はない。Wilder が経験的に選んだ数字。 強い上昇トレンドでは、RSIが70を超えたまま何週間も推移することが普通にある。

MACD

2本のEMAの差を取り、その差にさらにEMAをかける。

MACD MACD線 = EMA12 − EMA26
シグナル線 = MACD線の EMA9
ヒストグラム = MACD線 − シグナル線

MACD線は短期と長期の平均の差なので、 正なら短期が長期より上(上昇基調)、負なら逆。 ゴールデンクロスを連続的な数値にしたものだと考えてよい。

ヒストグラムはMACD線の変化の勢いを表す。 MACD線が上向きに加速していればヒストグラムは伸び、 勢いが鈍ればMACD線がプラスのままでもヒストグラムは縮む。

出来高・支持線・抵抗線

出来高

成立した株数。価格の動きに対する参加者の多さを表す。 出来高を伴わない値動きは、少数の注文で動いているので 板が薄いだけかもしれない。

「出来高を伴った上昇は信頼できる」と言われる。 これは検証しにくい主張だが、少なくとも 出来高が少ないときの価格には情報量が少ないのは構造上そうなる。

支持線と抵抗線

過去に何度も反発した価格帯が支持線、頭を抑えられた価格帯が抵抗線。 よく持ち出される説明は次の2つ。

支持線・抵抗線の最大の問題は後付けで引けてしまうこと。 チャートを見てから引けば必ず綺麗な線が引ける。 引く前に線を決めて、その後の値動きで検証する形にしない限り、 効いているのか、効いたところだけを見ているのかが分からない。

ここから検証に入る

仕組みは分かった。では効くのか。 金融論の中で最も検証が積み重ねられてきた領域なので、 分かっていることを整理する。

ウィーク型効率的市場仮説

市場効率性は、織り込まれている情報の範囲で3段階に整理される。

段階織り込み済みとされる情報効かなくなる分析
ウィーク型過去の価格・出来高テクニカル分析
セミストロング型公開情報すべて(決算・ニュース)ファンダメンタル分析
ストロング型内部情報を含むすべてすべて

テクニカル分析が対象にするのは過去の価格と出来高だけ。 つまり最も弱い段階の効率性が成り立つだけで、 原理的に超過リターンが出なくなる。

実証では、ウィーク型はおおむね成立するとする結果が多い。 ただし完全ではなく、モメンタム(前章で触れた)のように 過去の価格が将来のリターンと関係する現象も報告されている。 「完全に効率的」でも「明らかに非効率」でもない、というのが実情。

データマイニングの問題

仮に「効く」というバックテスト結果があったとして、 それがどれだけ信用できるか。ここが本題。

多重検定で偽の発見が出る確率 有意な結果が1つ以上出る確率 = 1 − (1 − α)m
  1. 1つのルールをテストして、偶然「有意」に見える確率を α = 5% とする
  2. そのルールが偶然「有意でない」確率は 95%
  3. m 個のルールが全部有意でない確率は 0.95m
  4. だから1つ以上有意に見える確率は 1 − 0.95ᵐ
  5. m = 20 で 64%、m = 100 で 99.4%

具体例:パラメータ探索という名の多重検定

「移動平均クロス」を最適化する。 短期を5〜50日(46通り)、長期を20〜200日(181通り)で総当たりする。 組み合わせは 8,326通り。

すべて無意味なルールだったとしても、 そのうち最も成績が良かった1つは必ず「素晴らしい成績」に見える。 8000回サイコロを振って、最も出目の良かった1回を選んでいるのと変わらない。

そして人は試した回数を報告しない。 「13日と48日のクロスが有効でした」という結論だけが残り、 その裏に8325回の失敗があったことは書かれない。

発表後の減衰

学術誌で発表されたアノマリーのリターンは、 発表後に平均でおよそ3〜5割減衰することが報告されている。

理由は単純で、知られた瞬間に取引されるから。 「毎月末に上がる」というパターンが本当にあれば、 月末の1日前に買う人が現れる。すると2日前に買う人が現れる。 パターンは、それを使おうとする行為によって消える。

この性質はファンダメンタル分析にはあまり当てはまらない。 「良い会社を適正価格以下で買う」という判断は、 誰かが真似しても消えるものではない(買われれば価格が上がるだけで、 判断の枠組み自体は壊れない)。 一方テクニカルのルールは、他人が使っていないことが前提になっている。

乱数でやってみる

ここが本章の中心。 完全にランダムなデータに同じ指標ルールを当てる。 ランダムなので、将来の価格に関する情報は定義上ゼロ。 なのに何が起きるかを見る。

ルールを選んで乱数データで検証する

10
40
0.20%

乱数で作った価格(ランダムウォーク)と指標線。トレンドや反発に見える形が出るが、 次の1日は完全に予測できない。

勝率の中央値 —
上位5%の勝率 —
最良の1本 —
単純保有に勝った割合 —

1000本の乱数チャートそれぞれでの最終損益の分布。縦線が「何もしなかった場合」。 予測できないデータでも、これだけ広く散らばる。

「最良の1本」の数字を見てほしい。 これは1000本のうち最も成績が良かった乱数チャートでの結果。 情報がゼロのデータでも、この程度の成績は必ず出る。

本や記事で「このルールで年率○%」と示されるとき、 それが実力なのか、この「最良の1本」なのかを区別する手段はない。 書いた人が何通り試したかを知らない限り。

売買コストを上げていくと、分布全体が左に寄る。 予測力ゼロのルールを回すと、コストの分だけ確実に負ける。

この検証の限界

フェアであるために、この実験の限界も書いておく。

  1. ここで使っている乱数は幾何ブラウン運動で、 実際の株価より単純。現実の値動きは裾が厚く、 ばらつきが時期によって変わる(ボラティリティ・クラスタリング)
  2. 「乱数でも良い成績が出る」ことは、 「実データでの良い成績が偶然である」ことの証明ではない。 示しているのは「偶然でも説明がつく」という点だけ
  3. 逆に言えば、実データで良い成績が出たことは、 そのルールに予測力がある証拠にもならない。 これがこの実験の趣旨
  4. 本来必要なのは、乱数での成績分布と実データの成績を比べて、 実データの成績が分布のどのあたりに位置するかを見ること。 さらに試したルールの総数で調整する必要がある

それでもテクニカルを学ぶ理由

予測の道具としては期待できない。では捨てるべきか。そうとは限らない。 使い道が違う。

危険な使い方 指標が買いシグナルを出したから買う。理由は「シグナルが出たから」
まだ筋の通る使い方 買う理由は別にあり、そのうえで「この条件を割ったら判断が間違っていたと認めて降りる」という降り方を先に決めておく

機械的なルールの価値は予測精度ではなく、実行の一貫性にある。 優れたルールを気分で破るより、平凡なルールを守るほうが結果が良くなることは、 次の「判断を歪めるもの」「自分のルール」の章で扱う。

確認

ある手法の紹介記事に「過去10年のバックテストで年率24%、勝率68%」とある。 この数字を評価するために最初に聞くべきことは?

RSIが28まで下がった。「売られすぎだから反発する」という推論の何が問題か。

「25日線を割ったら売る」というルールを実際に運用したところ、 1年間で単純保有より成績が悪かった。このルールを捨てるべきか。

この章のまとめ