Избранное трейдера Stagirit

по

Как писать эффективный код на языке R

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

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

Начинающие же могут глянуть инфу в википедии, скачать дистрибутив и удобную среду для разработки.

1. Измеряем время, требуемое для выполнения некоторого куска кода 

Начинать надо с самого простого :)

Как писать эффективный код на языке R

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

Органайзер алготрейдера.

Органайзер алготрейдера.

В определенный момент у любого алготрейдера количество торговых систем переваливает за ту цифру, которую можно держать в голове вместе со всеми параметрами и результатами тестов. Конечно, в тс лабе можно сохранять результаты тестов, но из массы кубиков или переменных в коде быстро вычленить идею практически невозможно, особенно, если ТС строилась больше недели назад. Лично мне в такой ситуации помогает Development Worksheet (Паспорт робота), обычный эксель файл с общей информацией о стратегии.

Данный лайфхак, если мне не изменяет память, был найден в книжке Кевина Дэйви «Building Winning Algorithmic Trading Systems». В самой книге автор рассказывает о том, как он тестирует стратегии. Автор делает очень сложное многоступенчатое тестирование, которое начинается предварительными тестами входов и выходов: фиксированный стоп/профит, поза по фиксированному числу баров, monkey тест и прочее (если есть интерес, то могу описать все его изощрения подробно в следующей заметке). После этого он проводит форвардное тестирование и тест монте карло. Перед запуском стратегии на больших деньгах он дает системе поторговать маленьким капиталом (по-моему порядка полугода) и сверяет результаты торговли с тестовыми, вносит поправки. Таким образом на создание системы уходит как минимум 7-8 месяцев.



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

Теорема отсчетов и технический анализ рынков

Теорема отсчетов и технический анализ  рынков

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

Те, кто сталкивался с обработкой аналоговых сигналов сразу поймут, какое колоссальное преимущество кроется в этом факте. Ведь инструментарий аналоговой обработки данных очень сильно ограничен и по выбору возможных алгоритмов обработки данных и по средствам их реализации. В методах обработки сигналов при физических измерениях наблюдалась обратная картина. Изначально анализируемые процессы (сигналы) были непрерывными, а методы их анализа — аналоговыми. С развитием цифровых методов и устройств обработки информации возникла задача преобразования исходного непрерывного процесса в цифровую форму, а также вопрос о корректных правилах такого преобразования, сохраняющих все характерные особенности исходного процесса и преемственность аналоговых методов анализа и интерпретации результатов.

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

Ленивое количественное инвестирование - 10+% годовых в $$$ не слезая с дивана!

Всем привет!

Ленивое количественное инвестирование - 10+% годовых в $$$ не слезая с дивана!
Решил поделиться сигналами своей количественной модели ротации секторов американского рынка, золота и трежерей. А почему бы и нет — сигналы, которые я здесь выкладываю — для самых ликвидных ETF'ов, с емкостью миллиарды долларов, самому мне столько точно не надо. Торгует модель раз в месяц — я делаю это в начале каждого нового месяца.

Модель может использоваться как неплохая альтернатива долгосрочному (3-5 лет) банковскому вкладу в валюте. При условии, если вы умеете соблюдать дисциплину и не лезть в модель грязными лапами, чтобы улучшить ее «своим видением рынка» =) Если надоело сливать депозиты и хочется уже куда-то вложить валюту под неплохой процент и с умеренными рисками — велкам!

Модель торгует ETF'ы на секторы американского рынка (XLY, XLP, XLE, XLF, XLV, XLI, XLB, XLK, XLU, IYZ, VNQ), долгосрочные трежеря (TLT), золото (GLD), в качестве безрискового актива, в который модель иногда выходит, используется SHY. На первом шаге производится фильтрация торгуемых тикеров по моментум-логике, на втором — их смешивание с учетом статистических взаимосвязей между ними. Более подробно логику описывать не стану, поскольку, в отличие от других квантов на этом ресурсе, я не считаю, что количественные модели работают вечно. Они умирают — более того, в последнее время они умирают косяками.



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

Бесплатная тиковая база данных (CME)

    • 15 февраля 2016, 18:22
    • |
    • nxt
  • Еще

Всем привет.

Решил выложить в открытый доступ базу данных тиков с CME, которая накапливалась за последние годы, и обновляется по итогу дня.

FTP доступ: 

85.25.211.62
login: smartlab
pass: smartlabpass

Ссылки на торрент: http://ge.tt/1Ql8j3Y2

№2: app.box.com/s/h0dhmkif0fhnvlpzdp8ma89c1ysv876t

Формат данных:


seconds (int32) — кол-во секунд с начала суток по Чикаго.
milliseconds (int32)
price (int32)
volume (int32)
bestBidPrice (sbyte) — расстояние в тиках между price и реальной ценой BidPrice
bestAskPrice (sbyte) - расстояние в тиках между price и реальной ценой AskPrice
bestBidSize (int32) — доступно с июня 2015
bestAskSize (int32) - доступно с июня 2015

Ниже код для чтения бинарных файлов (На C#).

Создаем класс Tick:

  1. public class Tick
  2. {
  3. public DateTime Time { get; set; }
  4. public int Price { get; set; }
  5. public int Volume { get; set; }
  6. public int BidPrice { get; set; }
  7. public int AskPrice { get; set; }


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

Модель Хестона и гэпы

Обнаружил несколько ошибок в своем прошлом исследовании Откуда возникает улыбка волатильности. В этом посте хотел бы их исправить (чтоб не стирать старый, там все-таки много интересного в комментариях). А также предложить на критику новую версию — откуда возникает улыбка и от каких факторов зависит.

Одна из ошибок того исследования была в предположении, что существует некая инерция в движениях цены БА: чем больше очередное приращение цены, тем больше вероятность что следующее приращение продолжится в том же направлении. Именно добавление этого эффекта в модель давало толстые хвосты и изгиб улыбки параболой. Но более внимательный анализ истории показал, что этого эффекта не наблюдается. Каким бы большим не было приращение — матожидание следующего будет ровно 0.

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

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

Открытая микро библиотека с бесплатной СМС рассылкой

    Всем привет!
 
    Уже несколько лет слышу, что у многих, в составе торгового робота есть СМС рассылка.
    Это создаёт несколько положительных моментов, от неустанного контроля позиции и оперативного получения сигналов, до спокойной, без нервотрёпки, возможности выйти из дома, во время сессии.
 
    Некоторое время назад реализовал у себя в платформе эту возможность, и вот теперь хочу ею поделиться с начинающими программистами. Надеюсь пригодится.
 
    Представляю OpenSource микро библиотеку для отправки СМС и электронных писем. Язык реализации C#.
 
    Архив http://sib-algo.ru/?wpdmact=process&did=Mi5ob3RsaW5r
    Или со страницы:http://sib-algo.ru/?p=106
 
    Что в архиве:
  1. Библиотека
  2. Исходники библиотеки
  3. Исходник примера использования
  4. Этот пост вместо инструкции
  5. Открытая лицензия
 

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

Heston, Lognormal, Lewis, SABR and CEV

Какая модель движения цены позволяет построить улыбку, наиболее близкую к рыночной?
Рассмотрим простой подход к выбору наилучшего метода.
 
Определение моделей
 
Для начала определим модели рынка.
 
a) Heston, Lognormal и Lewis.
В общем виде модель выглядит так.
 Heston, Lognormal, Lewis, SABR and CEV
При λ = 0.5 получаем метод Хестона,
λ = 1 соответствует методу Lognormal,
λ = 1.5 соответствует методу Lewis’s 3/2.
Принимаем тренд равным нулю: μ = 0.
 
Неизвестные параметры:
θ — средняя долгосрочная волатильность;
η — vol of vol;
k > 0 -  скорость сходимости текущей волатильности к средней;
ρ — коэффициент корреляции волатильности и БА;
 
б) Модель SABR
 
Heston, Lognormal, Lewis, SABR and CEV 


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

Скальпинг и красные глаза,как не убить зрение?

Скальпинг и красные глаза,как не убить зрение?


У
же началаторговать в полумраке, но все равно кровь к глазам сильно приливает.
яркость на мониторах понизила.
 
Думаю купить мониторы от Яблока, но это в будущем, визин капли не помог -ни чист слеза не класс.

помогите((((

Как алгоритмизировать поиск свечных паттернов

 
Пару месяцев назад завершил одну интересную программу, которая самостоятельно ищёт прибыльные свечные паттерны. Решил было спрятать под подушкой, но недавно передумал. Пока доделывал, появилось несколько HFT идей. Буду заниматься ими, а эту подарю миру.
Как алгоритмизировать поиск свечных паттернов
Программу не выложу, но про идею расскажу подробно. Берите, реализуйте, кто может. Буду только рад. Удалось обнаружить такое огромное количество паттернов, что на всех программистов хватит.
 
Plan:
  1. Что такое свечной паттерн;
  2. Алгоритм поиска паттернов;
  3. Подводные камни;
  4. Оптимизация, многопоточность;
  5. Альтернативы.


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

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