Но вот в обед за чашечкой шоколада (ай как приятно), прогугливая инет на предмет конкурентов , наткнулся на чудный материал. Как наваять простого биржевого робота.
Автор МЕГАБАКС , от скуки или от щедрости выложил подробную пошаговую инструкцию по созданию програмного комплеса на Delphi. Где взять инсталятор Дельфи не надо вам объяснять..... Поднимите с пола , что плохо лежит. Ну а статьи с ссылками и с соблюдением авторских прав, с удовольствием публикую у нас. Да вот еще, там на сайте есть платный раздел расширенный, его Я вам тоже рекомендую посетить , не жалко отдать денег хорошему человеку за дельный совет.
А кому лень писать или поймете , что это не просто может посмотреть наше предложение.
Начинаем писать Механическую торговую систему. Построим матмодель.
В этом цикле статей я опишу процесс создания биржевого робота на языке программирования Delphi 7. Выбрал Delphi я потому, что, во первых умею на нем программировать, во вторых, создавать приложения на нем гораздо легче, чем, например, на visual c++, у, а в третьих, такие языки как PHP, JS или Visual Basic плохо подходят для такой задачи, как создание биржевого робота.
И так, первый шаг к созданию биржевого робота разработать механическую торговую систему. Сперва я решил провести кое какие исследования, начав с изучения концепции импульса цены (momentum), или, говоря другими словами, скорости цены.
И так, для начала следует проверить вычитанное в одной книжке утверждение, что «…темп роста или падения цены является главным индикатором изменения направления тренда. Изменение импульса предшествует изменению самой цены. В типичном рыночном цикле начало нового растущего тренда характеризует очень высоким и растущим импульсом цены. Постепенно эта положительная скорость уменьшается как график цены становиться более пологим. Почти всегда импульс цены достигает своего максимума гораздо раньше, чем фиксируется максимальная цена. Затем скорость убывает, и цена, в вялых попытках нового роста поднимается совсем немного. По мере того, как график цены перестает достигать прошлых пиков и разворачивается вниз, график значительно падает».
И так, наш первый шаг в создание МТС – это построение математической модели, на основании которой мы будем исследовать скорость изменения цены.
И так, что значит скорость изменения цены? Очевидно, это отношение разницы между ценами на конец и начало периода к длительности самого периода. Но эта разница должна быть не в денежном выражении, а в процентном. Тогда мы получим изменение цены в процентах за единицу времени:
Котировки ценных бумаг представляют собой массив, каждый элемент которого есть структура:
{open, higth, low, close, volume, datetime}
где open – значение котировки ценной бумаги на начало интервала,
higth - максимальное значение котировки внутри интервала,
low – минимальное значение котировки внутри интервала,
close – значение котировки на конец интервала,
volume – суммарный объем сделок по данной ценной бумаге за интервал,
datetime – дата и время начала интервала.
Математическую модель построили. Следующий наш шаг – постановка задачи. Но об этом уже в следующей статье.
Источник: http://easyprog.ru/index.php?option=com_content&task=view&id=31&Itemid=44
На выходе статистика в виде массива следующей структуры:
На сегодня все, а в следующем уроке приступим к реализации поставленной задачи. Последнее обновление ( 29.10.2010 г. )
Начинаем писать Механическую торговую систему. Постановка задачи.
Продолжим создание биржевого робота. В прошлый раз мы разработали матмодель исследуемого параметра (скорости изменения котировок). Сегодня займемся постановкой задачи. Нам нужно проверить, действительно ли при скорости изменения цены можно прогнозировать изменения котировок. Будем исследовать идею о том, что при пересечении функцией (скорость изменения котировок) нуля тренд меняет свое направление и на сколько.
Исходя из вышесказанной, первым делом нам нужно написать небольшую программку статистического анализа. На входе этой программы: массив котировок, загружаемый из текстового файла (сам текстовый файл можно скачать, например, с сайта Финам http://www.finam.ru/analysis/export/default.asp)
И так, на входе программы у нас котировки в формате, описанном в первом уроке и входные параметры
- Тестируемый период.
- Тестируемая ценная бумага.
- Интервал котировок.
- Количество интервалов для вычисления скорости изменения цены. ()
На выходе статистика в виде массива следующей структуры:
- Дата сигнала.
- Максимальный ход в направлении сигнала %
- Период времени до конца максимального хода
Далее, полученную статистку мы будем обрабатывать, для получения прогнозов прибыльности при установке разных значений stop loss и take profit. Stop loss - это такой ход цены в % против нас, при котором мы завершаем сделку, несмотря на убыток с целью не допустить дальнейшего увеличения убытков. Take profit - это такой ход цены в % в нашем направлении, при котором мы закрываем сделку, что бы получить прибыль и не допустить ее потери, если цена пойдет против нас. Но это уже будет следующий этап проекта и постановку задау на него мы обсудим тогда, когда приступим к реализации.
На сегодня все, а в следующем уроке приступим к реализации поставленной задачи. Последнее обновление ( 29.10.2010 г. )
Источник: http://easyprog.ru/index.php?option=com_content&task=view&id=47&Itemid=44