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

 

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

Файлы:
Buy15MALL.txt  733 kb
Sell15MALL.txt  791 kb
 
Vizard_:

ОО... Сенсей, спасибо))) Давно так не ржал))))))))


ХМ.... я тебя не понимаю...... если твоя модель какаято секретная, то можешь конечно не выкладывать. Или ты думаешь что твоя модель будет работать вечно и ты типа отдаешь грааль в чужие руки???? Что тебя так рассмешило????

По сути я лично придерживаюсь следующего постулата "Архитектура сети играет незначительную роль в построение модели. Главное уметь правильно тренировать хотя бы один нейрон"

Выразился конечно коряво, но что то с утра ничего толкогого в голову не идёт. Я просто хотел сказать что можно получить модель в виде полинома, без всяких там секретов и т.д. обычный такой полином.... НО он в себе будет нести обобщающую способность и работоспособность в будущем. Просто он натренирован правильно, а вот это уже исскуство, за это отвечает не сама НС, а её окружение.....

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

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8) {
   double x0 = 2.0 * (v0 + 854.0) / 1708.0 - 1.0;
   double x1 = 2.0 * (v1 + 6025.0) / 12050.0 - 1.0;
   double x2 = 2.0 * (v2 + 83.31175) / 166.6235 - 1.0;
   double x3 = 2.0 * (v3 + 94.01706) / 190.59075 - 1.0;
   double x4 = 2.0 * (v4 + 79.89835) / 162.32691999999997 - 1.0;
   double x5 = 2.0 * (v5 + 8139.72596) / 16279.45192 - 1.0;
   double x6 = 2.0 * (v6 + 44728.87178) / 89457.74356 - 1.0;
   double x7 = 2.0 * (v7 + 16744.5244) / 33489.0488 - 1.0;
   double x8 = 2.0 * (v8 + 3571.0) / 7142.0 - 1.0;
   double decision = -0.3081635711326393 * sigmoid(x4)
  + 1.0249861163756249 * sigmoid(x2 + x4)
  + 0.09986072300626747 * sigmoid(x1 + x2 + x3 + x4)
  + 0.5413533668890985 * sigmoid(x5)
  + 0.6997159366377829 * sigmoid(x0 + x2 + x5)
  -0.04588868418500921 * sigmoid(x0 + x1 + x2 + x4 + x5)
  + 0.16781775869820087 * sigmoid(x1 + x2 + x3 + x4 + x5)
  + 0.4607985948890632 * sigmoid(x0 + x6)
  -0.8671700766023466 * sigmoid(x1 + x6)
  -0.5270267887837945 * sigmoid(x4 + x6)
  -0.027936937492837814 * sigmoid(x0 + x4 + x6)
  -0.6617354089719066 * sigmoid(x1 + x3 + x4 + x7)
  -0.19638937616247806 * sigmoid(x1 + x5 + x7)
  + 0.8684769002935395 * sigmoid(x6 + x7)
  -0.5967137681478805 * sigmoid(x0 + x2 + x5 + x6 + x7)
  -0.2097815643098296 * sigmoid(x0 + x1 + x4 + x5 + x6 + x7)
  -1.5340457322179422 * sigmoid(x8)
  + 0.7646273899667675 * sigmoid(x0 + x8)
  + 0.27679539504420725 * sigmoid(x2 + x3 + x8)
  -0.37855134296518955 * sigmoid(x1 + x6 + x8)
  -0.0311654310975556 * sigmoid(x0 + x1 + x2 + x6 + x8)
  -0.6036203203370856 * sigmoid(x0 + x1 + x2 + x3 + x5 + x6 + x8)
  + 0.04123987376920568 * sigmoid(x3 + x7 + x8)
  + 0.8450984194705711 * sigmoid(x0 + x1 + x2 + x3 + x4 + x7 + x8)
  -0.8578008338989624 * sigmoid(x2 + x3 + x5 + x7 + x8)
  + 1.059103470465344 * sigmoid(x1 + x3 + x6 + x7 + x8)
  + 1.0514388283102527 * sigmoid(x0 + x1 + x2 + x4 + x5 + x6 + x7 + x8)
  -0.06758350008374249 * sigmoid(1.0 + x0 + x3 + x4)
  -0.24213702035383408 * sigmoid(1.0 + x4 + x5)
  -0.8011798876969051 * sigmoid(1.0 + x0 + x1 + x3 + x5 + x6 + x7)
  + 0.7506445968459932 * sigmoid(1.0 + x0 + x3 + x8)
  + 0.3049328737780207 * sigmoid(1.0 + x0 + x1 + x2 + x3 + x6 + x7 + x8);
   return decision;
}
 
