Блог им. Timur748
Здравствуйте Уважаемые участники форума!
Обращаюсь к Вам за советом по такому вопросу:
Имеется торговая система, построенная с применением нейронных сетей, которая имеет 12 оптимизируемых параметров – вещественных чисел в диапазоне от -1 до 1.
В качестве эксперимента была проведена оптимизация этих параметров на фьючерсе на обыкновенные акции сбербанка на минутках. Количество точек данных для оптимизации -30000 (это примерно 2 месяца). После этого система проверялась на новых данных – 10000 точек.
Результаты оптимизации и проверки представлены на рисунке.
Светло-зеленая кривая – это эквити счета, ниже – график цены.
Зеленые и красные линии – это сделки, просто их очень много и там все сливается.
Собственно сам вопрос: Что будет эффективнее в реальной торговле – переоптимизация параметров раз в день на последних данных за 2 месяца (последние 30000 минутных свечей), или переоптимизация каждый час на последних 3000 минутных свечах, или пероптимизация каждые 5 минут, или еще какой то вариант? То есть интересует оптимальная частота оптимизации и размер обучающего набора данных. Причем наблюдается такая взаимосвязь: чем больше обучающий набор данных, тем меньше средняя доходность системы на обучающем наборе, но тем больше вероятность того что система будет показывать эту доходность на данных которые она не видела. И наоборот, чем меньше обучающий набор, тем больше средняя доходность на обучающем наборе и тем меньше вероятность, что система покажет прибыль на неизвестных данных.
Надеюсь услышать Ваше аргументированное мнение по этому вопросу.
Заранее спасибо!
Если кому интересно:
02.04.2014 20-00 Результаты работы за первый день.
Торговались 2 фьючерсных контракта SRM5 с 11-00 до 18-30
252 сделки, вариационная маржа — 292 рубля, комиссия биржи -63 рубля, комиссия брокера -75 рублей.
Итог дня +154 рубля, если считать в процентах к ГО то это 7,7%
Зеленая линия отражает эквити счета, там видна просадка при сильном движении.
Со стороны реальной торговли доходность не будет соответсвовать красивой зеленой линии эквити ввиду ряда причин
Второе: как только в торгуемом множестве появляется новый «исторический» максимум или минимум (которого не было в обучающей выборке), нужна сразу перетренировка
Третье: Эквити красивое-хорошо, но обратите внимание на «математику»
Четвертое: Есть уже специальные «встроенные» нейронные сети которые перетренировывают Ваши сеть хоть на каждой свечке
Праметры сетью подбираются сразу, прогон можешь брать хоть за 10 лет.
То есть нейросеть -это не тест. Надо знать, как ее настраивать, то есть, что подавать на вход, чему оучать, сколько нейронов использовать, что предсказывать, сколько свечей предсказывать и т.д.
Не зная теории настройки и браться за это дело незачем
еще раз smart-lab.ru/blog/246233.php
твой вопрос так же далек от сути как и этот топик.
это не бывает. пока ты не поймешь, то что написано по ссылке — ничего дальше обсуждать смысла нет. и вообще мне это обсуждать смысла нет. это не так работает.
Но от тебя я другого и не ожидал. Для меня, если человека зовут Ринат Негметов — это многое объясняет
В идеальном варианте это -1+1 данные которые колеблются в этих пределах.
Далее-мы ведь предсказываем рынок, поэтому что будем предсказывать? Прцент изменения цены или само изменения цены, через сколько свечек 1 две 10?
Тренировать сеть будем на максимальную прибыль минимальную ошибку малую просадку,
А много чего еще
Но параметры она как раз подберет сама)))
2 смотри среднюю сделку… для сбера она должна быть больше 0.2%...
3 имхо у тя ниче не работает — средняя сделка мала… 40000 сделок за 2 мес очень много
4 и ты учти что шорт бывает запрещен
2. то что сделано у вас — не обучение, а фиттинг. надо понимать разницу. с таким же успехом можно было линейную регрессию построить и по ней торговать
3. проводили ли какие-либо нелинейные трансформации?
4. что за нейронная сеть? используете ли регуляризацию?
— мат. ожидание P(profif)*mean(profit) + P(loss)*mean(loss)
— коэффициент шарпа
— коэффициент сортино
Абсолютное значение прибыли не имеет значения, т.к. Вы предполагаете, что система будет работать длительное время и применяя управление капиталом Вы обеспечите рост. Почему нужно максимизировать эти коэффициенты? Потому что есть случайная величина — длинна убыточной серии, которую нельзя никак предсказать, а максимизация этих коэффициентов позволяет выжить при длинной убыточной серии.
Если не секрет, какие 12 параметров Вы используете? У каждого параметра должен быть «физический смысл», например — объем, количество тиков. Если Вы используете в качестве параметров — параметры свечей, то это не очень корректно — т.к. они производные другого параметра — волатильности и не имеют важного физического смысла.
Пробовали баесовские сети строить?
Если Вы используете сеть с одной архитектурой и одним и тем же кол-вом нейронов, то так и должно быть, т.е. чем больше обучающее множество тем сети тяжелее его запомнить соответственно она обладает лучшими обобщающими способностями на тестовой выборке.И наоборот когда обучающая выборка маленькая, сеть легко её запоминает(переобучается, но перестает обобщать) и дает хороший результат на обучающем множестве и плохой на тестовом.Вообще сама суть всех манипуляций научить сеть обобщать, а не запоминать, поэтому большого смысла в результатах на обучающей выборке нет, мало мальски вменяемая сеть легко запомнит обучающие данные и выдаст астрономический результат.Чтобы сеть обобщала, надо или задать такое кол-во нейронов чтобы она была не в состоянии запомнить обучающую выборку или остановить обучение до того как она переобучится, тут и наступают «танцы с бубнами».
По какому принципу Вы заканчиваете обучение сети по разнице ошибки на обучающей и тестовой выборках?
И еще вижу комиссия брокера большевата у вас.
По основному вопросу мое мнение — если оптимизироваться меньше чем за день — теряется специфика времени дня, а она есть (утро, день, вечер, вечерка). С другой стороны поведение ранка внутри дня тоже имеет много общего. Я бы исследовал гибридный подход.
«чем больше обучающий набор данных, тем меньше средняя доходность системы на обучающем наборе, но тем больше вероятность того что система будет показывать эту доходность на данных которые она не видела. И наоборот, чем меньше обучающий набор, тем больше средняя доходность на обучающем наборе и тем меньше вероятность, что система покажет прибыль на неизвестных данных.»
подтверждают, что на безконечно большой истории доходность будет стремиться к нулю (особенно с учётом событий за границами двух сигм).
Т.е. чем меньше историю для обучения брать, тем больше утешать себя, что это работает.