S# 4.2.3.4 ошибки в работе historyemulator
Atom
17.05.2014


Тиковая история, импортированная из рейтерса, S# 4.2.3.4 - при бэктестинге вылазят вот такие вот баги: http://gyazo.com/1fb882dd0a0df11e31ac31d1eaf4c0dd
S# проводит сделки по несуществующим ценам. На версии 4.2.2.16 было все нормально

Также появилось ощущение, что на новой версии сильно возросло проскальзывание - проходит сигнал на вход/выход из позиции, а реальный execution проходит совсем по другим ценам



Спасибо:


1 2 3  > >>
devruss

Фотография
Дата: 17.05.2014
Ответить


Также, начиная с версии 4.2.3.xxx на графике PnL постоянно появляются непонятные выбросы (spikes):
http://gyazo.com/3bd1a5cf9f1025018d84d8c9f764fcd1

На версиях 4.2.2.xxx такого не было
Спасибо:

Mikhail Sukhov

Фотография
Дата: 17.05.2014
Ответить


SampleHistoryTesting на тиках:

Спасибо:

devruss

Фотография
Дата: 18.05.2014
Ответить


На истории, записанной Гидрой все ок. Проблемы возникают на истории, импортированной из csv в Гидру через "импорт сделок". Попробуй запустить тот же самый пример, но на данных, скачанных с сайта finam или mfd и импортированных в гидру.

P.S. По поводу твоего скриншота. Насколько я помню sampleSMA стратегию - она покупает при пересечении цены SMA вверх, и продает при пересечении вниз, так? Посмотри на четвертую сделку после 11:50 на графике. Должна была быть продажа сразу после пересечения - посмотри на реальный execution - там slippage пунктов в 10.
Теперь если использовать пробойные стратегии - на новый min или max, то возникают картинки как в моем скриншоте.
Спасибо:

devruss

Фотография
Дата: 20.05.2014
Ответить


По поводу спайков - они возникают в момент открытия позиций. В некоторых случаях S# при открытии позиций маркикует ее по каким-то случайным ценам и получается очень большой мгновенный позицивный или негативный pnl - естественно, при закрытии позиций, все выравнивается - отсюда и спайк.

Мне кажется, что трейды по несуществующим ценам, спайки в PnL при открытии позиций и т.д. - все это части одного большого бага, который закрался с версии 4.2.3.xxx

Пример:
http://gyazo.com/c089e4108b5719798fbcadc8f8b88810
Чтобы не палить стратегии, сорри за очень маленьких скриншот:
- верхний график это цена актива и стрелки показывают execution
- второй снизу график (синий) - это график PnL.

Видно, как возникает большой спайк - при продаже, потом при закрытии (покупке) PnL выравнивается. Так как PnL данного трейда по отношени к PnL всей стратегии не такой большой, то и реальный realized pnl не дает такого уж большого прироста. Но при этом спайк реально огромный. Данных спайк повотяется на каждом прогоне в одном и том же месте
Спасибо:

Mikhail Sukhov

Фотография
Дата: 20.05.2014
Ответить


devruss Перейти
По поводу спайков


SampleHistoryTesting - работает нормально.
Спасибо:

devruss

Фотография
Дата: 21.05.2014
Ответить


devruss Перейти
Проблемы возникают на истории, импортированной из csv в Гидру через "импорт сделок". Попробуй запустить тот же самый пример, но на данных, скачанных с сайта finam или mfd и импортированных в гидру.


Михаил, хочу напомнить, что твой продукт называется S#, а не Sample Library. То, что примеры работают нормально, говорит только о том, что примеры работают нормально. Вот реальная живая ситуация, давай ее решать. Переход с ветки 4.2.2.xxx на 4.2.3.xxx привел к этим проблеммам - код идентичный. Напомню, что откатиться назад нельзя, так как база гидры обновилась и старая ветка не видит всю историю, записанную новой гидрой.

Ты отбиваешься от баг репортов как только можешь, а потом отрицаешь проблемы до последнего, даже когда есть скриншоты и точные описание проблем. Таким темпом вместо того, чтобы развивать свой продукт и делать его лучше, ты просто из очень классного, но все еще сыроватого продукта, деградируешь продукт до состояния, когда пользоваться будут только программеры и нубы трейдеры, гоняющие роботов на 1 фьюч РТС.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 21.05.2014
Ответить


devruss Перейти

Ты отбиваешься от баг репортов как только можешь, а потом отрицаешь проблемы до последнего,


Странное заявление. А зачем тогда этот форум, если не для баг репортинга?

Вернемся к тебе. Как мне проверять? Логичнее было бы сделать step-by-step проверку тебе. Эмулятор работает в одном потоке, поэтому все детерминированно. Возможно всплекс идет и из-за данных. Может из-за эмулятора. Сейчас это не баг репорт. Это предложение погадать о том, где проблема.
Спасибо:

devruss

Фотография
Дата: 21.05.2014
Ответить


Михаил Сухов Перейти

Логичнее было бы сделать step-by-step проверку тебе.


Ок.

Инструмент - SiM4, данные записаны Гидрой вживую, никаких артефактов нет.

Код

04/04/2014 11:22:32 0 position, 6 PnL, 36039 Price
Avg Entry price 36,037 on -4 volume
04/04/2014 11:22:33 -4 position, -1526 PnL, 36039 Price
04/04/2014 11:22:33 -4 position, -1526 PnL, 36039 Price
....
04/04/2014 11:23:17 -4 position, -1526 PnL, 36038 Price
04/04/2014 11:23:17 -4 position, -1526 PnL, 36038 Price
04/04/2014 11:23:19 -4 position, 2 PnL, 36040 Price
04/04/2014 11:23:19 -4 position, 2 PnL, 36040 Price



Данные тиковые, никаких всплесов не было. Проблема в PnL Manager. Я так понял, он теперь начал делать mark-to-market PnL открытых позиций, но только в определенные моменты он делает это неправильно. Такая картина повторяется при каждом прогоне стратегии.

Заметь: произошло изменение позиции, при этом цена не поменялась. Если я продал 4 контракта по цене 36039 и цена осталась той же, то мой PnL не изменился (ну совсем по честному, то изменился, так как short маркировать надо по offer, но если маркировать по тикам, то не изменился).

Глубже, чем данный report я посмотреть уже не могу. Проблема внутри PnL Manager
Спасибо:

Mikhail Sukhov

Фотография
Дата: 21.05.2014
Ответить


devruss Перейти
Я так понял, он теперь начал делать mark-to-market PnL открытых позиций, но только в определенные моменты он делает это неправильно.


Значит на рынке в какой-то момент есть неправильная цена. Можно вывесли в лог текущие цены инструмента?
Спасибо:

devruss

Фотография
Дата: 21.05.2014
Ответить


Михаил Сухов Перейти
devruss Перейти
Я так понял, он теперь начал делать mark-to-market PnL открытых позиций, но только в определенные моменты он делает это неправильно.


Значит на рынке в какой-то момент есть неправильная цена. Можно вывесли в лог текущие цены инструмента?


Так я и вывел потиковое изменение цены с момента открытия позиции. Там цена не менялась вообще! Более того, чтобы была неправильная цена на USD/RUB фьючерсе в 1500 пунктов?
Еще раз повторю - я препроверил все 5 раз: на 4.2.2.xxx тот же самые код, на тех же самых данных все правильно показывает, а на 4.2.3.xxx уже нет.

И еще один момент - если посмотришь на последние значения перед тем как PnL выправился, там как раз цена изменилась, а вот PnL нет. Короче что-то не так с тем, как реализован метод mark-to-market PnL.
Спасибо:
1 2 3  > >>

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

loading
clippy