А почему две таблицы?
У одной таргет 1, у другой 0? А почему тогда в каждой таблице и так уже есть таргеты 0 и 1?
Можно их объеденить в одну?
 
Dr. Trader:
А почему две таблицы?
У одной таргет 1, у другой 0? А почему тогда в каждой таблице и так уже есть таргеты 0 и 1?
Можно их объеденить в одну?

Одна для сигналов на покупку, другая для сигналов на продажу.....

Чтобы объединить их в одну, нужно сделать инверсию для одной из таблиц. Тогда одну и ту же модель можно использовать для сигналов на покупку и продажу.

А так получается две независимые модели, одна на покупку, другая на продажу....

 
Vizard_:

Это болезнь)))
Ты понимаешь, что млять, хотя бы ради уважения надо для начала править шапку))) что таргет не обладает свойством полноты и люди юзают не только кв и пр.,
а и тупо делят пополам))) Ты понимаешь, что и в этом посте не только стеб? Нет...поэтому и через 13 следующих лет будешь писать такую же лабуду)))
За то, что рассмешил, напомню в десятый раз, что в адской машинке Решетова две ошибки, одну из которых можно частично нивелировать... но эта приблуда
всегда будет проигрывать как минимум 2%... на датасете Дока, на оос(тест) можно получить 55.3%... но это разумеется всего лишь попугаи...


Ты знаешь что это за ошибки???? Раз говоришь с такой уверенностью.....

 

Попробовал Buy15MALL, модель нашла какую-то зависимость между ST9, AD5, Volum7, VVolum7, другие входы полностью игнорит. Точность 55,6%. Моделью поделиться не могу. Попробуй заново обучить машину Решетова только на этих четырёх.


Vizard_:

на оос(тест) можно получить 55.3%... но это разумеется всего лишь попугаи...

Классно, это даже не попугаи, это предсказание прироста eurusd m5 по барам за последних 7 недель или около того. Но учитывая спред думаю торговля будет в минус.
По советам буду пробовать похожий эксперимент но с разными лагами прироста, типа open0-open1, open0-open2, итд

 

Смыслом этой затеи было определится в следующем. 

Либо данные у меня собраны корректно и они будут работать и на других алгоритмах и системах оптимизации.

Либо это всё таки чудеса Оптимизатора Решетова, который может из любых данных сделать стоящую модель.

 
Vizard_:

Лучше б на изобр. поупражнялся, ведь смысл не его обработать а...

Согласен, мне нужно качественное шумоподавление. 
Я вроде научился обучить модель с кроссвалидацией так чтоб точность не сильно падала на новых данных. Как в этом случае, если пару лет назад получил бы 100% на трене и 50% на тесте, то сейчас просто 50% и там и там. Но этого явно мало. Когда научусь шумоподавление то плюс пару процентов наверно выжму.

 
Yuriy Asaulenko:

Я на биржевых инструментах проверял. В отличии от неск лет назад, там все движение - 15-20 мин... и тишина.

На Форекс, да, минуты скорее не рулят. Хотя 51-53% точности - это оч хороший прогноз, но спрэд этим прогнозом действительно не отобьешь.( Но вот для улучшения входа использовать можно попробовать.


Распределение вероятностей одинаково на любом ТФ, т.е. вероятность выхода за пределы 3-х сигм и поимки черного лебедя, о чем тут вообще речть? причем здесь тф :) ТФ это просто другое представление того же самого графика
 
Уважаемые, вы бы перед прогнозированием рынка, ознакомились бы с проблематикой задачи. Прогнозирование временных рядов, это вам не классификация растений и рака, по фичам.


Mihail Marchukajtes:

Михаил, один только вопрос.

Почему в датасете таймсерии у тебя данные отсортированы?


Что здесь прогнозировать?
upd/ Хотя бы как разбить датасет на тренировочный и тестовый?

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