Избранное трейдера Роман Давыдов
Продолжаю сидеть на самоизоляции и учусь программировать на Python. Написал полноценный калькулятор для сравнения двух любых активов.
Считает такие показатели как:
✅ Ожидаемая доходность
✅ Волатильность
✅ Коэффициент Шарпа для каждого актива
✅ Корреляцию
✅ Бету
✅ Альфу
✅ Долю волатильности исследуемого актива в базовом (удобно для сравнения с индексными фондами или индексами, если их брать в качестве базового актива)
✅ Коэффициент Трейнора
✅ Альфу Дженсена
Можно задать период на котором необходимо произвести расчеты. Строить графики для сравнения.
Самые успешные инвесторы так или иначе опираются на методику стоимостного инвестирования (value Investing). Основы методики сформулировали Бенджамин Грэм и Дэвид Додд в книге “Анализ ценных бумаг” (Security Analysis) еще 1934 году.
Методика рациональная и простая. Не нужно быть гением, предсказывать колебания цен на пшеницу, проверять котировки по 20 раз в день или разбираться в макроэкономике. А главное, стоимостные инвесторы не испытывают стресса, спят спокойно и живут долго! Уоррен Баффету сегодня 89, его партнеру Чарли Мангеру 96, Фил Фишер дожил до 96, а Ирвинг Кан — до 106!
Я расскажу вам про методику, как она развивалась за последние 100 лет, а, главное, как ее применять в условиях современного мира высоких технологий и нематериальных активов. Основные концепции Value Investing живы и будут жить пока существует капитализм, однако пришло время взглянуть на методику свежим взглядом.
Начинать инвестировать нужно как можно раньше и откладывать деньги регулярно. Альберту Эйнштейну приписывают фразу “сложный процент — это самая большая сила во Вселенной”. Если каждый год ваш портфель будет увеличиваться, процент будет накладываться на процент, и в итоге можно прийти к фантастическим результатам.
Продолжаем рассматривать методы анализа устойчивости публичных компаний, торгующихся на биржах США. Ранее мы разобрали, как использовать Piotroski F-Score для оценки финансового здоровья эмитента. Теперь поговорим о том, как проверять бизнес на кредитоспособность и вероятность банкротства. В этом нам поможет показатель Altman Z-Score.
Когда-то давно я устроился на работу в небольшой брокерской компании. Помню, первый вопрос на рабочем месте от начальника отдела, старого многоопытного спокойного еврея, поверг меня в шок: «Покажите как вы определяете лучшие акции?» А я-то думал, мне все расскажут и покажут! Сильно смутившись, я начал что-то лепетать про P/E, P/S и количество абонентов. «Ну это фигня какая-то! Идите думайте» — тихим голосом неожиданно изрек вежливый начальник, во мгновенье растоптав во мне всякое самоуважение. Я думал — меня уволят в ту же неделю, но оказалось, это нормальный способ руководства у шефа. Дело было в крайне презрительном отношении начальника к P/S, ведь этот коэффициент не учитывает долги компании. Тогда, в начале нулевых стандарты задавал Стивен Дашевский, прекрасный аналитик из Атона. Этот экспат, рулевой и светоч аналитиков, любил и продвигал три мультипликатора P/E, EV/EBITDA и EV/S. Эта тройка мультов и до сих пор на пьедестале в крупных домах, например в Сбербанк-КИБ. Проделав это исследование, я могу уверенно сказать, что мой подход в прошлом был не так уж и плох. А указанная тройка вовсе не объект для поклонения, другие параметры работают не хуже.
Для начала, все таки, немного зауми.
1. Об опционах рекомендую почитать книгу — А.Н.Балабушкин Опционы и фьючерсы. Кратко, сжато, все по делу и без воды. Много хорошей математики. В общем, математику можно пропустить, нужно уловить только общий смысл — о чем эта математика.
2. На сайте eLearning есть 6-7 бесплатных лекций Твардовского — просто, ясно, доступно. Он хорошо и интересно излагает. Смотрел лет 10 назад, 2 раза. Очень рекомендую.
Теперь непосредственно об опционных стратегиях.
Простейшей стратегией является — покупка опциона. Если цена базового актива (БА) растет или будет расти — покупаем опцион CALL вне денег, в нескольких страйках (лучше не более 4-5) от центрального. Если БА падает, аналогично покупаем опцион PUT. Больше стоимости опциона при его покупке вы никак не проиграете (хотя, теперь уж и не знаю )). ГО опциона равно его стоимости, и об этом можно не беспокоится.
Теперь более сложная стратегия для совсем ленивых. Если вы считаете, что актив будет хорошо расти или падать, на центральном страйке покупаем CALL и PUT — такая позиция называется Стрэддл. Теперь, куда бы не пошла цена БА, мы будем в выигрыше. Однако, если цена за пару дней никуда существенно не сдвинется, мы проиграем из за уменьшения внутренней стоимости опциона. Это называется временной распад.
Позиция Стрэддл хороша тем, что думать вообще ни о чем не надо, однако, она, пожалуй, очень, даже слишком, дорогая, и, далеко не самая хорошая за такие-то деньги.) Вообще, начинающим в позиции типа Стрэддлы лучше не лезть.
Пожалуй наилучшей позицией в опционах является Стрэнгл. Суть его в том, что мы покупаем опцион CALL вне денег в нескольких страйках от центрального (тоже желательно не более 4-5), и примерно симметрично ему покупаем опцион PUT. Теперь, как и в случае со Стрэддлом, куда бы цена не пошла, мы получаем прибыль. Такая позиция гораздо дешевле Стреддла, и у нее есть масса других преимуществ, но это уже ближе к зауми.
Ну, и недостатки у Стрэнгла аналогичны Стрэддлу — если цена 2-3 дней никуда существенно не пойдет, мы опять получим убытки от временного распада.
Кроме того, Стрэнгл сложнее конструировать, чем Стрэддл, для которого вообще думать не надо.
В опционах есть такой параметр — Дельта, это скорость изменения цены опциона от изменения цена БА
Дельта = (Изменение стоимости опциона)/(Изменение стоимости БА)
Т.е., на сколько рублей изменится стоимость опциона, при изменении стоимости БА на 1 рубль. От страйка к страйку эта скорость меняется, и при приближении нашего опциона к центральному страйку и переходе опциона в деньги она будет возрастать.
Дельта транслируется в Quik, и ее можно добавить в таблицу опционов.
При выборе Стрэнгла желательно, чтобы параметры Дельта для опционов CALL и PUT были равны или близки друг к другу. Можно купить несколько опционов CALL и PUT в разных страйках, чтобы суммы их Дельт были примерно равны для CALL и PUT. Если же вы считаете, что актив скорее пойдет, например вверх, то Дельту для CALL можно выбрать и побольше, чем для PUT. И наоборот, в случае уменьшения стоимости БА.
Графически позиция Стрэнгл выглядит так:
Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].
В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.
Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА:
В этом видео мы разберем один из эффективных способов анализа финансового состояния компании на основе метода Piotroski F-Score. Подробнее об алгоритме анализа читайте на блоге здесь: https://mindspace.ru/46884-pio...
Полезные ссылки:
Курс Как читать отчеты компании: https://mindspace.ru/study/08-kak-chitat-otchetnost-kompanii/
Блог Mindspace.ru: https://mindspace.ru/
Instragam: https://www.instagram.com/oxan...
Telegram: @Mindspace_ru
Всем привет!
Вдохновился данным постом ( https://smart-lab.ru/blog/616708.php ) и решил немного подпилить код, пока карантин делать нечего.
Кто не знал как скачивать котировки по одной компании вручную — сайт для скачивания котировок по одному тикеру (финам):
www.finam.ru/profile/moex-akcii/gazprom/export/
Тут через питон скачиваем котировки из текстового файла, в который вносим желаемые тикеры компаний:
Сайт для скачивания среды программирования Python (PyCharm), пойдет обычная версия:
www.jetbrains.com/ru-ru/pycharm/download/#section=windows
Файлы из видео, в том числе и со списком тикеров:
yadi.sk/d/R3BSbFjV3Pfydg
Код программы:
import requests import datetime import pathlib import apimoex import pandas as pd board = 'TQBR' with open("C:/PYEX/TICK.txt", "r") as TICKs: TICKs = [line.rstrip() for line in TICKs] pathlib.Path("C:/PYEX/Database/{}".format(board)).mkdir(parents=True, exist_ok=True) process = 0 with requests.Session() as session: for TICK in TICKs: process = process + 1 print((process / len(TICKs)) * 100, ' %') data = apimoex.get_board_history(session, TICK, board=board) if data == []: continue df = pd.DataFrame(data) df = df[['TRADEDATE','CLOSE']] df.to_excel("C:/PYEX/Database/{}/{}.xlsx".format(board,TICK), index=False)
Для моделирование ТС на Python, прежде всего нужен сам Python. Pythonы бывают очень разные.
Самый большой и длинный Python — Anaconda (https://anaconda.org/). Скачать дистрибутив Anaconda можно здесь — Индивидуальное издание -https://www.anaconda.com/products/individual.
Я работаю именно с Anaconda. Установив Anaconda мы получаем сам Python, уже установленные значительную часть нужных и ненужных пакетов с библиотеками Python, и несколько сред разработки. И все это сразу готово к работе, и нам, по большей части, уже не придется дополнительно устанавливать пакеты и среды.
Самый маленький Python последней версии 3.8.2. скачивается с сайта самого Python — https://www.python.org/. Это, практически, только сам язык, компилятор и минимальный набор пакетов. Сделать с ним практически ничего невозможно, и для работы придется постоянно устанавливать нужные пакеты. Среду разработки придется также устанавливать самостоятельно.
Этот Python больше подходит для запуска и работы с уже отлаженными законченными программами.