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 4  > >>
Mikhail Sukhov

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


devruss Перейти

Так я и вывел потиковое изменение цены с момента открытия позиции.


Не тики, а значения в стакане (лучшая пара). И еще неплохо бы вывести стоимость пункта.
Спасибо:

devruss

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


Я конечно могу еще раз запустить бэктестинг на этот пример, но ты реально думаешь, что на фьючерсе на USD/RUB у тебя может быть bid/ask spread в стакане на 1500 пунктов?! Стоимость пункта = 1. Если бы стоимость была неправильная, то такая ситуация повторялась бы *каждый* раз, а не иногда.

Спасибо:

devruss

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


Вот лог с нового прогона стратегии - прогон новый, но временные сигнатуры совпадают вплоть до секунд

Код

04/04/2014 11:22:32 0 position, -3 PnL, 36039 Price, Бид 36037 42 Bid, Оффер 36042 27 Ask 
Avg Entry price 36,037 on -4 volume
04/04/2014 11:22:33 -4 position, -1535 PnL, 36039 Price, Бид 36037 42 Bid, Оффер 36042 27 Ask 
04/04/2014 11:22:33 -4 position, -1535 PnL, 36039 Price, Бид 36037 38 Bid, Оффер 36042 27 Ask 
04/04/2014 11:22:33 -4 position, -1535 PnL, 36037 Price, Бид 36037 38 Bid, Оффер 36042 27 Ask 
04/04/2014 11:22:33 -4 position, -1535 PnL, 36037 Price, Бид 36037 38 Bid, Оффер 36037 8 Ask 
04/04/2014 11:22:33 -4 position, -1535 PnL, 36039 Price, Бид 36037 38 Bid, Оффер 36037 10 Ask 
....
04/04/2014 11:23:17 -4 position, -1535 PnL, 36040 Price, Бид 36038 5 Bid, Оффер 36041 31 Ask 
04/04/2014 11:23:17 -4 position, -1535 PnL, 36038 Price, Бид 36038 5 Bid, Оффер 36041 31 Ask 
04/04/2014 11:23:17 -4 position, -1535 PnL, 36038 Price, Бид 36038 5 Bid, Оффер 36038 1 Ask 
04/04/2014 11:23:19 -4 position, -7 PnL, 36040 Price, Бид 36038 5 Bid, Оффер 36038 3 Ask 
04/04/2014 11:23:19 -4 position, -7 PnL, 36040 Price, Бид 36038 5 Bid, Оффер 36041 31 Ask 


Обрати внимание, что неправильная оценка PnL возниает сразу же после трейда. При этом ни цена, ни bid/ask не поменялись.
Надеюсь, теперь убедил, что проблема в реализации PnL manager?
Спасибо:

Mikhail Sukhov

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


Начну с конца - обеждать не нужно. По умолчанию я верю людям до тех пор, пока они не докажут обратное о себе. Но понять где ошибка нужно как-то. Нет ни кода, ни данных. Фактически ошибку невозможно воспроизвести.

По PnLManager. Скачки в PnL могут быть только из-за нереализованной прибыли. Она основывается на рыночных ценах. Пока не могу понять где же ошибка. Можно в лог еще добавить 2 параметра? PnLManager (PnL и RealizedPnL). Чтобы точно удостоверится, что ошибка в PnL расчете.
Спасибо:

devruss

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


Код

04/04/2014 11:22:32 0 position, -3 PnL, 36039 Price, Бид 36037 42, Оффер 36042 27, PnL: -3, Realized PnL: -3
Avg Entry price 36,037 on -4 volume
04/04/2014 11:22:33 -4 position, -1535 PnL, 36039 Price, Бид 36037 42, Оффер 36042 27, PnL: -1535, Realized PnL: -3
04/04/2014 11:22:33 -4 position, -1535 PnL, 36039 Price, Бид 36037 38, Оффер 36042 27, PnL: -1535, Realized PnL: -3
...
04/04/2014 11:23:17 -4 position, -1535 PnL, 36038 Price, Бид 36038 5, Оффер 36038 1, PnL: -1535, Realized PnL: -3
04/04/2014 11:23:19 -4 position, -7 PnL, 36040 Price, Бид 36038 5, Оффер 36038 3, PnL: -7, Realized PnL: -3
04/04/2014 11:23:19 -4 position, -7 PnL, 36040 Price, Бид 36038 5, Оффер 36041 31, PnL: -7, Realized PnL: -3
Спасибо:

Mikhail Sukhov

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


devruss Перейти
Код

04/04/2014 11:23:17 -4 position, -1535 PnL, 36038 Price, Бид 36038 5, Оффер 36038 1, PnL: -1535, Realized PnL: -3
04/04/2014 11:23:19 -4 position, -7 PnL, 36040 Price, Бид 36038 5, Оффер 36038 3, PnL: -7, Realized PnL: -3


А что происходит между этими строчками?
Спасибо:

devruss

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


абсолютно ничего. Может там внури PnLManager таймер какой-то срабатывает, что он пересчитывает позицию... но точно также себя ведут все спайки без исключения
Спасибо:

Mikhail Sukhov

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


devruss Перейти
абсолютно ничего.


Тогда надо в момент, когда произошел спайк, как-то вывести в лог состояние объекта Strategy.PnLManager. Он внутри себя имеет поля, и нужно добраться до всех внутренних полей. Проще было бы открыть его в Debug студии, и сделать скрин.
Спасибо:

devruss

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


Это уже выше моих навыков программирования. Давай на неделе в skype спишемся, в реальном времени все сделаем
Спасибо:

devruss

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


Ок, проблема была найдена и локализована. PnL Manager при открытии новой позиции, маркирует ее по последней закрытой сделке, а потом через 1 мин обновляет по текущим ценам.
Спасибо:
< 1 2 3 4  > >>

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

loading
clippy