rss

Профиль компании

Финансовые компании

Блог компании OsEngine | Tester Light в OsEngine.

В этой статье подробно рассмотрим Tester Light.

Tester Light в OsEngine.

Открываем OsEngine:

Tester Light в OsEngine.

Из главного меню запускаем Tester Light:

Tester Light в OsEngine.

Попадаем в окно настроек тестера:

Tester Light в OsEngine.

Для начала разберемся, как работает эмулятор биржи. Что ему можно подавать на вход и как настраивать бумаги. Нажимаем на кнопку «Сервера подключения»:

Tester Light в OsEngine.

Появится панель управления ходом тестирования. Она пригодится для подачи данных в тестер. А пока нажмём на кнопку «Дополнительно»: 

Tester Light в OsEngine.

Чтобы запустить тестирование, необходимо подключить исторические данные нужного нам тикера. 

 

Источник.

В Os Engine существует два способа подключения исторических данных, которые можно увидеть, если нажать на значок стрелочек:   

  1. Set.
  2. Folder.
Tester Light в OsEngine.

Set — модуль для скачивания и хранения исторических данных свечей, тиков и срезов стакана с помощью коннекторов. 

Если используется этот способ трансляции данных, то в строке выбора тестируемого инструмента «Сеты»:

  1. Жмем на стрелочки.
  2. Выбираем сет данных из тех, которые вы уже скачали.
Tester Light в OsEngine.


Folder – загрузка заранее скаченных или собранных вручную данных из папки. Необходимо указать путь к папке со скаченными тикерами с помощью кнопки «Указать в папке». В папке можно хранить только тикеры одного таймфрейма.

Tester Light в OsEngine.

Вы можете скачивать данные в любую папку своего компьютера.

  1. Открываем нужную папку. Выбираем папку с таймфреймом.
  2. Жмем «Ок».

Tester Light в OsEngine.

Данные хранятся в текстовых файлах, как в примере:

Tester Light в OsEngine.

Данные появляются в строке:

Tester Light в OsEngine.

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

  1. Жмем на стрелочки.
  2. Выбираем нужный вид данных.
Tester Light в OsEngine.
  • Candle — готовые свечки. 
  • TickAllCandleState – тики и все изменения свечей. 
  • TickOnlyReadyCandle – тики, а свечи только по их завершению. 
  • MarketDepthAllCandleState – стаканы и все изменения свечей.
  • MarketDepthOnlyReadyCandle – стаканы, а свечи только по их завершению.

Тикеры станут видны ниже под настройками после выбора данных и успешной их подгрузки.

Период, за который берутся данные, выставляется автоматически.

Tester Light в OsEngine.

 

Добавление робота.

Возвращаемся в основное меню тестера и жмем на кнопку «Добавить бота»:

Tester Light в OsEngine.

 

Открывается панель «Создания робота»:

Tester Light в OsEngine.

1. «Имя» — в эту строку вписываем любое имя выбранного робота. В дальнейшем его нельзя будет изменить.

2. «Расположение» — нажимаем на стрелочки, выбираем место создания робота (3).

  • «Script» — при выборе открывается список роботов, которых вы написали или добавили самостоятельно. Также здесь есть множество примеров бесплатных готовых скриптов. Пользуйтесь!
  • «Include» — встроенные бесплатные роботы, которыми так же можно воспользоваться.

Весь список роботов, которые есть в наличии, можно пролистывать колесиком мыши или бегунком.

Можно воспользоваться поиском, если нужно найти определенного робота или скрипт.

Tester Light в OsEngine.
  1. Введите название или одно слово из названия.
  2. Стрелками перелистывайте страницы, в которых встречается слово, которое вы ввели в строке поиска.
  3. Количество страниц, на которых встречается это слово. 
  4. «Принять» — кнопка подтверждения выбора.

Если все сделано правильно, то робот появится в строке:

Tester Light в OsEngine.

 

Удаление роботов.

Если вы хотите удалить робота, которого ранее добавили в тестер, то жмем кнопку «Delete».

Всплывет окно подтверждения действия:

  1. «Нет» - отменяет выбранную команду.
  2. «Принять» — подтверждает выбранное действие.

Tester Light в OsEngine.

Роботы могут быть как с параметрами, так и без. Если бот, которого вы добавили в тестер, не имеет параметров, то при нажатии на кнопку — «Параметры», всплывет окно оповещения о том, что параметры отсутствуют, и вы просто пропустите этот пункт настроек:

Tester Light в OsEngine.

 

Поскольку у нас в примере робот с параметрами, то при нажатии на кнопку «Parameters» у нас появляется соответствующее окно, в котором мы задаем настройки: 

Tester Light в OsEngine.
  1. Настраиваем базовые настройки и дополнительные, если они есть.
  2. Меняем режим с «Off» на тот, который нам нужен.
  3. После выполнения всех нужных действий жмем «Принять».
Tester Light в OsEngine.

Чарт.

Tester Light в OsEngine.

Далее идем в «Управление»:

Tester Light в OsEngine.


Чтобы робот подключился к серверу и начал получать данные, надо нажать на кнопку «Настройки данных»:

Tester Light в OsEngine.

1. Тип комиссии имеет три режима:

  • None — не учитывать комиссию.
  • OneLotFit — комиссия по лотам.
  • Persent — комиссия в %.

2. Значение комиссии для каждой биржи индивидуально.

3. Класс бумаг. Фильтр для следующего поля. Выбираем нужный нам класс.

4. Инструмент, данные по которому будут браться, и которые мы будем тестировать. Ставим галочку.

5. Таймфрейм – временной интервал.

6. Принять — кнопка подтверждения.

Tester Light в OsEngine.

Риск-менеджер.

Эта функция позволяет следить за просадкой.

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

Tester Light в OsEngine.

Здесь можно установить роботу лимит убытков на день и тип реакции на этот убыток.

 

Сопровождение позиций.

Tester Light в OsEngine.

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

Разберем подробно появившееся окно:

Tester Light в OsEngine.

1. Стоп. 

  • Обычный стоп приказ, который будет выставлен по реальной цене входа в позицию ± величина «От входа до Стопа». Дополнительно можно выставить проскальзывание, с которым в систему будет выставлен конечный ордер на покупку/продажу. 

2. Закрытие позиции. 6. Открытие позиции.

  • Этими параметрами можно регулировать то, сколько времени есть у заявки на исполнение. По прошествии этого времени заявка с биржи отзывается.  
  • Если это заявка на открытие, то в случае полного неисполнения такая позиция бракуется. Если заявка исполнилась частично, то такая позиция считается открытой. 
  • Макс откат от цены — расстояние в пунктах, на которое цена может «уйти» от цены ордера, после чего ордер будет отозван. 
  • Если заявка отзывается у ранее открытой позиции, то получается, что закрытие не сработало. В таком случае лучше воспользоваться блоком ниже. 

3. Ордер на закрытие отозван.

  • Бывает такое, что у позиции отзывается или не срабатывает заявка на закрытие. Например, не сработал стоп приказ, так как рынок ушёл от него.  
  • На этот случай можно выставить реакцию. Market закроет Вашу позицию по рынку. Limit закроет её лимитным ордером с выставленным заранее проскальзыванием. 

4. Профит. 

  • Обычный профит приказ, который будет выставлен по реальной цене входа в позицию ± величина «От входа до Профита». Дополнительно можно выставить проскальзывание, с которым в систему будет выставлен конечный ордер на покупку/продажу. 
  • Макс откат от цены — расстояние в пунктах, на которое цена может «уйти» от цены ордера, после чего ордер будет отозван. 
  • Если заявка отзывается у ранее открытой позиции, то получается, что закрытие не сработало. В таком случае лучше воспользоваться блоком ниже. 

5. Включить.

  • Ставим галочки там, где хотим, чтобы учитывалось в тестах.

7. Тип переменных – можно выбрать абсолют, шаг цены и проценты.

8. Принять – подтверждаем все настройки.

 

Построение индекса.

Если в логике робота прописан индекс (в примере на картинке ниже у нас OneLegArbitrage), то чтобы он работал, нужно его добавить и записать формулу, по которой он будет рассчитываться.

