Нейросети и с чем их употреблять (RomFil)

Верите ли Вы в возможности практического применение нейросетей в трейдинге


  • Всего проголосовало
    50

IRIP

VIP-участник
Сейчас качаю тиковую историю XAUUSD за 2020 и 2021 годы ... Буду пытаться что-нибудь там найти.

там нет ничего - потому что вся история - липовая -
работать можно только с данными - получаемыми в реале - здесь и сейчас =(
 

funny59

Гуру форума
только лишь по ссылке
"параметров", перечислено, около
9 ТФ + 9 по 4 OHLC + 9 Объем (каждого) + 9 Время (каждого) + Open (и OHLC) входа + Close (и OHLC) каждого выхода

только этих данных, для анализа - больше чем предостаточно
на начальном этапе

Я бы тут применил не достаточно, а СЛИШКОМ избыточно!
Всё дело в том, что в прямую OHLCV имеют очень значительную ВЧ составляющую, которая на ящик сказывается не очень хорошим образом. Ящик просто напросто не будет давать нужную точность, точность будет 50/50 - я проходил это.
Тут глубже надо копать! Тики! Скачав историю увидел, что тиковые данные представляют из себя по такой массив:
1626767629023.png
Так что никаких OHLCV ... :) Только хардкор!!! :)
Ладно, подумать надо.
А чтобы лучше думалось, кто знает какие события влияют на Ask цену, а какие на Bid?
Т.е. интересует к примеру продажа актива влияет на Ask или Bid, или и туда и туда оказывает влияние? Т.е. интересуют теоретические знания в области изменения Ask и Bid цен.
 

funny59

Гуру форума
То, что ты не можешь сформулировать =)
уже сформулировано до тебя много много много раз

цель советника - дать вероятность размера позиции
показать вероятность каждого входа - в виде увеличения или уменьшения
рабочего лота

а не показать стоп или тейк
Как это сформулировано "везде" я представляю, а как это сформулировать правильно в задаче пока не представляю. Эта формулировка получиться в процессе, ну если дойдёт до этого этапа. :)
 

IRIP

VIP-участник
Эта формулировка получиться в процессе,

для начала - нужно составить перечень данных, которые будут подаваться на вход
взять простое условие -
например, по пятизнаку -

тейкпрофит 35 пипсов (например)

всё

Задача одна - взять тейкпрофит

и обучить его на простейшей модели
 

funny59

Гуру форума
для начала - нужно составить перечень данных, которые будут подаваться на вход
взять простое условие -
например, по пятизнаку -

тейкпрофит 35 пипсов (например)

всё

Задача одна - взять тейкпрофит

и обучить его на простейшей модели
IRIP, сформулированная тобой задача проста до ужаса и я её уже решил и даже где-то может исходники есть ... :)
Реализовано всё при помощи ящика, но без прямого предсказания, а отнесения входного набора к одной из групп.
Алгоритм очень прост:
(1) в качестве выходов использовался путь цены от входного набора, т.е. фиксируется входной набор и далее в будущее определяется на какое расстояние цена шла - получается выборка вход/выход;
(2) Эта выборка делится на равные кучки по параметру длины движения;
(3) Далее (я бы на самом деле на первое место этот пункт поставил) надо определить какие входные данные влияют на величину движения - согласно анализу вполне достаточно параметров первого импульса и его модифицированной объёмной составляющей.
(4) Создаётся ящик на основе patternnet (в matlab он там так называется), или её современная внучка deepnet на автоэнкодерах, и обучается.
(5) В итоге на выходе ящика будет номер кучки к которой будет отнесён входной набор данных. Поскольку кучки равномерные, а распределение движения будет иметь почти нормальное распределение, то где-то последние 2/3 всех кучек будет являться сигналом.

Как-то так ... :) Только раньше я работал с необработанными OHLCV и получил не очень результаты. Сейчас возможно если заняться этим вопросом, то результат более интересный скорее всего можно будет получить.
Но это пройденный для меня этап и полученный тогда отрицательный результат "противится" повторения ... :)
 

IRIP

VIP-участник
сформулированная тобой задача проста до ужаса и я её уже решил и даже где-то может исходники есть ...

Ты хочешь сказать, что на вход подал

  1. TIMESTAMP
  2. OHLC + Volume
    1. OHLC M1
    2. OHLC M5
    3. OHLC M15
    4. OHLC M30
    5. OHLC Н1
    6. OHLC Н4
    7. OHLC D1
    8. OHLC W1
    9. OHLC MN1
  3. Текущий Спред (комиссия)
  4. ...
и далее по списку
и тебе это ничего не дало?
 

funny59

Гуру форума
Ты хочешь сказать, что на вход подал

  1. TIMESTAMP
  2. OHLC + Volume
    1. OHLC M1
    2. OHLC M5
    3. OHLC M15
    4. OHLC M30
    5. OHLC Н1
    6. OHLC Н4
    7. OHLC D1
    8. OHLC W1
    9. OHLC MN1
  3. Текущий Спред (комиссия)
  4. ...
