100本を並べ直してわかった、指標ランキングと7つの教訓
この特集は、ラボで検証した約100本の指標の主ルールをまとめて集計したものです。サイトの記事として紹介しているのは、そのうち厳選した41本。名前だけが出てくる指標は、記事にしていない検証分です。
- 全期間で比べられる96本のうち、年率で買い持ち(7.3%)を上回ったのは0本。最大下落率を小さくできたのは87本
- マーチン比率の上位10本はすべて取引回数が100回未満。年率上位10本との重なりは6本
- 取引300回以上の15本は年率の中央値が−1.5%。売買が多いほどコストに削られる
3つの物差しと集計の方法
年率は「どれだけ増えたか」、最大下落率は「最悪の時にどれだけ減ったか」です。ただ最大下落率は1回の底しか見ません。そこでマーチン比率も加えます。最高値からの下落率を毎日二乗して平均し、平方根をとったもの(アルサー指数、UI)で年率を割ります。深く長く沈むほどUIが大きくなり、比率は下がります。
UI = √(全期間の「最高値からの下落率(%)」² の平均)
マーチン比率には資産の毎日の推移が要るので、各記事の主ルールを再実行しました。各指標の検証スクリプトをそのまま動かし、表の年率・最大下落率・取引回数が一致する設定を主ルールとしました(一部は年率が小数2桁目で境目にあり、表示が0.1ポイントずれるため、表の年率は元の検証の値を使います)。対象は全期間(2007年4月〜)の96本です。#010は資産推移のない集計型、#020(2021年〜)と相対力(RS)(2016年〜)は期間が違うので外しました。
ランキング:物差しを変えると顔ぶれが変わる
| 年率 | 記事 | 年率 | マーチン順位 | |
|---|---|---|---|---|
| — | 買い持ち | — | 7.3% | — |
| 1 | #001 移動平均線 | 6.5% | 2 | |
| 2 | コポック・カーブ | 5.7% | 1 | |
| 3 | 移動平均線の傾き | 5.4% | 9 | |
| 4 | #012 季節性 | 5.1% | 4 | |
| 5 | アルティメット | 4.6% | 8 | |
| 6 | #011 平均足 | 4.3% | 20 | |
| 7 | #008 ATR | 4.3% | 3 | |
| 8 | HV | 4.1% | 12 | |
| 9 | #013 一目均衡表 | 4.0% | 27 | |
| 10 | #022 パラボリックSAR | 3.9% | 38 | |
| 11 | #025 ドンチャン | 3.9% | 16 | |
| 12 | アルーン | 3.9% | 24 | |
| 13 | アルサー | 3.9% | 21 | |
| 14 | #023 サイコロジカル | 3.7% | 13 | |
| 15 | 線形回帰線 | 3.7% | 28 |
| 下落率 | 記事 | 最大下落率 | 年率 | |
|---|---|---|---|---|
| — | 買い持ち | — | −61.4% | 7.3% |
| 1 | ギャン・アングル | −5.9% | 0.4% | |
| 2 | #041 三角保ち合い | −16.0% | 0.8% | |
| 3 | #033 包み足 | −17.1% | 2.8% | |
| 4 | 連続陽線・陰線 | −18.8% | 1.2% | |
| 5 | #008 ATR | −19.7% | 4.3% | |
| 6 | #039 ダブルボトム | −20.1% | 3.5% | |
| 7 | #004 ボリンジャーバンド | −21.0% | 2.9% | |
| 8 | #030 ケルトナー | −23.3% | 3.2% | |
| 9 | #015 スクイーズ | −23.7% | 0.2% | |
| 10 | #029 CCI | −25.1% | 3.3% | |
| 11 | RSI(2) | −25.5% | 1.5% | |
| 12 | KST | −26.3% | 2.9% | |
| 13 | TRIX | −26.7% | 3.1% | |
| 14 | #016 52週高値 | −27.4% | 3.5% | |
| 15 | #025 ドンチャン | −27.4% | 3.9% |
| マーチン | 記事 | マーチン比率 | 年率順位 | |
|---|---|---|---|---|
| — | 買い持ち | — | 0.28 | — |
| 1 | コポック・カーブ | 0.50 | 2 | |
| 2 | #001 移動平均線 | 0.48 | 1 | |
| 3 | #008 ATR | 0.47 | 7 | |
| 4 | #012 季節性 | 0.46 | 4 | |
| 5 | #039 ダブルボトム | 0.43 | 17 | |
| 6 | #033 包み足 | 0.42 | 37 | |
| 7 | はらみ足 はらみ足 | 0.41 | 27 | |
| 8 | アルティメット | 0.38 | 5 | |
| 9 | 移動平均線の傾き | 0.37 | 3 | |
| 10 | #014 乖離率 | 0.34 | 41 | |
| 11 | #035 エンベロープ | 0.34 | 42 | |
| 12 | HV | 0.34 | 8 | |
| 13 | #023 サイコロジカル | 0.32 | 14 | |
| 14 | CMO | 0.31 | 16 | |
| 15 | #030 ケルトナー | 0.30 | 23 |
年率の上位はトレンド系の「ゆっくり型」が占めました。最大下落率の上位は、保有率1%のギャン・アングル(−5.9%、年率0.4%)のように、ほとんど持たないから下がらないルールが目立ちます。マーチン比率はその間をとる物差しで、年率との順位相関は0.93と高いものの、中位では入れ替わりが起きます。
7つの教訓
1. 買い持ちの年率は1本も超えられなかった
96本で年率7.3%を上回ったものは0本、最高は#001の6.5%です。一方、最大下落率が買い持ち(−61.4%)より小さいのは87本。マーチン比率で買い持ちの0.28を上回ったのは19本でした。指標の価値は「増やす」より「下落を浅くする」ところにあります。
2. 売買が多いほど、コストに削られる
取引300回以上の15本は年率の中央値が−1.5%で、PFが1.3以上のものは0本です。DEMAはコストなしなら年率4.6%なのに、片道0.1%を引くと−0.1%。TEMAは2.5%が−3.0%に変わりました。
3. 日本株は「夜」に上がる
日経平均を前日終値→始値(夜間)と始値→終値(日中)に分けてつなぐと、夜間だけで7.07倍、日中だけでは0.55倍です。日中の値動きを数えるA/Dライン(年率−1.5%)、RVI(−3.7%)、BOP(1.5%)は、そろって低調でした。
4. 名前が違っても、中身が同じことがある
#035 エンベロープと#014 乖離率は年率2.5%・最大下落率−44.6%・45回まで完全に一致。%bは#004の逆張り版と、Zスコアは50日のボリンジャー逆張りと保有日が100%一致しました。ジグザグはカギ足の線の向きと同じで、PPOは#003 MACDと保有日の99.2%が重なります。
5. 後から選んだ数字は割り引く
#011以降の89本のうち39本は、結果を見て変えた設定を「参考」として載せ、主ルールとは分けて扱いました。ジグザグで最終形の頂点を使う後知恵版は年率91.2%、確定を待つ主ルールは2.7%です。エルダー・レイはEMAを10日にすると5.32%、13日の主ルールは0.92%、16日では0.30%でした。
6. 上位は取引回数の少ないルールに集まる
年率の上位5本、マーチン比率の上位10本は、すべて取引回数が100回未満です。成績が悪いわけではありませんが、19年分の日経平均1本では回数が少なく、偶然と区別しにくい点は割り引いて見る必要があります。
7. 荒れた日に降りると、痛みが減る
系統別のマーチン比率の中央値はボラティリティ系が0.27で最も高く、トレンド系は0.14でした。HV(0.34)は12位でした。#008は#001に逆指値を足してUIを13.7%から9.0%に下げ、3位に入りました。アルサー・インデックスでは、1日で5%以上下げた29日のうち保有中は2日だけでした。
この記事は既存99本の集計です。ランキングは過去19年の日経平均1本での結果で、上位の多くは取引回数が少ない。順位は「次に検証を深める候補」として読む。
自分で試す(TradingView)
//@version=6
indicator("買い持ちのアルサー指数とマーチン比率", overlay = false)
// 表示している銘柄を最初の足から持ち続けた場合
var float peak = close
var float sumSq = 0.0
var int n = 0
var float first = close
peak := math.max(peak, close)
dd = 100 * (close / peak - 1)
sumSq += dd * dd
n += 1
ui = math.sqrt(sumSq / n)
years = n / 245.0
cagr = 100 * (math.pow(close / first, 1 / math.max(years, 1 / 245.0)) - 1)
martin = ui > 0 ? cagr / ui : na
plot(ui, "UI(%)", color.orange)
plot(martin, "マーチン比率", color.aqua)

