Мой первый пост.
Появилось желание потестировать ручные стратегии на истории. После обзора доступного софта, пришел к выбору NinjaTrader7. Опция для бектестинга называется Market Replay.
Далее из-за особенностей NT7 пришлось написать программу для загрузки данных. Тиковые данные берутся с сайта финам.
Вначале необходимо настроить NT7:
1) Включить AT Interface в меню File
2) Включить Record for market replay в Меню Tool>Options>Data
3) Подключиться к External Data Feed
4) Настроить Market Analyzer как на первом скриншоте
5) Добавить инструменты в NT7, пример инструмента для фьючерса РТС.
Необходимо заполнить обязательные параметры:
Master instrument — название инструмента в NT7
Выбрать биржу — я выбрал Me
Присвоить соответствующее этому инструменты имя из базы finam(его можно узнать через программу или на сайте финам в разделе экспорта)
Таким образом получилось имя RTS 12-11 и соответствующее ему SPFB.RTS (склеенный фьючерс), 12-11 означают дату экспирации, автоматически добавляется при добавлении инструмента в список.
Интерфейс программы:
Start — дата начала скачивания
Stop — дата оканчания скачивания
NTName — имя инструмента в NT7
FinamName — имя инструмента в базе Finam
WriteFinamList — запись базы названий инструментов в текстовый файл(в папке программы)
Start/Stop — запуск/прекращение импорта в NT7
Поддерживается пакетный импорт инструментов, для этого необходимо убрать галку после поля FinamName и настроить файл iList.txt, который находится в локальной папке.
Каждая строка в файле представляет собой комбинацию имен NTName и FinamName с разделителем @
В процессе импорта дата и название инструмента будут отображаться в нижней строке, а в NT7 будут обновляься импортируемые данные.
После завершения импорта в журнал добавится запись Complete
Допольнительная информация/ошибки будут отображаться в журнале посередине. Также при некоторых ошибках, они будут записаны в log файл в локальной папке
Скачать программу можно здесь:
ifolder.ru/25814767
PS при импорте большого количества данных процесс займет весьма длительное время.