Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2076

 
Evgeniy Chumakov:

Можно посчитать на истории на сколько процентов был прирост цены при заданном паттерне ( среднее арифметическое , средне квадратическое)  например.

можно просто нормализовать паттерн например в диапазон 0-1, а потом нормализовать пространство относительно этого паттерна, и все

понял о чем я ?
 
mytarmailS:

можно просто нормализовать паттерн например в диапазон 0-1, а потом нормализовать пространство относительно этого паттерна, и все

понял о чем я ?


Не не понял.

Вот у меня текущий паттерн:

Модель 'длинных' = X ,

Модель 'коротких' = B,

Прошлое событие = L


Я могу по истории найти когда было то же самое.

потом нормализовать пространство относительно этого паттерна  -  по типу функции в фикс диапазоне (или там 25 % ниже максимума и т.д.)

 
Evgeniy Chumakov:

Не не понял.

Смотри, все проще, я тоже ломал голову годами когда то...

есть у нас паттрен х1

x1 <- rnorm(40)

есть у на и два другие паттрены х2 и х3  они такие же как и х1 но с другой волатильностью 

x2 <- x1*3
x3 <- x1*6

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

1) нужно привести паттрены в единый диапазон , скажем 0-1

обычное нормирование 

r01 <- function(x)    (x-min(x))  /  ( max(x) - min(x))

получаем что все три паттерна оказывается одинаковы

plot(   r01(x3[1:5])   ,t="l",lwd=50) 
lines(   r01(x2[1:5])   ,col=2,lwd=20) 
lines(    r01(x3[1:5])   ,col=3,lwd=10)

теперь надо нормировать пространство относительно паттерна

это делает фукция r02

r02 <- function(x,y)    (y-min(x))  /  ( max(x) - min(x))

где " y " это пространство , а "х" это НЕ нормированый паттерн

Потом соединяем результаты преобразований от функций   r01   и  r02  в один ряд (вектор)

и получаем паттерн нормирований в диапазон 0-1 и пространство нормировано относительно етого паттерна

plot(c(r01(x3[1:5]),r02(x = x3[1:5],x3[-c(1:5)]))  ,t="l",lwd=10) 
lines(c(r01(x2[1:5]),r02(x = x2[1:5],x2[-c(1:5)])),col=2,lwd=5) 
lines(c(r01(x1[1:5]),r02(x = x1[1:5],x1[-c(1:5)])),col=3,lwd=2)


схожести надо искать не корреляцией а евклидовой метрикой

eucliden.distance <- function(x1, x2) sqrt(sum((x1 - x2) ^ 2))

чем меньше значение, тем ближе паттерны между собой

 

Понял что о разном.

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

А вот пространство вокруг паттерна  естественно разное из-за волотильности, но оно как бы мне не нужно потому, что мне важно формальность   ( отрезок короче,длиннее).

 
Evgeniy Chumakov:

Понял что о разном.

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

 А какая разница что сравнивать?

Вот у тебя паттерн размером 10-20-10   и  20-40-20 это один и тот же паттерн или нет ?

 
mytarmailS:

 А какая разница что сравнивать?

Вот у тебя паттерн размером 10-20-10   и  20-40-20 это один и тот же паттерн или нет ?


Какой размер?    У меня несколько чётко описанных паттернов они все разные как  к примеру: 0110 и 1001

 
Evgeniy Chumakov:


Какой размер?    У меня несколько чётко описанных паттернов они все разные как  к примеру: 0110 и 1001

ну отрезки твои 

 у меня отрезки (короче,длиннее)

10 свечей - 20 свечей -10 свечей

не тормози)

 
mytarmailS:

ну отрезки твои 

10 свечей - 20 свечей -10 свечей

не тормози)



Какие свечи 10-20-10 ?

 
Evgeniy Chumakov:

Какие свечи 10-20-10 ?

те ты просто логическим условием сравниваешь?  больше/меньше   true/false ?

все?

 
mytarmailS:

те ты просто логическим условием сравниваешь?  больше/меньше   true/false ?

все?


Да, паттерн строится по условиям - такой то отрезок длинее (короче ) друго и т.д.

Причина обращения: