Постов с тегом "Python": 230

Python


Архитектура торгового робота

    • 22 января 2017, 01:07
    • |
    • pmus
  • Еще

Архитектура торгового робота

Под катом скучное и неинтересное описание устройства торговой программы.



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

РТС Робот: скальпинговая платформа на Python

    • 10 января 2017, 04:43
    • |
    • pmus
  • Еще

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

Вдохновила меня прекрасная программа Николая Морошкина Qscalp и захотелось иметь похожую, но с блекджеком Python внутри. С большим уклоном в автоматический скальпинг, и с меньшим — в ручной.

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

Итак, у нас был Transaq XML Connector, QT, Python и целое множество библиотек всех сортов и расцветок, а также Windows, Linux, wine и VirtualBox. Не то чтобы это был необходимый запас для разработки. Но если начал писать проект, становится трудно остановиться. Единственное, что вызывало у меня опасение — это pyinstaller. Нет ничего более беспомощного, безответственного и испорченного, чем ошибки при сборке. Я знал, что рано или поздно мы перейдем и на эту дрянь.


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

В начале был профит

    • 03 ноября 2016, 20:47
    • |
    • Tim Fox
  • Еще

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

### О юный Quantitative Finance Researcher!



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

Определять тренд по базовому активу программным методом

Имеется в наличии десятилетний временной ряд, например по ценам закрытия акции или Settle (по фьючерсу).
Для упрощения задачи по фьючерсам можно упростить модели и использовать склеенные контракты, так называемый continuous futures. Данные есть в наличии.

Определять тренд по базовому активу программным методом
Необходимо написать код на PHP, Python, C  или R:
  1. Выявить среднюю продолжительность тренда и его «силу».
  2. Можно разбить тренды на категории по силе и определить среднюю продолжительность тренда
  3. Определить в какой стадии находится текущий тренд. Например 3/4 от конца соответствующего конкретной силе.
  4. Вероятность продолжения тренда
  5. Предпочтительно использовать несколько моделей для сравнения результатов

На основании этого мы сможем еще более улучшить наши результаты по применению недооцененных опционных стратегий, которая на сегодняшний день уже зашкалила за 30% YTD
 
Если код будет на R, мы сможем более плотно обмениваться информацией, хотя это далеко не самый лучший язык.

Лучшего кванта-программиста примем в Provalue Team

Предсказание чего угодно с использованием Python

bayes-retgurns-1080x571

Небольшая статья с ресурса http://www.talaikis.com/ о построении простой стратегии, использующую наивный байесовский классификатор при создании процесса возврата к среднему. Весь код в статье приведен на языке Python.

Это достаточно большая область исследований, но расскажем все очень кратко. Мы попытаемся найти взаимоотношение между  временными сериями  (в данном случае возьмем в качестве сигнала взаимный фонд XLF из финансового сектора, сдвинутый по времени на 1 день назад), а нашей целью будет фьючерс S&P500 в форме CFD. Будем входить в длинную позицию по этой бумаге при нулевой вероятности приращения. Логически нулевая вероятность ни о чем не говорит, другими словами, будем покупать возврат к среднему.

1. Получение данных

Y = read_mongo(dbase, "S&P5001440")
X = read_mongo(dbase, syms[s]).shift()

#готовим набор данных
res = pd.concat([X.CLOSE, Y.CLOSE], axis=1, join_axes=[X.index]).pct_change().dropna()
res.columns = ['X', 'Y']


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

Алгоритмические онлайн-сервисы

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

RIZM — прикольный конструктор. Недавно вроде гугл показал подобный кодогенератор. Суть — Вы не пишете коды, а складываете кубики. Только не такие, как в ТСЛабе или еще где-то, а более близкие к программированию. Т.е., если Вы умеете читать код, но не умеете его писать (аки покорный Ваш слуга), то это для Вас.

QUANTOPIAN — упоминался несколько раз тут на СЛ. Quantopian стал центром для выпускников математических и научных дисциплин, которые обладают навыками программирования. Для кодеров. Python. Многие говорят, что соскочили с квантконнекта в квантопиан именно по причине простоты питона. Легендарный

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

Встреча с алготрейдингом

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

Итак, краткая сводка:

1. ТSLabне поднял котировки СМЕ-фьючей, поиск RTFM не дал результатов. Платформа заточена под рынок РФ, все остальное кастомное. Простой ТХТ файл с простой котировкой вида «20141207 230100;2068.75;2068.75;2068.25;2068.25;11» не поднял. Выбросил.

UPD: После общения в личке и танцев с бубнами котировки появились. Об этом ноль открытой информации. НОЛЬ!

2. WealthLab — очень громоздкая конструкция. Очень платный. ))) Ближайшие RTFM не дали результатов. Тем более, демо-версия кастрированная, а ломанную не позволяет религия невозможно использовать. Без знания программирования что-то неклассическое заалгоритмить практически невозможно. Отложен в сторону.
3. AmiBroker — AFL понравился больше всего. Есть понятные примеры, очень простые конструкции языковой логики.  Бесплатная версия кастрированная, не помнит ничего после закрытия. Платная — кандидат на внимание.
4. StockSharpвообще не завелся. Поставлен через VS 2012 Ultimate — не работает. Скачан с GitHub'a — same story. Да, я разблокировал архивы! При попытке поднять простые коды с примерами ругается кучей ошибок, в которых с порога не разберешься. Будь я программист, то поковырялся бы, люди же кодят! Плюс, там реально правильный набор подключений к Америке. Я бы сказал, что это единственный продукт, который работает с западными рынками адекватно. All others SUCK. Но это продукт для тех, кто УЖЕ умеет кодить на Шарпе. Или вообще умеет кодить. Очень хотелось бы приподнять. Реальный кандидат на платный курс.
5. ThinkOrSwim — ThinkScript обладает определенными возможностями, и для решения индикаторных задач он очень прост. Для бектестинга не подходит в принципе, хотя на доступной истории можно отрисовывать сделки и потом смотреть их на графике. Но получить статистические данные никак. Вообще. По крайней мере, я не нашел. Остается старым добрым ТОСом. ;)

Теперь по самим языкам.

Я склоняюсь к тому мнению в сети, что по времени, которое нужно потратить на изучение, будучи Zero в кодинге, написание своего софта комфортнее. Это _не_ правильнее, зачастую не быстрее, но комфортнее. Минусы подхода — многие не знают проблематику алготрейдинга (partial fill, slippage, «garbage» ticks, data delay, order delay, time zones, off-market ticks, заглядывание в будущее и куча всяких еще «этсэтэра»). Без этих знаний и опыта MyWay будет похож на путь джедаев-горе-трейдунов-самодуровучек. Но т.к. я работал уже разработчиком алгоритмов (некодинг), и сталкивался с кучей всего в реальных торгах алгоритмов, то точно знаю чего хочу и какие избежать подводные камни. Мне не нужны кубики, мне не нужны сотни всяких готовых индикаторов. Я не хочу долго изучать «как средствами библиотеки собрать цифры в нужном порядке». Мне Просто Нужен Алгоритм с Оптимизатором! Не требовательный к скорости бектеста. Не требовательный к скорости исполнения потом в режиме реального времени.


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

Год кодинга

Всегда мечтал уметь программировать. Вот начал самостоятельно изучать Computer Science и Python Programming, имея сугубо финансово-экономический бэкграунд, но будучи гиком в душе.

Изучаю Python в контексте инструментария для применения в Data Science и далее в Machine Learning. Навыков программирования до этого не имел, если не считать работу со сложными связанными таблицами excel.

Начал с самого базового курса "Основы программирования на Python", книги Марка Лутца «Изучаем Python» и тренинга Python Essentials от Enthought, Inc. И официальные инструкции поглядываю: The Python Tutorial.

Также обучаюсь на курсах:

• массачусетского технологического института (MIT) MITx: 6.00.1x Introduction to Computer Science and Programming Using Python на 

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

Тестирование стратегий на Python для начинающих алготрейдеров

Знакомый показал такую среду www.quantopian.com/home
которая позволяет:

* закодировать и протестировать простейшие идеи на языке Python (один из самых популярных и простейших языков) прямо в браузере
* дает бесплатный доступ к данным за 13 лет (похоже в основном американский рынок?)
* обеспечивает среду для исследований (можно строить графики корреляций, спредов для парной торговли и т.п.)
* участвовать в конкурсе и получить деньги в управление

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

Тестирование стратегий на Python для начинающих алготрейдеров

....все тэги
UPDONW
Новый дизайн