Macro run-to-quality
Если на протяжении достаточно долгого времени на рынке систематически происходят недели micro-RTQ (см. предыдущий пост серии), акции общего рынка настолько ухудшаются по сравнению с акциями индекса, что композиция и баланс категорий широты, построенных на основе 50МА/200МА начинают меняться — количество micro-RTQ перешло в новое качество macro-RTQ.
Пост полностью посвящён выражению концепции macro-RTQ через категории широты из таблицы. Я постарался описать всё как можно подробнее, возможно будет казаться, что «много и непонятно», но наберитесь терпения -эта концепция является краеугольным камнем обнаружения вершины и хотя без этих длинных объяснений не обойтись, всё в пределах простой арифметики.
Классификация категорий широты по аптренду и даунтренду
В таблице с категориями широты определим, какие категории можно отнести к аптренду, какие к даунтренду, и прочие (подробнее про категории, профили типичных акций-представителей см. в первом посте серии «Прикладная широта рынка»):
№ |
Категория (рус) |
Сокращенное название |
Аптренд или даунтренд |
1 |
Длительный аптренд |
trendabove50 |
U |
2 |
Откат в аптренде |
pullingback |
U |
3 |
Консолидация / потеря инерции в аптренде |
lostmomentum |
U |
4 |
Пробой растущей 50МА |
breakabove50up |
U |
5 |
Пробой падающей 50МА |
breakabove50dn |
|
6 |
Недавний пробой растущей 50МА |
wentabove50up |
U |
7 |
Недавний пробой падающей 50МА |
wentabove50dn |
|
8 |
Слом растущей 50МА |
breakbelow50up |
|
9 |
Слом падающей 50МА |
breakbelow50dn |
|
10 |
Недавний слом растущей 50МА |
wentbelow50up |
|
11 |
Недавний слом падающей 50МА |
wentbelow50dn |
|
12 |
Консолидация под 50МА |
consbelow50 |
|
13 |
Отскок вниз от 50МА |
bouncebelow50 |
|
14 |
Подскок вверх от 200МА к 50МА |
bounceabove200 |
|
15 |
Консолидация под 200МА |
consbelow200 |
|
16 |
Отскок вниз от 200МА |
bouncebelow200 |
D |
17 |
Подскок вверх от 50МА к 200МА |
bounceabove50 |
|
18 |
Консолидация на дне |
bottoming |
D |
19 |
Подскок со дна |
bottombounce |
D |
20 |
Длительный даунтренд |
trendbelow50 |
D |
Расчёт суммарного % акций в аптренде и даунтренде для общего рынка и индекса
Проценты из категорий аптренда и даунтренда, помеченных U и D, суммируются, чтобы получить Суммарный % акций в аптренде (категории 1,2,3,4,6) и даунтренде (категории 16,18,19,20) для общего рынка и индекса:
- Суммарный % акций в аптренде на широком рынке (uptrendpct_broad_market)
- Суммарный % акций в аптренде в индексе (uptrendpct_index)
- Суммарный % акций в даунтренде на широком рынке (dntrendpct_broad_market)
- Суммарный % акций в даунтренде в индексе (dntrendpct_index)
Признаки macro-RTQ
Наблюдая за четырьмя суммарными % категорий аптренда и даунтренда изо дня в день на протяжении длительного времени, можно заметить следующие макропризнаки run-to-quality (подробнее будут описаны ниже):
- Значительная доля акций индекса находится в аптренде — Суммарный % акций в аптренде в индексе велик
- Хорошие акции локализованы преимущественно в индексе (дисбаланс аптренда рынка и индекса) — Суммарный % акций в аптренде в индексе значительно выше, чем на широком рынке
- Отстающих акций в индексе почти нет (дисбаланс даунтренда рынка и индекса) — Суммарный % акций в даунтренде в индексе значительно ниже, чем на широком рынке
- В индексе Суммарный % акций в аптренде значительно выше, чем суммарный % акций в даунтренде (отношение %Ваптренде/%Вдаунтренде экстремально перекошено, следствие двух предыдущих пунктов)
Чтобы определить понятия «значительная доля», «значительно выше/ниже», «перекос» нужно вычислить ещё 4 величины на основе 4-х суммарных %-ов. Эти отношения — ключевые для маркет-тайминга на основе категорий широты, уделите время, чтобы разобраться, что за ними стоит.
Ключевые отношения для маркет-тайминга
1. Отношение %Ваптренде/%Вдаунтренде для широкого рынка.
broad_market_upt_dnt_ratio = uptrendpct_broad_market / dntrendpct_broad_market
Если аптренд поддержан широким рынком, это отношение на нормальном бычьем рынке должно быть > 1, т.е. количество акций в аптренде больше, чем количество акций в даунтренде. На абсолютно боковом/choppy рынке равно 1 (%Ваптренде=%Вдаунтренде).
2. Отношение %Ваптренде/%Вдаунтренде для индекса
index_upt_dnt_ratio = uptrendpct_index / dntrendpct_index
Если индекс в аптренде, это отношение > 1. Указывает на степень macro-RTQ и перекупленности в индексе.
3. Баланс аптренда рынка и индекса
uptrend_balance_ratio = uptrendpct_index / uptrendpct_broad_market
На идеальном рынке баланс должен быть равен 1, т.е. доля акций в аптренде что на общем рынке что в индексе должна быть одинаковой, но из-за run-to-quality он > 1. Указывает на степень macro-RTQ — чем больше, тем выше run-to-quality, т.е. большинство хороших акций локализовано в индексе.
4. Баланс даунтренда рынка и индекса.
dntrend_balance_ratio = dntrendpct_index / dntrendpct_broad_market
На идеальном рынке он должен быть равен 1, т.е. доля акций в даунтренде что на общем рынке что в индексе должна быть одинаковой, но из-за run-to-quality он < 1. Указывает на степень macro-RTQ — чем меньше, тем выше run-to-quality, т.е. отстающих акций в индексе почти нет.
Пример расчёта ключевых отношений маркет-тайминга
Рассмотрим эти показатели на примере сокращённой таблицы ниже, и сразу же станет ясно, что суммируется, что на что делится, и почему:
------- general market vs index m 0.68 i 2.39 uptrend/downtrend ratio
trendabove50 7.16% 13.69%
pullingback 1.04% 1.59%
lostmomentum 15.59% 30.56% 27.31% 49.80% 1.82 uptrend balance
breakabove50up 0.35% 0.20%
breakabove50dn 0.48% 0.60%
wentabove50up 3.18% 3.77%
wentabove50dn 2.32% 5.16%
breakbelow50up 1.54% 0.99%
breakbelow50dn 1.31% 0.99%
wentbelow50up 0.50% 1.19%
wentbelow50dn 0.62% 0.40%
consbelow50 8.72% 4.37% ***
bouncebelow50 0.56% 0.20%
bounceabove200 4.55% 4.56%
consbelow200 3.22% 2.38%
bouncebelow200 0.39% 0.00%
bounceabove50 8.45% 8.53% ***
bottoming 20.38% 9.13% 40.43% 20.83% 0.52 downtrend balance
bottombounce 10.46% 8.13%
trendbelow50 9.19% 3.57%
Вычисление суммарных %
2-й столбец — это % категорий на общем рынке, 3-й столбец – это % категорий в индексе:
- uptrendpct_broad_market = Суммарный % акций в аптренде на широком рынке = сумма категорий помеченных «U» (1,2,3,4,6) во 2-м столбце = 7.16% + 1.04% + 15.59% + 0.35% + 3.18% = 27.31% (округлено)
- uptrendpct_index = Суммарный % акций в аптренде в индексе = сумма категорий помеченных «U» (1,2,3,4,6) в 3-м столбце = 13.69% + 1.59% + 30.56% + 0.20% + 3.77% = 49.8% (округлено)
- dntrendpct_broad_market = Суммарный % акций в даунтренде на широком рынке = сумма категорий помеченных «D» (16,18,19,20) во 2-м столбце = 0.39% + 20.38% + 10.46% + 9.19% = 40.43% (округлено)
- dntrendpct_index = Суммарный % акций в даунтренде в индексе = сумма категорий помеченных «D» (16,18,19,20) в 3-м столбце = 0.00% + 9.13% + 8.13% + 3.57% = 20.83%
В таблице выше
- uptrendpct_broad_market и uptrendpct_index записаны в столбцах 4 и 5 в строке lostmomentum (27.31% 49.80%)
- dntrendpct_broad_market и dntrendpct_index записаны в столбцах 4 и 5 в строке bottoming (40.43% 20.83%)
Вычисление ключевых отношений
- broad_market_upt_dnt_ratio = Отношение %Ваптренде/%Вдаунтренде для широкого рынка = uptrendpct_broad_market / dntrendpct_broad_market = 27.31% / 40.43% = 0.68 (округлено)
- index_upt_dnt_ratio = Отношение %Ваптренде/%Вдаунтренде для индекса = uptrendpct_index / dntrendpct_index = 49.8% / 20.83% = 2.39
- uptrend_balance_ratio = баланс аптренда рынка и индекса = uptrendpct_index / uptrendpct_broad_market = 49.8% / 27.31% = 1.82 (округлено)
- dntrend_balance_ratio = баланс даунтренда рынка и индекса = dntrendpct_index / dntrendpct_broad_market = 20.83% / 40.43% = 0.52 (округлено)
В таблице выше
- broad_market_upt_dnt_ratio (помечен m) и index_upt_dnt_ratio (помечен i) записаны в первой строке:
general market vs index m 0.68 i 2.39 uptrend/downtrend ratio
- uptrend_balance_ratio и dntrend_balance_ratio записаны в строках lostmomentum и bottoming:
lostmomentum … 27.31% 49.80% 1.82 uptrend balance
bottoming … 40.43% 20.83% 0.52 downtrend balance
Уделите время и разберитесь в принципах вычисления ключевых отношений и расположении их в таблице выше! Подобное расположение будет использоваться в следующем посте для анализа дней в районе вершин рынка.
run_to_quality_or_safety = uptrendpct_index > {uptrendpct_significant_limit} &&
( ( uptrend_balance_ratio > {uptrend_balance_ratio_limit} &&
dntrend_balance_ratio < {dntrend_balance_ratio_limit} &&
index_upt_dnt_ratio > {index_upt_dnt_ratio_limit}
) ||
index_upt_dnt_ratio > {index_upt_dnt_ratio_limit_wild}
) ;
Формула является модифицированным выражением наблюдений за категориями широты при RTQ, перечисленных выше:
- Значительная доля акций индекса находится в аптренде — Суммарный % акций в аптренде в индексе велик. uptrendpct_significant_limit это общий фильтр. О run-to-quality речи не идёт, если в аптренде, например, всего 25% акций индекса.
- Хорошие акции локализованы преимущественно в индексе (дисбаланс аптренда рынка и индекса, uptrend_balance_ratio > uptrend_balance_ratio_limit) — Суммарный % акций в аптренде в индексе значительно выше, чем на широком рынке
- Отстающих акций в индексе почти нет (дисбаланс даунтренда рынка и индекса, dntrend_balance_ratio < dntrend_balance_ratio_limit) — Суммарный % акций в даунтренде в индексе значительно ниже, чем на широком рынке
- В индексе Суммарный % акций в аптренде значительно выше, чем суммарный % акций в даунтренде (отношение %Ваптренде/%Вдаунтренде в индексе экстремально перекошено, следствие двух предыдущих пунктов)
- Отдельно выделен особый случай, когда львиная доля акций индекса находится в аптренде (в индексе очень большая доля защитных акций), при этом дисбаланс аптренда и даунтренда с общим рынком уже не имеет значения – сам факт такой дикой перекупленности и огромного перекоса в индексе говорит о безудержном run-to-quality/run-to-safety.
В следующей части будут рассмотрены ключевые отношения маркет-тайминга и оценены лимиты {..._limit} для формулы macro-RTQ на примерах двух последних вершин рынка. Stay tuned & no flipping.