Постов с тегом "Алгоритмы": 275

Алгоритмы


Модель скрытых состояний Маркова. Часть 4

hmmTrendFollow-OutOfSample-Corrected

Окончание цикла статей. Начало и другие алгоритмы биржевой торговли смотрите в моем блоге и на сайте.

В прошлой части мы продемонстрировали обучение модели Маркова на данных, полученных с помощью симуляции. В данной статье рассмотрим производительность модели на реальных данных. Будем тестировать трендследящую стратегию на индексе S&P500.

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

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



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

Модель скрытых состояний Маркова. Часть 3

hmmStateProbabilities

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

 

Метод первый — одна модель с несколькими состояниями.

Для обучения модели будем использовать исходные данные, полученные симуляцией из нормального статистического распределения N(mu,sigma), где mu — медиана, sigma — среднеквадратичное отклонение. Распознавание будем производить для двух режимов — бычьего (bull) рынка, на котором наблюдается восходящий тренд и медвежьего (bear) рынка, на котором тренд нисходящий. Соответственно, сгенерируем приращение значений из двух нормальных распределений - N (mu.Bull,sigma.Bull) и N(mu.Bear,sigma.Bear). На рисунке показан результат такой генерации на 300 наблюдений, 100 первых из которых получены из бычьего распределения, 100 вторых — из медвежьего и 100 последних — из бычьего с другими параметрами mu и sigma (каждое приращение будем считать дневным):



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

Вопрос знатокам Теорвера...

Допустим, историческое распределение вероятности того или иного параметра рынка рисует устойчивый график, который отличается от нормального распределения вероятностей. Тоесть, рынку свойственен некий перекос по сравнению с хаосом, некоторые события происходят чаще чем должны, некоторые наоборот, реже чем должны. Вопрос. На этом можно какую то вероятностную стратегию построить?


Вопрос знатокам Теорвера...

Например: теханализ показал, что положительных приращений всегда больше, чем отрицательных, но зато отрицательные больше в абсолютном значении, чем положительные. Не обязательно это так, просто пример. Это можно как то использовать в вероятностных стратегиях? Кто то пробовал нечто подобное?

Модернизация стратегии robot_uralpro. Lead-lag relationship

    • 16 апреля 2015, 10:22
    • |
    • uralpro
  • Еще

108

Трейдеры, которые приобрели мою программу robot_uralpro (см. пост на смарт-лабе), спрашивают, можно ли доработать алгоритм для применения его на современном рынке? Напомню, стратегия робота основана на взаимоотношении цен синтетического индекса, составляемого динамически из рыночных цен акций, входящих в индекс РТС, и фьючерса RI. Идея «одноногого» статистического арбитража, реализованного в роботе, будет работать и сейчас, только в том случае, если научиться правильно определять, какой актив опережает другой в смысле динамики их цен. Эта статья посвящена правильному выявлению такого взаимодействия, которое в англоязычных источниках называется «lead-lag relationship» -опережение-отставание между разными активами.

Те алготрейдеры, кто не приобретал robot_uralpro, тоже сочтут эту статью полезной, так как lead-lag relationship может использоваться в стратегиях парного трейдинга и им подобным. Например, определив такое взаимодействие, можно исключить из парного трейдинга один из активов ( с учетом того, конечно, что отношение торгуемых инструментов было описано четкой моделью) и значительно увеличить тем самым прибыльность стратегии.



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

Простая прибыльная стратегия

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

Выбираем 2 ликвидных опциона CALL и PUT (например опционы на RIM5, примерно одинаковой стоимости)
И просто покупаем тот, который в моменте дешевеет, и продаём, который дорожает… и всё =)

В алгоритме делаем 3 параметра:
  — максимально допустимая позиция (количество колов или путов которые мы можем купить)
  — минимальная позиция (держим минимумальную позу даже если опцион колл или пут сильно вырос в цене)
  — шаг цены, через который мы будем наращивать лонг при падении цены


Когда CALL падает — PUT растёт, и наоборот. Пока набираем дешевые колы, по дорогим путам фиксим прибыль и наоборот.
Продаём при обновлении максимума дня, тоже постепенно — по штучке на выбранный шаг цены.
Если даже случится апокалипсис, и колы обнулятся, то путы взлетят (мы ведь держим минимально необходимую позу и тех и других)

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

Исходники robot_uralpro ЛЧИ 2010

Исходники robot_uralpro ЛЧИ 2010
В своем прошлом посте я обещал раскрыть алгоритм robot_uralpro (25 место ЛЧИ 2010, HFT), но получил в личку много просьб от читателей смарт-лаба ( видимо тех, кто занимается алгоритмической торговлей) этого не делать. Аргументация, в общем, сводилась к тому, что народ у нас достаточно образованный и этим разоблачением алгоритма я могу наплодить армию конкурентов для  роботорговцев. И это правда -  например, когда в 2009 году начинал разработку стратегий, я вообще не знал ничего о том, как работают HFT, но, шаг за шагом, в условиях почти нулевой информации, удалось создать прибыльный алгоритм. Тем не менее, свои обещания надо выполнять, поэтому я принял решение, которое позволит трейдерам, серьезно интересующимся высокочастотной торговлей, получить обещанное, и даже больше, но в то же время значительно ограничит распространение: я предоставлю не только описание алгоритма, но и сам исходный код робота на C# с подробными комментариями точно в том виде, в котором он работал на ЛЧИ 2010, но все это — не бесплатно .  Далее причины, почему покупать это не нужно:

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

Проверяетесь на случайном блуждании?

Проверяетесь на случайном блуждании?

Да, и знаю почему и могу обосновать
Да, но не знаю почему, но на всякий случай
Да, но это просто само так получается
Нет, и знаю почему и могу обосновать
Нет, и никогда не думал об этом, но пожалуй интересно что получится
Нет, и пробовать не стану и могу обосновать почему
Всего проголосовало: 19
Приветствую всех, и особо, категорически, — плюсовых!

Однако, полгода примерно не писал на ресурс. Читаю чаще, пишут тут в основном что-то сиюминутное, а автоматика моя рисует более интересные картинки постоянно и о проекциях вечности на настоящее )) То есть работает в соответствии со своим предназначением. 

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

Вот топик был - http://smart-lab.ru/blog/205232.php… И мне до сих пор интересно — проверяет ли кто-то свои торговые системы на чисто случайном блуждании? Если да, то что вы видите? Насколько заметна разница?

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

Короче, ещё раз. Ребята и девчата, вам вообще как, дело до случайного блуждания есть?


P.S. Пожалуй-ка, опрос добавлю.

Что делать если есть и нету?

    • 28 февраля 2015, 02:00
    • |
    • polder
  • Еще

Как лучше поступить если у тебя есть рабочий прибыльный алгоритм, но нет под него бабла? Система прожорлива и для комфортной работы требует хотябы минимум 1кк рублей. И то с таким депо хватит на средней комфортности жизнь в мск( У меня маленькие потребноси) с учетом постепенного наращивания. Оптимально 10кк. Я думал о кредите, но мне тупо не дадут. Пробовал взять лям — банк послал.

Мои стартовые данные: Нищий, образования высшего нет( про кошерную работу можно забыть), каких то умений для применения в реальном секторе нет.

Дайте советов.

Спасибо.


Повелитель вселенной / Master of the Universe [ Док.фильм ]



Герой фильма, немецкий банкир — описывает, как крупные инвест компании создают  давление на некоторые страны (Греция).

Много внимания уделяет герой торговым алгоритмам и их преимуществу. 

Рекомендуем для просмотра:

VOLFIX Free Trial > 

 


Новости с фронта...

… программерского )) 
итак решил я улучшить отображение опционов на графике…
пересчитал все ои, пересчитал все коридоры… ну думаю щас все как нарисует красоту граальную…
компилирую, включаю, жду… жду… жду… в общем не дождался… комп уходил в мертвую спячку…
все перепроверил — вроде все норм написано и почти оптимизировано )) но не пашет… чтож такое.. 
и решил я проверить объем работы ))
в общем при копировании ВСЕХ опционов одной даты экспирации, и при дальнейщей математике на КАЖДУЮ цену в итоге у меня получается 80 миллионов ячеек в моем 4х мерном массиве (((
с таким колличеством мой ноут не хочет справляться… умирает МТ4 а за ним и сам комп…

приидется переписывать ядро (( парсить файл с опцами и выкладывать данные в файлы, и потом по отдельности их прогонять, опять же записывая промежуточные данные в отдельный файл…

так что кто то сеня на СИ повоевал, я же воюю с кодом ))
всем побед! 

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