и далее по списку
и тебе это ничего не дало?
Конечно же не все таймы туда запихивал, а только 2-3. Да ничего. Дело в том, что OHLC имеют внушительную ВЧ составляющую, которую ящик не мог переварить, вернее мог, но точность оставляла желать лучшего. Сейчас я уже знаю, что ошибка была в неправильной предобработке входного вектора. Надо было первоначально данные полиномами сглаживать, потом логарифмировать (по желанию и зависит от конкретной задачи), обрезать точность и потом уже запихивать в ящик.
Ещё вопрос с ресурсами при твоём наборе данных будет на рассмотрении.
НА вход ты ведь не будешь подавать единичный временной вектор состоящий из значений на одном баре в глубину. Если весь набор подавать, то начинаем с месяца - это одно значение, далее неделя - это 4 значения и т.д. На каждом тайме по 5 переменных. Да ещё и глубина у месячных данных чтобы было влияние на результат должно быть не один бар. Также значимость того или иного набора данных желательно учитывать - подавая задвоенный или утроенный вектор. Тут ещё надо определить какие таймы более важные. Т.е. набор входных данных может составить тысячи ил десятки тысяч переменных. Даже если хватит памяти в ПК для формирования скелета, то в процессе обучения на одну итерацию может уйти несколько часов. Поверь я знаю о чём говорю ... :) В самом начале я одну сеть обучал - так за неделю было совершено всего 18 итераций. Ты устанешь ждать результата, который в итоге будет отрицательным, т.к. создание оптимальной нейросети это творческий процесс и требует ОЧЕНЬ больших временных затрат.
Это только на словах просто - взял создал ... :) За созданием красивого решения стоит ОЧЕНЬ большая работа, алгоритма которой единого нет во всём мире ... :) Приходится модифицировать и применять имеющие, либо свои подходы придумывать :)
 

IRIP

VIP-участник
Конечно же не все таймы туда запихивал, а только 2-3. Да ничего. Дело в том, что OHLC имеют внушительную ВЧ составляющую, которую ящик не мог переварить, вернее мог, но точность оставляла желать лучшего.

потому что нужно
разделять - каждый ТФ и его OHLC
+ объемы по каждому ТФ -
и брать это не из истории -

это просто данные -
их не нужно "варить" или анализировать в 100500 миллардах вариаций ...

достаточно получать реальный поток данных и на его основании -
а таже на основании входов в реальном времени - обучать систему
это долго, нудно, но эффективно

потому что данные (все, всегда, 100% инфа) корректируются брокерами - каждую ночь, час, день, пять минут и т.п.
 

funny59

Гуру форума
потому что нужно
разделять - каждый ТФ и его OHLC
+ объемы по каждому ТФ -
и брать это не из истории -

это просто данные -
их не нужно "варить" или анализировать в 100500 миллардах вариаций ...

достаточно получать реальный поток данных и на его основании -
а таже на основании входов в реальном времени - обучать систему
это долго, нудно, но эффективно

потому что данные (все, всегда, 100% инфа) корректируются брокерами - каждую ночь, час, день, пять минут и т.п.
В идеале да, однако сколько времени у тебя уйдёт на это? Представь что ты сможешь технически создать нужное тебе ОПТИМАЛЬНОЕ решение, потратив на это год-два. Далее запускаешь этот ящик в работу, он начинает приносить профит. Потом раз волатильность резко изменилась и пока на реальных данных ящик переобучится будут иметь место убытки, которые могут превысить полученные ранее профит. Почему так? Не знаю, но исключать этого никак нельзя. Так что обучаться надо на истории, а ежедневно (если инстрадей), еженедельно, ежемесячно проводить переобучение ящика. Тогда при резком изменении волатильности, ты за первоначальный период её появления сразу можешь внести коррективы. Если проводить переобучение по каждому событию (совершения сделки), то никаких ресурсов не хватит ... :) Хотя если у тебя есть возможность приобрести суперПК, то может быть.
Ты можешь настаивать на своём подходе, но поверь мне на слово - он тупиковый, до момента появления "Скайнет" ... :)
Сделать конечно можно всё что угодно ... :)
P.S. Я не отговариваю, а лишь выразил мысли по данному поводу.
 

IRIP

VIP-участник
В идеале да, однако сколько времени у тебя уйдёт на это?

только на разработку этой стратегии, у меня ушло с 2008 по 2010-2011 годы ...
потом, были тесты ...

времени - может уйти очень много - это финансовые рынки - здесь нет быстрых и особенно ЛЕГКИХ денег
стратегия - универсальная (теперь)
 

IRIP

VIP-участник
каждый должен понимать - что работать можно только на свободные от ДОЛГОВ, от обязательств - деньги.

Вкладывать можно не более 10% своего свободного капитала - не более того
 

IRIP

VIP-участник
P.S. Я не отговариваю, а лишь выразил мысли по данному поводу.

ты себе даже не представляешь, на сколько банально твое поведение =(

все новички - 1 в 1
прям, как по накатанной...

а когда им пишешь, эй, мужик - тут, вот, есть напрямик путь, быстрее, года два будет сэкономлено ... "профи" эти смотрят на тебя, как на дурака... и пальцем у виска крутят
 

funny59

Гуру форума
ты себе даже не представляешь, на сколько банально твое поведение =(

все новички - 1 в 1
прям, как по накатанной...

а когда им пишешь, эй, мужик - тут, вот, есть напрямик путь, быстрее, года два будет сэкономлено ... "профи" эти смотрят на тебя, как на дурака... и пальцем у виска крутят
Повторяю "навсеуслышанье": мне твоя система не зашла!!! :)
Я иду по своему пути. Да пусть, с твоих слов, это путь новичка, но он мой путь ... :)
Всего доброго.
 
Верх