Избранное трейдера sn1
Компаний – море, даже на бирже СПб их почти тысяча. Из них — сотни вполне приличных и достойных внимания. Очевидно, что старое доброе неспешное чтение годовых отчетов в нынешних реалиях не подходит.
Представлю свой алгоритм, как анализировать зарубежные эмитенты, чтобы за короткое время охватить наиболее важный пласт финансовой информации и тем самым составить первичное впечатление о компании, включить ее в свой шорт-лист для последующего более глубокого анализа и возможных инвестиций в нее. Алгоритм сложился путем проб и ошибок в течение последних 3-х лет.
Итак. Рассмотрим пошаговый анализ одного из эмитентов, торгующихся на Санкт-Петербургской бирже, компанию Elanco Animal Health Incorporated (ELAN).
Первым шагом будет поиск сводной информации о компании на одном из сайтов-агрегаторов. На мой взгляд, finviz здесь вне конкуренции. По тикеру получаем информацию о компании, о секторе, где она работает, ссылку на официальный сайт и последние новости об эмитенте. Не помешает поискать в открытых источниках информацию о ней для общего представления.
Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].
В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.
Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА:
Продолжаю потихоньку добавлять новые акции для анализа в портфель и наконец добрался до 100 штук. Собираюсь включить все акции с дневным оборотом более 1% от величины портфеля (осталось примерно 25 штук), после чего заняться ETF. Чем больше акций, тем больше обучающих примеров для тренировки градиентного бустинга и сетей — сейчас около 180 тысяч, а в перспективе их количество увеличится до 250-300 тысяч.
Потихоньку продолжаю заниматься сетями. Раньше жаловался, что они обучаются существенно медленней градиентного бустинга, но после профайлинга оказалось, что тормозит не обучение, а подготовка и загрузка данных. Переписал код — в результате сети стали учатся быстрее градиентного бустинга.
Плюсом сетей является возможность реализации множества выходов — на данный момент экспериментирую с прогнозированием доходности одновременно с СКО по аналогии с GluonTS.
Для поиска гиперпараметров для градиентного бустинга использую байесовскую оптимизацию с помощью hyperopt. Для сетей решил попробовать
Самый первый фильтр — это DY (Дивидендная Доходность)
Если эмитент платит дивы, сравнимые с ключевой ставкой или выше её, то от этого портфельному спекулянту двойная польза:
1 — это позитивный сигнал, говорящий о том, что эмитент хорошо относится к миноритариям
2 — у портфельного спекулянта благодаря дивам появляется денежный поток, который он может использовать по своему усмотрению
Начинающие (да и не только) инвесторы часто задаются вопросом о том, как отобрать для себя идеальное соотношение активов входящих в портфель. Часто (или не очень, но знаю про двух точно) у некоторых брокеров эту функцию выполняет торговый робот. Но заложенные в них алгоритмы не раскрываются.
В этом посте будет рассмотрено то, как оптимизировать портфель при помощи 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')
В текущих условиях короноэкономической ситуации, когда из-за изоляции полностью проседает вся экономика (снижение потребления, и как следствие производства, ведет к снижению доходов населения, занятого практически во всех сферах) – возникает вопрос: «А где же собственно сейчас безопасно держать свои финансы?» В каких инструментах или коммодити?
Озадачился я этим вопросом неспроста. Я работаю на хорошей позиции в крупной российской нефтяной компании. Путем жесткого учета расходов — все необходимые затраты на жизнь моей семьи составляют порядка 1/3 от моих доходов или порядка 1/4 от общесемейного бюджета. Ранее, естественно, никогда не возникало вопроса куда девать «остающееся».
У меня два основных брокера – Сбербанк (ИИС под дивидендные акции, брокерский счет под облигации, ETF и дивидендные спекуляции) и ВТБ (высокодоходные облигации). Помимо этого, я занимаюсь краудлендингом, то есть «даю деньги в долг частникам» на платформах Ozon.Invest (заемщики только из числа продавцов на Озоне, до 18% процентов годовых) и Сберкредо (заемщики как правило ИП, прошедшие скоринг, но видимо малонадежные, потому что до 34 процентов годовых). Разумеется, есть существенный объем кэша на экстренный случай, некоторое количество инвестиционных золотых монет (Победоносец, ММД) и несколько лет назад я начал покупать антикварные книги. Есть пара майнеров на шумоизолированном балконе, которые добывают свои 10-12 долларов в день и некоторый объем биткоинов на защищенном криптокошельке Ledger.