Программирование - это просто
Advertisement
Главная arrow Биржевые роботы arrow Тесты торговых стратегий на C# (платный раздел) arrow Тесты торговых стратегий на C#. Урок 25. Тестирование нейросети и некоторые улучшения программы.
24.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Тесты торговых стратегий на C#. Урок 25. Тестирование нейросети и некоторые улучшения программы. Печать E-mail
Автор megabax   
16.05.2014 г.
New Page 1

Тесты торговых стратегий на C#. Урок 25. Тестирование нейросети и некоторые улучшения программы.

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

В платном разделе статья находиться здесь.

Исходники к уроку можно скачать в платном разделе.


На прошлом уроке я рассказа вам, как искал глюк в нейронной сети и как в итоге ...

...

...Таким образом, были сгенерированы новые котировки с диапазоном изменения от 100 до 120 и с периодом 10 свечей. Обучение на этих котировках проходило за 10 с копейками итераций, а тестирование стратегии дало вот такой красивый почти линейный график:

Тесты торговых стратегий на C#. Урок 25. Тестирование нейросети и некоторые улучшения программы.

А что будет, если "прогнать" эту нейросеть через реальные котировки, например, через Газпром на дневных интервалах. Симулируем на периоде с 01.01.2011 по 31.12.2013. Как оказалось, на реальных котировках нейронная сеть не обучается. Скорее всего, причина в том, что это  линейно НЕ сепарабельная задача (см.  Теория нейронных сетей. Урок 4. Обучение нейрости. Линейный персептрон.). Выход из такого положения только один: использовать многослойный персептрон. Но это уже тема для будущих уроков, а сейчас мы с вами немножко улучшим существующую программу. В частности, у нас до сих пор нет пункта меню "Удалить", давайте сделаем его:

        private void tsmiDelete_Click(object sender, EventArgs e)

        {

            delete_object_to(current_node);

        }

 

 

        /// <summary>

        /// Удалить объект из проекта

        /// </summary>

        /// <param name="a_current_node">Ветвь проекта, где удаляемый объект</param>

        private void delete_object_to(TreeNode a_current_node)

        {

            if (a_current_node.Parent == null) return;

            if (a_current_node.Parent.Name == "tvnMainPriceSources")

            {

                project.delete_price_source(a_current_node.Parent.Nodes.IndexOf(a_current_node));

                return;

            }

            if (a_current_node.Parent.Name == "tvnStrategies")

            {

                project.delete_strategy(a_current_node.Parent.Nodes.IndexOf(a_current_node));

            }

        }

В связи с чем нам необходимо добавить в класс проекта (TSTProject) парочку методов (для удаления стратегии и источника котировок) ...

...

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

 

...

 

Теперь мы можем смотреть графики котировок:

Тесты торговых стратегий на C#. Урок 25. Тестирование нейросети и некоторые улучшения программы.

В том числе применять автомасштабирование:

Тесты торговых стратегий на C#. Урок 25. Тестирование нейросети и некоторые улучшения программы.

Последнее обновление ( 16.05.2014 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги