Блог им. Foudroyant

Трудности формализации сигналов

Допустим, у нас есть задача — формализовать сигнал для ТС. 

Например, на слом тренда.

Пробуем это делать и натыкаемся вот на что:

1. Вводим условие: «Растущий тренд считается сломанным, если снижение продолжилось до значения цены = 100».

Здесь возникает затруднение: с точки зрения содержания нет разницы между 99 и 101, но сигналы 99 и 101 робот отработает противоположным образом.

2. Пытаемся усложнить задачу и добавить временное измерение.

Формулируем: «Растущий тренд считается сломанным, если снижение продолжилось до значения цены = 100 и продержалось там время 100».

И снова упираемся в то же самое: с точки зрения содержания нет разницы между временем 99 и временем 101, но сигналы 99 и 101 робот отработает противоположным образом.

3. Пытаемся вырваться из этой западни и вводим плавающие (например, в зависимости от волатильности или ещё какого-нибудь параметра) границы.

Формулируем: «Растущий тренд считается сломанным, если снижение продолжилось до значения цены = „100 * волатильность“ и продержалось там время = „100 * волатильность“.

И снова упираемся в стену, потому что с точки зрения содержания нет разницы между умножением на волатильность 99 или 101, как времени, так и расстояния в пунктах — а сигнал будет получаться противоположный.

Любой чётко закреплённый параметр в расчётах заводит нас в эту западню.

★1
36 комментариев
Слом тренда характеризуется неким событием, событиями, а не голыми цифрами.
avatar
Ищу трейдера, это уже другой стиль работы будет. Интуитивный, наверное. 
Foudroyant, нет, все хорошо формализуется.
avatar
Ищу трейдера, могли бы привести пример?
Foudroyant, ну так чтобы себе не во вред — не могу )
avatar
Ищу трейдера, а это «событие» вообще в виде чисел может быть выражено?
Foudroyant, может, но мне удобнее графически.
avatar
А как формализуется понятние тренда. Что это? Отсюда можно будет и остальное помаленьку вытащить. 
avatar
tashik, можно попробовать так: «тренд — это движение, пригодное для торговли по принципу „заметил-взял-вышел, не вернувшись в исходную точку“.
Foudroyant, вот отсюда и трудности с формализацией )
avatar

tashik, это самое практически применимое определения тренда, какое встречал (оно встроенно учитывает и все ТФ, и твою ТС ).

А знаете какое-нибудь определение тренда, более соответствующее идеалу?

Foudroyant, чтобы что-то формализовать, нужно выделить критерии, в идеале — численно. Оценки характеристик процесса. А так это все мыслью по древу )
avatar

tashik, так при чётком, тем более в численном, определении тренда мы снова ведь упрёмся в эту стену:

«Почему число 99 не означает тренда, а число 100 означает?» 

Это общеметодологический вопрос.

Foudroyant, ну и формализация тогда будет такая, что не устроит Вас и протестировать ее будет невозможно, раз оно расплывчато и неопределимо. 
avatar

tashik, это уже наводит на мысль: «Всё ли можно формализовать»? По этому вопросу слышал разные мнения. Но на практике сталкиваюсь с тем, что некоторые вещи формализовывать и тестировать непонятно как.

 

Например, надо формализовать пробитие уровня. 

Уровень = 1 000. Цена дошла до 999 — уровень не пробит. До 1001 — уровень пробит.

Это формальные признаки.

Но: на деле между двумя случаями нет разницы никакой. То есть открытие позиции по такому сигналу = открытие позиции вообще без сигнала.

Foudroyant, тренд — это вполне себе «статистический» термин, это описание процесса или части процесса с определенными характеристиками. Эти характеристики — если определиться с их перечнем- можно распознавать раньше, чем другие игроки. Тут и упрощать плохо, и усложнять тоже плохо ) Но если перечня таких характеристик не выработать — нечего и не из чего будет формализовывать.
avatar
tashik, адресую Вам тот же вопрос, что и Горчакову.
Foudroyant, подходы могут быть разные, причём существенно.все требуют бэктеста.и всё равно универсального на все времена нет.более того использование только трендового подхода может привести к вашему нынешнему состоянию.и чем выше горизонт, тем период убытков будет длиннее.один из вариантов подхода к трендам реализовал юзер Н.Скриган
avatar
с точки зрения содержания нет разницы.

дык это… вопрос в содержании же
avatar
Tуземец, содержание — «тренд продолжается или тренд завершён».
поэтому надо описать тренд так что либо 1 либо 0 
TutProstoAdres, это тоже создаст ту же западню — потому что, в этом случае, у нас тоже чёткие границы.
Используйте логику нечеткой логики.
avatar
SergP, вот куда-то в эту сторону я и начал сейчас сдвигаться.
Сергей Сергаев, «нечёткой границе — нечёткий сигнал». 
Ну если волнует разница между 99, 100 и 101, то рассмотрите их в качестве параметров и  пропортфелируйте эквити с разными параметрами.
avatar

А. Г., до меня, кажется, начала доходить разница между двумя подходами.

 

1-й подход, статистический: в качестве параметра выбрано число, допустим, 100 — потому что статистически доказано на истории, что именно после достижения 100 тренды почти всегда разворачивались (с большим статистическим перевесом). То есть обоснование параметра 100 чисто статистическое.

Иными словами, в некой комбинации параметров ТС именно при таком значении рассматриваемого параметра получается наилучший результат. Проверка комбинаций параметров делается на истории. Это и есть оптимизация.

 

2-й подход (условно назову его геометрический): в качестве параметра выбрано число 100, потому что в рыночном пространстве оно имеет некий геометрический смысл. И тогда как раз возникает вопрос: «Почему геометрическая точка 99 может иметь один смысл для положения текущей цены относительно всего рыночного пространства, а 100 — противоположный, если между ними пренебрежимо малая разница?"

 

Да уж, взрыв мозга...

А. Г., а такой геометрический подход вообще можно применять к рынку?
Foudroyant, не знаю. Я только числа Фибоначчи проверил: мимо.
avatar

А. Г., а если бы числа Фибоначчи оказались, после проверки, работающей закономерностью, Вы смогли бы их формализовать для своего робота?

Если скажете «да», то выплывет вопрос из заметки, под которой мы это обсуждаем.

Foudroyant, да, но они не работают.
avatar

А. Г., не знаю, работают они или нет. Поверю Вам, что не работают. Тут суть в другом.

Давайте проведём мысленный опыт.

1. Берём число Фибоначчи, например «5». 

2. Вам надо его внести в программу робота как сигнал для открытия или закрытия позиции. 

3. Вы вносите число «5» как сигнал.

4. Начинается торговля. Цена доходит до 4.9 и разворачивается. 

5. Вы делаете вывод, что правильно не вошли, потому что вход по числу 5, а не 4. 9.

Но разве так можно? Ведь 4.9 и 5, в данном контексте — одно и то же. Формально они разные, но содержательно, в связи с контекстом — это одно и то же. И именно там и произошёл разворот.

Вот как это явление можно формализовать?

Foudroyant, вы берёте частность плюс подсознательно хотите «заработать все деньги» — а это нереально. Поэтому возвращаю Ваше внимание к моему ответу: по каким свойствам можно понять, что ценовой хаос структурировался, а по каким можно понять, что хаос снова вернулся. Почитайте про разладку и способы ее обнаружения. И да, придется принять какие-то критерии и смириться с тем, что всех денег не заработать. Используйте группу критериев, назначайте им веса, но обнаружение тренда — это задача о разладке, а не о 4.9 или 5
avatar
Вероятность западни очень мала. Если это все ошибки, это можно считать успехом
avatar
Определение !?)) Ха!
Формула — if High_t0 > High_t-1 to
$trend =+ 1
If $trend >= 3 to print TREND)))
avatar

теги блога Лосиный вареник

....все тэги



UPDONW