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 мин обновляет по текущим ценам.
|
|
Спасибо:
|
|
|
|