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

S# 4.2.3.4 ошибки в работе historyemulator
Atom
5/17/2014


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

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



Thanks:


< 1 2 3 4  > >>
Mikhail Sukhov

Avatar
Date: 5/22/2014
Reply


devruss Go to

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


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

devruss

Avatar
Date: 5/22/2014
Reply


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

Thanks:

devruss

Avatar
Date: 5/23/2014
Reply


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

Code

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?
Thanks:

Mikhail Sukhov

Avatar
Date: 5/23/2014
Reply


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

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

devruss

Avatar
Date: 5/23/2014
Reply


Code

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
Thanks:

Mikhail Sukhov

Avatar
Date: 5/23/2014
Reply


devruss Go to
Code

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


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

devruss

Avatar
Date: 5/23/2014
Reply


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

Mikhail Sukhov

Avatar
Date: 5/23/2014
Reply


devruss Go to
абсолютно ничего.


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

devruss

Avatar
Date: 5/24/2014
Reply


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

devruss

Avatar
Date: 5/27/2014
Reply


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

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy