Владимиров Владимир
Владимиров Владимир личный блог
25 ноября 2019, 10:28

Использование математических методов для прогнозирования в трейдинге

Использование математических методов для прогнозирования в трейдинге

Этой статьей я хочу дать пищу для размышлений тем трейдерам, которые ищут свой подход к торговле и не пугаются, когда видят формулу и пытаются с помощью нее что то просчитать. Не собираюсь писать нравоучения, устраивать жаркие споры и дискуссии о ТА. Имейте уважение к точке зрения других. В то же время, если будут конструктивные вопросы или дискуссия по теме, которую я здесь затронул, буду рад обсудить по существу.

Много раз видел в сообщениях на смарт-лабе язвительные мнения о прогнозировании с использованием математических методов и вообще отрицание математики в трейдинге. Самое удивительное для меня в таком отношении, это то, что все противники математической формализации, на самом деле, сами занимаются прогнозированием – как направления движения цены (выбор между лонгом и шортом), так и интервалов торговли (цены входа и выхода из позиции). Кто-то делает это интуитивно ( не задумываясь о мыслительных процессах, которые совершает ваш мозг при этом), кто-то смотрит свечки (волны, Фибо и проч.). Сомневаюсь, что трейдер для определения лонг или шорт тупо бросает монетку – типа орел, лонг, решка – шорт (тем, кто так и поступает – просьба дальше не читать ))..). Но ведь графики, свечи, волны – все это способы графического анализа известных параметров торговли, таких как цены открытия, максимум, минимум и закрытия на интервале, объем (есть еще число открытых позиций, суммарный спрос и предложение – о них я говорить здесь не буду). Так уж исторически сложилось, что анализ цен проводился графически. И во времена, когда компьютеров еще не было, графики чертили на кальке, а интерполировали и экстраполировали линейками (были такие специально изогнутые линейки). Просто тогда не было другого способа. А когда компьютеры появились, мнение о том, как надо анализировать уже было основательно сложившимся. И в принципе работало. Добавились различные индикаторы. Короче говоря, сформировался сложившийся ранее подход о том, как надо и каким образом анализировать ситуацию на рынке. Кроме того, традиционный свечной анализ – это же ведь анализ поведения цены на интервале, просто результат выражен графически через свечи, показывающие соотношение цен открытия, максимума, минимума и закрытия (OHLC). Это не какая то абсолютная и независимая догма, а скорее — результат обобщения исторического опыта.

Я и не собираюсь все эти сложившиеся подходы опровергать. Просто хочу подчеркнуть, что мы живем в 21 веке и возможности техники позволяют встать на иной уровень анализа. И это отнюдь не означает отрицания вероятностного характера торговли. И прогнозирование не надо воспринимать как нечто абсолютное, дающее совершенно точный результат с точностью до копейки в цене. Конечно же нет. Оно позволяет выбрать наиболее вероятный вариант движения и уровня цен и дать приблизительный интервал торговли (максимальную и минимальную цены). Знание этого облегчает выбор направления торговли и входа в позицию, планирование выхода из позиции.

Сначала небольшое лирическое отступление. Про цены, чтобы мы понимали друг друга. В первую очередь, это относится к тем, кто торгует внутри дня. Здесь, на мой взгляд, не надо преувеличивать  значение цены закрытия. Во первых, внутри дня есть возможность взять прибыль не дожидаясь закрытия торгов, поскольку многие инструменты, например, Сбер, НорНикель, РТС, доллар, ходят вверх-вниз достаточно регулярно и внутри дня. Во вторых, одна цена закрытия не отражает сути (диапазона) торговли на интервале. Приведу простой пример: пусть цены в течение интервала изменялись следующим образом: 100, 105, 103, 113, 109, 101, 97. Беря в расчет только цену закрытия, можно утверждать, что цена пошла вниз. Но правильно ли это в данном случае? На мой взгляд – нет. Кроме того, сравнение выше/ниже требует еще один показатель, с которым сравнивается текущая цена. И эти цены должны быть сопоставимы.

Можно «тащить» для анализа весь набор цен OHLC, но в плане логики обработки ситуации это потребует очень сложной логики, думаю, что это практически не формализуемо. Я объединил эти цены на каждом интервале в один показатель, получаемый из данного набора цен, который условно назвал средней ценой на интервале (далее под «средней ценой» я буду подразумевать этот показатель). Несомненно, это некоторое упрощение, но оно работает.

Для средней цены я сделал прогноз направления движения цены на следующем интервале. За основу метода взяты давно всем известные формулы для нормального распределения вероятности. Через отклонение от него фактических цен на предыдущих интервалах, делается вывод о направлении движения цены на следующем интервале времени. Суть результатов данного прогноза достаточно проста: если прогноз для следующего интервала — в лонг (я обозначаю его цифрой 1), то взяв на следующем интервале лонг по цене ниже средней предыдущего интервала, вы с высокой вероятностью дождетесь цены выше свой позиции и сможете зафиксировать прибыль. И наоборот: если прогноз в шорт (цифра -1), то взяв шорт по цене выше средней вы сможете закрыть его ниже средней цены и зафиксировать прибыль. (Цифры «+1» и «-1» я привел для того, чтобы была понятна таблица с прогнозами, которую я приведу ниже).

В среднем, точность такого прогноза 70% (т.е. в 7 случаях из 10 фактическое движение средней цены совпадает с прогнозом). Я просчитал этот подход как на акциях, так и на фьючерсах для интервала «день» по историческим данным за последние 3-4 года, а также на интервалах: «час» — за 2 года, на интервалах от 1 мин. до 30 мин. – за год. Слишком большие файлы получаются на коротких интервалах, на годовом отрезке эксел их «съедает» уже с трудом. Точность такого прогноза для интервала «день» приведена в таблице:

Фьючерсы (с 03.01.2019 г. по 18.11.2019 г.)

Акции (с 03.01.2018 г. по 18.11.2019 г.)

Наименование

Точность движения цены

Наименование

Точность движения цены

SBRF

72,97

Сбербанк

74,79

GAZP

76,58

Газпром

75,42

LKOH

74,32

Лукойл

72,90

ROSN

75,23

Роснефть

71,22

MGNT

76,58

Магнит

75,63

GMKR

80,18

НорНикель

71,01

Si

69,82

Яндекс

71,43

RTS

68,47

 

 

Gold

72,36

 

 

Brent

72,99

 

 

Eu

65,14

 

 

U500

73,87

 

 

Проблемы в постоянном получении прибыли по такому методу достаточно просты: во-первых, такой подход не учитывает новостной фон (дивиденды, бэй-бэки и проч.), а во-вторых, он иногда банально неточен. Кроме того, в хорошем тренде искомая «безопасная» цена входа в позицию бывает просто недоступной. И наконец, этот прогноз носит, в первую очередь, качественный, а не количественный характер.

Какое то время меня устраивал в торговле такой подход. Но позже я пришел к пониманию, что кроме качественной оценки (направление цены) однозначно нужна и количественная оценка торгуемого диапазона цен. После ряда попыток количественно формализовать движение цены я напрочь отбросил эту идею и ограничился количественной оценкой максимальной и минимальной цен на интервале. В результате у меня получился прогноз максимальной и минимальной цены. За математическую основу этого метода взяты формулы для нормального распределения вероятности и формула для колебаний маятника, на который действует внешняя сила.

Просчитав этот прогноз на исторических данных за последние 2-3  года, я получил точность расчета максимальной и минимальной цены (через среднеквадратичное отклонение от факта) на разных интервалах – неделя, день, час, 30, 20, 10, 5 и 1 минута — она не более 0,8 % от номинальной величины цены или примерно не более 10-15% от диапазона хода цены на интервале.

