Контрольный список данных для бэктестинга стратегий акций
Проверки перед запуском доверенного исторического теста стратегии акций.
Данные для бэктестинга должны пройти проверки идентичности, времени, охвата, корректировок и происхождения перед оценкой стратегии. Подтвердите членство в универсуме на момент времени, исключённые ценные бумаги, временные метки известности, календари биржи, необработанные и скорректированные цены, корпоративные действия, отсутствующие сессии, дубликаты ключей, версии источников, права и воспроизводимые манифесты запросов.
Проверки идентичности и универсума
Используйте стабильные идентификаторы ценной бумаги и эмитента, исторические тикеры, даты листинга и исключения из листинга, а также членство в универсуме на момент времени. Явно тестируйте слияния, отделения, классы акций и повторно используемые символы.
Записывайте причины допуска каждой ценной бумаги на каждую дату. Скрин, построенный из сегодняшних компаний, не является историческим, даже если каждая строка цены старая.
Проверки времени и рыночных данных
Нормализуйте временные метки, не уничтожая исходный часовой пояс и сессию. Сравнивайте диапазон каждого интервала ценной бумаги с ожидаемым календарём биржи и классифицируйте разрывы вместо автоматического заполнения.
Указывайте политику корректировок и сохраняйте входные данные корпоративных действий. Проверяйте соотношения OHLC, объём, дубликаты, порядок и частичные сессии.
- Эффективное время и время известности
- Ожидаемые и фактические сессии
- Необработанный и скорректированный вид
- Источник, запуск получения и версия схемы
Проверки событий и воспроизводимости
Для отчётов, прибыли, транскриптов, фундаментальных данных и новостей применяйте публичные времена наблюдения и сохраняйте ревизии. Дата события без времени известности небезопасна.
Хешируйте необработанные объекты и экспорты, сохраняйте запрос и версию кода, фиксируйте исключения охвата. Повторно запускайте образец из необработанных доказательств перед принятием конвейера.
Key takeaways
- 01Проверяйте универсум до цен.
- 02Рассматривайте временную допустимость как часть каждого события.
- 03Никогда не скрывайте отсутствующие данные нулями или интерполяцией.
- 04Сохраняйте запросы, хеши, версии и охват.