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

 
Maxim Dmitrievsky:

давно пришел к выводу что цена это никакая не ф-я и вообще не пойми что, поэтому хоть запреобразовывайся, будет просто потеря инфы и всё, как следствие ухудшение результата

вот к вопросу масштабирования.. не могу решить задачу, нет идей. Может на что намекнете?

В коде, кот. на днях публиковал, там есть строчка с масштабированием, перед тем как на НС подать.

while i < LenHist:
    x = []
    for j in range(0, 20): #Подготовка данных для НС

        x.append((SD.history[i-j][c.c]/SD.history[i][c.c]-1)*1000)

    out = MLP.Predict([x]) # запрашиваем прогноз НС     if out >= 3.0:         i = Long(i)               tmp.append('L')     elif out <= -3.0:         i = Short(i)                 tmp.append('S')     i += 1

Для НС о 20-ти входах. Кэффициент (1000) м.б. любым, какой нравится НС. Как-то так.

 
Yuriy Asaulenko:

В коде, кот. на днях публиковал, там есть строчка с масштабированием, перед тем как на НС подать.

Для НС о 20-ти входах. Кэффициент (1000) м.б. любым, какой нравится НС. Как-то так.

так это 20 приращений получается, домноженных на 1000

 
Maxim Dmitrievsky:

так это 20 приращений получается, домноженных на 1000

Какие приращения? Это масштабированная последовательность цен, в данном случае - Close. Все соотношения в ряду сохраняются без изменений.

 
Делите 

SD.history[i-j][c.c]/SD.history[i][c.c]

i-jй клоуз прайс на i-й это и есть ретурн

получаете 20 ретурнов с лагом от 1 до 20, потмо зачем-то на 1000 домножаете
 
Maxim Dmitrievsky:
Делите 

SD.history[i-j][c.c]/SD.history[i][c.c]

i-jй клоуз прайс на i-й это и есть ретурн

получаете 20 ретурнов с лагом от 1 до 20, потмо зачем-то на 1000 домножаете

Про ретурны я не в курсе. Не владею этой терминологией.)) Это простой перенос системы координат в ноль и масштабирование.

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

 
Yuriy Asaulenko:

Про ретурны я не в курсе. Не владею этой терминологией.)) Это простой перенос системы координат в ноль и масштабирование.

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

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

 
Maxim Dmitrievsky:

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

Там весь ряд делится на Close(0), т.е. нулевая точка ряда всегда 1 - приводим к единому масштабу для всех выборок. Вычитаем из каждого члена ряда 1 - переносим ряд в начало координат. Умножаем на коэф масштабирования (1000), для согласования диапазона со входом НС.

Не, не нравится, не применяйте.)

 
Yuriy Asaulenko:

Там весь ряд делится на Close(0), т.е. нулевая точка ряда всегда 1. Вычитаем из каждого члена ряда 1 - переносим ряд в начало координат. Умножаем на коэф масштабирования (1000), для согласования диапазона со входом НС.

Не, не нравится, не применяйте.)

нене, я просто говорю что это ретурны, вместо -1 можно поставить log(), то же самое будет, т.е. логретурны. Это потеря инфы очень существенная, т.к. у вас их всего 20

 
Maxim Dmitrievsky:

нене, я просто говорю что это ретурны, вместо -1 можно поставить log(), то же самое будет, т.е. логретурны. Это потеря инфы очень существенная, т.к. у вас их всего 20

Для моей задачи 20 достаточно. В общем случае, возможно нужно и больше. От конкретики зависит.

Имхо, нельзя поставить log - это нелинейное преобразование. Польза, в общем случае, оч сомнительна.

В общем случае, я пропускаю входной ряд через сигмоид или tanh, таким образом, чтобы основные цены были на "линейном" участке, и нелинейностью ограничивались лишь выбросы.

 
Uladzimir Izerski:

А зачем вам предикторы?

Сырой график вам уже не нравится?

Вы не очень разбираетесь в МО и алготрейдинге, мне придётся как можно большему людей посоветовать не покупать ваши "граали" в маркете, в виду не компетентности автора.

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