Разработка механической системы принятия решений
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
? скользяшая средняя = [Close сег х 0,09] + [M.A. вчера х 0,91]
Вследствие того, что большинство инвесторов более комфортно себя чувствуют при работе с временными периодами по сравнению с работой с процентами, современная программа технического анализа MetaStock преобразует в дни экспоненциальные проценты. Формула конвертации дней в экспоненциальные проценты выглядит следующим образом:
;
Например, для расчета 10-дневной экспоненциальной скользящей средней необходимо использовать коэффициент 0.18:
;
Для проведения обратной конвертации, то есть экспоненциального процента во временные периоды используется следующая формула:
;
Используя данные предыдущего примера, Вы можете проверить, что коэффициент 0.18 экспоненциальной скользящей средней, действительно соответствует скользящая средняя с периодом 10.
;
Экспоненциальная скользящая средняя характеризуется возрастанием веса значений ряда в направлении к последней дате (концу ряда) и его уменьшением в направлении к первым датам (началу ряда). Такого нет у простой скользящей средней. Этот метод часто называют экспоненциальным взвешиванием.
3.3.2 Определение индикатора MACD
Ярким представителем, выражающим подход к анализу графиков, является индикатор (moving average convergence divergence), что переводится как схождение - расхождение (конвергенция - дивергенция) скользящих средних.
Индикатор рассчитывается как разница между средними ценами за недавний период и средними ценами за более долгий период. Полученные при этом результаты еще раз усредняются с порядком равным 9. То есть, проще говоря, находится сглаженная разница между средними ценами за недавний период и средними ценами за более долгий период. MetaStock размещает полученный результат на отдельном графике, на котором обозначена нулевая линия. Эта линия показывает уровень на котором средние цены двух периодов равны между собой. Выход графика выше нулевого уровня свидетельствует об увеличение последних цен по отношению к обычным. Соответственно, выход значений ниже нуля означает снижение цен последних дней относительно ценового уровня текущего месяца. Графически похож на изображение чередующихся холмов, направленных то вниз, то вверх от нулевой линии.
На рисунке 4 представлены графики курса акций, индикатора и сигнальной линии. Сплошной линией отмечен сам индикатор , а пунктирной - сигнальная линия.
Рисунок 4
К сигналам, подаваемым , относятся:
Пересечение индикатора с нулевой линией трактуется как достижение нейтрального состояния (средние сравнялись). Если на этот момент у вас есть открытые позиции, то этот сигнал означает для вас "внимание". Движение в текущем направлении может продолжиться, но за показателями этого движения следует следить с целью получения новых сигналов подтверждающих это движение. При отсутствии таких сигналов лучше зафиксироваться.
Выход максимальных или минимальных значений выше или ниже определенного уровня, означает, что последние цены не просто отклонились от среднемесячных значений, а отклонились ненормально сильно. Выход значений за отведенные им рамки трактуется как сигнал к их скорому возвращению в эти рамки. То есть, если забрался слишком высоко, следует продавать, если нырнул слишком низко - покупать
Изменение направления роста "холма" трактуется как изменение тенденции в движении цены. Eсли после периода роста пошел на убыль, то считается, что цена будет убывать и дальше. На графике это будет выглядеть как снижение к нулевой линии - сигнал на продажу. Если "холм" перестает расти вниз и начинает закругляться вверх к нулевой линии - это сигнал на покупку. Особенно сильными эти сигналы считаются, когда вершины "холмов" прекратили свой рост на отметках, выходящих за нормальные расчетные границы.
Для получения сигналов используется также сравнение высоты вершин соседних "холмов" , растущих в одном направлении. Если растущая вверх от нулевой линии вершина последнего "холма" ниже предыдущей такой же вершины (или наоборот выше, если "холмы" направлены вниз от нулевой линии), то это говорит об ослаблении движения цены в существующем на данный момент направлении. Если последняя вершина выше (ниже) аналогичной предыдущей вершины, значит, тренд усиливается.
4. Программная реализация
.1 Основной принцип действия и интерфейс приложения
Реализация механической системы принятия решений осуществлялась в среде разработки Borland Builder 6.0. Приложение имеет следующий интерфейс. (рис. 4.1)
Рис. 4.1 Окно приложения
С помощью вкладки параметры акций (рис. 4.2) Пользователь задает необходимые значения параметров, как то:
эмитент; выбор эмитента, акции которого будут использоваться при торгах (на данный момент задействованы эмитенты: Газпром, Лукойл, Роснефть).
дата начала; возможность выбрать дату для просмотра исторических данных анализа действенности системы за выбранное время (дата окончания по умолчанию всегда равна текущей).
интервал; выбор периода для торгов (доступны следующие интервалы: 1 мин, 5 мин, 1 час, 1 день, 1 неделя, 1 месяц)
Рис. 4.2
Далее пользователь указывает индикаторы, графики которых хотел бы увидеть на графике, а также сигналы, которые система будет учитывать при принятии решения о проведении сделки. Во вкладке начальный капитал указывается первоначальная сумма, на которую б