Нейросети: кто как оценивает результаты обученной сети для последующего форварда?

 

Здравствуйте, коллеги. Суть вопроса такова, кто как оценивает свежеобученную сеть на пригодность для форварда. Даже не для реала, а просто теста вне участка обучения. Какие у вас критерии отбора будущих нейробойцов?

Есть пара мыслей, с помощью чего оценивать. Из блога человека по имени scrooge™ я взял "Основные показатели оценки эффективности торговой системы"... На мой взгляд здесь есть практически все критерии. Однако хотелось бы услышать тонкости касающиеся именно НС. А еще лучше про специальные критерии для НС'ок =)


Profit factor (PF)
Понятие профит (profit) переводится как «выгода».
Профит фактор - Один из показателей эффективности торговой системы. Рассчитывается как отношение за определённый период суммы всех прибыльных сделок к сумме всех убыточных с положительным знаком. Большее значение соответствует меньшей вероятности разорения.

Profit Factor =[Сумма прибылей всех прибыльных сделок] / [Сумма прибылей всех убыточных сделок]

иными словами: отношений всей прибыли за период ко всем убыткам за период

Разновидностью показателя является достоверный профит фактор, при аналогичном расчёте которого в сумму прибыльных сделок не включается одна самая прибыльная.

Authentic Profit Factor [Сумма прибылей всех прибыльных сделок] – [Максимальная прибыль])/ [Сумма прибылей всех убыточных сделок]

т.е. отношений всей прибыли за период, за исключением прибыли максимально прибыльной сделки за этот период, ко всем убыткам за период.

* рекомендуемый параметр > 2

Максимально Нарастающий Убыток (MIDD — Maximum Intraday Drawdown). Он обозначает самую большую финансовую яму, в которую попадала наша система.

Кривая доходности это график, на котором по горизонтальной оси время, а по вертикальной оси – сумма прибылей всех сделок, завершенных до этого времени. Максимальный нарастающий убыток – это глубина максимальной просадки за период.

* Если говорить о рекомендациях то удобней использовать процентное отношение MIDD депозиту (среднему депозиту) и тогда %MIDD < 20%

Avg DD Среднее падение капитала ( он же Average loss (L) средний результат отрицательных сделок (отношение суммы отрицательных сделок к их количеству) - отличается от максимального падения капитала. Для расчета среднего падения капитала необходимо сложить все падения, а затем поделить полученное значение на их число и найти среднюю величину. Когда размер счета начинает снижаться, вы можете использовать эту величину как указатель момента, когда не обходимо начинать тщательно следить за снижением.
*Avg DD используется для оценки MIDD, отношения средних прибыльной и убыточной сделки.

MIDD/Avg DD соотношение между мах падением капитала и средним падением капитала
* MIDD/Avg DD < 3

Avg Trade средняя торговля (отношение чистой прибыли к количеству сделок) он же Average win (W) средний результат положительных сделок (отношение суммы положительных сделок к их количеству)
* отношение средней торговли к среднему падению капитала Avg Trade/ Avg DD > 2

%W (P) вероятность выигрыша (отношение количества выигрышных сделок к общему их количеству)

Количество испытаний N необходимое, чтобы событие имеющее вероятность p случилось со степенью уверенности C

Где С - степень уверенности наступления события в нашем случае получения профитной сделки
* %W (P) вероятность выигрыша > 0,5

Математическое ожидание — понятие среднего значения случайной величины в теории вероятностей. В зарубежной литературе обозначается через Е[X], в русской M[X]. В статистике часто используют обозначение μ.
Вариантов расчета как минимум 6, наиболее распространенные для нашего случая:

1) M[X] Математическое ожидание = вероятность выигрыша * средняя величина выигрыша + вероятность проигрыша * средняя величина проигрыша (в качестве результата прирост на 1 сделку в абсолютных величинах)

2) M[X] Математическое ожидание (1+( средняя величина выигрыша / средняя величина проигрыша))* вероятность выигрыша -1 (в качестве результата вероятность в % получения прибыли за период)

*M[X] > 0,6 верно для варианта 2

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


RF (фактор восстановления, restoration factor) = отношение прибыли за период (Profit) к максимально нарастающему убытку (MIDD) за тот же период

Как вариант Calmar ratio (Коэффициент Кальмара) - статистический показатель, который даёт возможность измерить соотношение потенциальной возможности получения прибыли с потенциальной вероятностью убытков. Вычисляется делением среднегодового дохода на максимальную просадку. Вычисления желательно выполнять по данным за последние, как минимум, 3 года.
* при тестировании RF должен быть больше двух.

Коэффициент Шарпа (Sharp Ratio) = (R − Rf) / si,

где R — доходность; Rf — безрисковая процентная ставка; si — стандартное отклонение доходности. Чем больше значение этого коэффициента, тем лучше качество управления.

Позволяет оценить эффективность управления капиталом, взглянуть на доходность с учетом риска. Равен отношению средней доходности к среднему квадратичному отклонению доходности за определенный период.

Как вариант Коэффициент Сортино (Sortino Ratio) = (R − Rf) / −si,

где R — доходность; Rf — безрисковая процентная ставка; −si — отрицательная часть стандартного отклонения доходности. Чем больше значение этого коэффициента, тем лучше качество управления. Показатель, позволяющий оценить доходность и риск инвестиционного инструмента, портфеля или стратегии. Математически он рассчитывается аналогично коэффициенту Шарпа, однако, вместо волатильности портфеля используется, так называемая, «волатильность вниз». В этом случае волатильность, рассчитывается по доходностям ниже минимального допустимого уровня доходности портфеля (MAR)
* Оба коэффициента сравниваются с коэффициентами полуучеными на других ТС

Стандартное отклонение σ или SD (sigma) (термин был впервые введен Пирсоном, 1894) - это широко используемая мера разброса или вариабельности (изменчивости) данных. Стандартное отклонение популяции определяется формулой:

SD= [S(xi-m)2/N]1/2

где:
m - среднее популяции
N - размер популяции

* Удобней всего вычислять с помощью встроенной функции в программе Excel

TWR (Terminal Wealth Relative) – это «относительный конечный капитал» = [Прибыль за период]/[Депозит на начало периода]*100%
* Тут только одна рекомендация чем больше тем лучше!

Геометрическая средняя G
       N
G= (П (1+f*(-Сделка /Наибольший проигрыш))^(1/N)
       i=1

Это Ваш фактор роста за одну сделку. Система с наибольшим средним геометрическим является системой, которая принесет Вам наибольшую прибыль, если торговать на основе реинвестирования доходов. Если же эта величина окажется меньше единицы, то при реинвестировании Вы будете терять деньги.
* В качестве оценки сравниваются G разных ТС для выбора наиболее эффективной, G меньше 1 означает, что вы будете терять деньги при торговле на основе реинвестирования.

Максимальное число побед подряд (Winning Series)


Максимальное число потерь подряд (Losing Series)
* Используется для торговли на основе Стратегии ставок по Мартингейлу. ВНИМАНИЕ! Как утверждают математики: Мартингайл может быть выигрышным только при неограниченном размере капитала!

Z-счет позволяет определить эффективность торговой системы одной цифрой, предоставляя более точные результаты при сравнении с другими ТС. Кроме того, положительный либо отрицательный результат Z-счета несет в себе дополнительную информацию об особенностях использования взятой торговой системы.

Собственно, формула вычисления Z-счета имеет вид:

Z-счет = (N*(R - 0.5) - X)/((X*(X - N))/(N -1))^(1/2)
N – общее количество сделок;
X – 2*количество прибыльных сделок*количество убыточных сделок;
R – количество серий (сколько раз после прибыльной сделки шла убыточная и наоборот);
^(1/2) – это квадратный корень.

Для определения Z-счета необходимо иметь данные как минимум по 30 сделкам. Положительный либо отрицательный Z-счет несет в себе дополнительную информацию:

1. Положительный Z-счет означает, что практически после каждой прибыльной сделки следует убыточная, т.е. торговая система склонна к чередованию. И, чем больше число Z-счета, тем чаще происходит чередование. Основываясь на этом, следует после каждой убыточной сделки увеличивать размер лота (т.к. следующая сделка будет прибыльной), а после прибыльной – уменьшать лот.

2. Отрицательный Z-счет означает, что ТС имеет последовательные серии как прибыльных, так и убыточных сделок. Эти данные вырисовывают следующий сценарий – если система склонна к сериям, то после первой убыточной сделки следует прекратить торговлю и войти в рынок снова только после первой прибыльной сделки. Мы пропускаем одну прибыльную сделку, но, при этом, минуем серию убыточных.

System equity - кривая капитала

Прочая статистическая информация:
Общее число сделок
Валовая прибыль
Валовой убыток
Число прибыльных сделок
Число убыточных сделок
Максимальная прибыль
Максимальный убыток
Всего длинных позиций
Всего коротких позиций
Всего интервалов вне рынка

Ссылка на источник (Основные показатели оценки эффективности торговой системы (ТС) http://s-scrooge.blogspot.com/2009/12/blog-post_18.html ). Прошу не счесть за рекламу, просто уважаю авторские права.

Оценка торговых систем - эффективности входа, выхода и сделок
Оценка торговых систем - эффективности входа, выхода и сделок
  • 2010.09.15
  • Nikolay Demko
  • www.mql5.com
Существует масса критериев, которые позволяют оценить эффективность или прибыльность торговой стратегии. Но трейдеры всегда готовы подвергнуть любую систему новому краштесту. В статье рассказывается, как можно применить статистику для платформы MetaTrader 5 на основе измерения эффективности. Представлен класс перевода учёта статистики сделок в вид, не противоречащий описанному в книге "Статистика для трейдера" Булашева С.В. Приведён пример пользовательской функции оптимизации.
 

Начну например с таких банальных параметров:

Всего длинных позиций и Всего коротких позиций

Первое, на что стоит посмотреть не заучила ли сеть преобладающую тенденцию. В таком случае скорее всего будем иметь соотношение параметров 100 к 0 или 0 к 100...

 

Если имеется в виду вышеуказанные показатели на периоде обучения - никак не оценивает. Хорошо приготовленная, накормленная качественными данными и грамотно обучаемая сетка покажет профит на форварде при определенном недоучивании. Нет, НЕопределенном! На разные периоды форварда есть свои степени "отупления". Какие - вопрос на мульён. У меня была когда-то сделана сетка, которая показывала больше 90% профитных сделок на 21 паре за 10 лет. Ну и что.... А форвард - унитаз. Потом с такого удара на полгода задвинул НС.
 

Блин.

Плюс -- единственный критерий годности нейронки. Нейронка обязана торговать в нормальный плюс на обучающей выборке, если нет, в ней тупо что-то неправильно. Под "торговать в нормальный плюс" имею в виду ФВ > 10 при постоянном лоте.

Результат форварда к годности нейронки вообще не имеет никакого отношения.

Нейронка может быть годной, но давать минус на форварде. Это нормально. Нейронка не виновата :) .

Виноваты входные\выходные данные.

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

И да, под форвардом имеется в виду склейка. Форвард оценивается как результат работы ТС. Т.е. чтобы статдостоверно сказать, что нейронка работает, надо по-хорошему опять же ФВ больше 10 и количество сделок желательно не меньше 1000.

Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 
TheXpert:
Если что непонятно, спрашивайте, разжую и в рот положу. Я сегодня добрый :) .

А воспользусь!


