С++


Реализация удобного доступа к котировкам таймфрейма М1 + сжатие в 12 раз по сравнению с csv файлами

Когда еще только начал заниматься алготрейдингом, возник вопрос удобного доступа к историческим данным котировкам. Дело в том, что csv файлы могут содержать пропуски данных, а мне необходимо было получать котировки за конкретные дни года. Поэтому мне было не удобно грузить csv файл в общий массив и затем искать в нем отрезки данных. Второй проблемой было то, что минутный график (не говоря уже о тиковом) занимает много места, когда речь идет о более 20 шт. валютных пар. Конечно это уже не такая проблема, как первая, так как сейчас большая память на SSD или HHD не проблема. Но с другой стороны, хранить все >20 валютных пар уже в памяти компьютера тоже не лучший вариант, лучше было бы грузить данные по кускам. 

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

  • Так как мой интерес был именно минутный график, было решено хранить фиксированное количество минут для каждого дня (даже если есть пропуски цен). В одном дне 1440 минут, следовательно каждый дневной фрагмент исторических данных содержит 1440 баров. 
  • Каждый дневной фрагмент было решено обозвать «подфайлом» и хранить все подфайлы в одном файле. Дело в том, что множество файлов тормозят систему, поэтому записывать каждый фрагмент как отдельный файл — не лучшее решение. В то же время сильно усложнять хранение фрагментов не хотелось, да и не было смысла. Обычная операция для «хранилища» котировок — добавление новых данных или чтение старых, при этом перезапись или добавление нового подфайла в глубоком слое исторических данных может потребоваться редко. Поэтому оптимальное решение будет записывать дневные фрагменты исторических данных по порядку в один общий файл и хранить ссылки на подфайлы в конце файла.


( Читать дальше )

Начинающим алготрейдерам читать обязательно. На многое открывает глаза.

Не буду растекаться по древу.
Если Вы начинающий алготрейдер (не HFT), или тестируете собственные торговые стратегии и МТС, то Вам обязательно нужно прочитать эту книгу.
Нет в этой книге граалей. В качестве примеров используются классические пробойные, трендследящие, контртрендовые алгоритмы. Показана статистика их тестирования на портфелях различных инструментов. Кратко затронуты стратегии на основе сезонности, циклов, анализа астрономических ритмов, генетических алгоритмов и нейронных сетей.
Очень полезны главы посвященные анализу различных приказов и типов входа в сделки.
Часть III книги, наиболее интересная на мой взгляд, полностью посвящена анализу и реализации различных типов стратегий выхода из сделок.
Есть примеры кода на C++.
Книга суховата, в ней практически нет воды, красивой лирики. Именно поэтому она читается на одном дыхании.
Рекомендую к прочтению.

По следам Четвертой промышленной революции ...

В  следующее воскресение выйдет очень большой пост по финансовому программированию и вообще программированию. Обсудим Граали самого сложного языка программирования С++.

1) Я дам конкретные практические рекомендации что учить, приведу ссылки на самое лучшее оригинальное ПО от Microsoft.
2) Материал очень сложный, но мы обсудим как соблюсти все главные правила из очень большого потока информации. Удивительно, но это не теория вероятности, здесь можно гарантировать результат на 95%, если правильно соблюсти правила.
3) Язык C++.
 
Ни в коем случае не пропустите данный пост в следующее воскресение, ваша жизнь может кардинально измениться после прочтения информации в следующее воскресение. Если вы пару раз копируете ссылку на этот топик, буду очень признателен.

До встречи!

Коннектор QUIK на С++

Господа алготрейдеры, подскажите кто реализовывал коннектор к QUIK на С++.
Примерную схему коннектора понимаю как реализовать, но нет навыка в LUA, а время терять не хочется, может кто проконсультирует. В идеале нужна консультация под ОС Linux, но можно и под Windows, главное на С++.

Подготовительный курс «Алгоритмы и структуры данных»

Сегодня был размещен интересный видеокурс по программированию.
    Для тех ищет возможность самостоятельно написать робота на С++ данная информация будет полезна.

    https://habrahabr.ru/company/mailru/blog/316170/


Подготовительный курс «Алгоритмы и структуры данных»


Цель этого курса — познакомить слушателей с основными алгоритмами, применяемыми для разработки программного обеспечения. Вы научитесь выбирать подходящие структуры данных и алгоритмы для реализации возникающих задач, и узнаете, как использовать языки С/С++ для реализации алгоритмов.

Курс ведет Сергей Бабичев, доцент кафедр информатики и вычислительной математики, а также теоретической и прикладной информатики в МФТИ. Под катом вас ждет восемь лекций:

  • Лекция 1. «Введение. Исполнители. Абстракции интерфейсов. Рекурсия»
  • Лекция 2. «Жадные алгоритмы»
  • Лекция 3. «Сортировки»
  • Лекция 4. «Поиск. Списки»
  • Лекция 5. «Деревья»
  • Лекция 6. «Хеш-таблицы»
  • Лекция 7. «Динамическое программирование»
  • Лекция 8. «Алгоритмы на графах»

«Алгоритмические системы». Куда пойти куда податься (часть 4)

                   «АД»

 

 

«Я увожу к отверженным селеньям,

Я увожу сквозь вековечный стон,

Я увожу к погибшим поколеньям.

Был правдою мой Зодчий вдохновлён:

Я высшей силой, полнотой всезнанья

И первою любовью сотворён.

Древней меня лишь вечные созданья,

И с вечностью пребуду наравне.

Входящие, оставьте упованья»

заключительная фраза текста над вратами ада

«Божественная комедия» Данте Алигьери

 

Трейдер —  возможно, самая циничная профессия в мире по природе своей. Мы слышим в новостях о небывалых пожарах в Канаде и бежим смотреть на мониторы, взрыв в аэропорту и мы снова на адреналиненные к торговым терминалам.  От всей души радуемся, если в этот момент у нас шорт по индексу или опционы пут в покупке. Мы никогда не замечаем, как приходим к такому уровню черствости. Возможно, спустя какое то время, когда спадает эйфория и истерия, мы понимаем и осознаем, что для многих это горе?



( Читать дальше )

«Алгоритмические системы». Куда пойти куда податься (часть 3)

Следующим этапом стала автоматизация. Поиск программы для генерации и исполнению торговых сигналов с риск менеджментом и прочим, заняло приличное время и убило много серых клеток, ну это естественно. Описывать  и впадать в детализацию не буду, очень много и скучно, а про опыт с LUA да же упоминать не хочется.

Первым, что пошло в дело стал TSLab. Интересное решение, вспомним 5-6 класс, но эти кубики, стрелочки, просто убивают. К сожалению меня это просто не возбудило )))«Алгоритмические системы». Куда пойти куда податься (часть 3)

(Картинку для примера позаимствовал, т.к. похоже на, то что получалось у меня. Свои к сожалению удалил в порыве, как дурной сон).

 Помучившись около месяца, перешел к следующей программе CoFITE. Через три дня, эпикриз: то же самое только в профиль или найди 10 отличий. Безусловно, есть плюсы в этих программах и они значительные, но это все не то, что было нужно. Следующим был tradematic и мне действительно понравился интерфейс. Все было хорошо и приятно удивило его мобильное приложение. После настройки и запуска, повылазили существенные ошибки, ну как же без этого?.. Связанны были прежде всего с тем самым Quik. Я думаю, что если бы не торговая платформа в связке, все было бы намного интересней.  Спустя не один месяц экспериментов с tradematic и еще одновременно с Wealth-Lab, прикрепленным к системе автоследования получилась такая структура:



( Читать дальше )

«Алгоритмические системы». Куда пойти куда податься (часть 2)

    Не долго размышлял о хлебе насущном, в голове крутились две мысли, первая «О масштабировании» и вторая «О автоматизации». Когда управляешь несколькими счетами на великом и ужасном Quick, приходишь к выводу, что это полнейший бред! Множество позиций, на всех нужно выдержать риск менеджмент в переплетении с анализам рынка и если учесть, что торговать в те времена приходилось с огромной разницей во времени с Москвой. В совокупности со всем этим выходила жгучая смесь, на голом месте полнейший взрыв мозга. При этом видимо всего этого было мало и еще хотелось изучения чего-то нового. И новым было не что иное, как CME. Благо торговля почти круглосуточно.

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



( Читать дальше )

....все тэги
UPDONW