Идем в «Настройки данных». Обратите внимание, что у робота 2 вкладки. Если включить вторую вкладку и нажать кнопку Data settings, то всплывет окно стандартных настроек. Здесь нам нужна первая вкладка. В открывшемся окне жмем на «+».

Tester Light в OsEngine.


1. Портфель для операций.

  • Жмем на стрелочки и выбираем «GodMode».

2. Класс бумаг.

  • Снова жмем на стрелочки и выбираем «TestClass».

3. Выбрать инструменты можно вручную, поставив галочки напротив тех, что будем использовать.

4. Если поставить галочку в окошке «Выбрать всё», то выберутся все инструменты из списка.

5. После того, как выполнили все необходимые операции, жмем на кнопку «Принять».

Tester Light в OsEngine.


Выбранные бумаги добавились, теперь:

При добавлении бумаги ей присваивается номер индекса. Это уникальное имя будет использоваться в формуле.

Пишем формулу расчета (может отличаться от приведенного примера).

Жмем «Принять».

Tester Light в OsEngine.


Если нужно удалить бумагу из списка, жмем на «-»:

Tester Light в OsEngine.

Закрываем это окно.

1. переходим во вторую вкладку.

Tester Light в OsEngine.

2. Заходим в «Настройки данных», открывается окно настроек.

3. Выбираем инструмент, которым будем торговать — тот, что мы задействовали в нашей формуле, которую писали в настройках в первой вкладке.

Для двуногого арбитража выбираем 2 торгуемых инструмента. 

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

 

Запуск тестирования.

Для того, чтобы начать тест, идем в «Сервера подключения»:

Tester Light в OsEngine.

Открывается Эмулятор биржи:

Tester Light в OsEngine.

1. Нажатие на кнопку «Начать тест» начинает тестирование с самого начала. В этот момент в эмуляторе стираются все Ваши старые позиции. Портфель приходит в исходное состояние. Начинается побаровая/потиковая подача данных из сервера.

2. Кнопка «>>>>>>» позволяет включить тестирование в режим перемотки. В этом режиме все визуальные представления панели исчезают. В этом режиме тестирование идёт в десятки раз быстрее, так как прорисовка элементов является самой тяжелой в роботе.

3. Кнопка «||» - останавливает на паузу и запускает процесс подачи данных.

4. Кнопка «+1» - подгружает одну свечку и переходит в состояние паузы. 

5. Кнопка «>> к сделке» - переход к следующей сделке.

6. Кнопка «>> переход к» – позволяет перейти к интересующей нас дате:

Tester Light в OsEngine.

Ставим нужную дату с помощью ползунка.

 

Журнал.

Всю статистику по тестам можно посмотреть в журнале. Журнал доступен по нажатию кнопки «Журнал» в главном меню:

Tester Light в OsEngine.

 

Эквити.

Открываем журнал и попадаем во вкладку «эквити». В данной вкладке представлена графическая информация о приросте счета. Отображается общая прибыль, а также отдельно по лонговым и шортовым сделкам:

Tester Light в OsEngine.

Слева находится панель, которая позволяет посмотреть изменения в конкретный момент времени:

  1. При помощи бегунков выставляем нужную дату. 
  2. Нажимаем «Перезагрузить».
  3. И видим, как изменяется наша эквити.

 Tester Light в OsEngine.


Статистика.

Tester Light в OsEngine.

  • Чистый П\У - прибыль или убыток в результате всех операций.
  • Чистый П\У % - прибыль или убыток в % в отношении капитала.
  • Количество сделок - ... 
  • Среднее время удержания - арифметическое среднее время удержания позиции.
  • Sharp ratio - показатель эффективности инвестиционного портфеля, который вычисляется как отношение средней премии за риск к среднему отклонению портфеля.
  • Profit Factor – отношение полученной прибыли за определенный временной промежуток к убыткам.
  • Recovery – показывает на сколько прибыль превышает глубину максимальной просадки.
Tester Light в OsEngine.
  • Сред. П\У 1 контракт — усреднённое значение прибыли с движения в абсолютном выражении без учёта объёма. Без учёта объёмов, которыми заходим. Только движение инструмента от входа до выхода.
  • Сред. П\У 1 контракт % - усреднённое значение прибыли с движения в процентном выражении без учёта объёма. Без учёта объёмов, которыми заходим. Только движение инструмента от входа до выхода.
  • Сред. П\У стандарт  — усреднённое значение прибыли с движения в абсолютном выражении с учётом объёма.
  • Сред. П\У капитал % - усреднённое значение прибыли с движения в процентном выражении с учётом объёма, рассчитанный относительно предыдущего значения портфеля.
Tester Light в OsEngine.
  • Прибыльных сделок - ...
  • Прибыльных % - процент прибыльных сделок от общего их числа.
  • Сред. П\У 1 контракт - среднее движение инструмента за время нахождения нас в позиции.
  • Сред. П\У 1 контракт % - среднее движение инструмента в % за время нахождения нас в позиции. 
  • Сред. П\У стандарт  — средняя прибыль с позиции.
  • Сред. П\У капитал % - средняя прибыль с позиции в отношении портфеля.
  • Максимум подряд - количество прибыльных позиции подряд.
Tester Light в OsEngine.
  • Убыточных сделок - ... 
  • Убыточных сделок % - процент убыточных сделок от общего их числа. 
  • Сред. П\У 1 контракт - среднее движение инструмента за время нахождения нас в позиции.
  • Сред. П\У 1 контракт % - среднее движение инструмента в % за время нахождения нас в позиции. 
  • Сред. П\У стандарт - средний убыток с позиции. 
  • Сред. П\У капитал %  — средний убыток с позиции в отношении портфеля.
  • Максимум подряд - количество убыточных позиции подряд.

Tester Light в OsEngine.

Просадка.

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

Tester Light в OsEngine.

Объем.

Вкладка показывает максимальный торгуемый объем:

Tester Light в OsEngine.

Эта вкладка будет полезна для контроля и мониторинга объемов торгов. Это очень удобно, когда подключено множество различных торговых алгоритмов и торговля ведется на различных инструментах. 

Открытые позиции.

Вкладка показывает текущие открытые позиции, которые бот ведет в данный момент:

Tester Light в OsEngine.
  • Номер — номер сделки
  • Время отк. — время открытия сделки
  • Время зак. — время закрытия сделки
  • Бот – название робота, который осуществляет трейд.
  • Инструмент – наименование инструмента.
  • Напр. – направление сделки Buy или Sell. 
  • Состояние – текущее состояние трейда.
  • Объём – объем сделки, которым бот должен войти в рынок. 
  • Текущий – исполненный объем.
  • Ожидаемый – объем не исполненный, но ожидает исполнения. 
  • Цена входа – цена, по которой бот зашел в позицию.
  • Цена выхода – цена, по которой бот вышел из позиции. 
  • Прибыль – вариационная маржа от данного трейда. 
  • Стоп активация – цена активации стоп заявки. После достижения данной цены будет выставлена заявка.
  • Стоп цена –  цена, по которой бот исполнит стоп заявку.
  • Профит активация – цена активации профит заявки. После достижения данной цены будет выставлена заявка. 
  • Профит цена — цена, по которой бот исполнит профит заявку. 

 

Закрытые позиции.

В этой вкладке отображаются все закрытые сделки — таблица всех исполненных трейдов:

Tester Light в OsEngine.

Выше был рассмотрен общий журнал. Чтобы посмотреть сведения по каждому отдельному боту, нужно сделать следующее:

  • Жмем кнопку «Чарт» напротив интересующего нас бота.
Tester Light в OsEngine.

Затем:

  1. «Управление».
  2. «Журнал».
Tester Light в OsEngine.

Попадаем в журнал нужного нам робота, где можем посмотреть информацию по каждой вкладке так же, как и в общем журнале:

Tester Light в OsEngine.

Если нас не устраивает результат, то можно пойти в «Параметры», поменять настройки и снова запустить процесс тестирования.

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

Удачных алгоритмов!

Комментарии открыты для друзей!

Tester Light в OsEngine.

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

5.1К | ★3

теги блога OS_Engine_team

....все тэги



UPDONW
Новый дизайн