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

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


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

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



Thanks:


<< < 3 4 5 
Mikhail Sukhov

Avatar
Date: 9/24/2014
Reply


Как воспроизвести?
Thanks:

devruss

Avatar
Date: 9/24/2014
Reply


данные тебе выслал. Воспроизводимость: импортни данные в Гидру и запусти SampleHistoryTesting, либо любую стратегию и посмотри где реально проходит execution.
все как 2 месяца назад.

Какая-то засада с импортом csv... R ту же самую стратегию обрабатывает ок, так что данные точно не битые
Thanks:

devruss

Avatar
Date: 9/27/2014
Reply


Пока делаю пример, решил прогнать на данных IQfeed (с трудом скормил нужный тип биржи, через копирование Nyse и изменения имени - про это соседняя тема):
- данные 1 мин
- тестирование тоже на 1 мин

http://gyazo.com/1f1ebcf3dcaa352cf10844053faf34fc

Проблема локализовалась:
Если запускать тест на большом объеме, то при исполнении заявки S# смотрит на текущий объем свечи, исполняет объем свечи по цене закрытия, а вот оставшийся (объем заявки - объем свечи) он исполняет по какой-то рандомной цене...

Понятно откуда взялась проблема, вроде как по какой цене исполнить очень большой объем - но метод решения путем исполнения вне рынка - неправильный. На мой взгляд нужно сделать какой-нибудь режим тестирования, при котором будет считаться мгновенное исполнение всего объема по цене закрытия текущей или открытия следующей свечи (если нет стаканов). MatchOnTouch = true проблему не решает, картинка остается той же.

Update: Уменьшил объем до мизерного - практически всё исполнение вне рынка пропало, кроме нескольких мест

Мне кажется, что при тестировании на свечках, сделать исполнение по цене закрытия или открытия следующей - это самый правильный вариант. На сегодняшний день так себя ведут большинсто квантовых пакетов (quantstrat в R) например. Данный подход решил бы все проблемы. А проскальзывания надо либо на тиках + стаканы смотреть, либо просто закладывать дельту.
Thanks:

Mikhail Sukhov

Avatar
Date: 9/27/2014
Reply


На SampleHistory теория воспроизводится? Какие изменения нужно внести?
Thanks:
<< < 3 4 5 

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

loading
clippy