Тестирование вселенной акций

Я хотел бы разработать стратегию следования за трендом путем бэк-тестирования вселенной акций; Давайте просто скажем все акции NYSE или S&P500. Я задаю этот вопрос сегодня, потому что я не уверен, как обращаться с хранением / организацией огромных объемов исторических данных о ценах.

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


Личный опыт:

-Я знаю, как кодировать. Был электротехническим, а не CS.

-Я знаю, как использовать данные по тикам в Excel. Знаком с использованием фильтрации и пользовательских исследований на ThinkOrSwim.

Прикладной контекст: с 1995 года по сегодняшний день давайте оценивать наиболее эффективные акции на основе относительной силы / импульса. Мы постараемся сравнить многие технические характеристики для разработки стратегии. Ключом к этому является наличие данных по целому ряду акций, на которых мы можем проводить тесты на истории с использованием python, C#, R или любого другого языка кодирования. Затем мы можем определить возможные стратегии, оценивая доходность, коэффициент омега, среднюю избыточную доходность и альфа (измеренный еженедельно) входов и выходов Дженсена, которые обусловлены техническими требованиями.


Вот где у меня возникают проблемы с определением следующего шага:

- Загрузка данных для всех компаний S&P500 в единую рабочую книгу Excel не сработает. Это слишком много данных для Excel, чтобы справиться, я чувствую, как. Каждый тикер будет иметь несколько МБ данных о ценах.

-Какой лучший способ получить, а затем сохранить данные о ценах для каждого тикера во вселенной? Мы смотрим на что-то вроде доступа SQL или Microsoft здесь? Я не знаю; У меня недостаточно информации о том, как обрабатывать множество таких данных. Что ты думаешь?


Я использовал ToS для фильтрации акций, основанных на истинных / ложных параметрах за период времени в прошлом; однако возможности ToS ограничены. Я хотел бы более гибкий движок тестирования на истории, такой как код, написанный на python или C#. Не уверен, что Rscript полезен. - Может быть, есть библиотеки, о которых я не знаю, которые сделали бы все это возможным? Если есть, дайте мне знать.

Я знаю, что Quantopia и другие веб-платформы Quant находятся рядом. Это мои лучшие ставки на тестирование на истории? Есть мысли о них?


Я делаю это слишком сложным? Тестирование стратегии на одном или нескольких акциях не является проблемой в Excel, ToS или даже в Tradingview. Но с большим количеством данных, я не уверен, что лучший вариант для хранения этих данных, а затем использовать сценарий Python или что-то для выполнения обратного теста.


Случайная заключительная мысль:-В конечном счете, хотелось бы изучить некоторую помощь ИИ с оптимизацией стратегий, которые были созданы на основе параметров. Я знаю, что это вещь, но не уверен, где узнать больше об этом. Пожалуйста, дайте мне знать.


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

Twitter: @b_gumm

1 ответ

Объем данных слишком велик для EXCEL или CALC. Даже если вы хотите просмотреть только 500 акций из S&P 500, вы получите 2,2 миллиона строк (примерно 220 дней / год * 20 лет * 500 акций). Для этого объема данных вы должны использовать базу данных SQL, такую ​​как MySQL. Он достаточно эффективен для обработки такого количества данных. Но вы должны найти способ обновления. Если вы ежедневно получаете полный временной ряд и сохраняете его в своей базе данных, этот процесс может занять ок. 1 час. Вы также можете использовать дельта-загрузку, но знать о корпоративных действиях (например, разделение).

Я не знаю Quantopia, но я знаю похожий сервис тестирования на истории, где я создал скрипт тестирования на python в прошлом году. Результат сильно отличался от того, что я ожидал. Результатом исследования стало то, что служба тестирования на истории вычисляла неверные результаты из-за неверных данных. Так что будьте осторожны с результатами.

Другие вопросы по тегам