Автор: Николай Камынин

Ранее я рассказал свой способ построения роботов на основе торгового терминала QUIK.

При этом функционально робот разделен на два модуля.

1)     Модуль контроля и управления позициями (МКУП)

2)     Модуль генерации торговых сигналов и управления рисками (МСУР)

 

Рассмотрим структуру  и функции МКУП подробнее.

МКУП реализован на QPILE и обеспечивает выполнение следующих функций:

1)     Формирование портфеля торгуемых инструментов;

2)     Контроль доступности данных и наличия связи с торговым сервером;

3)     Сбор и накопление истории сделок по инструментам;

4)     Контроль и расчет текущей позиции по инструменту;

5)     Прием торговых сигналов от внешнего приложения;

6)     Выставление заявок по торговым сигналам и контроль их исполнения;

7)     Контроль  исполнения стоп-ордеров;

8)     Ведение истории позиций по инструментам.

 

Формирование портфеля торгуемых инструментов

Портфель торгуемых инструментов отображается в виде программируемой таблицы.

Возможны два инициатора изменения позиций торгуемых инструментов.

Либо  внешний модуль робота, либо человек- трейдер.

Для указания роботу, какими инструментами он может работать, предназначен файл инициализации.

В файле инициализации можно описать не только инструменты, доступные роботу, но и инструменты, по которым робот не будет торговать, но, по которых он должен управлять стоп-ордерами.

Для этой цели в файле инициализации указывается формат описания инструмента, после которого записываются параметры инструментов.

Например:

 формат описания торгуемых инструментов:

#NAME,SECCODE,CLASSCODE,QR,OFFSET,OFFSET_UNITS,SPREAD,SPREAD_UNITS,

MARKET_STOP_LIMIT,MARKET_TAKE_PROFIT,PROFIT,PRICE,STOPPRICE,STOPPRICE2,D,T,TS,BS,QTY

Описание инструмента-  обыкновенная акция сбербанка:

<SBER,SBER,EQBR,0,0,PRICE_UNITS,1,PERCENTS,NO,NO

Если роботу разрешено торговать данным инструментом, то параметр QR содержит, либо максимальное число лотов (целое), либо долю депозита (меньше 1)  для позиции торгуемого инструмента.

Для определения всех открытых позиций, модуль просматривает таблицу лимитов по бумагам и таблицу позиций по клиентским счетам.

Обнаруженные позиции по инструментам, которые не указаны в файле инициализации, робот записывает в портфель и в дальнейшем осуществляет слежение за их изменением.

Сбор и накопление истории сделок по инструментам

В каталог HISTORY записываются файлы истории сделок по инструменту.

При этом имя файла состоит из имени инструмента (в файле инициализации – NAME, либо кода инструмента, если имя не определено в файле инициализации) , даты торгов и значения интервала.

На каждой итерации модуль дописывает новые свечи в соответствующий файл, предварительно определив интервал графика.

График должен иметь идентификатор, который соответствует NAME инструмента.

Ведение истории позиций по инструментам

Для ведения истории позиции по инструменту предназначены каталоги с именами, равными номерам счетов.

Для каждого инструмента и торгового дня записывается файл позиции по инструменту в каталог торгового счета по данному инструменту.

В файл по каждому торговому дню пишется следующая информация:

TIME – время сделки

NUMBER –номер сделки

PRICE-цена сделки

COMIS-комиссия

BALANCE- итого за всю историю торговли данным инструментом

VALUE- итого по открытой позиции

QUNTITY – количество (>0 –лонг, <0 – шорт )

Контроль  исполнения стоп-ордеров

Блок содержит следующие функции:

1)     Сброс стоп-ордеров при отсутствии позиции по инструменту

2)     Установка и изменения стоп-ордеров при изменении позиции

3)     Управление следящими стоп-ордерами

4)     Исполнение ”зависшего” стоп-ордера

Контроль и расчет текущей позиции по инструменту

Данный блок осуществляет расчет текущей стоимости позиции, определяет число лотов инструмента доступных для торговли, наилучшие цены сделки для заданного объема.

Прием торговых сигналов от внешнего приложения

Обмен информацией между  модулями осуществляется через файл.

Файл для каждого инструмента имеет имя инструмента (параметр Name)

Внешний модуль передает следующую информацию:

DC —  дата сигнала

TC — время сигнала

BS – код сигнала

Price-  цена сделки , если 0 –то по рынку

PQ     — количество лотов или доля депозита

StopLoss – цена стоп-ордера

TakeProfit  — цена тейк-профита

Кроме перечисленных файлов, МКУП ведет файл учета торговых дней.

Основной цикл МКУП имеет следующий вид:

if INIT>=0

T_ID=0                        ‘идентификатор первой транзакции в текущем расчете

