Избранное трейдера Гришин Андрей
Начинающие (да и не только) инвесторы часто задаются вопросом о том, как отобрать для себя идеальное соотношение активов входящих в портфель. Часто (или не очень, но знаю про двух точно) у некоторых брокеров эту функцию выполняет торговый робот. Но заложенные в них алгоритмы не раскрываются.
В этом посте будет рассмотрено то, как оптимизировать портфель при помощи 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')
Edge.
Занимаясь трейдингом, вы должны понимать, в чем состоит ваше конкурентное преимущество перед другими участниками рынка (так называемый «edge» — с англ. – «сильная сторона, остриё»).
Ниже — варианты. Подумайте сначала сами, а потом читайте (самое крутое конкурентное преимущество – в конце).
Примерами «edge» могут быть:
1. Знание языков программирования, навыки создания торговых алгоритмов.
2. Привычка заглядывать в прошлое, правило тестировать гипотезы на исторических данных.
Это не то же самое, что пункт 1. Для того, чтобы посмотреть, что было в подобной ситуации во времена, к примеру, финансового кризиса 2008, не нужно знать языка программирования. 70-80% частных трейдеров этого не делают, хотя, по идее, это база, must. Когда вы заглядываете в прошлое, спектр допустимых вами вариантов расширяется. Улучшается тайминг.
3. Знание макроэкономики, фундаментального анализа, качественная аналитика, контроль индикаторов, за которыми не удосуживается следить большинство (к примеру: кредитные спрэды, ставки межбанковского кредитования, потоки-оттоки из фондов, ставки CDS, sentiment, позиционирование участников).
После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические модели и выполнять статистические тесты. За основу были взяты эта статья и эта статья. Само описание используемой функции на английском доступно по следующей ссылке.
Сначала немного теории:
О линейной регрессии
Линейная регрессия используется в качестве прогнозирующей модели, когда предполагается линейная зависимость между зависимой переменной (переменная, которую мы пытаемся предсказать) и независимой переменной (переменная и/или переменные, используемые для предсказания).
Про греки.
Сразу предупреждаю. Следующие три ссылки — ссылки на мой сайт (никаких регистраций не нужно).
Все, что я хотел сказать в открытом доступе, я сказал здесь. Даже сделал чек-лист по грекам (здесь). И еще написал алгоритм действий при создании опционной позиции (здесь).
По-моему, уже здесь выкладывал, но выложу еще раз:
Идея создания опционов – это попытка оценить будущий диапазон движения БА. Отсюда и идет то, что профессионалы при торговле опционами смотрят на историческую волатильность (HV), подразумеваемую волатильность (IV) и пытаются спрогнозировать будущую реализованную волатильность. Затем, участники рынка пытаются спрогнозировать, какой будет волатильность БА, если его цена вырастет/упадет на 1,2,3 и т.д. процента. Так появляется кривая волатильности. Затем начинают прогнозировать движение БА за различный временной интервал, что приводит нас к временной структуре.
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 — как раз и отвечает за второй момент. Поэтому добавил в своей программе отрисовку такого профиля. И вот что рисует для проданного стрэдла: