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

 
paralocus писал(а) >>

Кстати, посмотри, какая характерная картинка распределения ряда первых разностей по ряду транзакций у меня получается, если проводить вертикальную разбивку минуток одним спредом(3 пункта):

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

Теперь она чуть больше 2(2,153) то приближается к 2, то удаляется, в зависимости от Н, но всегда чуть больше 2

Наверное характер рынка был трендовым. На больших участках, оценка, как правило <2.

 
Neutron >>:

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

Теперь она чуть больше 2(2,153) то приближается к 2, то удаляется, в зависимости от Н, но всегда чуть больше 2

Наверное характер рынка был трендовым. На больших участках, оценка, как правило <2.

Построю сегодня. Участок действительно небольшой - чуть более месяца(20 000 минуток) более длинную историю минуток мой ДЦ закачивать не дает.



Возникла у меня ночью одна идейка и я хотел бы её здесь озвучить. Касается ВСЕХ, господа.

Назовем её СОИ (чтоб никто не догадался... -:) )


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

Суть идеи состоит в том, как с наименьшими затратами, и наибольшей пользой для любого трейдера её создать. Решение простое - аренда выделенных серверов(2, а лучше 3) и установка на оные сервера сборщиков тиков... на любой инструмент и ДЦ. И не только(об этом чуть позже). Одному человеку сие предприятие будет очень накладно, но идея как раз и состоит в том, как сделать это не бесплатно, но дешево, надежно и практично.


Давайте посчитаем:

****************************** РАСХОДЫ *************************

1. Аренда одного выделенного виртуального сервера с достаточным объемом сегодня обходится около 100 баксов в месяц(нужно 2 независимых по каналам связи сервака ) ... 200 баксов/мес

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

Кодер, разумеется, должен получать за эту работу какие-то денежные знаки. Ежедневной работы там будет не много, поэтому 200 баксов/мес(однако, сие далеко не предел того, что кодер сможет заработать в проекте)

Вот, собственно, и все основные расходы! 400 баксов в месяц.


Потребуется еще обьединенный интернет-ресурс, на котором нужно разместить:

а) Площадку по продаже тиковой истории.

б) Площадку по продаже советников, на которой можно понаблюдать за текущей работой на демо любого из предлагаемых советников БЕСПЛАТНО

в) Форум, на котором конструктивная критика ДЦ позолительна.



***************************** ДОХОДЫ **************************

1. Плата за скачку тиковой истории - 1 месяц тиков по любому инструменту от любого ДЦ - 1WMZ(расчеты удобно проводить через WebMoney)

2. Плата за размещение советников на удаленном сервере(работа на реале) - 20WMZ в неделю(если советник столько не зарабатывает его надо просто выбросить)

3. Плата за размещение советников на демо - 5WMZ в неделю

4. Проценты от проданных через площадку советников (затрудняюсь назвать цифру)

******************************************************************************************


Вобщем, проект выглядит вполне окупаемым и полезным. MetaQuotes, скорее всего, тоже будут заинтересованы, поскольку СОИ сделает неплохой пиар их продукту - МТ5.

Одним словом - в выигрыше все, кроме ДЦ. Хотя, честным ДЦ бояться тоже нечего.

Для начала любой концессии потребны акционеры. Лично я готов внести денежные знаки в размере 100WMZ. Кто еще...?



 

1. Я для своих нужд сам собираю тики. Хватает.

2. Как комерческий проект, это проект уступает, по моеу мнению, другому проекту, под брендом "Форекс".

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

И последнее. Каждый торгует историю своего ДЦ со своим уникальным фильтром котировок. Именно под конкретный ДЦ натаскивается НС. Следовательно, не может быть речи об универсальности предложенного проекта! Кто в нём будет заинтересован кроме тебя? Ещё 1 или 2 человека...

 
Да, о фильтрах, я не подумал. Хотя не далее как вчера писал об этом... Благодарю.
 
Удалось ли нормировать входы к константному распределению? Давеча баловался с похожей проблемой. Опишите суть нормирования с примером, хочу удостовериться что правильно понял ваши трудности. Если правильно понял - смогу предложить решение.
 
У меня трудности в другом.
 

Вопрос к Neutron и paralocus. Я так понял что Neutron обучает свою сетку модифицированным методом RPROP в то время как paralocus обучает свою сетку модифицированным методом ОРО (BPROP). В классическом методе ОРО шаги весов рассчитываются путём умножения градиентов квадрата ошибки обучения (dE^2/dw = -delta*Neuron_Input) на скорость обучения. Этот метод можно применять локально, при переходе от одного обучающего набора к другому, либо эпохально, путём накопления градиентов ошибки для всех обучающих наборов и затем расчёта шагов весов. Ваша модификация заключается в том что шаги весов дополнительно умножаются на (1-L/N)*dw/sqrt(dwNorm). Neutron берёт только знаки приращений dw, как в RPROP. Я перебровал почти все разновидности методов ОРО (BPROP, RPROP, IRPROP+/-, SARPROP, GRPROP) и получил довольно унылые результаты. При инициализации весов какими-то случайными числами (допустим в диапазоне -0.5...0.5), первоначальная ошибка обучения очень высока и методы обучения успешно её понижают. Тут проблем нет. Но если инициализировать веса нулевыми значениями или очень маленькими случайными значениями (например -0.05...0.05), то первоначальная ошибка обучения мала и равна конечной ошибке обучения когда веса инициализированы "большими" случайными числами. Тогда в чём смысл обучения сети если мы знаем что нулевые веса дают нам ошибку близкую к конечной ошибке обучения при случайных начальных весах? Вот график ошибки обучения модифицированным методом ОРО как у paralocus (судя более ранним постам, Neutron пользовался таким же методом вначале)


Все перечисленные мною методы обучения показывают примерно такое же поведение: красивое и вдохновляющее понижение ошибки обучения от эпохи к эпохе при случайных начальных весах (аж статью или дисер можно писать). А при нулевых начальных весах ошибка уже достаточна мала и сеть её почти не улучшает. Вот пример обучения методом IRPROP+ той же сети при тех же входных данных



Может такое поведение ошибки обучения свойственно только моей сети (два слоя, 12 входов, 5 скрытых нейронов, 1 выход, 120 обучающих наборов) или входны данным (относительные приращения цен с разными задержками). Мне хотелось бы увидеть как ваши сети обучаются при случайном и нулевом выборе начальных весов. Если не трудно, покажите графики НЕНОРМИРОВАННОЙ ошибки обучения как функции эпохи для этих двух случаев.

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


 
gpwr писал(а) >>

Может такое поведение ошибки обучения свойственно только моей сети (два слоя, 12 входов, 5 скрытых нейронов, 1 выход, 120 обучающих наборов) или входны данным (относительные приращения цен с разными задержками). Мне хотелось бы увидеть как ваши сети обучаются при случайном и нулевом выборе начальных весов.

Так выглядит процесс уменьшения ошиби обучения двуслойной НС в зависимости от номера эпохи:

Сеть имеет 5 входов, 4 нейрона в скрытом слое, и один нейрон на выходе. В качестве обучающего вектора использовались цены открытия EURUSD1h нормированные на своё стандартное отклонение. На рис. кружочками показана ошибка обучения найденная как стандартное отклонение усреднённое по 50 численным экспериментам без нормализации ошибки на длину входного вектора. Тонкими линиями показан статистический разброс по уровню 1/е. Синим цветом - реализация данного процесса для начальной рандомизации весов в диапазоне 0. Красным - в диапазоне +/-1 с полочкообразным распределением.

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

 
Neutron >>:

Так выглядит процесс уменьшения ошиби обучения двуслойной НС в зависимости от номера эпохи:

Сеть имеет 5 входов, 4 нейрона в скрытом слое, и один нейрон на выходе. В качестве обучающего вектора использовались цены открытия EURUSD1h нормированные на своё стандартное отклонение. На рис. кружочками показана ошибка обучения найденная как стандартное отклонение усреднённое по 50 численным экспериментам без нормализации ошибки на длину входного вектора. Тонкими линиями показан статистический разброс по уровню 1/е. Синим цветом - реализация данного процесса для начальной рандомизации весов в диапазоне 0. Красным - в диапазоне +/-1 с полочкообразным распределением.

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

Спасибо. А почему нарисован статистическй разброс около синих кружков? Если веса стартуют с нулевых значений то никакого статистического разброса не должно быть.

И ещё один вопрос. Если использовались цены открытия EURUSD1h нормированные на своё стандартное отклонение, то их средняя не равна нулю. Или вы отняли среднюю?

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