Важные нюансы при тестах нестандартных таймфреймов в OsEngine.

Важные нюансы при тестах нестандартных таймфреймов в OsEngine.

 

Статья о том, как скачать тиковые данные за много лет и сколько на это надо ресурсов, чтобы начать эксперименты. Также поговорим про настройки тестера, чтобы всё работало.

Инструкция написана на примере Московской биржи (Что касается криптовалют, то все то же самое, только подключение Binance, и займёт в пять раз больше времени и места на диске). Задача такая:

1. Скачать трейды с MOEX TOP с 2020 года. Вышло что-то около 50 бумаг. Размер в файловой системе, около 60 гигабайт. На криптовалютном рынке тоже очень много бумаг, нужно выбирать самые топовые.

2. Сделать так, чтобы всё это не упало от нехватки памяти. Это речь про OsData, куда было внесено несколько правок.

3. Включить робот скринер в тестере, который будет одновременно все эти бумаги за 4 с лишним года тестировать в параллельных тестах на одном портфеле, т.е. и тут надо сделать так, чтобы ничего не упало от нехватки памяти. Была добавлена настройка для этого в эмулятор биржи, которая удаляет лишние трейды из памяти.

 

1. Что должно быть в итоге в OsData?

Вот так выглядит сет данных, который мы скачали.

49 бумаг. Только трейды. Источник – Finam.

Если не знаете, как пользоваться OsData, Вам сюда. 

 

2. Какой ПК используется для тестов?

У нас в офисе стоят очень серьёзные машины. И что касается процессора и оперативки, скачать, вероятно, данные ещё получится на слабой машине, а вот потом вести тесты на широком рынке будет очень тяжело. Вот наша машина для кросс-тестов на тиковых данных:

 

3. Не забывайте удалять неликвид.

Когда сет с данными докачается, будет нужно удалить лишнее. На что обратить внимание:

1. Колонка Start – фактический старт данных. Она по-хорошему не должна отличаться от бумаг рядом. Если отличается, то листинг бумаги произошёл позже. Удаляем.

2. Колонка End – фактический конец данных. Она по-хорошему тоже не должна отличаться от бумаг рядом. Если отличается, значит бумага прошла через делистинг в какой-то момент.

3. Колонка Load % - показывает процент загрузки данных и нет ли внутри пустот. Здесь просто 0 и надо удалить. А бывают ещё отклонения. Тоже удаляем.

4. Колонка Objects – показывает кол-во трейдов в пакете данных. Удаляем на глазок, где их кратно меньше, чем в Сбербанке. Чем меньше, тем хуже и меньше ликвидности.

 

4. Тестер. Как настроить сервер, чтобы всё не упало?

В эмуляторе биржи надо обратить внимание на ТРИ вещи:

1. Данные будут подгружаться сюда какое-то время. Если у Вас скачено много бумаг, это может занять несколько минут.

2. Ставим галочку «Remove trades from memory». Это позволит тестеру на ходу очищать данные за собой, и данные не забьют насмерть оперативную память.

3. TickAllCandleState – этот режим трансляции надо ставить во время тестирования нестандартных свечных серий, иначе будут проблемы.

Удачных алгоритмов!

OSENGINE поддержка

 

13:04
62

Комментарии

Нет комментариев. Ваш будет первым!