алгоритмический торговый симулятор / эталонные данные - PullRequest
31 голосов
/ 25 апреля 2011

Мне интересно играть с алгоритмическими торговыми стратегиями. Кто-нибудь знает, существуют ли данные симулятора или эталона, с которыми я мог бы поиграть в автономном режиме (без каких-либо вложений)?

Ответы [ 6 ]

72 голосов
/ 02 мая 2011

Этот вопрос довольно широкий;как таковой, нет никаких упоминаний о том, какие инструменты вас интересуют. Например:

На данный момент, я предполагаю, что вы заинтересованы в акциях ... если это так, взгляните на Ninja Trader , который предлагает эти функции бесплатно .Вы можете получить бесплатные данные по акциям на конец дня из Yahoo Finance , что достаточно для долгосрочных торговых графиков;имейте в виду, что чем короче торговый цикл, тем более жестким должно быть ваше разрешение данных.

Если вы хотите положить несколько тысяч на торговый счет, любое количество брокеров с радостью отправит вас вживую.рынок внутридневных рыночных фидов;но вам не нужны деньги на счете для торговли на бумаге (по крайней мере, с моим брокером).Я думаю, что самый гибкий для программистов брокер - это Интерактивные брокеры .Вы можете получить из них данные за доли секунды через API , просто понимайте, что они не дадут вам детализации на уровне тиков;они суммируют свои каналы, конкретные детали различаются, поэтому лучше просто поговорить с ними, если у вас есть строгие требования к гранулярности.Что касается автономного моделирования, вы можете сделать это с Ninja Trader, Interactive Brokers и многими другими онлайн-брокерами (см. Какие онлайн-брокеры предлагают API? ).

БОНУСНЫЙ МАТЕРИАЛ

Поскольку вы предлагаете +200, я поделюсь с вами немного большим, что вы могли бы использовать ... Оставьте его или бросьте в мусорную корзину для любого значения, которое он приносит.

Торговый таймфрейм

Как правило, чем короче таймфрейм, тем сложнее сделки и тем сложнее последовательно зарабатывать деньги.Если вы не знаете, с чего начать с графиков, посмотрите на торговые циклы дней или недель за раз;тогда, если вы видите слишком много возможностей, проходящих мимо вас, улучшите вашу систему в меньшую временную шкалу.Другая вещь, которую нужно учитывать, это то, как часто вы хотите касаться этого кода и настраивать алгоритмы.Общее правило: по мере того как торговые циклы становятся короче, вы выполняете больше калибровки и обслуживания своих алгоритмов.Нет ничего необычного в том, чтобы найти алгоритмического трейдера, который написал хорошую платформу Swing-Trading , которая работала как есть в течение последнего десятилетия.С другой стороны, Алгоритмы дневной торговли , как правило, требуют большей осторожности и питания в зависимости от изменений рыночных условий.

Стиль торговли

Ваша торговая тактика тесно связана с временными рамками.,Вы:

Управление торговлей / Mindset

Управление торговлей является довольно большой темой, и вы найдете ее углубленной, если будете скрываться за досками трейдеров.как Elite Trader .Хотя может показаться неуместным обсуждать некоторые из этих вопросов в той же теме об автоматизированных торговых платформах, я уверен, что вы согласитесь с тем, что ваши предположения и отношение имеют коварные способы проникновения в ваш код.Я поделюсь несколькими моментами:

  1. Успех - это прежде всего предотвращение убыточных сделок.Хорошие сделки заботятся о себе.
  2. Всегда торгуйте со стоп-лоссом.Обычная мудрость гласит: «Ваша первая потеря - ваша самая маленькая потеря».Если дела пойдут на юг, найдите способ последовательно выйти, сохраняя при этом большую часть своей предыдущей прибыли;удержание неудачников - это быстрый путь к превращению в вареную лягушку.
  3. Не существует такой вещи, как "Слишком высоко" или "Слишком низко".Рынок движется в стадном менталитете, и ему все равно, что, по вашему мнению, он должен делать.
  4. Близко относится к точке "3": торговля с долгосрочным трендом. Борьба с трендом (нежно известная как «контр-трендинг») может показаться привлекательной для естественных противоположностей, но вы должны быть очень хороши, чтобы делать это хорошо. Торговля - это достаточно работы, не пытаясь противодействовать.
  5. Торговля в течение часа после объявления рынка Федеральной резервной системы очень трудно; Я думаю, что лучше быть вне рынка. Быстрая прибыль может выглядеть соблазнительно, но именно здесь профессионалы любят есть трейдеров-любителей; брутальные развороты могут развиться за пару минут.
  6. Избегайте торговли с маржой, если у вас нет проверенной методики, которую вы тестировали с данными за пару лет.
  7. Первые три минуты и последний час обычной торговли могут видеть быстрые изменения волатильности.
  8. Относительно получения прибыли: «Быков кормят, свиней забивают»
  9. Если вы обнаружите, что не зарабатываете, подумайте об оценке своей частоты торговли; Сокращение ваших сделок до минимума является ключом к успеху, в противном случае проскальзывание , комиссионные и сборы за ненужные сделки съедят вашу прибыль.
  10. Из-за вычислительных задержек / времени обработки и частичного заполнения ордеров лимитные ордера довольно сложны в управлении и довольно близки к мелочам; у алгоритмических трейдеров есть намного большая рыба, чтобы жарить.

Кодирование

  1. Записывать каждую точку данных и решения, которые вы принимаете, в своем коде; у меня работает три уровня логирования. Торговля - неточная задача, и крошечные изменения могут взорвать ваш ранее прибыльный алгоритм. Если что-то взрывается, вам нужен способ сравнить с тем, что работало.
  2. Прототип на скриптовом языке; если что-то идет медленно, вы всегда можете разгрузить компилятор позже. Я думаю, что python - это фантастика для количественного финансирования ... зрелое юнит-тестирование, интеграция C / C ++, numpy, pyplot и pandas являются победителями для меня.
  3. Подробнее панды заглушки ... ( видео панды ), см. Также: Вычисление сложного возвращаемого ряда в Python
  4. Я начал с простого ole csv, но я в процессе перехода на HDF5 для архивных данных тиков
  5. Торговое моделирование обманчиво: у симулированных сделок нет проблем с заполнением из-за низкой ликвидности или высокого спроса на инструмент; в зависимости от рыночных условий мои реальные сделки могут задерживаться на две или три секунды с момента отправки ордера до момента получения ордера. Имитированные сделки также не получают данных; Не забудьте включить внезапную потерю данных (и как восстановить) в ваши планы. Более дешевые брокеры, как правило, страдают от большего количества провалов и отключений, но если ваш таймфрейм длиннее, это может быть чем-то, что вы можете игнорировать.

Legal

Информация, изложенная в данном документе, была получена или получена из источников, которые автор считает достоверными. Однако автор не делает никаких заявлений или гарантий, явных или подразумеваемых, в отношении точности или полноты информации, а также автор не рекомендует, чтобы прилагаемая информация служила основой для любого инвестиционного решения. Эти данные были предоставлены вам исключительно в информационных целях и не представляют собой предложение или предложение о предложении или какой-либо совет или рекомендацию о покупке каких-либо ценных бумаг или других финансовых инструментов и не могут быть истолкованы как таковые. Используя любую из этой информации, вы прямо соглашаетесь с тем, что все риски, связанные с эффективностью и качеством информации, ложатся исключительно на вас. Автор не несет ответственности за любые прямые, косвенные, случайные, специальные или косвенные убытки, возникшие в результате использования или невозможности использования информации, даже если автору сообщили о возможности таких убытков. Информация предоставляется автором «как есть» и «со всеми ошибками».

4 голосов
/ 16 ноября 2014

Попробуйте использовать облачные системы тестирования на истории, такие как Quantconnect и Quantopian

Quantopian - это интегрированная среда разработки на основе Python, где вы можете писать стратегии и проводить тестирование в режиме онлайн.Вы можете совершать как симуляционные, так и реальные сделки с Interactive Broker.Quanconnect похож на Quantopian и использует IDE на основе .Net, и вы можете запускать симуляционные сделки и торговать в реальном времени с помощью брокера со скидкой.

4 голосов
/ 05 мая 2011

Я использую AMIBroker . Он в основном используется для тестирования на истории алгоритмических торговых стратегий. Это очень быстро и может загружать и получать данные из различных бесплатных источников.

4 голосов
/ 28 апреля 2011

Это те данные, которые вы ищете? Департамент финансов штата Огайо, средство поиска финансовых данных

Эта страница также может быть полезна: Скачать Yahoo Finance, параметры интерфейса HTTP

И этот: mathfinance.cn: бесплатные финансовые ресурсы

Не в сети, но хорошая ссылка для других читателей: Google Finance API

Iнадеюсь, я правильно понял вопрос.

1 голос
/ 06 августа 2015

QuantGo позволяет вам арендовать высокочастотные наборы данных, а не покупать их.Мне действительно это нравится, потому что это всего лишь пара сотен в месяц вместо тысяч.

У Quandl есть несколько хороших бесплатных наборов данных, если вы заинтересованы только в торговле на более длительных временных интервалах.Их API данных о запасах довольно приятный ( ссылка ).

0 голосов
/ 07 сентября 2013

Одной из альтернатив будет PyAlgoTrade (http://gbeced.github.io/pyalgotrade/).. Это библиотека Python с открытым исходным кодом для тестирования торговых стратегий.

...