TheXpert: Нейронка обязана торговать в нормальный плюс на обучающей выборке, если нет, в ней тупо что-то неправильно.

Естественно!

TheXpert: Результат форварда к годности нейронки вообще не имеет никакого отношения.

Ну, если рассматривать ее создание только как возможность полюбоваться взмывающим вверх графиком на периоде обучение - конечно!  А зачем тогда все? Торговать приходится в будущем, хотя бы на 1 бар...

TheXpert: Нейронка может быть годной, но давать минус на форварде. Это нормально. Нейронка не виновата :) .

Нейронка никогда ни в чем не виновата... И да - бывало такое (минус - тест, плюс - форвард). Но мозг сносит.

TheXpert: Виноваты входные\выходные данные. Например подать 100 последних клоузов в надежде получить 101-й -- не реально. Нейронка может обучиться, не вопрос. Чем мощнее, тем точнее. Но на форварде будет выдавать хрень. И никакими критериями годности не заставите вы нейронку выдавать 101й клоуз имея только 100 предыдущих.

А тут не поспоришь. На коротких данных получится заведомая хрень.

TheXpert: И да, под форвардом имеется в виду склейка. Форвард оценивается как результат работы ТС. Т.е. чтобы статдостоверно сказать, что нейронка работает, надо по-хорошему опять же ФВ больше 10 и количество сделок желательно не меньше 1000.

Выделена "сутная" мысль. А ФВ на той достопамятной сетке был много больше 300 и сделок много... А форвард - унитаз.

 
muallch:

А воспользусь!

...

Для того чтоб говорить о нейронках нужно понимать главную фишку этого изобретения.

А фишка в том что нейронка это универсальный апроксиматор. Если погуглите поняти апроксимации, то всё встанет на свои места.

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

Да и собственно прояснится суть поиска подходящих данных. Если апроксимация данных даёт прибыль на форварде, значит найдена тенденция (правило), которое можно юзать. Иначе сеть просто заучила примеры.

 
Да гуглил я всё! И яндил... А что Кохонен и Вероятностная сеть - тоже аппроксиматоры?

Стоп! Я понимаю, что уважаемые TheXpert и Urain легко заломают меня на фундаменте и не буду спорить. Вопрос исходный не раскрыт - где критерий работающей, а не просто обученной сетки?

 
muallch:
Да гуглил я всё! И яндил... А что Кохонен и Вероятностная сеть - тоже аппроксиматоры?

Стоп! Я понимаю, что уважаемые TheXpert и Urain легко заломают меня на фундаменте и не буду спорить. Вопрос исходный не раскрыт - где критерий работающей, а не просто обученной сетки?

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

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

Как то так.

 

Да, по виду кривых было действительно интересно попробовать. Наблюдал четкую и гладкую в изменении тенденцию выравнивания кривых обучение/форвард до какого-то шага обучения. Формализовать, что самое главное, не получилось - на разных участках выравнивание кривых происходило на разных шагах. Но, что возбуждающе обидно, происходило всегда!
 
muallch:

Да, по виду кривых было действительно интересно попробовать. Наблюдал четкую и гладкую в изменении тенденцию выравнивания кривой обучение/форвард до какого-то шага обучения. Формализовать, что самое главное, не получилось - на разных участках выравнивание кривых происходило на разных шагах. Но, что возбуждающе обидно, происходило всегда!

Могу задарить идейку, разбейте период обучения и форвард на кратные участки (ну типа НОД) и и найдите корреляцию балансовых линий  всех форвардных участков с обучающими. Усредните все показатели корреляции это и будет ФФ вашей оптимизации.

ЗЫ ах да показатель будет от -1 до 1, приведите к виду 0:1 и умножте на баланс, а то оптимизация выведет самую ровную линию направленную вниз.

 
TheXpert:
Николай, ты проверял? Ну ведь от лукавого...
Неа не проверял, так, мысли вслух, поэтому рецепт дарю :о)
Причина обращения: