Разработка стохастического осциллятора
Разработка стохастического осциллятора на языке C++. Создание программу, которая будет выводить график в виде двух линий зависимости стоимости акций в процентном соотношении, с помощью стохастических формул. Изучение основных понятий стохастики.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 27.01.2019 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1
Размещено на http://www.allbest.ru/
1
Национальный исследовательский университет
Высшей школы экономики, г. Москва
Разработка стохастического осциллятора
Гаскарова Е.А.
бакалавр
направление: информатика и вычислительная техника
Теоретическое введение
Стохастический осциллятор - это индикатор, который применяется в техническом анализе, показывающий положение текущей цены сравнительно диапазона цен за установленный период в прошлом. Основной смысл этого индикатора заключается в нахождении тех ситуаций, когда необходимо покинуть рынок до трансформаций тренда, либо когда нужно войти в рынок с зарождением нового тренда. Осуществляется с помощью сигналов перекупленности и перепроданности соответствующего актива.
Стохастический осциллятор представляет из себя график из двух линий: %K (быстрый стохастик) и %D (усредненный стохастик, медленный), которые рассчитываются по формуле(1):
(1)
Ct - цена закрытия текущего периода Ln- самая низкая цена за конечные n периодов
Hn- самая высокая цена за конечные n периодов.
%D - скользящая средней относительно быстрой стохастики с небольшим периодом усреднения.
Актуальность разработки стохастического осциллятора состоит в том, что проанализировав данные, можно интерпретировать для действий на рынке:
Можно ожидать падение цен, когда цены создадут последовательность новых пиков, а стохастическому индикатору не получается взмыть больше своих предыдущих максимумов, то есть можно продавать.
Нужно покупать, если линия графика осциллятора опустится ниже оговоренного уровня, а потом поднимется выше него. Продавать - наоборот, если сначала линия графика поднимется выше, а потом упадет.
Если линия графика быстрой стохастики поднимется выше усредненной - следуют покупать, если выше соответственно - продавать.
Си++ - на данный момент самый используемый язык программирования, который позволяет реализовать сложные эффективные алгоритмы. А с помощью библиотек QT можно построить графики, которые легко можно добавить в форму QT, без дополнительных библиотек.
Постановка задачи.
ЗАДАЧА: разработать стохастический осциллятор
ДАНО: сайт finam, откуда нужно загрузить котировки для исследования цены РЕЗУЛЬТАТ: график-индикатор цены, который и является осциллятором. СВЯЗЬ:
%D=Average(%K)
ПРИ: мы выбираем сами какие котировки из finam нам интересны для изучения, например курс доллара за месяц.
Метод решения задачи.
Получение данных и внесение в форму.
Добавляем библиотеку CURL в программную среду QT для того, чтобы загружать котировки с помощью модуля quotes. В качестве источника биржевых цен я выбрала сайт инвестиционной компании «Финам». На сайте есть возможность сохранить файл с котировками на компьютер, где можно выбрать секцию рынка, период, и другие параметры.
Рис. 1. Пример получения файла-котировок на компьютер с сайта http://www.finam.ru/analysis/export/default.asp
С помощью wireshark, в get запросе можно понять - как менять параметры.
Рис. 2. Скриншот из wireshark
em - шифр компании (например, Газпром - 16842, остальные можно посмотреть в адресной строке финама)
df, mf, yf - день, месяц, год начала передачи данных
dt, mt, yt - дата до которой нас интересуют котировки
p - период - частота, с которой брались данные (например каждые 30 секунд или каждый день) Сама же функция quotes в моей программе выглядит так:
Рис. 3. Скрин программного кода функции quotes
Где static QString buffer - это Callback функция, которая собирает полученные данные.
Результат разработки
В итоге получаем программное решение, где сначала вводим код компании, дату, периодиность, линия синего цвета - это график быстрой стохастики, линия зеленого цвета - медленной, устредненной. Исходя из этих данных можно судить о том, что следует делать с ценными бумагами - продавать или покупать.
Рис. 4. Скриншот работающей программы
Целью работы ставилась разработать удобную программу для пользователя, который хочет провести анализ биржевых котировок, где он сможет выбирать периодичность, компанию и частоту обновления данных. Программа работает в режиме реального времени, так как загружает самые актуальные данные с сайта finam, с технической точки зрения, осциллятор показывает абсолютно все нужные данные для анализа рынка.
«Скелет» этой программы может служить для других полезных программ, которые будут обрабатывать данные из интернета.
По моему мнению эта программа очень полезной для биржевых брокеров, так как на языке C++ никто не занимался разработкой стохастического осциллятора, который можно настроить под себя и при этом безопасно анализировать данные.
Список литературы
стохастический осциллятор программа
1. Страуструп Б. Язык программирования C++ / Б.Страуструп. Москва: Вильямс, 2011.
2. Сайт инвестиционной компании «ФИНАМ» [Электронный ресурс]. Режим доступа: https://finam.ru (дата обращения 13.04.2018).
3. Справочная документация по Qt [Электронный ресурс]. Режим доступа: http://doc.crossplatform.ru/qt/4.3.2/ (дата обращения 13.04.2018).
4. Работа с библиотекой CURL. [Электронный ресурс]. Режим доступа: http://nullflow.blogspot.ru/2011/07/c-curl.html/ (дата обращения 13.04.2018).
5. Осциллятор стохастик (Stochastic) [Электронный ресурс]. Режим доступа: http://www.fxpro.ru/helpsection/articles/fxpro-quant/stochastic-oscillator/ (дата обращения 13.04.2018).
Размещено на Allbest.ru
Подобные документы
Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.
курсовая работа [742,6 K], добавлен 03.07.2011Создание транслятора, обрабатывающего код программы на языке Паскаль и за счет эквивалентных операторов генерирующего программу на Си. Особенности внешней спецификации и работы лексического анализатора. Структура программы, вывод результатов на экран.
курсовая работа [254,0 K], добавлен 02.07.2011Разработка программы, которая по заданной самостоятельно функции будет выполнять интегрирование методом прямоугольников. Блок-схема алгоритма вычисления интеграла (функция rectangle_integrate). Экспериментальная проверка программы, ее текст на языке C.
курсовая работа [232,0 K], добавлен 27.05.2013Разработка при помощи средств визуального программирования Delphi приложения для Windows, представляющего собой программу, обучающую работе с клавиатурой, которая должна выдавать на экран текст, набираемый на клавиатуре и оценивать скорость набора.
курсовая работа [241,3 K], добавлен 19.03.2010Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.
курсовая работа [487,4 K], добавлен 18.12.2014Разработка и создание информационной базы данных в СУБД MS Access, которая будет содержать: сведения о гостинице; сведения о составе номеров в гостинице и обстановке в них; регистрацию покупателей в гостинице; ведение учета покупателей и данных о них.
курсовая работа [586,6 K], добавлен 06.05.2010Формулы расчета емкости плоскопараллельного датчика и его чувствительности. Таблица символических имен: макроопределения, абстрактные классы и функции. Текст программы на языке Си. Результаты в виде таблиц и графиков. Анализ работоспособности программы.
курсовая работа [988,5 K], добавлен 03.11.2012Создание программы на языке программирования С#, которая проверяет наличие в матрице хотя бы одного столбца, содержащего положительный элемент, поиск его номера. Упорядочивание его элементов по возрастанию. Листинг программы и инструкция по работе с ней.
курсовая работа [1,9 M], добавлен 28.05.2014Создание базы данных с помощью на СУБД Access. Разработка программы, которая позволяет принимать управленческие решения, хранить данные о клиентах, о продукции, а так же хранить данные о продажах, производить их анализ и выдавать результат в виде таблиц.
курсовая работа [2,2 M], добавлен 16.10.2011Создание программы решения математических выражений методом трансляции с помощью обратной пользовательской записи на алгоритмическом языке Си. Определение функционального назначения процедур ChartoInt, Scobka и Sumin, представление их в виде блок-схем.
курсовая работа [267,7 K], добавлен 20.11.2010