Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Создание, тестирование и оптимизация торговых систем с использованием программы Metastok и языка R. Учебное пособие
.pdf
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
М.E. Семёнов
СОЗДАНИЕ, ТЕСТИРОВАНИЕ И ОПТИМИЗАЦИЯ
ТОРГОВЫХ СИСТЕМ С ИСПОЛЬЗОВАНИЕМ
ПРОГРАММЫ METASTOK И ЯЗЫКА R
Рекомендовано в качестве учебного пособия
Редакционно-издательским советом
Томского политехнического университета
Издательство
Томского политехнического университета
2019

УДК 339.3:004.42(075.8)
ББК У9(2)422я73
С79
Семёнов М.Е.
С79 Создание, тестирование и оптимизация торговых систем с ис-
пользованием программы Metastok и языка R : учебное пособие /
М.Е. Семёнов / Томский политехнический университет. – Томск :
Изд-во Томского политехнического университета, 2019. – 59 с.
ISBN 978-5-4387-0910-7
В пособии рассмотрены основные настройки интерфейса, особенности экспорта и импорта данных, специфика выполнения основных операций по созданию,
тестированию и оптимизации торговых систем, инвестиционных портфелей. Особое внимание уделено практическим примерам для освоения основных принципов
и порядка работы в системе Metastock и языка программирования R.
Предназначено для студентов и аспирантов вузов, специализирующихся на
разработке математических моделей и методов исследования операций в экономике, а также для инвесторов и практикующих трейдеров, целью которых является создание, тестирование и оптимизация торговых систем и инвестиционных
портфелей.
УДК 339.3:004.42(075.8)
ББК У9(2)422я73
Рецензенты
Доктор технических наук, профессор ТУСУРа
А.А. Мицель
Кандидат физико-математических наук, доцент НИ ТГУ
А.Е. Петелин
ISBN 978-5-4387-0910-7 © ФГАОУ ВО НИ ТПУ, 2019
© Семёнов М.Е., 2019
© Оформление. Издательство Томского
политехнического университета, 2019

Оглавление
Введение .................................................................................................................... 4
Раздел 1. Программа Metastock ............................................................................... 6
1.1. Обзор системы, состав и назначение основных модулей системы
Metastock ........................................................................................................ 6
1.2. Знакомство с графическим интерфейсом программы ................................ 7
1.3. Загрузка данных в программу Metastock ................................................... 11
1.4. Встроенный макроязык. Разработка индикаторов,
фильтров, функций ...................................................................................... 14
1.5. Настройка и использование советников .................................................... 19
1.6. Создание и тестирование торговых систем.
Проведение оптимизации ............................................................................ 22
1.7. Экспорт и импорт функций, индикаторов,
систем, советников и фильтров .................................................................. 30
Задания для самостоятельной работы .................................................................. 33
Раздел 2. Среда программирования R .................................................................. 35
2.1. Обзор возможностей языка R для работы с временными рядами .......... 35
2.2. Знакомство с графическим интерфейсом пользователя RStudio ............ 38
2.3. Загрузка данных в программу R/Rstudio ................................................... 39
2.4. Выгрузка данных из программы R/Rstudio ............................................... 41
2.5. Проведение технического анализа ............................................................. 42
2.6. Создание и тестирование торговых систем ............................................... 48
2.7. Создание и оптимизация модельных портфелей ...................................... 51
Задания для самостоятельной работы .................................................................. 55
Заключение ............................................................................................................. 56
Список литерату
ры ................................................................................................57
3

Введение
Статистическое оценивание торговых стратегий предполагает поиск
оптимального поведения кривой капитала (график изменения депозита)
с учетом возможных убытков. Без статистически надежных исследований с учетом риска невозможно выбрать лучшую (единственную) среди
конкурирующих стратегий, а также оценить, насколько результаты работы стратегии в будущем будут соответствовать историческим
(Pardo, 2008). При тестировании торговой стратегии необходимо
сматривать множество параметров (эффективность торговых сигналов,
текущие и зафиксированные убытки, количество прибыльных и убыточных сделок, волатильность рынка и т. д.), которые могут оказать влияние
на принятие решения.
Под торговой стратегией будем понимать сочетание алгоритмов,
которое позволяет принимать решения об открытии и закрытии позиции
и сопровождении сделки. Для создания механической
(автоматизированной) торговой стратегии можно использовать различные подходы. В пособии мы будем использовать индикаторы технического анализа.
В предлагаемом пособии авторы не ставили перед собой задачи дать
полное описание программы Metastock и языка R, а постарались познакомить читателя с идеологией работы с программой Metastock и языком R
и дать общее описание действий при
решении типичных задач, возника-
ющих при создании и тестирование торговых стратегий.
Недостающие подробности использования функционала программ
обычно интуитивно понятны из возможностей, предоставляемых диалоговыми окнами и меню. Изложение материала предполагает, что читатель имеет опыт использования индикаторов технического анализа.
При необходимости знакомства с техническим анализом можно обратиться к монографии (Швагер
, 2006), с базовыми определениями рынка
ценных бумаг можно познакомиться в учебнике (Шарп, 2014).
В первом разделе пособия приведены иллюстративные примеры создания пользовательских индикаторов технического анализа, советников,
фильтров; рассмотрены вопросы подготовки исходных данных, кратко изложены алгоритмы построения и тестирования торговых стратегии в программе Metastock (www.equis.com). Приведена пошаговая инструкция подключения торгового терминала Quik (quik.ru)
к программе Metastock для
получения данных в режиме реального времени.
Во втором разделе уделяется внимание языку программирования R
(http://www.r-project.org), а также кратно изложены возможности интегрированной среды разработки RStudio; рассмотрены возможности языка R
для проведения технического анализа, создания и тестирования торговых
рас-
4

стратегий, а также рассмотрены вопросы формирования инвестиционных
портфелей.
Для более детального изучения вопросов, связанных с алгоритмическим трейдингом, следует обратиться к соответствующей документации
или источникам литературы, приведенным в конце пособия.
Данное пособие может быть использовано для организации самостоятельной работы студентов в ходе изучения следующих дисциплин: «Статистическое моделирование и прогнозирование
», «Статистический анализ
и планирование эксперимента», «Методы финансовой математики», «Ценные бумаги и управление портфелем», «Программные средства для проведения математических расчётов».
Для контроля полученных теоретических знаний каждый раздел
включает задания для самостоятельной работы.
В результате изучения курса студент (слушатель) должен:
1) иметь представление о современных технологиях создания, те-
стирования и
оптимизации торговых систем и программном обеспечении
для работы на фондовом рынке;
2) знать основные правила создания торговых систем и основные
аппаратные и программные платформы для приложений, обеспечивающих работу на фондовом рынке;
3) уметь использовать приложения на уровне опытного пользова-
теля и применять полученные знания при создании собственной автоматизированной торговой
системы.
5

Раздел 1. Программа Metastock
1.1. Обзор системы, состав и назначение основных
модулей системы Metastock
MetaStock (http://www.equis.com) – это программный пакет, предназначенный для анализа рынков акций и производных инструментов.
В России популярность Metastock приобрел начиная с версии 7. В настоящее время вышла очередная, уже 16-я, версия этой программы. Программа
существует в следующих версиях: MetaStock End-of-Day и Real-time. Endof-Day предназначена для анализа финансовых рынков
торгов, версия Real-time – в режиме реального времени.
В данном издании мы будем приводить примеры с использованием
пакета MetaStock 9, который включает в себя следующие компоненты:
Metastock Professional (Offline Mode), The Downloader, OptionsScope.
Metastock Professional (Offline Mode):
обеспечивает построение и использование наиболее известных
типов графиков (линейный, бары, свечи, объемные свечи и т. д.); стандартный набор линий для проведения графического анализа (линии поддержки, сопротивления, каналов, регрессий и т. д.);
включает обширную библиотеку стандартных индикаторов для
технического (компьютерного) анализа, а также встроенную систему
программирования для создания собственных (пользовательских) индикаторов, фильтров, систем;
предоставляет возможность исследования финансовых инстру-
ментов за определенный период с использованием системы трейдерских
стратегий, а также оценки доходностей этих стратегий.
Общий алгоритм работы с пакетом MetaStock можно представить
следующим образом:
загрузка данных;
построение необходимых диаграмм и анализ ценовой тенденции;
автоматизация работы, создание и оптимизация торговых стра-
тегий;
сохранения результатов работы, полученных во время сессии
MetaStock.
Офлайн-режим работы с программой (MetaStock Professional Offline
Mode) предназначен для обработки данных, которые хранятся на диске.
Файл данных может содержать следующую информацию:
дата (Date);
цена открытия (Open) и закрытия (Close) торгов;
после окончания
6

максимальная (High) и минимальная (Low) цена за данный период;
объем (Volume) торгов и открытый интерес (Open interest).
Компонент The Downloader предназначен:
для добавления и редактирования данных из файлов формата
Metastock с использованием электронной таблицы DownLoader;
обновления этих файлов в режиме онлайн;
конвертирования текстовых файлов в формат Metastock;
проверки целостности файлов данных.
OptionsScope – инструмент, который используется для анализа инструментов срочного рынка (опционов на фьючерсы и акции). При его
помощи можно:
рассчитать рыночную «теоретическую» цену опционов пут (put) и
колл (call);
рассчитать внутреннюю (implied) волатильность опциона, пока-
затели дельта, вега, гамма и тета;
определить чувствительность опционов на изменение рыночных
состояний.
1.2. Знакомство с графическим интерфейсом программы
В основе интерфейса системы Metastock лежит стандартный графический интерфейс операционной системы Windows. Доступ к функциям осуществляется с помощью главного и контекстного меню, инструментальных
панелей, диалоговых окон и т. д. В системе Metastock пользователь может
работать с несколькими окнами одновременно
как с одним целым.
Для начала работы с программой MetaStock необходимо:
1. Нажать кнопку Пуск и далее Программы – Equis International –
Metastock Professional Offline Mode или выбрать иконку на рабочем столе.
2. После запуска программы необходимо загрузить в рабочую об-
ласть программы данные, сохраненные на диске, с помощью команды
Файл – Открыть (File – Open). На рабочем столе отобразится основное
окно (рис. 1).
В верхней части окна расположено основное меню, через
которое можно выполнить любую команду, заложенную в программу:
Документ (File) – меню команд управления файлами, Вид (View) – меню
команд управления интерфейсом основного окна, Сервис (Tools) – меню
команд вызова вспомогательных инструментов, Справка (Help) – доступ
к справочной системе.
Примечание. Меню Редактирование (Edit), Вставка (Insert), Фор-
матирование (Format), Окно (Window) – отображаются после загрузки
данных.
7

В верхней части рабочего экрана (рис. 1) расположена горизонтальная панель инструментов Стандартная (Standard). С ее помощью, напри-
мер, можно открыть файл с данными. Слева находится вертикальная панель Рисования (Line Studies). На ней расположены кнопки, включающие режимы рисования различных линий для проведения графического
анализа. Кроме этого, можно с помощью команды Вид – Панели инстру
-
ментов (View – Toolbars) отобразить и другие панели, например Цвет
(Color), Толщина (Weight) и Стиль (Style) графических объектов.
Рис. 1. Главное окно программы MetaStock
Программа предоставляет стандартные возможности правки документа: это операции копирования и удаления объектов с использованием
возможностей буфера обмена, удаление объектов по категориям, специальная вставка и др. Для того чтобы воспользоваться этими командами, можно
использовать команды меню Правка (Edit) или стандартные «горячие»
клавиши операционной системы Windows.
В основной части рабочего экрана отображается
графическое окно,
содержащее график цены и объема (рис. 1). Программа Metastock предусматривает различные способы представления ценовых графиков: ли-
нейные (Line), столбчатые (Bars), крестики-нолики (Point & Figure),
японские свечи (Candlesticks) и др. Для того чтобы выбрать способ пред-
ставления, необходимо вызвать контекстное меню графика цены и выбрать необходимый вид графика (рис. 2).
8

Рис. 2. Контекстное меню графика цены
Использование инструментов графического анализа. На ценовом
графике или графике объемов можно нарисовать линию тренда. Для
этого необходимо на панели Рисование выбрать кнопку
или команду
системного меню Вставка – Линия тренда (Insert – Trendline). Для исследования наклона тренда можно использовать кнопку либо команду
системного меню Вставка – Транспортир (Insert – Trendline by Angel).
Если воспользоваться кнопкой или командой меню Вставка – Линейная регрессия (Insert – Linear Regression), то аналитически будет построена прямая линия наиболее приближенная к ценовым данным на графике. Лишенная субъективных качеств, эта
линия показывает статисти-
ческий тренд на участке построения.
Используя простейшие линии тренда, можно построить ценовые мо-
дели (фигуры графического анализа):
модели перелома (например, голова и плечи, тройная вершина,
V-образная вершина и т. д.);
модели продолжения (флаг, клин и вымпел и т. д.);
модели неопределенности (например, треугольники).
На стандартной панели имеются кнопки, вызывающие инструменты
навигации по графику – это Окно данных (Data Window) и Лупа
(Zoom) , с помощью которых можно детально рассмотреть интересу-
ющий диапазон графика. Если требуется изменить период агрегирования, то можно воспользоваться списком, который располагается в нижней правой части рабочего окна (рис. 3).
9

Рис. 3. Список для выбора периода агрегирования данных
Для переключения между различными окнами с графиками цен и объемов можно воспользоваться кнопками ◄ и ► (при этом файлы с данными
должны располагаться в одной директории, например C:\MetaStock Data).
Кроме классического графического анализа программа Metastock
предоставляет возможность использовать уровни Фибоначчи, представления Ганна, которые доступны через меню Вставка (Insert).
Использование технических индикаторов. Metastock содержит
обширную библиотеку встроенных индикаторов. Кроме этого, существует возможность сконструировать собственные индикаторы или загрузить новые индикаторы из Интернета. Все индикаторы в MetaStock
делятся на три группы: – графические индикаторы (строятся на основе любого графика),
нового графика),
– индикаторы, созданные пользователем.
– ценовые индикаторы (строятся на основе це-
Построим в окне с графиком цены 21-периодную экспоненциальную
скользящую среднюю. Для этого:
1. В выпадающем Списке индикаторов (Indicators QuickList) на
стандартной панели инструментов выбрать необходимый индикатор.
2. Захватить выбранный индикатор левой кнопкой мыши и, не от-
пуская кнопки, перетащить его на рабочее окно.
3. На экране появится диалоговое окно
Свойства скользящей
средней (Moving Average Properties), которое позволяет настраивать па-
раметры индикатора (рис. 4).
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
