Битые данные при построении свечек
Atom
21.10.2014


Данные с таймфреймом в 1сек из .csv импортируются в Гидру.
Потом как обычно, к этим данным обращаемся через storageRegistry = new StorageRegistry{DefaultDrive = new LocalMarketDataDrive(...)}

Робот из 1сек свечек в хранилище строит 60мин (30 мин, 1 мин - не так важно, главное, что из одного ТФ строит более крупный ТФ) свечки и по ним торгует. В рандомные моменты времени вознкают следующие проблемы:
http://gyazo.com/204df8ad06f7998e349fff76764be14c

В реальности этих спайков нет, нет ни в исходных данных, ни в 1 сек данных уже в Гидре.
Пруф - посчитал min/max для 05/09 13:30 свечки в исходной csv: http://gyazo.com/47c8e94af6d6986f8f52048683c6959b
Более того, стоим еще раз отдельно этот же участок с тем же таймфреймом - спайки пропали:
http://gyazo.com/309189f68c3f63d97f6cb327d244427a

Появляются эти артефакты когда выводишь большой промежуток, например полгода. Появляются в случайных местах (чаще всего на открытии, т.е. при чтении нового bin файла, хотя и бывают посредине дня).
Такие выбросы ломают все индикаторы и делают бэктестинг тоже случайным.

Теги:


Спасибо:


devruss

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


Решил построить еще раз - опять появились, причем на том же месте и с тем же low.
http://gyazo.com/0046f16fd57362fbec11d6cd0c4d33f6

Т.е. результат не совсем случаен - какая-то логика есть, но в любом случае, дорисовывать несуществующие сделки неправильно
Спасибо:

devruss

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


вот те же данные, но ТФ 15 мин : спайков стало еще больше, помимо открытия добавились выбросы в середине дня: http://gyazo.com/fe95cb7847a9854c40614393bb5e090f
а вот ТФ в 5 мин: появляются еще и односторонние выбросы http://gyazo.com/c969e482ced6cc67c4d6637ab3036f0c
Спасибо:

devruss

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


Ну и для полноты картины:
ТФ 1 сек (т.е. исходные данные) если строить за 2 месяца: http://gyazo.com/3b7318ae80f1d010a978be3e644c86fc
ТФ 1 сек, если строить за 2 дня: http://gyazo.com/f16c43f00a6455fb46320c55575f4ac6

А вот исходные данные в районе спайка в 13:34
20140509,13:33:28.000,20140509 13:33:28.000,21.92,21.92,21.92,21.92,48819
20140509,13:33:56.000,20140509 13:33:56.000,21.93,21.93,21.93,21.93,1200
20140509,13:34:06.000,20140509 13:34:06.000,21.93,21.93,21.93,21.93,200
20140509,13:34:10.000,20140509 13:34:10.000,21.93,21.93,21.93,21.93,2100
20140509,13:34:12.000,20140509 13:34:12.000,21.93,21.93,21.93,21.93,5128
20140509,13:34:25.000,20140509 13:34:25.000,21.94,21.94,21.94,21.94,1000
20140509,13:35:00.000,20140509 13:35:00.000,21.95,21.95,21.95,21.95,5340

Как видно, данные нормальные (reuters же, все-таки...)
Спасибо:

devruss

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


Билд .33 ошибка не исправлена:
http://gyazo.com/e5d8a5b56975724856e775f2a8967046

Спайки на месте, так же как и исполнение по ценам сильно вне рынка
Спасибо:

Mikhail Sukhov

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


Данные + код для воспроизведения.
Спасибо:

devruss

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


К вопросу о том, как проверить:
вот так вот выглядит график фьюча РТС за 17/03/2014, данные из http://ftp.moex.ru/pub/info/stats/history/F/2014/
скачанные вручную (так как Гидра все равно выдает ошибки, что не может к фтп сконнекиться) и имортированные в Гидру

http://gyazo.com/ade2b3099b30c0e8b6c87be9390b2a3d

Теперь вопрос где ошибка:
- Гидра неправильно импортирует csv?
- Гидра импортирует правильно, но S# API неправильно распаковывает?

Данные за 17/03, но записанные Гидрой самостоятельно отображаются правильно. Проблема только с импортированными данными

Я бы проверил напрямую из csv, если подскажете как в S# API напрямую скормить csv файл
Спасибо:

Mikhail Sukhov

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


Спасибо:

devruss

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


Спасибо:

devruss

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


Михаил, было бы круто, если бы ты отписал, что "будет фикс" или "работа идет". Я же не для себя эти баг репорты пишу, какой-то минимальный фидбэк все-таки нужен
Спасибо:

devruss

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


Итак, после обсуждения в чате, оказывается, что никакой работы не идет.

Что еще надо предоставить, чтобы проблема наконец была признана?
1. Воспроизводимость - из стандартного дистрибутива SampleHistoryTesting - SampleSMA стратегия показывает точно описанные ошибки
2. Данные - официальные из РТС фтп, но импортированные вручную через импорт данных (все проблемы возникают на данных, импортированных вручную)

Что из приведенного выше не устраивает?
Спасибо:


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

loading
clippy