テクニカル
チャートの形に意味はあるのか。あるとしたら、どこまでか。
テクニカル分析は、過去の値動きと出来高から将来を推し量る手法。 この章ではまず仕組みを正確に理解し、次にその有効性を検証する。 順番を逆にすると、指標の意味も分からないまま 「効く/効かない」の言い合いになる。
結論を先に置いておく。 ここで扱う指標に、将来の価格を当てる力があるという確かな証拠はない。 それでも学ぶ意味がある理由は、章の後半で扱う。
良い成績は、予測力の証拠にならない。 情報がゼロの乱数データでも、1000本試せば「素晴らしい成績の1本」は必ず出る
移動平均
直近 n 日の終値を平均する。ノイズを削って方向を見やすくするのが目的。
これはローパスフィルタそのもの。 短い周期の変動を落とし、長い周期だけを通す。 n を大きくするほど滑らかになるが、 同時に反応が遅れる。この遅れは避けられない。
- SMAは n 日分の終値を等しい重みで平均している
- 重みの重心は、区間の真ん中 — つまり (n−1)/2 日前
- だからSMAは実質「(n−1)/2 日前の価格水準」を表している
- 25日移動平均なら約12日の遅れ。トレンドの転換は必ず後から分かる
遅れを減らすため、新しい価格を重く見る指数移動平均(EMA)もある。
ただし α = 2 / (n + 1)
なぜ α = 2/(n+1) なのか
- EMAを展開すると、重みは
α, α(1−α), α(1−α)², …と減衰する - この重み列の重心(平均的な遅れ)を計算すると
(1−α)/α - SMAの遅れ
(n−1)/2と等しくなるよう置く:(1−α)/α = (n−1)/2 - 解くと
α = 2/(n+1)
つまり「n日EMA」はn日SMAと同じ遅れを持つように調整したEMA という意味。EMAのほうが直近の価格に敏感だが、 平均的な遅れそのものは同じになるよう定義されている。
ゴールデンクロス
短期移動平均が長期移動平均を下から上に抜ける状態。 逆がデッドクロス。よく使われるのは25日と75日、または50日と200日。
これが何を意味しているかを正確に述べる。 短期線が長期線を上抜くということは、 直近25日の平均価格が直近75日の平均価格を上回った、 それだけ。将来についての情報は一切含まれていない。
さらに、移動平均の遅れを思い出す。 25日線と75日線のクロスが起きる頃には、 平均12日と37日の遅れを持つ2本が交差している。 価格の転換点から数週間経っている。
ボリンジャーバンド
移動平均を中心に、標準偏差の倍数だけ上下に線を引く。 価格のばらつきの幅を可視化する。
上バンド = SMAn + k × σn
下バンド = SMAn − k × σn
σ は直近 n 日の終値の標準偏差。k は通常2。 n は20が多い。
「±2σ の中に95%が収まる」は正規分布の話。
株価の日次変化率は正規分布ではなく、
裾が厚い(極端な値が理論より頻繁に出る)。
実際にバンドの外に出る頻度は5%より多い。
さらに σ は直近20日から推定した値であって、
真のばらつきではない。静かな20日間の後は σ が小さく推定され、
バンドが狭くなる。そこに大きな動きが来れば簡単に外れる。
「バンドウォーク」と呼ばれる現象は、この推定の遅れの現れ。
RSI
直近 n 日の値上がり幅と値下がり幅の比率を0〜100で表す。
RSI = 100 − 100 / (1 + RS)
- 各日の前日比を出し、プラスの日の上昇幅とマイナスの日の下落幅を分けて集計
- それぞれ n 日で平均する(Wilderの原式は平滑平均を使う)
- RS は「上げ幅は下げ幅の何倍か」。全部上げなら分母が0でRSは∞
- RSI = 100 − 100/(1+RS) は、RSを0〜100に押し込む変換
- 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線の EMA9
ヒストグラム = MACD線 − シグナル線
MACD線は短期と長期の平均の差なので、 正なら短期が長期より上(上昇基調)、負なら逆。 ゴールデンクロスを連続的な数値にしたものだと考えてよい。
ヒストグラムはMACD線の変化の勢いを表す。 MACD線が上向きに加速していればヒストグラムは伸び、 勢いが鈍ればMACD線がプラスのままでもヒストグラムは縮む。
出来高・支持線・抵抗線
出来高
成立した株数。価格の動きに対する参加者の多さを表す。 出来高を伴わない値動きは、少数の注文で動いているので 板が薄いだけかもしれない。
「出来高を伴った上昇は信頼できる」と言われる。 これは検証しにくい主張だが、少なくとも 出来高が少ないときの価格には情報量が少ないのは構造上そうなる。
支持線と抵抗線
過去に何度も反発した価格帯が支持線、頭を抑えられた価格帯が抵抗線。 よく持ち出される説明は次の2つ。
- 塩漬け説 1500円で買って1200円まで下がった人が、 1500円に戻ったところで「やれやれ」と売る。 売り注文が特定の価格に溜まるので抵抗になる
- 自己成就説 多くの人が「1500円が抵抗線だ」と信じて指値を置く。 信じられているという理由だけで実際に抵抗として機能する。 この場合、線が効くのは価格に情報があるからではなく、 参加者の行動が揃うから
支持線・抵抗線の最大の問題は後付けで引けてしまうこと。 チャートを見てから引けば必ず綺麗な線が引ける。 引く前に線を決めて、その後の値動きで検証する形にしない限り、 効いているのか、効いたところだけを見ているのかが分からない。
ここから検証に入る
仕組みは分かった。では効くのか。 金融論の中で最も検証が積み重ねられてきた領域なので、 分かっていることを整理する。
ウィーク型効率的市場仮説
市場効率性は、織り込まれている情報の範囲で3段階に整理される。
| 段階 | 織り込み済みとされる情報 | 効かなくなる分析 |
|---|---|---|
| ウィーク型 | 過去の価格・出来高 | テクニカル分析 |
| セミストロング型 | 公開情報すべて(決算・ニュース) | ファンダメンタル分析 |
| ストロング型 | 内部情報を含むすべて | すべて |
テクニカル分析が対象にするのは過去の価格と出来高だけ。 つまり最も弱い段階の効率性が成り立つだけで、 原理的に超過リターンが出なくなる。
実証では、ウィーク型はおおむね成立するとする結果が多い。 ただし完全ではなく、モメンタム(前章で触れた)のように 過去の価格が将来のリターンと関係する現象も報告されている。 「完全に効率的」でも「明らかに非効率」でもない、というのが実情。
データマイニングの問題
仮に「効く」というバックテスト結果があったとして、 それがどれだけ信用できるか。ここが本題。
- 1つのルールをテストして、偶然「有意」に見える確率を α = 5% とする
- そのルールが偶然「有意でない」確率は 95%
- m 個のルールが全部有意でない確率は 0.95m
- だから1つ以上有意に見える確率は
1 − 0.95ᵐ - 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日前に買う人が現れる。 パターンは、それを使おうとする行為によって消える。
この性質はファンダメンタル分析にはあまり当てはまらない。 「良い会社を適正価格以下で買う」という判断は、 誰かが真似しても消えるものではない(買われれば価格が上がるだけで、 判断の枠組み自体は壊れない)。 一方テクニカルのルールは、他人が使っていないことが前提になっている。
乱数でやってみる
ここが本章の中心。 完全にランダムなデータに同じ指標ルールを当てる。 ランダムなので、将来の価格に関する情報は定義上ゼロ。 なのに何が起きるかを見る。
ルールを選んで乱数データで検証する
乱数で作った価格(ランダムウォーク)と指標線。トレンドや反発に見える形が出るが、 次の1日は完全に予測できない。
1000本の乱数チャートそれぞれでの最終損益の分布。縦線が「何もしなかった場合」。 予測できないデータでも、これだけ広く散らばる。
「最良の1本」の数字を見てほしい。
これは1000本のうち最も成績が良かった乱数チャートでの結果。
情報がゼロのデータでも、この程度の成績は必ず出る。
本や記事で「このルールで年率○%」と示されるとき、
それが実力なのか、この「最良の1本」なのかを区別する手段はない。
書いた人が何通り試したかを知らない限り。
売買コストを上げていくと、分布全体が左に寄る。
予測力ゼロのルールを回すと、コストの分だけ確実に負ける。
この検証の限界
フェアであるために、この実験の限界も書いておく。
- ここで使っている乱数は幾何ブラウン運動で、 実際の株価より単純。現実の値動きは裾が厚く、 ばらつきが時期によって変わる(ボラティリティ・クラスタリング)
- 「乱数でも良い成績が出る」ことは、 「実データでの良い成績が偶然である」ことの証明ではない。 示しているのは「偶然でも説明がつく」という点だけ
- 逆に言えば、実データで良い成績が出たことは、 そのルールに予測力がある証拠にもならない。 これがこの実験の趣旨
- 本来必要なのは、乱数での成績分布と実データの成績を比べて、 実データの成績が分布のどのあたりに位置するかを見ること。 さらに試したルールの総数で調整する必要がある
それでもテクニカルを学ぶ理由
予測の道具としては期待できない。では捨てるべきか。そうとは限らない。 使い道が違う。
- 感情に対する事前拘束として 「25日線を割ったら売る」と決めておけば、 下がっている最中に判断しなくて済む。 ルールの中身が優れているからではなく、 判断を市場が動いていない時間に済ませられることに価値がある
- 他人の行動を読む材料として 多くの参加者が同じ線を見ている以上、 その線の付近で注文が増えるのは事実。 価格を予測しているのではなく、 他人の注文の偏りを予測している。ただしこれも競争にさらされる
- 執行のタイミングとして 買うと決めた銘柄を、いつ買うか。 急騰した直後を避ける程度の使い方なら、 期待リターンを増やさなくても分散は減らせる可能性がある
- 記録と検証の枠組みとして 明文化されたルールは後から検証できる。 「なんとなく高い気がした」は検証できない。 自分の判断を改善したいなら、まず検証可能な形にする必要がある
機械的なルールの価値は予測精度ではなく、実行の一貫性にある。 優れたルールを気分で破るより、平凡なルールを守るほうが結果が良くなることは、 次の「判断を歪めるもの」「自分のルール」の章で扱う。
確認
ある手法の紹介記事に「過去10年のバックテストで年率24%、勝率68%」とある。 この数字を評価するために最初に聞くべきことは?
試行回数が分からないと、成績の意味が定まらない。
100通り試して1番良いものを見せているなら、
α=5%の基準では偶然でも99.4%の確率で「有意な結果」が出る。
同じ理由で聞くべきこと:
銘柄をいくつ試したか(銘柄選択も探索空間)、
期間をどう区切ったか(開始日を変えれば結果は変わる)、
アウトオブサンプル検証をしたか
(パラメータを決めた期間と検証した期間を分けたか)。
最大ドローダウン(選択肢2)は極めて重要な指標だが、
その数字自体も同じ探索から出ているので、
試行回数が分からなければ信用できない。順番として先に試行回数を聞く。
なお勝率68%という数字は、それ単体では良し悪しを判断できない。
小さく何度も勝って一度に大きく負ける戦略は、高い勝率と大損失を両立する。
RSIが28まで下がった。「売られすぎだから反発する」という推論の何が問題か。
RSIの式に立ち返る。RSI = 100 − 100/(1+RS) で、
RSは過去14日の平均上昇幅と平均下落幅の比。
入力は過去の価格だけ。
RSIが28ということは「この14日、下げ幅が上げ幅の2.5倍ほどあった」
という記述であって、それ以上でも以下でもない。
「売られすぎ」という言葉が混乱の元になっている。
本来の価値より安く売られているという意味に聞こえるが、
RSIは価値を一切参照していない。
業績が悪化して価格が適正水準へ向かっている最中でもRSIは下がる。
30という閾値も同様に根拠がない(選択肢4)。
期間14日も Wilder が選んだ値で、理論的な導出はない(選択肢2)。
閾値や期間を「最適化」する行為は、上で見たデータマイニングそのもの。
「25日線を割ったら売る」というルールを実際に運用したところ、 1年間で単純保有より成績が悪かった。このルールを捨てるべきか。
1年の結果はほぼノイズ。上の乱数実験を見れば、
予測力ゼロのルールでも1本のチャートでは大きく勝つことも負けることもある。
1年で良かった/悪かったから続ける・やめるという判断は、
自分自身が多重検定をやっているのと同じ。
パラメータを変えて再挑戦する(選択肢3)が最も危険。
結果を見てからパラメータを変えるのは、
過去に合わせて曲線を引き直しているだけで、
「25日はダメだったが40日なら」という結論は必ず作れる。
正しい問いは「このルールに何を期待していたか」。
超過リターンを期待していたなら、その期待自体に根拠が薄かった。
下落局面で狼狽売りをしないための事前拘束として入れたなら、
リターンで評価するのが間違いで、
「守れたか」「大きな下落を回避できたか」で評価するべき。
目的を決めずに導入したルールは、
どんな結果が出ても正しく評価できない。
この章のまとめ
- 移動平均はローパスフィルタ。(n−1)/2 日の遅れが構造的に入る
- ゴールデンクロスはすでに上がったという事実の要約であり、予告ではない
- ボリンジャーバンドの ±2σ は直近から推定した σ。株価は正規分布ではない
- RSIの70/30、期間14日に理論的根拠はない
- ウィーク型効率性が成り立てば、過去の価格だけからは超過リターンが出ない
- 100個のルールを試せば99%の確率で1つは「有効」に見える
- 乱数データでも良い成績は出る。良い成績は予測力の証拠にならない
- アノマリーは発表され使われることで減衰する
- それでも機械的ルールには価値がある。予測の道具ではなく、感情への事前拘束として