FILT_TRADES()     ‘таблица сделок результат в файле позиции

FILT_OWN()           ‘таблица портфеля

FILT_OSO()           ‘таблица ордеров и стоп-ордеров

end if

Переменная INIT  больше нуля, если доступны все данные и связь с торговым сервером установлена

Программа МКУП организована таким образом, что обработка соответствующих таблиц осуществляется лишь при их изменении.

При этом , всегда обрабатываются лишь новые записи в таблицах ордеров и сделок.

Таблицы лимитов обрабатываются лишь при наличии новых сделок, т.е. при изменении позиции по инструменту.

 

Tags: , ,

График

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

……………………….All trades          Long trades           Short trades
Net Profit %                         24.88 %               12.11 %             12.77 %
Exposure %                            44.60 %               22.30 %            22.29 %
Net Risk Adjusted Return %  55.78 %    54.28 %            57.29 %


All trades          23              11 (47.83 %)           12 (52.17 %)
Avg. Profit/Loss %                1.08 %           1.10 %                      1.06 %
Avg. Bars Held                   23.70              24.45                     23.00


Winners      21 (91.30 %)          9 (39.13 %)       12 (52.17 %)
Avg. Profit %                1.20 %                1.38 %            1.06 %
# bars in largest win       81                     81                   75


Losers    2 (8.70 %)          2 (8.70 %)            0 (0.00 %)
Avg. Loss %             -0.17 %                -0.17 %                  N/A
# bars in largest loss        4                  4                        0


Max. trade % drawdown    -0.82 %                -0.70 %           -0.82 %
Max. system % drawdown     -0.86 %             -0.70 %          -0.83 %
Recovery Factor          26.23                 16.84             14.65
Profit Factor           74.89                  36.96              N/A
Payoff Ratio            7.13                 8.21                N/A
Ulcer Index         0.26                    0.19                0.25
Sharpe Ratio of trades     59.60           49.08                 77.33
K-Ratio                   0.4615           0.2648             0.2189

Автор: Николай Камынин

Сегодня на форуме меня попросили объяснить , что такое опцион.
Решил свой ответ повторить на сайте.
Возможно, кому-то из начинающих, мой ответ поможет понять и сохранить свои средства.
~~~~~~~~~~
Представь, что поезд — это акции,
билет на поезд — это фьючерс,
бронь на покупку билета — это опцион.
Чтобы иметь возможность поехать на поезде в отпуск надо купить билет, А вдруг не поедешь на этом поезде или вообще не поедешь в отпуск?
А билет купил придется сдавать.
А если денег даже на билет нет. А хочется бабла срубить.
Вот ты и покупаешь бронь (опцион ) и платишь за это премию кассиру
Премия — тю-тю.
Можешь не поехать и билет не покупать.
Не надо тратить деньги.
Можешь сам поехать.
Купить за 2 часа до отхода билет и деньги потратить прямо перед поездкой
А если будет много желающих ехать, а у тебя нет денег на билет, ты можешь перепродать бронь и заработать не только премию но и еще гораздо больше.
Короче очередь занял, потом очередь продал.
Это и есть игра на опционах.
Например, билет стоит 10 000 , премия 200 .
Ты бронь за 200 руб купил потом желающему ехать глядишь за 1200 свою очередь продал , на свою премию и наваришь 500%.
Но это если покупка опциона.

~~~~~~~~~~~~~~~~~~
Можно самому начать продавать опционы .
Представь ты бронь на билеты у кассы всем предлагаешь.
Если к тебе за билетом не придут, то премия твоя.
А если придут , а у тебя ничего нет?
Могут и посадить за мошенничество.
Так и с продажей опционов.
Для начала — никогда не продавай опционы.

~~~~~~~~~~~~~~~~~~~
Но это не вся беда.
Российский рынок опционов мало ликвидный.
Поэтому можешь прийти к кассе а там и брони никакой нет на полгода вперед.
Ну вот примерно так.
Мой совет — не трогай опционы.
Это круче, чем с шулером в наперстки играть.
Можешь совсем не уйти c рынка.
А если начнешь опционные стратегии изучать, то совсем голове бо-бо будет.
Опционы — это не для начинающих и даже не для продолжающих.
Это почти форекс.
Огромное плечо и возможность быстро слить любые суммы с депозита.

~~~~~~~~~~~~~~~~~~~~~~~

Ну а если серьезно, то

Опцион — это производный инструмент с нелинейной зависимостью стоимости от цены базового инструмента.
Именно этим он принципиально отличается от фьючерса — тоже производного инструмента.
В качестве так называемой страховки может выступать любой инструмент — акция фьючерс и опцион. страховка создается не инструментом а позицией по нему, противоположной страхуемой.