Приблизительное время чтения: 17 минут
Когда происходят крупные движения на открытии и крупные движения на закрытии, что, скорее всего, будет делать акция дальше?
Во время сезона прибылей, когда я просматриваю свои позиции перед открытием фондового рынка, случается, что одна акция подпрыгивает на 5 или 10 % в мою пользу. Да, иногда скачок происходит не в ту сторону, но не так часто. Моя привычка — фиксировать прибыль на больших, благоприятных гэпах или даже до открытия, а затем ждать лучшего места для возобновления торговли. Я всегда возвращаюсь к концу дня, чтобы соответствовать своей торговой системе. Это позволяет мне чувствовать себя трейдером, а не роботом.
Большая часть активности приходится на первые два часа торгового дня. Линда Рашке говорит, что утро — это среднереверсивный период, а вторая половина дня — трендовый. Это связано с тем, что экономические отчеты выходят до открытия фондового рынка, а прибыль — после предыдущего закрытия, поэтому открытие может быть волатильным. Трейдеры позиционируют себя для того, что, как они надеются, будет прибыльным днем. К полудню все успокаивается, и цены принимают более трендовую форму.
В свое время я зафиксировал прибыль на 10-процентном скачке Boeing, а потом увидел, как он подорожал на 20 %. Он так и не отступил, и у меня не было возможности сбросить позиции. Это меня обеспокоило, и когда на следующий день подскочили акции Sun Power (SPWR) и MasTec (MTZ), я просто наблюдал, как они превратились из 5-процентной прибыли на открытии в 5-процентный убыток на закрытии. В некоторые дни просто невозможно выиграть.
Будучи искусным программистом, я решил взглянуть на происходящее с более научной точки зрения. В следующих таблицах представлены результаты открытия гэпов и экстремальных закрытий с 2010 по январь 2023 года. Я уже рассказывал об открытии гэпов, но не об экстремальных закрытиях. Тем не менее, время от времени полезно подтверждать закономерности новыми данными. Я также разделяю цены на акции на те, что выше $10 и ниже $10.
У меня всегда есть портфель длинных акций, основанный на одной из моих торговых систем, но для этого примера подойдет любая трендовая система.
ЦЕНОВЫЕ РАЗРЫВЫ И РЕАКЦИИ
Используя 425 акций, за которыми я слежу каждый день, я составил таблицу изменений цены открытия в процентах следующим образом:
Вверх менее 1% Вниз менее 1%
Вверх от 1% до 3% Вниз от 1% до 3%
Вверх от 3% до 5% Вниз от 3% до 5%
Вверх от 5% до 7% Вниз от 5% до 7%
Вверх от 7% до 9% Вниз от 7% до 9%
Вверх от 9% до 11% Вниз от 9% до 11%
Больше 11% Меньше 11%.
Таблицы, представленные на рисунках 1-4, относятся к разрывам
— В строке 2 указано общее количество дней, в течение которых акции открывались с гэпом в диапазоне, указанном в строке 1.
— В строке 3 показан процент отката с момента открытия гэпа. Например, акция открывается по цене $150 и имеет откат в 2,5% или $3,75.
— Строка 4 показывает, где закрылась эта акция. Если положительный, то она закрылась выше гэпа открытия. Если отрицательно, то она закрылась ниже открытия гэпа.
В таблице результаты разделены на четыре группы: гэпы вверх, гэпы вниз, цены акций больше $10 и цены акций меньше $10. Мой опыт показывает, что цены на акции ниже 10 долларов обычно более волатильны.
РАЗРЫВЫ ВВЕРХ


Сначала мы рассмотрим разрывы вверх для цен на акции, превышающих 10 долларов. Мы опускаем акции, по которым нет данных выше $10. Если мы усредним данные по всем 425 акциям, то получим результаты, показанные на рисунке 1. Он показывает то, что мы уже ожидали. Подавляющее большинство дней открываются с изменением цены менее чем на 1%. В те дни, когда происходит гэп выше, наблюдаются постоянные откаты от 2 до 3 % («откат» в таблицах), независимо от размера гэпа. Мы также видим, что закрытие происходит примерно по той же цене, что и открытие («закрытие против открытия» в таблицах).
Дневной трейдер или позиционный трейдер, ищущий лучшую цену в волатильный день, может дождаться отката, войти в рынок и ожидать прибыли в конце дня.
Если вы уже держите длинную позицию, вы можете выйти на открытии гэпа, дождаться отката и снова войти в сделку. Помните, что акции имеют тенденцию к росту, так что покупка отката является естественным преимуществом.
АКЦИИ СТОИМОСТЬЮ МЕНЕЕ 10 ДОЛЛАРОВ
Отличаются ли акции стоимостью менее 10 долларов? На рисунке 2 показано, что случаев меньше, а откаты могут быть немного больше, но картина во многом такая же, как и в акциях ценой выше 10 долларов. Приятно знать, что нам не нужен особый случай, хотя это и не то, чего я ожидал.
КОД EASYLANGUAGE:
————————————————
// Extreme Moves Gaps and Closes
// Copyright 2023–2024, P J Kaufman. All rights reserved.
// Show frequency of gaps within a table of ranges: gap, pullback, relative close
// Show frequency closes within a table of ranges: close, next open, next close
vars:
gap(0),
gappb(0),
gapclose(0),
extremeclose(0),
found(false),
ix(0),
saveindex(0),
x(0);
array:
thresholds[7](0),
freq[7](0),
gapfrequp[7](0),
gapfreqdown[7](0),
gapup[7](0),
gapdown[7](0),
gapuppb[7](0),
gapdownpb[7](0),
gapupclose[7](0),
gapdownclose[7](0),
closefrequp[7](0),
closefreqdown[7](0),
closeup[7](0),
closedown[7](0),
nextopenup[7](0),
nextopendown[7](0),
nextcloseup[7](0),
nextclosedown[7](0);
once begin
x = -0.01;
for ix = 1 to 7 begin
x = x + 0.02;
thresholds[ix] = x;
end;
end;
// GAP LOGIC
gap = open/close[1] - 1;
// opening gap higher
if gap > 0 then begin
found = false;
for ix = 1 to 7 begin
if found = false then begin
if gap < thresholds[ix] then begin
found = true;
gapfrequp[ix] = gapfrequp[ix] + 1;
gapup[ix] = gapup[ix] + gap;
saveindex = ix;
end;
end;
end;
if found = false then begin
gapfrequp[7] = gapfrequp[7] + 1;
gapup[7] = gapup[7] + gap;
saveindex = 7;
end;
// pullback from gap higher
gappb = low/open - 1;
gapuppb[saveindex] = gapuppb[saveindex] + gappb;
// close relative to gap open
gapclose = close/open - 1;
gapupclose[saveindex] = gapupclose[saveindex] + gapclose;
end;
// opening gap lower
if gap < 0 then begin
found = false;
for ix = 1 to 7 begin
if found = false then begin
if gap < 0 and absvalue(gap) < thresholds[ix] then begin
found = true;
gapfreqdown[ix] = gapfreqdown[ix] + 1;
gapdown[ix] = gapdown[ix] + gap;
saveindex = ix;
end;
end;
end;
// pullback from gap lower
gappb = high/open - 1;
gapdownpb[saveindex] = gapdownpb[saveindex] + gappb;
// close relative to gap open
gapclose = close/open - 1;
gapdownclose[saveindex] = gapdownclose[saveindex] + gapclose;
end;
// EXTREME CLOSE LOGIC
extremeclose = close/close[1] - 1;
// extreme close higher
if extremeclose > 0 then begin
found = false;
for ix = 1 to 7 begin
if found = false then begin
if extremeclose < thresholds[ix] then begin
found = true;
closefrequp[ix] = closefrequp[ix] + 1;
closeup[ix] = closeup[ix] + extremeclose;
saveindex = ix;
end;
end;
end;
// next open and close
nextopenup[saveindex] = nextopenup[saveindex] + open/close[1] - 1;
nextcloseup[saveindex] = nextcloseup[saveindex] + close/close[1] - 1;
end;
// extreme close lower
if extremeclose < 0 then begin
found = false;
for ix = 1 to 7 begin
if found = false then begin
if absvalue(extremeclose) < thresholds[ix] then begin
found = true;
closefreqdown[ix] = closefreqdown[ix] + 1;
closedown[ix] = closedown[ix] + extremeclose;
saveindex = ix;
end;
end;
end;
// next open and close
nextopendown[saveindex] = nextopendown[saveindex] + open/close[1] - 1;
nextclosedown[saveindex] = nextclosedown[saveindex] + close/close[1] - 1;
end;
// Print set-up to avoid divide by zero
if lastbaronchart then begin
// GAPS UP
print(file("c:\TradeStation\Extreme_Moves.csv"), "Range>>, <1%, <3%, <5%, <7%, <9%, <11%, >11% ");
print(file("c:\TradeStation\Extreme_Moves.csv"), "GAP UP,",
gapfrequp[1]:6:1, ",", gapfrequp[2]:6:1, ",", gapfrequp[3]:6:1, ",",
gapfrequp[4]:6:1, ",", gapfrequp[5]:6:1, ",", gapfrequp[6]:6:1, ",",
gapfrequp[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if gapfrequp[ix] <> 0 then freq[ix] = 100*gapuppb[ix]/gapfrequp[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "GAP UP PULLBACK,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if gapfrequp[ix] <> 0 then freq[ix] = 100*gapupclose[ix]/gapfrequp[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "GAP UP CLOSE VS OPEN,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
// GAPS DOWN
print(file("c:\TradeStation\Extreme_Moves.csv"), " ");
print(file("c:\TradeStation\Extreme_Moves.csv"), "Range>>, <1%, <3%, <5%, <7%, <9%, <11%, >11% ");
print(file("c:\TradeStation\Extreme_Moves.csv"), "GAP DOWN,",
gapfreqdown[1]:6:1, ",", gapfreqdown[2]:6:1, ",", gapfreqdown[3]:6:1, ",",
gapfreqdown[4]:6:1, ",", gapfreqdown[5]:6:1, ",", gapfreqdown[6]:6:1, ",",
gapfreqdown[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if gapfreqdown[ix] <> 0 then freq[ix] = 100*gapdownpb[ix]/gapfreqdown[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "GAP DOWN PULLBACK,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if gapfreqdown[ix] <> 0 then freq[ix] = 100*gapdownclose[ix]/gapfreqdown[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "GAP DOWN CLOSE VS OPEN,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
// CLOSE UP
print(file("c:\TradeStation\Extreme_Moves.csv"), " ");
print(file("c:\TradeStation\Extreme_Moves.csv"), "Range>>, <1%, <3%, <5%, <7%, <9%, <11%, >11% ");
print(file("c:\TradeStation\Extreme_Moves.csv"), "CLOSE UP,",
closefrequp[1]:6:1, ",", closefrequp[2]:6:1, ",", closefrequp[3]:6:1, ",",
closefrequp[4]:6:1, ",", closefrequp[5]:6:1, ",", closefrequp[6]:6:1, ",",
closefrequp[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if closefrequp[ix] <> 0 then freq[ix] = 100*nextopenup[ix]/closefrequp[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "NEXT OPEN,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if closefrequp[ix] <> 0 then freq[ix] = 100*nextcloseup[ix]/closefrequp[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "NEXT CLOSE,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
// CLOSE DOWN
print(file("c:\TradeStation\Extreme_Moves.csv"), " ");
print(file("c:\TradeStation\Extreme_Moves.csv"), "Range>>, <1%, <3%, <5%, <7%, <9%, <11%, >11% ");
print(file("c:\TradeStation\Extreme_Moves.csv"), "CLOSE DOWN,",
closefreqdown[1]:6:1, ",", closefreqdown[2]:6:1, ",", closefreqdown[3]:6:1, ",",
closefreqdown[4]:6:1, ",", closefreqdown[5]:6:1, ",", closefreqdown[6]:6:1, ",",
closefreqdown[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if closefreqdown[ix] <> 0 then freq[ix] = 100*nextopendown[ix]/closefreqdown[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "NEXT OPEN,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
for ix = 1 to 7 begin
freq[ix] = 0;
if closefreqdown[ix] <> 0 then freq[ix] = 100*nextclosedown[ix]/closefreqdown[ix];
end;
print(file("c:\TradeStation\Extreme_Moves.csv"), "NEXT CLOSE,",
freq[1]:6:1, ",", freq[2]:6:1, ",", freq[3]:6:1, ",",
freq[4]:6:1, ",", freq[5]:6:1, ",", freq[6]:6:1, ",", freq[7]:6:1);
end;
--------------------------------------------------------
НИСХОДЯЩИЕ РАЗРЫВЫ
Мы знаем, что фондовый рынок склонен к росту, но большой нисходящий разрыв может сыграть не так, как откат от восходящего разрыва. На рисунке 3 показано, что в два раза больше нисходящих гэпов менее 3 %, но по мере увеличения гэпов количество случаев резко сокращается.

Откаты становятся более значительными (движение вверх после гэпа вниз), а цены, как правило, закрываются на уровне первоначального гэпа вниз, что во многом совпадает с гэпом вверх.
Для единообразия на рисунке 4 показаны результаты гэпа вниз для акций стоимостью менее 10 долларов. Он имеет ту же картину, что и в предыдущих таблицах. Угу.

КОНКРЕТНЫЕ АКЦИИ
Средние показатели могут скрывать много интересных данных, поэтому мы рассмотрим несколько акций, которые были в центре внимания новостей. На рисунках 5, 6 и 7 показана частота восходящих гэпов, размер отката и закрытие относительно открывающего гэпа. Как и следовало ожидать, одни акции более активны, другие — средне.



ЭКСТРЕМАЛЬНЫЕ ЗАКРЫТИЯ В АКЦИЯХ
Экстремальное закрытие в акциях похоже на широкий день на гистограмме или свече. Томас Балковски анализирует этот паттерн в «Энциклопедии свечных графиков», а также в своей предыдущей книге «Энциклопедия графических паттернов». Но здесь мы рассмотрим его еще раз, используя данные, начиная с 2010 года.
Результаты отличаются от открытия гэпа. Событий стало больше, но после закрытия более высоких позиций не наблюдается никакого прорыва (рис. 8). Мы могли бы ожидать чего-то другого, поскольку данные включают весь 10-летний бычий рынок. Это говорит о том, что акции в среднем ведут себя шумно.

Цены, которые закрываются ниже, более интересны, потому что все они показывают разворот на следующий день, то есть не сопровождение, а скорее подтверждение восходящего тренда в акциях (рис. 9). Возможно, дело в том, что трейдеры любят покупать на падении.



ЭКСТРЕМАЛЬНОЕ ЗАКРЫТИЕ ДЛЯ АКЦИЙ СТОИМОСТЬЮ МЕНЕЕ 10 ДОЛЛАРОВ
Хотя мы не нашли ничего интересного в таблицах разрывов для акций стоимостью менее 10 долларов, эти экстремальные закрытия отличаются от других. На рисунке 10 показано, что на всех уровнях восходящих закрытий наблюдается последовательное следование за акциями с низкой ценой.
Аналогично, акции с низкой ценой также демонстрируют тенденцию закрытия выше после закрытия ниже. Возможно, это просто восходящий уклон фондового рынка, но, похоже, он сильнее влияет на акции с более низкой ценой, чем на акции стоимостью более 10 долларов (Рисунок 11).
РЕЗЮМЕ
Подводя итог, можно сказать, что гэпы любого размера, будь то восходящие или нисходящие, имеют тенденцию разворачиваться на аналогичную величину и закрываться вблизи цены открытия гэпа.
Экстремальные восходящие закрытия для акций стоимостью более 10 долларов не имеют заметного продолжения и обычно разворачиваются на следующий день. Но акции стоимостью менее 10 долларов имеют значительные развороты в сторону повышения после более низкого закрытия.
Хотя в таблицах, представленных в этой статье, указаны средние значения, они могут дать вам хорошее представление о том, чего ожидать от крупных открытий, а также крупных закрытий. В целом, вы можете рассчитывать на то, что фондовый рынок, имеющий тенденцию к росту, разрешит эти модели с последующим ростом цены.
В колонке «Экстремальные движения: Гэпы и закрытия» (выше по тексту) предлагается код на языке EasyLanguage, которая позволяет создавать таблицы для одной акции за раз.
Об Авторе:
Перри Дж. Кауфман — трейдер и финансовый инженер. Автор множества книг по трейдингу и анализу рынка, в том числе шестого издания (2020) книги «Торговые системы и методы» (первое издание вышло в 1978 году как основополагающая книга в области технического анализа), а также книг «Кауфман конструирует торговые системы» (2020) и «Учитесь торговать» (2022). С вопросами и комментариями обращайтесь по адресу www.kaufmansignals.com.
ДОПОЛНИТЕЛЬНОЕ ЧТЕНИЕ:
Кауфман, Перри Дж. [2022]. Learn To Trade, Amazon. [2020]. Торговые системы и методы, 6-е издание, Wiley.
[2020]. Kaufman Constructs Trading Systems (печатное и электронное издания), Amazon.
———————————————
Переведено специально для сайта Finware Technologies, www.finware.ru
Вы можете свободно распространять эту статью любыми способами целиком вместе с этим блоком и действующей гиперссылкой на сайт finware.ru.
———————————————
Оставьте первый комментарий