В объединенном варианте результаты обоих прогнозов выглядят примерно так (данные прошедшей недели:

 

Следующий день (22.11.19)

Текущая неделя (18.11 – 22.11 2019)

Фьючерсы

Max

Min

Прогноз

Max

Min

Прогноз

Факт

MaxФакт

MinФакт

ГазПром

25 984 

25 849 

-1

26 357 

24 177 

-1

-1

26 118 

24 572 

СберБанк

23 954 

23 726 

1

24 617 

23 799 

1

-1

24 275 

23 702 

Brent

64.53

62.42

1

64.24

61.81

1

-1

64.27

60.30

ГМКНорНик.

178 277 

175 864 

-1

185 503 

171 999 

-1

-1

179 280 

172 321 

ЛукОйл

59 911 

59 173 

1

61 594 

59 071 

1

1

60 700 

58 926 

РосНефть

45 803 

44 991 

1

47 262 

45 013 

1

-1

46 361 

44 403 

Магнит

3 336 

3 274 

1

3 382 

3 278 

-1

-1

3 365 

3 257 

РТС

145 880 

144 080 

1

147 260 

142 600 

1

1

146 490 

142 710 

U500

2 393.67

2 377.67

-1

2 404.92

2 373.42

1

1

2 406.75

2 376.00

Gold

1 478.3

1 464.8

-1

1 486.1

1 457.2

1

1

1 484.2

1 461.6

Доллар

64 102 

63 826 

-1

64 555 

63 741 

-1

-1

64 367 

63 822 

Евро

71 059 

70 684 

-1

71 356 

70 584 

-1

-1

71 183 

70 861 

 

И по акциям:

 

Следующий день (22.11.19)

Текущая неделя (18.11 – 22.11 2019)

Акции

Max

Min

Прогноз

Max

Min

Прогноз

Факт

MaxФакт

MinФакт

ГазПром

259.43

249.64

-1

260.71

240.06

-1

-1

259.80

244.32

СберБанк

238.17

235.97

1

243.89

235.96

1

-1

241.23

235.80

ГМКНорНикель

17 766 

17 524 

1

18 468 

17 060 

-1

-1

17 838 

17 212 

ЛукОйл

6 105 

6 052 

1

6 235 

6 023 

1

1

6 194 

6 026 

РосНефть

456.0

447.7

1

468.7

446.8

1

-1

461.5

441.7

Магнит

3 306 

3 246 

-1

3 360 

3 266 

-1

-1

3 348 

3 255 

Яндекс

2 570.4

2 521.4

1

2 304.1

2 195.5

1

1

2 569.8

2 350.0

 

 

 

С достоверностью данного прогноза тоже есть свои проблемы. При четком тренде фактические цены смещаются в сторону тренда относительно прогноза. Кроме того, здесь также трудно формализовать учет новостного фона и прочих не формализуемых факторов.

В графическом виде резудьтаты прогнозирования выглядят следдующим образом:

Использование математических методов для прогнозирования в трейдинге

High и Low — фактические максимум и минимум на интервале «день»; МахПр и МинПр — прогнозные  максимум и минимум для интервала «день»; 
High_Нед и Low_Нед - прогнозные  максимум и минимум для интервала «неделя».

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

Готов обсудить какие то ваши вопросы – но по существу темы (трейдинга). Свои негативные эмоции и сложившиеся стереотипы (из серии: все прогнозы – ложь, формулы – вред и проч.), пожалуйста, оставьте при себе. Мне они не интересны и переубеждать вас, или доказывать свою правоту -  я не собираюсь.

Сразу отвечу на возможные замечания:

— о том, что «советы давать – не торговать» — публичный результат моей торговли можете посмотреть на сайте ЛЧИ-2019 в разделе «капиталистов» под ником Vlad21KRK;

— о том, что «в пост факте каждый может нарисовать такую таблицу», —  приведу данные на текущую неделю и сегодняшний день:

 

Следующий день (25.11.19)

Текущая неделя (25.11 – 29.11 2019)

Фьючерсы

Max

Min

Прогноз

Max

Min

Прогноз

Факт

MaxФакт

MinФакт

ГазПром

25 756 

24 987 

-1

25 705 

24 159 

-1

     

СберБанк

24 078 

23 731 

-1

24 217 

23 644 

-1

     

Brent

63.66

63.46

1

65.13

61.16

1

     

ГМКНорНик.

177 373 

173 520 

-1

178 251 

171 292 

-1

     

ЛукОйл

60 167 

59 407 

-1

60 552 

58 778 

-1

     

РосНефть

45 803 

45 095 

-1

46 394 

44 436 

1

     

Магнит

3 297 

3 247 

-1

3 365 

3 257 

-1

     

РТС

146 020 

143 670 

-1

146 250 

142 470 

-1

     

U500

2 395.67

2 379.67

1

2 404.83

2 374.08

-1

     

Gold

1 466.2

1 464.4

-1

1 479.1

1 456.5

-1

     

Доллар

64 190 

63 892 

1

64 359 

63 814 

-1

     

Евро

70 906 

70 617 

-1

71 168 

70 485 

-1

     

И для акций:

 

Следующий день (22.11.19)

Текущая неделя (18.11 – 22.11 2019)

Акции

Max

Min

Прогноз

Max

Min

Прогноз

Факт

MaxФакт

MinФакт

ГазПром

256.43

248.84

-1

259.75

244.27

-1

     

СберБанк

240.04

236.38

-1

240.97

235.54

-1

     

ГМКНорНикель

17 684 

17 340 

-1

17 804 

17 178 

-1

     

ЛукОйл

6 162 

6 071 

1

6 201 

6 032 

1

     

РосНефть

456.7

450.1

-1

462.5

442.6

1

     

Магнит

3 284 

3 247 

-1

3 321 

3 228 

-1

     

Яндекс

2 579.0

2 544.2

1

2 640.7

2 420.9

1

     

Всем удачи и профита!

51 Комментарий
  • Дмитрий Новиков
    25 ноября 2019, 11:27
    Вас не цены должны волновать, а изменение цены.
  • А. Г.
    25 ноября 2019, 11:49
    Любой прогноз лишь тогда чего-нибудь стоит, когда на его основе можно построить эффективную торговую систему. Я начинал с такого в 1997-1998, но быстро понял, что без чётких правил входа-выхода все характеристики прогноза — «ни о чем». Простой пример: после белой дневной свечи в 90%+ случаев максимум следующего дня выше цены закрытия предыдущего. Но если торговать систему:  входим на закрытие белой свечи, ставим тейк-профит цена закрытия +0,2% (меньше из-за комиссий не интересно), если тейк-профит не сработал, то закрываемся по закрытию дня. Так вот, при всей «точности» прогноза 90%+, эта система «в одну калитку» проигрывает b&h по соотношению «доходность-просадка».

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн