Обсуждение статьи "Глубокая нейросеть со Stacked RBM. Самообучение, самоконтроль" - страница 7
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
DNRBM никак не запустить, всегда не хватает функций. По всей видимости разные версии пакетов, о чем пишут другие в ветке. Большая просьба, публиковать версии пакетов, если таковые имеются.
DNSAE запустился, правда с небольшими доработками и с собственным советником. Советник в архиве не подходит, чтобы запустить тестирование на долго.
Приложил результаты тестирования (по барам в 2017 гг) DNSAE и моей SAE на GPBUSD и EURUSD.
Имена файлов с порядковыми номерами 1, 2 и 5, это DNSAE, другие - мой SAE (по сути тоже самое, только настройки и код другие). Нумерация - признак разных настроек. Увеличение тестов внутри одних и тех же настроек дает похожий и стабильный результат (не всегда положительный). В моем варианте SAE модель обновляется каждый день.
В архив положил e_DNSAE.r и e_DNSAE_FUN.r немного модифицированные для стабильной работы на разных ТФ.
Если кто-то поможет решить проблему DNRBM для DateSet'a
dataSet <- createDataSet(
data = DT$train[ ,best] %>% as.matrix(),
targets = y,
scale = F
)
Error in createDataSet(data = DT$train[, best] %>% as.matrix(), targets = y, :
unused arguments (data = DT$train[, best] %>% as.matrix(), targets = y, scale = F)
То сделаю тестирование и для этого варианта на данных.
Добрый день.
Посмотрю что можно сделать. Хорошая работа.
Удачи
1. пакет deepnet (v 0.2) - имеет две функции
2. Эксперт e_DNRBM в статье использовал пакет darch(v0.10). Эта версия устарела и не поддерживается больше. Использование новой версии пакета darch(v0.12) в экспертах описана в статье 1 а оптимизация ее гиперпараметров в статье 2. Посмотрите, если будут вопросы я отвечу с удовольствием.
У меня два вопроса:
1. Вы тестировали в тестере МТ5 или МТ4? Код эксперта можете сбросить мне в личку?
2. Если есть интерес в дальнейшем обсуждении, предлагаю перенести его в отдельную ветку RuserGroup? Я давно хотел открыть ее для обсуждения только конкретных скриптов на R и реализаций в моих статьях.
Удачи
1. пакет deepnet (v 0.2) - имеет две функции
2. Эксперт e_DNRBM в статье использовал пакет darch(v0.10). Эта версия устарела и не поддерживается больше. Использование новой версии пакета darch(v0.12) в экспертах описана в статье 1 а оптимизация ее гиперпараметров в статье 2. Посмотрите, если будут вопросы я отвечу с удовольствием.
У меня два вопроса:
1. Вы тестировали в тестере МТ5 или МТ4? Код эксперта можете сбросить мне в личку?
2. Если есть интерес в дальнейшем обсуждении, предлагаю перенести его в отдельную ветку RuserGroup? Я давно хотел открыть ее для обсуждения только конкретных скриптов на R и реализаций в моих статьях.
Удачи
Спасибо.
По версиям, разобрался.
1. МТ4, но есть и МТ5 (не проверял)
2. ОК
# Просьба внести исправления в скрипт "e_DNSAE_FUN.r"
Все совпадения price[, 6], лучше поменять на price[, "CO"]
В функциях testAcc и testBal, необходимо добавить
if(!soft) out <- ifelse(out > mean(out), 1, 0); //после out <- nn.predict(obj, x.ts) и if(soft){out <- max.col(out)-1} else {out %<>% as.vector()} соответсвенно
или иной способ декодирования для случая "не софт", иначе вектор с одинаковыми значениями.
Если установить порог равным 0.5 и наибольшая вероятность в столбцах будет меньше этого порога, мы получим дополнительный класс "не_определен". Это нужно учитывать при вычислении таких метрик, как Accuracy.
#
Решил немного иначе, но и в этом случае необходимо изменить некоторые функции:
Новые переменные из советника: "enable_dn_probability" и "dn_probability".
Есть идеи, как упростить, в студию.
Вот результаты отладки советником:
GBPUSD 18.03.2018 - 18.04.2018
Комментарий к стабильности. Иногда есть вылеты с ошибкой:
[7056] Ошибка в conditionalDistribution(object, lastState) :
[7056] атрибут 'names' [1] должен быть той же длины, что и вектор [0]
Если установить порог равным 0.5 и наибольшая вероятность в столбцах будет меньше этого порога, мы получим дополнительный класс "не_определен". Это нужно учитывать при вычислении таких метрик, как Accuracy.
#
Решил немного иначе, но и в этом случае необходимо изменить некоторые функции:
Новые переменные из советника: "enable_dn_probability" и "dn_probability".
Есть идеи, как упростить, в студию.
Вот результаты отладки советником:
GBPUSD 18.03.2018 - 18.04.2018
Комментарий к стабильности. Иногда есть вылеты с ошибкой:
[7056] Ошибка в conditionalDistribution(object, lastState) :
[7056] атрибут 'names' [1] должен быть той же длины, что и вектор [0]
Посмотрю внимательно, отпишусь. Страшно занят буду дня два. Нужно закончить статью. Но обязательно по Вашим предложениям отпишусь.
Удачи
Работа над своими ошибками:
У меня таки вышло запустить RBM на тестере советника M30
Баров в истории
30877
Смоделировано тиков
60750
Качество моделирования
n/a
Ошибки рассогласования графиков
0
Начальный депозит
10000.00
Спред
Текущий (70)
Чистая прибыль
-280.46
Общая прибыль
5542.86
Общий убыток
-5823.33
Прибыльность
0.95
Матожидание выигрыша
-1.75
Абсолютная просадка
320.28
Максимальная просадка
1924.03 (16.54%)
Относительная просадка
16.54% (1924.03)
Всего сделок
160
Короткие позиции (% выигравших)
160 (74.38%)
Длинные позиции (% выигравших)
0 (0.00%)
Прибыльные сделки (% от всех)
119 (74.38%)
Убыточные сделки (% от всех)
41 (25.63%)
Самая большая
прибыльная сделка
175.00
убыточная сделка
-660.00
Средняя
прибыльная сделка
46.58
убыточная сделка
-142.03
Максимальное количество
непрерывных выигрышей (прибыль)
19 (654.31)
непрерывных проигрышей (убыток)
3 (-747.31)
Макс.
непрерывная прибыль (число выигрышей)
654.31 (19)
непрерывный убыток (число проигрышей)
-747.31 (3)
Средний
непрерывный выигрыш
5
непрерывный проигрыш
2
Немного поправленный код
Еще
В этой нейронке Acc было < 0.5
dn_probability = off
У меня таки вышло запустить RBM на тестере советника M30
Баров в истории
30877
Смоделировано тиков
60750
Качество моделирования
n/a
Ошибки рассогласования графиков
0
Начальный депозит
10000.00
Спред
Текущий (70)
Чистая прибыль
-280.46
Общая прибыль
5542.86
Общий убыток
-5823.33
Прибыльность
0.95
Матожидание выигрыша
-1.75
Абсолютная просадка
320.28
Максимальная просадка
1924.03 (16.54%)
Относительная просадка
16.54% (1924.03)
Всего сделок
160
Короткие позиции (% выигравших)
160 (74.38%)
Длинные позиции (% выигравших)
0 (0.00%)
Прибыльные сделки (% от всех)
119 (74.38%)
Убыточные сделки (% от всех)
41 (25.63%)
Самая большая
прибыльная сделка
175.00
убыточная сделка
-660.00
Средняя
прибыльная сделка
46.58
убыточная сделка
-142.03
Максимальное количество
непрерывных выигрышей (прибыль)
19 (654.31)
непрерывных проигрышей (убыток)
3 (-747.31)
Макс.
непрерывная прибыль (число выигрышей)
654.31 (19)
непрерывный убыток (число проигрышей)
-747.31 (3)
Средний
непрерывный выигрыш
5
непрерывный проигрыш
2
Немного поправленный код
Еще
В этой нейронке Acc было < 0.5
dn_probability = off
Снимаю шляпу за Вашу настойчивость. Я честно говоря ушел давно с этой темы. Если будет время еще раз вернусь к ней.
Удачи
Ноу проблем.
Сорри, там сверху опечатка про преобразование сигнала в состояние. Состояние "0" для markovchain не существует, поэтому сделал "3"
Ну и жду, когда эксперт обсчитает данные.
Хочу сказать, что если подавать сетке данные о реальных объемах пары, то точность возрастает очень сильно, так, что эксперту практически не требуется задействовать механизм мани-менеджемент
Ноу проблем.
Сорри, там сверху опечатка про преобразование сигнала в состояние. Состояние "0" для markovchain не существует, поэтому сделал "3"
Ну и жду, когда эксперт обсчитает данные.
Хочу сказать, что если подавать сетке данные о реальных объемах пары, то точность возрастает очень сильно, так, что эксперту практически не требуется задействовать механизм мани-менеджемент
Реальный или тиковый?
В моих экспериментах объем ничего не дал.