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

Хочешь один раз накормить человека – дай ему рыбу.
Хочешь накормить его на всю жизнь – научи его ловить рыбу

Вот и мы будем учиться «ловить рыбу».
Со вступлением покончено, давайте займемся делом.

Сегодня мы скачаем архивные котировки в программу технического анализа, чтобы потом создать и протестировать свою торговую систему.
Заходим на сайт Финама в раздел экспорта и скачиваем архивы котировок, на которых вы планируете тестировать вашу систему. Я скачал архив часовок по РАО ЕЭС и Лукойлу с января 2005 года по сегодняшний день.

finam

Теперь необходимо вставить эти данные в программу технического анализа. Я использую программу TradeStation вместе с OwnData, поэтому покажу как это сделать на примере этих программ.

Запускаем QuoteManager, входящий в состав OwnData. Прежде чем импортировать данные необходимо настроить параметры биржи. Заходим в Tools – Exchanges & ECNs. Российских бирж в списке нет, поэтому мы создадим новую, для этого жмем Add. Дайте название бирже, и укажите параметры сессии как на рисунке.

Настройка биржи

На второй закладке Time Zone укажите часовой пояс биржи (+03:00, Moscow)

Теперь надо создать инструмент (символ). Для этого заходим в меню Symbol – Add Symbol – Manualy (или просто жмем INS на клавиатуре). Указываем Data Source – Ascii Mapping, Category – Stock, Exchange – та биржа, которую вы создали раньше. В поле Symbol укажите название инструмента. Вот как это получилось у меня:

addsymbol

Нажмите ОК и откроется окно редактирования свойств добавленного инструмента. На первой закладке Stock в поле Symbol Root укажите то же имя, которое вы дали самому инструменту. Больше ничего менять не надо, нажимайте ОК.
Мы создали инструмент, теперь импортируем котировки. Щелкните правой кнопкой по инструменту, в который будете импортировать данные данные и выберите Import Data – ASCII.

pkm-import

Укажите, какой файл необходимо импортировать и проверьте соответствие полей импорта (красная полоса на картинке).

Окно импорта котировок

Нажмите ОК и дождитесь окончания импорта. Пока идет импорт мы сделаем небольшой перерыв ;-)

Теперь запускаем TradeStation и смотрим, что же у нас получилось.
Настройте чарт как показано на картинке

Настройка чарта в TradeStation

Теперь у нас есть исторические данные для создания, тестирования и оптимизации торговой стратегии. Этим мы и займемся в следующем выпуске. Подписывайтесь на RSS, чтобы не пропустить ничего интересного.

На правах рекламы: косметические средства

Читайте также:

  • Нашествие роботов
  • Прошу прощения перед читателями, что немного не в тему, но главное, что о роботах. Если вы пользуетесь браузером Mozilla Firefox 3,...
  • Торговая стратегия 1-2-3 Reversal
  • Торговая стратегия "1-2-3 Reversal" написана по книге "How I Tripled My Money In The Futures Market" автор Ulf Jensen, страница...
  • Измеряем скорость рынка
  • Вчера Евгений Синицин, постоянный читателей этого блога, прислал мне письмо, в котором предложил проверить одну его идею. Идея заключается в...
  • Тестируем возможности индикатора RSI
  • В прошлом нашем выпуске мы ознакомились с индикатором RSI, где Чак Лебо предложил несколько способов использования этого индикатора. Сегодня я...


    Отзывов: 21 на “Импорт архива котировок в OwnData для TradeStation”

    1. репликатор САС-П001-01 пишет:

      Вопрос от репликатора первого уровня к Торговому роботу.
      Как автоматически скачивать архивные котировки в Excel?Какой машинный код(язык) при этом использовать?Может ли робот сам заполнять “пустые поля”(период,дату и т.д.)на сайте финама?
      Мне очень нравится ваша наглядность.(улыбаясь)Это прямо инструкция, которые САС-П001-01 очень любит.

    2. Торговый робот пишет:

      Спасибо, САС-П001-01 :-)
      Вопросы серьезные или просто шутка? Отвечать или тоже улыбаться?

    3. репликатор САС-П001-01 пишет:

      (серьёзно)Да-а-а вообще то нет.У меня действительно есть проблемы с забором архива из интернета.Мне советуют QUIK, но там нет(или я не нашёл) той структуры котировок, которая представлена на финаме.Поясняю-”дата-период-max(внутри этого периода)-min(внутри этого периода)-последняя).Мне хочется, чтобы скачивание происходило автоматически по моим настройкам прямо в Excel…не в Metastock, не в Omega…именно в Excel.(сейчас улыбаясь)Если поможете самонастраивающейся автоматической системе-(литера создателя)…001-01 буду признателен, но помните…репликатор имеет свойство обучаться.

    4. Торговый робот пишет:

      Не совсем понял, Вам нужно скачивание архива котировок или все-таки чтобы котировки поступали в Excel в реальном времени? Если так, то тут без Quik не обойтись.

    5. репликатор САС-П001-01 пишет:

      Автоматическое скачивание архива котировок

    6. Торговый робот пишет:

      Чтобы что-то автоматизировать в Excel придется писать макрос на VB.
      Сайт Финама не дает прямых ссылок на файлы котировок, чтобы можно было указать программе, откуда скачивать их, тут можно воспользоваться программами, которые перехватывают post запросы браузера и потом этот запрос использовать в Excel.
      Проще брать данные из Quik. Для этого надо вывести график по нужному инструменту в нужном временном интервале и функцией GET_CANDLE в цикле перебрать нужное количество баров, сохраняя полученные данные (OHLCV) в файл (CSV), который потом импортировать в Excel
      Или выводить данные в пользовательскую таблицу и экспортировать в Excel через DDE – так можно получать данные даже в реальном времени.

    7. репликатор САС-П001-01 пишет:

      Теперь я не понял.”…и функцией GET_CANDLE в цикле перебрать нужное количество баров…”.Прокомментируйте данную фразу подробнее.А вот на финаме то-то и оно, что нет прямых ссылок, а мне нужны данные в виде талицы, а не в CANDLE.Вот в Quik нашёл в “Редактирование таблицы текущих параметров-Доступные параметры” только max-min за весь торговый день, а мне то надо внутри интервала(15мин например), как на финаме.

    8. Торговый робот пишет:

      Репликатор, теперь я понял что Вам надо. Сегодня вечером или завтра днем я найду часок свободного времени и сделаю для Вас решение этой небольшой проблемы :-)

    9. репликатор САС-П001-01 пишет:

      (задумчиво)Для вас небольшая…для 001-01(индекс интеллекта)большая.(улыбаясь)Ждёмс-с-с.Будем ждать,роботы умеют ждать…

    10. Corrivalis пишет:

      Выскажу свое мнение относительно Вашей идеи о “летнем марафоне по созданию робота”. Идея очень хорошая и думаю, материал будет интересен многим читателям. Пока мне известен только один пример торгового робота, выложенный в Интернете – это связка Amibroker+Quik на сайте Русский трейдер (там же в форуме есть обсуждение робота).
      По моему мнению, изложение данного материала должно быть, все таки, в виде пошагового руководства, а не в виде теоретичекого учебника. Говоря Вашей метафорой про ловлю рыбы – чтобы научить человека ловить рыбу, недостаточно объяснить словами, как это делается – надо показать, как устроены и работают снасти, как их лучше применить – т.е. раскрыть техническую сторону вопроса и показать на практике. Далее, по мере приобретения опыта, он сам выработает свои секреты ловли, поймет как совершенствовать снасти и методы ловли. Поэтому, без конкретного примера работающего робота все сведется к теоретическим рассуждениям без конкретного применения на практике и, соответственно, какого-либо практического понимания функционирования робота, проблем в этой области и путей их решения.
      В принципе, структуру робота можно описать в виде следующих функциональных модулей: 1)прием данных; 2)анализ данных, выработка торговых сигналов, фильтрация полученных сигналов для снижения количества ложных сигналов; 3)работа с заявками – выставление/удаление, контроль наличия и исполнения заявок на покупку/продажу/ограничение убытков и т.п.; 4)визуализация торговых сигналов, индикаторов и т.п. на графике; 5)инициализация каких-либо действий по снижению последствий в случае сбоя систем��; 6)оповещение звуком, смс или по электронной почте владельца робота о каких-либо событиях.
      Нетрудно заметить, что все модули, кроме второго – чисто технические, успешность их реализации зависит от степени владения создателем робота языка программирования и понимания протоколов обмена данными между компонентами робота (если робот написан не в одной программе). Теорию по этим вопросам охватывают руководства по языкам программирования. Материал по построению торговой стратегии, который применяется в проектировании модуля 2 (формирование торговых сигналов) – т.е. стратегия торговли и ее тестирование, в избытке можно найти на любом крупном форуме по трейдингу. Вот в общем-то и вся, по крупному, теория построения робота. Для человека, не знакомого с программированием, пропасть между этой теорией и практикой может быть огромна. Поэтому, если вы в рамках своего “марафона” покажете рабочий пример робота с описанием практических проблем решения каждого из технических модулей (разработка торговой стратегии – отдельная тема) – это будет реальный обучающий материал для новичков. Естесственно, никто не требует от Вас раскрытия Вашей торговой стратегии – в примере, для генерации торговых сигналов, можно взять алгоритм стратегии пересечения двух средних или другую простую и широко известную стратегию.
      Также, интересен был бы материал о технической стороне торговли роботом – на каком тайм-фрейме оптимальней торговать роботом с точки зрения существующих скоростей обмена данными с сервером брокера, как брокеры реагируют на рост числа применений робота (ведь при этом, нагрузка на сервер брокера возрастает), какие рынки/брокеры предпочтительней для торговли роботом с точки зрения технических параметров: скорости и стабильности, какой робот предпочтительней – созданный полностью на qpile или в связке quik+программа теханализа, с точки зрения стабильности, скорости работы, широты функционала.
      Возможно, я выложил слишком высокие требования к материалу “марафона” – в любом случае, решение о подаче материала за Вами.
      Также, было бы неплохо, если бы Вы создали у себя на сайте библиотеку кодов на qpile, где Вы и посетители сайта смогли бы размещать свои готовые наработки, по типу форумов программ теханализа (Metastock, OTS, WLD, Amibroker) – это значительно бы упростило разработку роботов для новичков. По своему опыту – при изучении программ WLD и Amibroker я смог за вечер за вечер просмотра примеров кода других пользователей собрать процентов на 80 код своей системы для ее тестирования, абсолютно не имея опыта программирования и не зная языка программирования этих программ.

    11. Торговый робот пишет:

      Corrivalis, большое спасибо за такой …даже язык не поворачивается назвать это комментарием… за такой развернутый ответ.

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

    12. Сергей пишет:

      Что то не происходит импорта данных из файла – остутствует меню выбора файла. Помогите плз!!!

    13. Торговый робот пишет:

      Без паники, Сергей :-) Наверное, вы пропустили какой-то шаг при создании “инструмента” (бумаги), попробуйте все сначала неспеша.

    14. Тоха пишет:

      На шаге импорта котировок в окне ASCII Data Import вместо окна выбора файла отображается красный крестик в левом верхнем углу. Не понятно что делать. Может быть есть альтернативы OwnData?

    15. Mikle пишет:

      У меня не получается, помогите. Значит все сделалось корректно вплоть до последнего скриншота, я не могу уже в трейдстейшене написать навание инструмента, т.к. программа не понимает это. Такое ощущение что OwnData и TradeStation не видят друг друга. Это возможно? Как сделать чтобы TradeStation увидел данные OwnData ?

    16. Max пишет:

      Немного не в тему но тем не менее..

      У меня TS 8.3. Скачал с финама котировки ммвб в формате Metastock. В Tradestation через Symbol look up ввел фолдер куда сохрнил файлы. Все нарисовалось. Проблема в том, что когда вставляю стратегию окно с графиком начинает моргать и появляется текст Waiting for data.. symbol attributes.. Непонимаю какую дату он ждет и зачем? Может быть кто нибудь сталкиался с похожей проблемой?

      Макс

    17. igor пишет:

      Точно такая же проблема! может дело в windows vista?

      На шаге импорта котировок в окне ASCII Data Import вместо окна выбора файла отображается красный крестик в левом верхнем углу. Не понятно что делать. Может быть есть альтернативы OwnData?

    18. Ayrat пишет:

      У меня ХР и та же самая проблема. Нету меню выбора файла.

    19. гость пишет:

      и у меня такая же херь(

    20. buviar пишет:

      такой же крестик в левом верхнем углу

    21. Кеус пишет:

      У меня тоже возникла такая же проблема при импорте, но мне Joni2 посоветовал установить MultiCharts, который можно и не использовать. Я так и сделал, теперь не каких проблем, могу выбирать файлы для импорта.

    Оставьте свой отзыв

    Да человек я, человек! =)