Блог им. vds1234
Добрый вечер, друзья!
В продолжение моего эксперимента с оценкой доходности рекомендаций от Zacks (см. https://smart-lab.ru/blog/673772.php) я перелопатил вчера кучу эмитентов и выбрал компании, имеющие максимальный инвестиционный рейтинг от Zacks (1-Strong Buy).
Выкладываю на Смарт-Лабе исключительно для фиксации списка тикеров. Посмотрим что будет с котировками этих компаний через 6 месяцев.
Лучше руками не лопатить, а мини прогу-парсер на каком-нибудь питоне написать.
Вот мой код для примера, парсит short float, short ratio, FWD PE, PS для тикеров с СПб биржи (в файле) с finfiz
--------
from bs4 import BeautifulSoup as BS
from urllib.request import Request, urlopen
import xlsxwriter
i=0
#открываем список тикеров
with open(«D:/FinanceMarker/TICKs.txt», «r») as TICKs:
TICKs = [line.rstrip() for line in TICKs]
print(TICKs)
# открываем новый файл на запись
workbook = xlsxwriter.Workbook(«D:/FinanceMarker/Short.xlsx»)
# создаем там «лист»
worksheet = workbook.add_worksheet('Main')
for TICK in TICKs:
try:
url = 'https://finviz.com/quote.ashx?t=' + TICK
headers = {«user-agent»: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (HTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36»}
r1 = Request(url, headers=headers)
webpage = urlopen(r1).read()
html = BS(webpage, «html.parser»)
#берем нужные данные по столбикам и строчкам
short_float = html.find_all('table', class_='snapshot-table2')[0].find_all('tr')[2].find_all('td')[9].text
short_ratio = html.find_all('table', class_='snapshot-table2')[0].find_all('tr')[3].find_all('td')[9].text
forward_PE = html.find_all('table', class_='snapshot-table2')[0].find_all('tr')[1].find_all('td')[3].text
PS = html.find_all('table', class_='snapshot-table2')[0].find_all('tr')[3].find_all('td')[3].text
#записываем в таблицу
print(str(TICKs.index(TICK)) + ' из ' + str(len(TICKs)) + ' Прогресс: ' + str((TICKs.index(TICK)*100)//len(TICKs)) + '%')
worksheet.write(i, 0, TICK)
worksheet.write(i, 1, short_float.replace('.',','))
worksheet.write(i, 2, short_ratio.replace('.',','))
worksheet.write(i, 3, forward_PE.replace('.',','))
worksheet.write(i, 4, PS.replace('.',','))
i = i+1
except:
print('ERR')
workbook.close()
А работает норм? у вас же там нет времени ожидания, пока скачается страничка
Вообще finviz ok, но хочется еще и ebitda, а ее там нет, а с yahoo все сложнее.
Это другой подход, отличный от zacks, тк в финвизе свои рейтинги и таргеты, берутся из консенсуса
ок. 750 тикеров
чё сразу «купим» ?
я вам не роман андреев и прочие.
я же пользуюсь здесь чужой обработанной информацией совершенно бесплатно, так почему я буду деньги брать ?
будет минутка свободная — перефотаю и выложу на своей страничке.
пишу редко.налистать будет несложно. заходи )
сделаю!
Кроме этого, на Zacks периодически публикуются списки из strong buy и strong sell бумаг на текущий момент.
У меня просто была такая идея недавно. Хочу попробовать долгосрочный портфельчик из этого рейтинга. :)
В то же время, я предпочитаю равную долю эмитентов в портфеле поэтому покупать по одной акции на каждого эмитента не совсем корректно.
Почему работают такие рейтинги? Потому что многие крупные инвесторы ими пользуются и толкают цены вверх своими покупками. Но под высокими рейтингами могут также скрываться акции, в которых есть «проплаченный» интерес, а не только исключительно экономические показатели.
Компании роста давно заменили дивиденды на байбэки, благодаря чему раскручивают свои котировки до небес, обеспечивая акционерам доходность на росте курсовой стоимости портфеля в 40-50% годовых.
Тем интереснее будет посмотреть результаты нашего эксперимента.
Спасибо за подсказку.
Тоже немного поэксперементиеровал с бумагами, час убил)
Просто предположил что из этого будет если просто взять эти бумаги в равных долях в портфель. Вот что получилось)
— текущая средневзвешенная цена к прибыли: 2,86— текущая средневзвешенная капитализация к выручке: 53
— текущая средневзвешенная див. доходность: 2,14%
— текущее средневзвешенное качество акций: 63 баллов, из них две трети бумаг выше среднего качества рынка, одна треть намного хуже
— текущее средневзвешенное стоимость акций: 70 баллов, половина бумаг выше средней стоимости рынка
— текущее средневзвешенный рост продаж: 62 балла, половина бумаг выше среднего роста продаж
- текущая средневзвешенная волатильности портфеля: 52 балла, можно сказать волатильность портфеля схожа с рынком 10% бумаги с низкой волатильностью, 20% волатильностью выше рынка
На прошлых периодах этот портфель проигрывал бы рынку, на отрезке в 3 года: 7 к 13, в 5 лет: 11 к 15, в 10 лет: 8 к 11
При прошлой рыночной волатильности портфель проседал бы сильнее чем рынок, восстонавливался медленее.
Основные позиции портфеля: финансовый сектор: 33%, потребительский 21%, технологический 16 %, промышленный 7%, здравоохранение 5%, коммуникационный 5%, недвижимость и энергетика по 2%
Что можно сказать, думаю надо ещё отбирать по новостному фону, упор идёт так сказать на финансовый сектор, при росте ставки может оно так и будет, кто же знает… хотя есть большие сомнения, зачем в новой модели распределения денег (в современной то денежной политики) необходимы ли вообще коммерческие банки))
Для принятия решений по покупке нужны тригерры, новостные или системные, в самих цифрах увы я их совсем не вижу, хотя может сработать правило: налетай — подешевело)) рынок то совсемкуку стал)
Возможно кому так же интересно, как ведет себя портфель, правда из тех 40+ бумаг я выбрал лишь по моей оценки лучшие 21, в равных долях. да и инвестиционный портфель получается более сбалансированный по секторам. прошло два месяца)
Прошло 4е месяца, портфель показал рост в 23%, что в два раза выше бенчмарка, при этом просадка по по портфелю не увеличилась, риск доходность по прошествию 4 месяцев остается лучше рынка, примерно вдвое ...
Так же стоит отметить что благодаря ставки на финансовый сектор результаты портфеля впечатляют, при этом корреляция активов финансового сектора довольно высока в сравнении с другими секторами, пятая часть портфеля показывает всё ещё отстающую риск доходность. Так же активы портфеля недостаточно сбалансированы по моменту и стоимости ...
Риск доходность полного портфеля Zacks отстает на 5 пунктов, от данного референтного, но так же выше бенчмарка.