Избранное трейдера Гришин Андрей

по

Использование метода Монте-Карло для создания портфеля

    • 26 апреля 2020, 14:17
    • |
    • Aleks
  • Еще

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

В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло. Под оптимизацией портфеля понимается такое соотношение весов, которое будет удовлетворять одному из условий:

  • Портфель с минимальным уровнем риском при желаемой доходности;
  • Портфель с максимальной доходностью при установленном риске;
  • Портфель с максимальным значением доходности

Для расчета возьмем девять акций, которые рекомендовал торговый робот одного из брокеров на начало января 2020 года и так же он устанавливал по ним оптимальные веса в портфеле: 'ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM' и 'PKI'. Для анализа будет взяты данные по акциям за последние три года.

#Загружаем библиотеки

import pandas as pd
import yfinance as yf
import numpy as np
import matplotlib.pyplot as plt

# Получаем данные по акциям
ticker = ['ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM', 'PKI']

stock = yf.download(ticker,'2017-01-01', '2019-01-31')


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

Конкурентное преимущество в трейдинге, или UNREAL TOURNAMENT

Edge.

Занимаясь трейдингом, вы должны понимать, в чем состоит ваше конкурентное преимущество перед другими участниками рынка (так называемый «edge» — с англ. – «сильная сторона, остриё»).

Ниже — варианты. Подумайте сначала сами, а потом читайте (самое крутое конкурентное преимущество – в конце).

Примерами «edge» могут быть:

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

2. Привычка заглядывать в прошлое, правило тестировать гипотезы на исторических данных.
Это не то же самое, что пункт 1. Для того, чтобы посмотреть, что было в подобной ситуации во времена, к примеру, финансового кризиса 2008, не нужно знать языка программирования. 70-80% частных трейдеров этого не делают, хотя, по идее, это база, must. Когда вы заглядываете в прошлое, спектр допустимых вами вариантов расширяется. Улучшается тайминг.

3. Знание макроэкономики, фундаментального анализа, качественная аналитика, контроль индикаторов, за которыми не удосуживается следить большинство (к примеру: кредитные спрэды, ставки межбанковского кредитования, потоки-оттоки из фондов, ставки CDS, sentiment, позиционирование участников).



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

Общий финансовый анализ на Python (Часть 3)

    • 05 апреля 2020, 12:51
    • |
    • Aleks
  • Еще

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

Сначала немного теории:

О линейной регрессии

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



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

Интересные философские идеи Талеба из последней книги

Последняя книга Талеба - рискуя собственной шкурой
Тут я оставил рецензию к книге Рискуя собственной шкурой. Книга содержательная, не все идеи там успел записать. Поэтому продолжаю.

Нетолерантные выигрывают 

👉Одна из интересных идей книги — упертое меньшинство (stubborn minority) порабощает лояльное большинство из-за того, что лояльные присоединяются к правилам строгих. То есть маленькая группа людей, которая придерживается строгих правил, со временем начинает подчинять себе всех, кто лоялен и демократичен. Например, строгая религия заставляет второго супруга отказаться от другой веры. Так, когда браком сочетаются люди разных вер, более лояльная религия уходит, а более строгая остается и размножается. Так, с течением веков, Христианский Египет постепенно стал Исламским. Или еще пример: все соки сделали халяльнами, так как проще все сделать халяльнами, чем делать отдельный сок для 1% тех, кому нужен халяль.
👉Аналогичная идея у меня была, когда я читал книгу про судьбу Сталина. Он долгое время был на вторых ролях, но поскольку он был самый жестокий и непреклонный, именно он со временем стал лидером страны. Хотя идея Талеба бесспорно скорее касается не частных случаев, а перспективы развития множеств на большом интервале времени.
👉Революции устраивает одержимое меньшинство.
👉Вывод Талеба логичен: нетолерантное меньшинство со временем может захватить демократию США, а потом захватить весь мир.
👉Вывод: необходимо быть нетолерантным к нетолерантным меньшинствам.
👉Да и в целом, экономическое или моральное развитие общества происходит благодаря маленькой группе людей.

Эта идея описана в Chapter 2, pages 70-88, и я уже понял, что книга заслуживает ⭐️5, поскольку рассказывает новые для меня идеи, которые заставляют задуматься.


Как легально владеть другим человеком?


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

Про греки и сбор теты. Опять по новой :)

    • 31 марта 2020, 11:35
    • |
    • doctor
  • Еще

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

По-моему, уже здесь выкладывал, но выложу еще раз: 

Про греки и сбор теты. Опять по новой :)
















Идея создания опционов – это попытка оценить будущий диапазон движения БА. Отсюда и идет то, что профессионалы при торговле опционами смотрят на историческую волатильность (HV), подразумеваемую волатильность (IV) и пытаются спрогнозировать будущую реализованную волатильность. Затем, участники рынка пытаются спрогнозировать, какой будет волатильность БА, если его цена вырастет/упадет на 1,2,3 и т.д. процента. Так появляется кривая волатильности. Затем начинают прогнозировать движение БА за различный временной интервал, что приводит нас к временной структуре.



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

Скрипт lua читающий таблицу обезличенных сделок.

Всем привет. Может кому пригодится. Скрипт читает ленту сделок и раз в минуту подсчитывает разницу между покупками и продажами. Часть кода нашел в интернете часть кода написал сам. Не знаю может уже есть что то подобное. Цель была не написать что то оригинальное, а наработать навыки программирования на lua.

( Читать дальше )
  • обсудить на форуме:
  • QUIK

Интеграция MatLab Engine и С++ (1)

В сложных вычислительных задачах (или просто при нежелании программировать на Lua, Cpp и т.д., а пользоваться более высокоуровневыми инструментами разработки), незаменимым оказывается API интерфейс Матлаба реализованный в качестве Active-X COM Automation Server.  Для его реализации на языке Си существует специальная библиотека libeng.lib, позволяющая языкам Си, С++, Фортран обмениваться данными и пользоваться всеми ресурсами Матлаба (обычно это обработка видео, автопилоты, ИИ, нейронные сети и т.п.).


Поэтому, в качестве изучения возможностей, попробуем реализовать простейший проект обмена данными и вызова функций Матлаб со стороны Си++ при использовании CodeBlocks и MinGW64.



  • Запуск интерфейса Матлаб

Чтобы адресовать все внешние процессы к единому процессу Матлаб, а не запускать Engine для каждого процесса в отдельности, 
запустим «двигатель» матлаба внутренней командой :

server=actxserver('matlab.application.single'); server.Execute(' enableservice (''AutomationServer'', true)');


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

Меня опубликовали на РБК!

По мотивам одного из моих постов на канале мне предложили написать статью для РБК, что я с удовольствием и сделал. 

quote.rbc.ru/news/article/5e724e599a79474acb8b891a

Статью, конечно, сильно урезали, т.к. написал я в три раза больше, чем нужно. Полный оригинал статьи см. ниже.  
Этот материал я, пожалуй, вставлю во вторую книгу. 
__________________

ГЛАВНЫЙ ВОПРОС

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



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

Вега и Вомма

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

Итак, рассмотрим проданный стрэдл:

Вега и Вомма

Это обычный профиль PnL, который рисуют все опционные программы. Фактически, это зависимость PnL позиции от первого момента (M1) распределения вероятностей, где 
окажется цена БА на экспирацию (вон оно на заднем фоне профиля). M1 = текущей цене БА. Т.е. мысленно двигаем все распределение влево-вправо (меняем M1) и считаем, как изменится PnL позиции при этом. Но, когда торгуем волатильностью, влияние первого момента ведь стараемся исключать используя дельтахедж (ДХ). И в большей степени нас должен интересовать профиль PnL от второго момента распределения (M2). Именно от него зависит финрез торговли волатильностью. Фактически, M2 почти тоже самое, что IV на центре улыбки (IVC). Смотрел на истории, специальным образом нормированный M2 (на цену БА и время до экспы) коррелирует с IVC почти 100%.

Если у нас есть опционная модель, в которой можно точечно менять второй момент, то легко посмотреть профиль PnL от изменений M2. Я использую замечательную модель Курбаковского, в которой главный параметр mI — как раз и отвечает за второй момент. Поэтому добавил в своей программе отрисовку такого профиля. И вот что рисует для проданного стрэдла:



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

Точность и кучность волатильности (GARCH)


Игра в угадайку — она как стрельба: можно угадывать точно, а можно угадывать кучно. 


Точность и кучность волатильности (GARCH)

Иллюстрация. 1 и 2 столбец — кучная и не-кучная угадайка, 1 и 2 строка — точная и не-точная угадайка. 

Аналогично и с угадыванием волатильности. 



Лучше, конечно, вообще не угадывать волатильность, лучше её предсказывать, а ещё лучше — измерять или просто знать. Поэтому, мы будем волатильность не угадывать, а измерять, чтобы наш арбитраж, который мы собираемся над ней совершить, выглядел бы соответственно. А измерять волатильность мы будем в предположении Блэка-Шоулза о лог-нормальном распределении приращений цены актива-подложки, и потому будем пользоваться специально припасёнными математиками для этого случая инструментами: среднеквадратичным отклонением — СКО. Но измерять волатильность мы будем тоже не просто так — не просто в лоб по СКО, а GARCH методом, предполагающим, что чем дольше мы измеряем нечто, тем точнее у нас это получается. Мы же не просто измеряем всё-таки, а делаем это весьма интеллектуально! 

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

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