Блог им. liohich

Скринер недорогих растущих качественных компаний

Приветствую, уважаемые смартлабовцы!

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

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

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

  • цена/прибыль (P/E),
  • цена/балансовая стоимость (P/BV),
  • полная стоимость/операционная прибыль (EV/EBIT),
  • полная стоимость/продажи (EV/S),
  • полная стоимость/свободный денежный поток (EV/FCF),
  • Дивиденд/цена, дивидендная доходность (Див.дох.),
  • Выкуп акций/цена, доходность по выкупу акций (Выкуп).

При расчете мультипликаторов я использую усредненные с учетом роста показатели прибыли и денежных потоков за некоторый период (7 лет). Индикаторы роста:

  • рост выручки
  • рост свободного денежного потока (рост FCF)
  • Рост чистой прибыли
  • Рост операционной прибыли (рост EBIT)

Показатели роста рассчитываются за 7 лет. Индикаторы качества и риска бизнеса:

  • Показатель beta – характеристика рыночного риска акции, мера корреляции стоимости акции с индексом SP500. Рассчитывается за 5 лет по месячным доходностям.
  • Рентабельность собственного капитала = чистая прибыль / собственный капитал (ROE)
  • Рентабельность инвестированного капитала = операционная прибыль / инвестированный капитал (ROIC)
  • Чистая маржинальность = операционный денежный поток / выручка
  • Операционная маржинальность = операционный денежный поток / выручка
  • Отклонение выручки
  • Отклонение прибыли
  • Отклонение операционной прибыли (отклонение EBIT)
  • Отклонение операционного денежного потока (отклонение OCF)

Последние 4 индикатора (отклонение) характеризуют стабильность бизнеса в течение анализируемого периода времени (7 лет). Это разброс соответствующих значений относительно усредненного трендового значения (в отдельном посту напишу подробности). Индикаторы отклонения введены для того, чтобы повысить вес бизнесов, которые стойко выдерживают различные рыночные условия, доходы которых не сильно снижаются в неблагоприятных условиях.

Таким образом, выбраны 7 показателей доходности, 4 показателя роста и 9 показателей риска/качества бизнеса. После расчета индикаторов осуществляется ранжирование компаний. По каждому индикатору отдельно упорядочиваются компании по величине индикатора. Например, мультипликатор цена/прибыль. Компания с наименьшим положительным P/E получает балл 1, компания с наибольшим P/E получает балл 0, компании с убытком получают 0. Остальные компании получают промежуточный балл от 0 до 1 в зависимости от положения в списке. В итоговой таблице справа от значения каждого индикатора находится столбец с соответствующими баллами. Аналогично рассчитывается по всем анализируемым показателям. Затем все баллы суммирую (последний столбец таблицы – Итоговый балл) и выстраиваются компании по сумме баллов. Компании с наибольшей суммой считаются наиболее привлекательными для инвестирования. Окончательное решение принимается человеком.

Публикую в гугл таблицах результаты скринера на сегодня.

Телеграм 

★14
13 комментариев
@Алексей Клочков , Здравствуйте, а на чем реализован сам скринер?
avatar
SL, добрый день, пишу на Python. Весь анализ на pandas. Данные с yahoo.finance собирал с помощью модуля yahooquery. 
Алексей Клочков, Спасибо, очень интересно. Может сделаете коротенький пост с реализацией на python?
avatar
SL, позвольте поинтересоваться, какие темы Вас больше интересует?
Алексей Клочков, смотрите, только на ведущих биржах США, имеем около 6500, то есть собрать все фундаментальные данные и просмотреть их даже имея супер хороший алгоритм, никак не реально. А вот если автоматизировать сбор данных и фильтрацию с помощью python вот это реальная ценность как для меня так и для многих инвесторов, которые изучают фундаментальный анализ компаний. 
Поэтому интересует все по порядку и чем детальней тем лучше, так сказать пошаговый ликбез как организовать сбор данных, их фильтрацию по заданным критериям, визуализацию результата и выгрузку в таблицу для проверки правильности работы алгоритма. 
avatar
 Спасибо, отличная работа! Лично мне тут не хватает показателей по долгам компаний, прогнозных показателей типа forward P/E, рост EPS, DCF-потенциал, объемы торгов, чтобы не схватить что-то неликвидное. По итоговому баллу большой вопрос. Раньше я пробовал по разным показателям ранжировать, но чисто складывать баллы это плохая идея и не отражает объективную картину. Допустим, если прибыли компании падают каждый год, то зачем ее вообще держать в портфеле? Там балл должен быть минимальный или 0 вообще. Как вариант давать ранжирование по диапазонам разных показателей. Например убыточные компании это одна группа, компании в высоким P/E другая группа, высокодоходные третья. Чтобы итоговая оценка показывала, что в одну компанию вкладывать очень рискованно, а у другой все хорошо и риски небольшие.
Александр Крапильский, очень интересные вопросы, спасибо. Попробую на все ответить.
1) Про долг. Долга нет в системе ранжирования, но на этапе первичной фильтрации отбрасываются компании с покрытием процентных расходов меньше 3. Сам по себе размер долга или финансового рычага не являются преимуществом или недостатком компании. Нельзя размеру долга однозначно поставить какую-то оценку, все определяется моделью бизнеса. Как критерий риска компании я подумываю о добавлении debt/EBITDA или покрытие процентов. А коэффициенты вроде капитал/долг или кеш/долг, мне кажется, будут неоправданно вносить сдвиг в оценке в сторону компаний с низким финансовым рычагом. Может, посоветуете, каких коэффициентов Вам не хватает.
2) Прибыль, выручку и другие показатели использую из линейной или экспоненциальной интерполяции отчетности за некоторый период на текущую дату. Прогнозы не использую, вместо них есть показатели темпов роста.
3) Использую рост прибыли компании вместо роста EPS. Разница есть при выкупе акций компанией, а по выкупу у меня есть отдельный столбец в таблице.
4) DCF потенциал. Автоматически считать справедливую цену из предсказанных денежных потоков и ставки дисконтирования на основе статистической beta — плохой вариант. Нормальную DCF можно построить только руками.
5) Объемы торгов. Спасибо за предложение, подумаю.
6) «но чисто складывать баллы это плохая идея» — почему? Моя система строится на таком размышлении: допустим две компании имеют одинаковые показатели, кроме одного. Тогда компания, у которой больший бал по этому показателю, должна быть выше в рейтинге. Т.е. рейтинг линеен по баллам в разных столбцах. Это заложено в идею системы.
7) «Допустим, если прибыли компании падают каждый год, то зачем ее вообще держать в портфеле»? Отвечаю, убывающие компании (по выручке) вообще отсутствуют в скринере, они отбрасываются на предварительном этапе фильтрации. Но если вдруг прибыль компании начнет снижаться,  то это отразится на показателях роста, а также вырастет показатель отклонения прибыли. По этим критериям компания опустится в рейтинге. 
8) «давать ранжирование по диапазонам разных показателей.» Это интересная идея, спасибо.
Алексей Клочков, 
1) С долгами согласен, количество конечно не так критично. Я обычно использую коэффициент текущей ликвидности, то есть способность компании погасить свои обязательства за счет оборотных активов. Слишком низкое значение говорит о проблемах с деньгами или вообще о преддефолтном состоянии.
2, 3) дело вкуса. Я обратил внимание, что консенсус-прогнозы часто попадают достаточно близко к фактическим значениям.
4) С DCF согласен, достаточно хлопотно и не всегда объективно получается.
5, 6) Конечно понятна такая идея, удобно сравнивать сходные компании. Это работает только с похожими компаниями. А сейчас видно что у некоторых есть критические аномалии в показателях, но остальные показатели чуть лучше, это ставит их в рейтинге на одну ступеньку с просто неплохими компаниями. Допустим, с отрицательным P/E или с космически высоким. Это разные риски. Отсюда и идея все-таки разделять по группам. Или может давать другую систему баллов и перемножать их, чтобы такие аномальные опускались ниже. Честно, я так и не смог придумать как сделать более-менее справедливое распределение. Подобный подход с баллами есть в книжке www.magicformulainvesting.com/, пробовал тестировать портфели с таким подходом. Не понравилось, предполагаю именно из-за того что вот такие критические отклонения в показателях не учитываются.

Александр Крапильский, планирую дорабатывать методику. Думаю добавить систему штрафов и бонусов, например, плюс 0.1 за положительную динамику рентабельности за последние годы или штраф -0.1 за отрицательный собственный капитал. Также думаю по некоторым столбцам максимальный балл скорректировать выше 1. Так, показателей, отвечающих за темпы роста (4) заметно меньше, чем показателей риска (9). Поэтому вклад в общий рейтинг темпов роста можно увеличить, сделав макс бал по росту например 2. Мое мнение, что итоговая таблица это помощь для человека, я не верю в слепое инвестирование по данной методике, а скорее вектор, на какие тикеры обратить внимание в данный момент. Поэтому не стоит очень глубоко углубляться в подгонку коэффициентов, пытаться тестировать историю.
Кстати, Вы правильно догадались, идея скринера родилась после прочтения книги «Little book that beats the market».
Спасибо за обсуждение!
 Алексей Клочков, о еще вспомнил доход.ру тоже использует систему баллов, www.dohod.ru/ik/analytics/share посмотрите, может натолкнет на какие-то идеи. Без значений, только по баллам сложно судить об успешности компании, но все равно очень интересно.
Интересно. Пытался получать фундаментальные данные для российских бумаг, использовал R. Данные  на Yahoo  ограниченные, бросил эту затею.  
avatar
Vladimir Diaditchev, по России ничего лучше смартлаба не знаю и не могу посоветовать. Таблицы по компаниям неплохие, ими и пользуюсь. Жалко, не все показатели есть. Например, мне процентных платежей не хватает. Но на нашем рынке выборка компаний небольшая. За два года уже выучил основные. А по зарубежным вот советчика и создал, там статистика побольше будет.
Алексей Клочков, Отличная работа, успехов. 
avatar

теги блога Алексей Клочков

....все тэги



UPDONW
Новый дизайн