- •Прогнозирование финансовых рынков с использованием искусственных нейронных сетей
- •Задание
- •Реферат
- •Введение
- •1 Описание предметной области
- •1.1 Финансовые рынки
- •1.2 Внешние факторы, влияющие на курс валют
- •1.3 Понятие биржи
- •1.4 Деятельность на бирже
- •1.5 Процесс торговли
- •2 Разработка программного продукта
- •2.1 Методы прогнозирования финансовых рынков
- •2.1.1 Экономико-математические методы
- •2.1.2 Анализ фундаментальных факторов
- •2.1.3 Технический анализ
- •2.1.4 Использование систем с искусственной «памятью» для решения задач прогнозирования
- •2.2 Выбор метода исследований
- •2.2.1 Искусственные нейронные сети
- •2.2.2 Нейронная сеть прямого распространения
- •2.3 Алгоритм обработки данных и полученные результаты
- •2.3.1 Проведение технического анализа
- •2.4 Объектная декомпозиция программы
- •2.5 Выбор среды и языка программирования
- •2.6 Описание реализации программы
- •3 Описание и тестирование программного обеспечения
- •3.1 Обзор программ аналогов
- •3.2 Описание работы и установки системы
- •3.3 Тестирование по
- •Заключение
- •Список использованных источников
- •Приложение а (справочное) Пример содержания csv файла для обучения нейронной сети
2.5 Выбор среды и языка программирования
Основной инструмент трейдера – это торговый терминал. Торговый терминал MetaTrader 4 представляет собой программное обеспечение, а если более точно, то совокупность технических и программных средств, которые обеспечивают взаимодействие между трейдерами и дилинговыми центрами при осуществлении различного рода операций (торговых и неторговых).[20]
MQL5 обозначает MetaQuotes Language 5. Торговую платформу Metatrader разработала компания MetaQuotes. Для написания программ на MQL5 предоставляется среда разработки MetaEditor со всеми современными инструментами для написания кода, которая входит в состав торговой платформы. С помощью встроенного языка и других инструментов возникает возможность создавать свои торговые стратегии и специальные программные средства: советники; индикаторы; скрипты.
Советник ─ это программа, которая имеет возможность автоматизации сделок, на основе вложенных в нее торговых правил. Советник помогает автоматизировать открытие/закрытие сделок и так же несет информативный характер.
Индикатор ─ это программа, которая позволяет использование функций технических индикаторов, но не автоматизирует сделки.
Скрипт ─ программа, выполняющая одну функцию. Скрипты исполняются однократно - при востребовании. В отличие от советников, которые могут исполняться на каждом тике. Скрипт не имеет доступа к техническим индикаторам.[20]
Стоит отметить, что в случае дипломного проекта интересует именно создание индикатора и советника. Преимущества MQL5, для написания программы можно представить в виде списка:
синтаксис языка максимально близок к С++:
данный язык встроен в MetaTrader, что позволяет:
использовать реализованный функции анализа данных валютных пар;
открывать и закрывать сделки встроенными функциями;
использовать графическую оболочку MetaTrader для работы с советников;
возможность комбинировать советника с другими системами, например, с индикаторами;
использовать встроенные инструменты для тестирования и отладки советника на истории торговли;
использовать встроенные инструменты для тестирования советника в реальных условиях на демо счету.
с) простота установки советника сторонними пользователями в самую популярную систему торговли MetaTrader.
ENCOG - пакет для работы с нейросетями и системой машинного обучения, разработанной Heaton Research.[21]
Преимущества использования ENCOG:
Библиотека ENCOG является бесплатной.Доступен исходный код.
Библиотека спроектирована таким образом что позволяет, поддерживаеть работу с несколькими процессорами/потоками для ускорения нейросетевых расчетов.
Используется в других коммерческих системах, была протестирована на предмет прогнозирования.
Представляет возможности для машинного обучения, так же для рассмотрения всевозможных архитектур нейронных сетей и методов их обучения.
Все эти преимущества позволяют акцентировать внимание именно на алгоритме и создании программных средств для торговой платформы, а так же сэкономить время на разработке.
