AlgoTrading
AlgoTrading Блог компании StockSharp
27 июня 2013, 12:27

Алготрейдинг уходит в облака

Здравствуйте я хотел бы представить вам обзор сервиса от наших заокеанских коллег. Данный сервис называется Quantconnect. Он предназначен для аглотрейдеров которые хотят протестировать, оптимизировать и запустить в автоматическую торговлю свой алгоритм. Quantconnect использует совершенно новый подход при создании программного обеспечения для трейдеров, благодаря данному сервису алготрейдинг уходит в облака.
Алготрейдинг уходит в облака
Это означает, что вы больше не столкнётесь с недостатком вычислительных ресурсов при разработке торговой системы. Вы сможете взять столько вычислительной мощности из облака, сколько вам потребуется!  И так, давайте приступим, к рассмотрению основного функционала данного сервиса.
Прежде всего у кода выполняемого на Quantconnect есть два режима работы, это параллельный и последовательный режим исполнения торговой системы. Давайте рассмотрим их более подробно.

  • При работе в параллельном режиме, ваш код работает как будто бы, каждый день для него первый. То есть нет связи между днями, данный режим работы, подойдёт для построения интрадейных высокочастотных стратегий, где используются тиковые или секундные данные. Так как позволяет распараллелить вычисления по многим узлам облака.
  • Если же вы хотите построить систему, в которой необходимо переносить данные через ночь, то тогда для вас подойдёт последовательный режим. При использовании данного режима все ранее сохранённые данные остаются в памяти и вы сможете оперировать ими на всём протяжении жизни стратегии. Данный режим подходит для построения стратегий основным таймфреймом которых, является минутки и выше. Но к сожалению, у данного режима есть один большой недостаток, в данном режиме вы существенно проигрываете в скорости расчётов. Так как из-за особенности алгоритма невозможно распараллелить задачу между узлами облака
Для выбора режима работы, вам достаточно воспользоваться командой SetRunMode.
После того как мы разобрались с основными режимами работы, давайте посмотрим, как можно создать торговую систему.
Для этого перейдём в File->New->New Algorithm и в открывшемся окне выберем базовый шаблон.
Алготрейдинг уходит в облака

Алготрейдинг уходит в облака

После этого, нам нужно установить основные параметры стратегии, это делается в методе Initialize().

К основным параметрам стратегии, можно отнести, начальный капитал который задаётся методом SetCash(decimal cash). Начальная и конечная дата для анализа SetStartDate() и SetEndDate(), таймфрейм и саму ценную бумагу.

Логику торговой стратегии следует помещать в методы OnTradeBar(), или OnTick() всё зависит от выбранного вами режима торговой стратегии.
Таким образом, код стратегии, будет выглядеть примерно так.

to be continued.
16 Комментариев
  • надо форсить русский аналог!
    • FinSerfing
      27 июня 2013, 14:11
      Почему не снять обычный облачный сервис и не использовать там что-то вроде MultiCharts?
      Зачем отдавать алгоритм сервису, который может его украсть?
        • FinSerfing
          27 июня 2013, 17:28
          AlgoTrading,
          1. Речь шла об аренде вычислительных ресурсов, которые обычному пользователю купить дороговато.
          Облачные сервисы дают таковую возможность(Xeon Phi и прочее).

          2. Современные системы теханализа и моделирования чудесно параллелят расчёты по ядрам. И делают они это уж точно не хуже, чем сервис, появившийся в 2012.
          www.multicharts.com/multicharts/tech-specs/
          Цитирую для особо ленивых: «MultiCharts is a multi-threaded application. This means that the more CPU cores your computer has, the faster backtesting and optimization in MultiCharts will work. With modern multi-core processors we can now meet traders’ rapidly growing demands for speed and efficiency in trading platforms.»

          3. В большинстве случаев не нужен никакой огород из S#.API, потому как системы типа Multicharts, Wealth Lab и прочие уже имеют готовые интерфейсы к западным терминалам и датафидам.
          Где написал, там же протестил и запустил в торговлю.
          • Артем Самунджян
            28 июня 2013, 15:31
            FinSerfing, Зачем что-то арендовать/устанавливать и так далее....? Зашел в браузер, набил код, постетил и запустил все.
      • jaredbroad
        28 июня 2013, 06:20
        FinSerfing, for a cheap cloud, running second or tick data incredibly quickly, free US equities data back to 1998.

        We offer compiled algorithms — upload code with GIT, or compile algorithm locally, and upload DLL.

        I would love to work with S#! Perhaps we can collaborate?
  • vfreeman
    27 июня 2013, 13:03
    грамотный сервис! народ САМ будет создавать и оптимизировать ВАМ стратегии! ВАМ останется только выбрать лучшее!
    • Mikhail Sukhov
      27 июня 2013, 13:17
      vfreeman, вам — это нам? Сервис не наш, мы просто разместили объяву.

      Сервис классный. Можно использовать для обкатки первоначальной идей. Если она стоящая, то не факт что выдает хорошие показатели, и ее никто не заметит. Но ее можно будет уже закодить в своем удобном инструменте. Например S#.API =)
  • Жадный Яша
    27 июня 2013, 16:56
    ой…

  • jaredbroad
    28 июня 2013, 05:57
    HI :) Thanks for the post! Im the founder at QuantConnect. Feel free to ask me anything. Sorry I don't speak Russian!

    We offer compiled algorithms for people worried about intellectual property. We don't want to steal your code and charge a subscription.

    I am a quant just like you, who spent a year gathering data, and building a backtester. It was a waste of time that we like to save you in QuantConnect :)

    Thanks!

    PS: Fixed that bug — thanks for that :)
    • FinSerfing
      28 июня 2013, 10:39
      jaredbroad, you have found algorithm that brings profit over the years?
      • jaredbroad
        28 июня 2013, 20:36
        FinSerfing, I've had algorithms profitable for 3 months, but they always need adjusting. I don't think there is any profitable forever unless its tapping into something fundamental — like HFT speed advantages.
        • FinSerfing
          28 июня 2013, 20:53
          jaredbroad, may be more profitable to go into a real business?
          Possible that proportion effort\income is much higher than in trading.
          • jaredbroad
            29 июня 2013, 03:21
            FinSerfing, true it is a difficult business — so you must do it for love. You're competing against the best in the world so it will always be hard.

            The Effort-Income depends on the capital you manage — so a larger cash base can make the effort worthwhile.

            We built QuantConnect to enable 100x faster iterations, which decreases the time you're working on the design. You can test back-tests on tick/second data (4TB data), which would normally take 12 hours on an i7 intel within 2-3 minutes.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн