Рыночный этикет или правила хорошего тона на минном поле - страница 18

 
paralocus >>:

Neutron, я еще хотел спросить насчет обучения Хэбба(прочел у Уоссермена). Вроде там формула для коррекции весов очень простая:

Wij(t+1) = Wij(t) + [OUTi(t) - OUTi(t-1)]*[OUTj(t) - OUTj(t-1)] и никаких тебе градиентных спусков. Это будет работать?

Прочитайте для каких сетей и в каких случаях он используется.

 
HideYourRichess писал(а) >>

У меня фиксированно. Кроме того, если у вас размеры выигрышей\проигрышей распределены по норм.закону, то есть подозрения, что это соответствует фиксированному размеру.

Теперь и у меня размеры проигрышных и выигрышных взяток равны. Для этого пришлось перелопатить всю ТС, заточив её под фиксированные размеры взяток, зато можно пользоваться всем могуществом оптимального ММ, который для этого случая имеет точное аналитическое представление и более того, в долгосрочной перспективе, при реинвестировании средств, ни одна другая ТС отличная от этой, не даст большей доходности! Для справедливости необходимо отметить, что в общем это утверждение не верно и более доходная стратегия существует, но только для трендового рынка и высокой степени предсказуемости (р>0.2), что для Рынка не выполняется никогда. Стратегия эта заключалась бы в том, что бы "фиксировать убытки давать прибыли расти".

На рис. слева, уже знакомая картинка показывающая логарифм прибыли оптимальной ТС для разных значений торгового плеча L. Тут совмещены результаты численного моделирования по методу монте-Карло работы ТС на котирах идентичных рыночным (EURUSD) с учётом комиссии - Sp. Усреднение ведётся по 200 независимым торговым сессиям, в каждой сессии по 1000 трансакций. Стартовый капитал принят условно за 1 (ln(1)=0), усы показывают характерный разброс результатов торгов по уровню 1/е. Синим показан результат аналитического решения Основного Торгового Уравнения:

...1.

Кстати, в работе Эдварда Торпа "Критерий Келли в блек-джеке, спортивных тотализаторах и на фондовой бирже." приводится аналитическое решение для дисперсии состояния счёта на конец торговли и позволяющее оценивать ширину коридора в котором вероятнее всего окажится наш счёт по завершении n-трансакций. Но, Торп допустил ошибку при её выводе и результат не соответсвует действительности. Я смог получить аналогичную зависимость и результат представлен в виде линий из синих кружков. Видно отличное согласие с результатами численных экспериментов. Вот выражение для дисперсии результатов торгов с реинвестированием средств:

............................................... 2.

Конечно, для нас, как для трейдеров, основной интерес представляет анализ риска полного разорения. На рис. справа показаны результаты численного моделирования максимальной просадки депозита, как доля от его текущего значения (синия линия). Видно, что чем большее торговое плечо мы используем, тем более опасы просадки счёта. можно найти среднюю величину этих максимальных просадак и дисперсию процесса (красные данные). К сожалению, информативность этой характиристики процесса торгов практически никакая. Дело в том, что с увеличением времени проведённого трейдером на рынке, увеличивается число совершённым им трансакций и, соотвественно, увеличивается риск разорения. Тоесть, факт разорения, это дело времени! И какую бы осторожную тактику не использовали при торговле мы всегда рано или поздно разоримся до нуля! Это достоверно. Тут важно вовремя остановится и снять сливки. Во всяком случае, оптимальный ММ гарантирует максимальную скорость роста депозита при измеренных параметрах ТС (степень прогнозируемости - р и торговый горизонт - Н). Да, мы будем терять депозит, но мы и будем начинать сначала и в целом скорость роста нашего благосотояния (с учётом возможных разорений) будет максимально возможной в Природе!

Напомню, что оптимальный ММ гарантрует максимальную скорость роста депозита, только при наличии ТС положительным МО или, что тоже самое, при p>0 и я хочу отметить, что скорость роста депозита (величина, обратная характерному времени удвоения депозита) при оптимальных значениях торгового плеча и торгового горизонта сильно возрастает с увеличением достоверности прогноза р:

................................................................................... 3.

- как четвёртая степень параметра. В такой ситуации, очень важно максисум усилий бросить именно на построения такой ТС, которая даст максимально возможную достоверность прогноза и если для этого нужно наращивать мощность НС (числа нейронов в скрытом слое), то не нужно жалеть сил и времени, ибо цель окупает затраты. Ну, а целью оптимизации ТС является поиск максимума функционала:

......................... 4.

Ищется он перебором всего одного параметра - Н-торгового горизонта, затем вчисляется соответсвующая ему достоверность прогноза - р. Найденное значение Н, считается оптимальным и торгуется до тех пор, пока не произойдёт смены генеральной рыночной тенденции. Мониторинг рынка производится постоянно. Благо, это при наличии аналитического решения не ресурсоёмко.

Показано, что при реинвестировании средств, оптимальной является "бернуллиева" ТС, т.е. ТС у которой SL и ТР ордера одинаковы и равны Hopt, найденого максимизацией функционала по результатам торгов. При этом, существует оптимальное торговое плечо Lopt, обеспечивающее максимальную скорость роста депозита, такую, что любой другой ММ даст меньшую прибыль на длительном временном интервале:

......................................................................... 5.

На этом, тему оптимального ММ при работе с одним инструментом можно считать решённой теоретически и доведённой до практической реализации. Остаётся открытым вопрос максимализации достоверности прогноза приращений цены на выбраном торговом диапазоне Hopt. Очевидно, что эта задача для Нейронной Сети с блоком переобучения на каждой трансакции.

 
Neutron >>:

Ты сейчас решаешь проблему оптимального входа НС. Конечно, можно тупо сувать на вход евозможные индюки в надежде, что сетка сама решит что для неё лучше... Но правельнее сесть и подумать, "а, что я вляется оптимальной ТС на рынке?". Может стоить прогнозировать именно её моменты?

Прочти вот эту работку. Ту, конечно, есть глюки, но они не принципиальны:

У меня тут, по ходу чтения Ежова, появляются подозрения, что индюки, по крайней мере в том виде, в какомони есть - вообще не нужны! От Лукавого все эти RSI b StohastikЫ-:)

 

Я уже давненько об этом говорю.

Дело в том, что заметная доля всех применяющихся в ТА индикаторов так или иначе построены с использованием усреднения цнового ряда. К примеру, тотже RSI содержит в себе среднее по положительным приращениям котира и среднее по отрицательным. Всё бы ничего, да неизбежная ФЗ, которая возникает при попытке усреднить ВР, сводит на нет все наши усилия. И это не случайно, можно строго показать, что прогнозирование ВР с использованием сглаживания возможно только для ВР, отсчёты первой разности которого положительно коррелированны. Для ВР типа ценовых это условие никогда не выполняется! Отсюда и неизбежно плачевные результаты. Нельзя усреднять или сглажывать для прогноза ценовые ряды. Тут нужны други подходы анализа. В частности регрессионные методы (если есть модель) или нейросетьевые (если модели нет).

Прелесть аналитического решения, которое я привёл в предыдущем посте, в том, что в явном виде получен функционал (4), максимизацию которого можно переложить на НС. Наша зада в этом случае крайне проста - нужно следить за тем, что бы интернет не отваливался:-)

 
Neutron >>:

Я уже давненько об этом говорю.

Дело в том, что заметная доля всех применяющихся в ТА индикаторов так или иначе построены с использованием усреднения цнового ряда. К примеру, тотже RSI содержит в себе среднее по положительным приращениям котира и среднее по отрицательным. Всё бы ничего, да неизбежная ФЗ, которая возникает при попытке усреднить ВР, сводит на нет все наши усилия. И это не случайно, можно строго показать, что прогнозирование ВР с использованием сглаживания возможно только для ВР, отсчёты первой разности которого положительно коррелированны. Для ВР типа ценовых это условие никогда не выполняется! Отсюда и неизбежно плачевные результаты. Нельзя усреднять или сглажывать для прогноза ценовые ряды. Тут нужны други подходы анализа. В частности регрессионные методы (если есть модель) или нейросетьевые (если модели нет).

Прелесть аналитического решения, которое я привёл в предыдущем посте, в том, что в явном виде получен функционал (4), максимизацию которого можно переложить на НС. Наша зада в этом случае крайне проста - нужно следить за тем, что бы интернет не отваливался:-)

Neutron, я кажется начинаю кое-что понимать! Есть куча вопросов и даже пара идей.

Индюки ф топку! Вчерась, провел забавный эксперимент: хотел выяснить, каковы способности перцептрона по прогнозированию приращений.

На картинке - ОДИН !!! перцептрон в течении 2-х месяцев после оптимизации. Я в шоке!



Вопросов очень много, сразу все написать не смогу.

1. Я воздействую на входной сигнал гипертангенсом, а для того, чтобы выровнять его плотность распределения, предварительно(до гипертангенса) умножаю сигнал на коэффициент К > 1.

Чаще всего, удается получить достаточно равномерное распределение, т.е. получается вот такая функция: F(t) = tn(K * Y(t)). К подбираю эмпирически, в специально заточенном индикаторе. Однако, это не всегда удается. Обычно, плотность распределения гипертангенса входного сигнала, до умножения этого сигнала на К выглядит так:



А после умножения на К вот так:


Т.е. входной сигнал(его гипертангенс) как-бы растягивается по диапазоноу +/-1.

Но в случае с приращениями ВР получается такой сигнал, свести который к равномерному распределению не удается.

Вот сигнал до умножения:


После умножения : (в увидеть это в моем индикаторе не всегда удается, т.к. "пропадает" середина)



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

А если нет, то что делать?

 
Neutron >>:

Прелесть аналитического решения, которое я привёл в предыдущем посте, в том, что в явном виде получен функционал (4), максимизацию которого можно переложить на НС. Наша зада в этом случае крайне проста - нужно следить за тем, что бы интернет не отваливался:-)

Основную тему этой ветки я уже успел оценить! -:) Ты гений и я не шучу!

Есть идейка. Вполне возможно - свежая. Вчера ночью у меня произошло "КЗ"... на всех уровнях персональной нейросети -:)

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

Я не могу скрыть своего восторга! Ну, ладно... это было лирическое отступление.

Идея простая:

Чтобы повысить робастность НС любого масштаба и назначения нужно попробовать их... заразить. Вирус - весчь безусловно смертельная для детерминированной логики машины тьюринга - для НС и искуственного интеллекта, при грамотном, "дозированном" применении может оказаться просто "живой водой". Теперь обо всем по-порядку:

1. Все живые организмы - суть нейросети. Утверждение может показаться слишком смелым, однако это феноменологический факт.

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

3. Системы, энтропия которых упала ниже определенного предела, вымирают, т.к. не способны к дальнейшей эволюции, однако же системы, энтропия которых выросла выше определенного предела тоже саморазрушаются. Отсюда вывод: Для того, чтобы система успешно эволюционировала, её энтропия должна периодически, на некоторое время достигать предельно допустимых, в данной системе, величин. Такое положение дел мы называем "болезнью". Говоря слово "болезнь" я имею его в виду в довольно широком смысле - т.н. вполне здоровый с виду преступник - это больной человек. Только болеет не его тело, а его сознание и боль он получает, по-большей части не ввиде температуры и гриппа, а в виде т.н. "тяжелого креста", "судьбы" и так далее. Однако и эта "социальная" боль, получаемая таким человеком - есть один из видов обучающего воздействия эволюционного континуума - повышение энтропии этого существа до едва выносимых пределов. Тут встает философический вопрос об учителе и его целях... который, однако, выходит далеко за рамки нашей форумной беседы -:)

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

5. В любой живой системе присутствуют такие "микроорганизмы" которые непременно убьют её при достаточно сильном ослаблении иммунитета. Зачем природа это сделала? А вот как раз затем, чтобы за счет постоянной внутренней "тренировки" системы на выживание увеличить способность этой же ситстемы к сопротивлению факторам внешней среды, а следовательно иметь больше возможностей(времени) на продолжение индивидуальной эволюции.

6. Предположим, что задачей эволюционирующей системы является выработка иммунитета(во всех смыслах). Тогда получается интерсная весчь: количество входов живых НС а так же число выходов(выходов еще меньше) смехотворно мало по сравнению с количеством их нейронов и связей! Т.е. берем и резко увеличиваем число нейронов в промежуточном слое(если слоя три - входной, скрытый и выходной), а теперь можно попробовать "заразить" НС. Сделать это можно посредством внесения дозированной рандомизированной ошибки во время коррекции весов! А если шагнуть чуть дальше, то возможно альтернативное обучение НС путем увеличения или уменьшения частоты или амплитуды этой рандомизированной ошибки.

Для примера можно попробовать перед коррекцией весов добавлять к корректору небольшую ошибку с помощью функции, которая(случайно) один раз из 1000 обращений к ней возвращала бы некоторую случайную величину из определенного (напр. +0,01/ -0,01 ) диапазона. Неизвестно когда и какой нейрон получит небольшое ошибочное приращение. Чем чаще такие приращенияя будут случаться - тем выше энтропия системы. Тогда, для сохранения работоспособности НС будет вынуждена учитывать... собственную ошибку!

Вот такие мыслишки...

 
Neutron >>:

Всё это замечательно, за исключением одной малости. У Вас ошибка в исходной формуле. Дело в том, что выражение 1+(L*(sigma*H-Sp)/S) не эквивалентно коэффициенту прироста капитала за сделку, вместо которого Вы и пытаетесь использовать это выражение. Честно говоря, я не понимаю, исходя из чего Вы взяли что оно "очевидно". Это первый момент. Второй, для разных пар валют формула должна быть разная. Всего три варианта формул: для пар с "прямой котировкой", "обратной котировкой" и "кросс-курсов". Для "прямых котировок", например, размер выигрыша, в долях от всего капитала, можно посчитать следующим образом: (TakeProfit-Spread)*размер_одного_лота*количество_лотов/депозит. Соответственно, что бы найти коэффициент прироста, нужно к этой формуле прибавить 1. Выражение размер_одного_лота*количество_лотов есть объем средств учавствующих в сделке, с учетом маржинального плеча. В более общем виде, для прямых котировок, где то среди статей была формула: финансовый результат = (цена продажи - цена покупки) * количество лотов * размер лота - комиссионные * количество лотов ± банковский интерес. В этой формуле спред непосредственно учтен в ценах.

 
HideYourRichess писал(а) >>

Всё это замечательно, за исключением одной малости. У Вас ошибка в исходной формуле. Дело в том, что выражение 1+(L*(sigma*H-Sp)/S) не эквивалентно коэффициенту прироста капитала за сделку, вместо которого Вы и пытаетесь использовать это выражение.

Спасибо, HideYourRichess, что взяли на себя труд проверить выкладки. Знаю, на сколько это муторно проверять, да ещё и чужое. Я конечно не исключаю ошибки в формулах и посылках из которых они получены, поэтому стараюсь проверять результаты аналитического решения численным экспериментом. В нашем случае моделировался процесс дискретного приращения цены с равным шагом приращения Н пунктов. Кроме того, была заложена фиксированная зависимость ожидаемого приращения от предыдущего: р=сумма всех сонаправленных последовательных приращений отнесённая к удвоенному числу всех движений. Для реального рыночного котира можно привести подобное разбиение и найти соответствующий коэффициент р.

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

paralocus писал(а) >>

Основную тему этой ветки я уже успел оценить!

Спасибо, за тёплые слова, только что особенного может быть в умении брать производные и находить экстремум функции? Просто, многим влом заниматься детальным анализом, легче сломя голову - сразу в карьер.

Я чуть позже внимательно осмыслю то, что ты написал выше.

 
Neutron >>:

Спасибо, за тёплые слова...


Это тебе спасибо!

Вот еще в кассу:

1. Еще один вариант заражение системы - введение дополнительного рандомного входа в нейрон или группу нейронов - орган.

2. "Орган" может быть представлен как специализированная группа нейронов, обладающих одной всеобщей обратной связью - т.е. каждый нейрон органа "знает" что на выходе любого другого нейрона из его группы( органа или семьи), а каждая группа осведомлена о том, что на выходе организма. Такая НС будет спсобна к динамической самонастройке и потребность в обучении станет для нее одной из доминант - т.е. система сможет целенаправленно и самомотивированно искать и обобщать нужные ей знания. Наша задача сведется к тому, чтобы понастроить для нее препятствий и разбросать то тут то сям кусочки знаний -:)

 
Neutron >>:


Так вот, результаты численного моделирования отлично совпадают с результатами аналитическолго решения полученного мной (см. левый рис. постом выше). Следовательно в такой постановке задачи и полученном его аналитичкском решении ошибок нет! Можно рассуждать о соответствии модели реальности, но тут проблемы вобще нет - я всегда могу реализовать на котире данное разбиение и нет проблем с нахождением р.


Тут есть немного про плечо и некоторые "фокусы" связанные с ним. Это моделирование на эмуляторе торгового сервера.

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