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 проходит совсем по другим ценам



Спасибо:


<< < 3 4 5 
Mikhail Sukhov

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


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

devruss

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


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

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

devruss

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


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

http://gyazo.com/1f1ebcf3dcaa352cf10844053faf34fc

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

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

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

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

Mikhail Sukhov

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


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

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

loading
clippy