Избранное трейдера LeO
Ключевая ставка – это процент, под который Центральный банк кредитует коммерческие банки. Те добавляют свою накрутку – маржу – и выдают кредиты бизнесу и населению. Чем ниже ключевая ставка, тем дешевле кредиты, тем лучше развивается экономика. Но влияние этого показателя сложное и многогранное. В российских реалиях, в отличие от американских или европейских, его нельзя опустить до нуля. Если это сделать, то у нас резко ослабеет рубль, а инфляция станет галопирующей.
Моя программа Экономика на телеканале Крым-24
Похоже, никому в этом мире верить нельзя. В начале 2021 года по всему миру прокатилась новость от «надёжных источников в Bloomberg» о том, что Норвежский суверенный фонд продал весь нефтегазовый сектор из своего портфеля!
На первой странице гугла я встретил статьи от Интерфакса, РБК, Коммерсанта, Медузы и The Bell с заголовком «Суверенный фонд Норвегии продал весь пакет акций нефтяных компаний». Нет, не продал, и это всё фэйк ньюс.
Норвежский пенсионный фонд (он же — Суверенный фонд Норвегии) — это огромный институциональный инвестор, который по итогам 2020 года отчитался о том, что инвестирует уже более $1 трлн в 9123 компании по всему миру.
Ещё тогда меня удивила такая цитата у наших фэйкоделов:
Привет! 2 года назад мы с научруком начали готовить исследование по особенностям ценообразования на развивающихся рынках на данных с Мосбиржи. Имея опыт написания кода и аналитических обзоров в банках, я думал, что под крылом опытного ученого справлюсь с этой задачей месяца за 3. Как же я был неправ.
Небольшая предыстория о переходе из индустрии ДУ в науку.
До 2018 успел поработать на разных позициях в одном из отечественных family офисов. Это была отличная школа для входа в индустрию: от выставления замороченных заявок в плазе, до выступлений на инвестиционных комитетах. Но работа не масштабировалась, а в одном из региональных банков открывалось брокерское направление. В обмен на знание о структуре биржевых торгов, регламентов и базовых квантовых стратегий предлагался предлагалось почти с 0 начать новое направление. Недолго думая, перехожу из трейдеров менеджеры.
Добрый день, друзья!
Мой пост об отчетах 10-K, 10-Q и 8-K американских эмитентов (https://smart-lab.ru/blog/677043.php) вызвал достаточно большой отклик среди Смарт-Лабовцев (68 ⭐️ + 326 ❤️). Поэтому выполняю своё обещание и рассказываю о методике анализа отчетов 8-К, которая в прошлом году принесла мне 50% годовых в долларах США (https://smart-lab.ru/blog/668157.php).
Внимание: лонгрид. Если у Вас в данный момент нет возможности на 15 минут сосредоточиться на изучении достаточно сложной информации – лучше добавить пост в избранное и вернуться к его прочтению позже.
В прошлый раз мы пришли к выводу о том, что отчеты 10-K содержат только прошлые данные, в силу чего информация, отражённая в них, уже заложена в текущие котировки акций. А с учётом того, что изучение формы 10-K является достаточно трудоёмким процессом, то для частного инвестора эта форма теряет всякий смысл.
На прошлой неделе мы стали свидетелями большой волатильности акций эмитентов третьего эшелона рынка РФ, таких как: Белуга, Красный Октябрь и других жертв рыночных манипуляций группы лиц, преследующих цель спекулятивного обогащения по предварительному сговору. Не буду заострять внимание на платформах каких сообществ и телеграмм каналов это происходит, хочу только обратить внимание на то, как можно, даже не разбираясь в причинах роста, по характеру тренда определить степень серьезности изменения цены бумаги.
Давайте вспомним, что такое тренд.
Определение тренда по графику при помощи правильно начерченной линии позволяет без сложных инструментов понять верное направление цены и вести торговлю по тренду. Для этого нужно открыть терминал с тайм фреймом, на котором работает трейдер, и попытаться соединить крайние точки цены одной линией.
Наложенная линия под углом должна проходить минимум через два максимума или минимума. Если в результате она соединяет три и более точки, то это еще лучше и вернее подтверждает тренд.
# В КВИКе запускаем луа-скрипт QuikLuaPython.lua import socket import threading from datetime import datetime, timezone import pandas as pd import finplot as fplt fplt.display_timezone = timezone.utc class DeltaBar(): def __init__(self): self.df = pd.DataFrame(columns='date_time open high low close delta delta_time_sec'.split(' ')) self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0] def parser(self, parse): if parse[0] == '1' and parse[1] == 'RIH1': if abs(self.df.iloc[len(self.df) - 1]['delta']) >= 500: self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0] # Добавляем строку в DF self.df.iloc[len(self.df) - 1]['close'] = float(parse[4]) # Записываем последнюю цену как цену close бара if self.df.iloc[len(self.df) - 1]['date_time'] == 0: self.df.iloc[len(self.df) - 1]['date_time'] = \ datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f").replace(microsecond=0) if self.df.iloc[len(self.df) - 1]['open'] == 0: self.df.iloc[len(self.df) - 1]['open'] = float(parse[4]) if float(parse[4]) > self.df.iloc[len(self.df) - 1]['high']: self.df.iloc[len(self.df) - 1]['high'] = float(parse[4]) if (float(parse[4]) < self.df.iloc[len(self.df) - 1]['low']) or \ (self.df.iloc[len(self.df) - 1]['low'] == 0): self.df.iloc[len(self.df) - 1]['low'] = float(parse[4]) if parse[5] == '1026': self.df.iloc[len(self.df) - 1]['delta'] += float(parse[6]) if parse[5] == '1025': self.df.iloc[len(self.df) - 1]['delta'] -= float(parse[6]) self.df.iloc[len(self.df) - 1]['delta_time_sec'] = \ datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f") - \ self.df.iloc[len(self.df) - 1]['date_time'] self.df.iloc[len(self.df) - 1]['delta_time_sec'] = self.df.iloc[len(self.df) - 1]['delta_time_sec'].seconds def service(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(('127.0.0.1', 3587)) # Хост-этот компьютер, порт - 3587 while True: res = sock.recv(2048).decode('utf-8') if res == '<qstp>\n': # строка приходит от клиента при остановке луа-скрипта в КВИКе break else: delta_bar.parser(res.split(' ')) # Здесь вызываете свой парсер. Для примера функция: parser (parse) sock.close() def update(): df = delta_bar.df # Меняем индекс и делаем его типом datetime df = df.set_index(pd.to_datetime(df['date_time'], format='%Y-%m-%d %H:%M:%S')) # print(delta_bar.df) # pick columns for our three data sources: candlesticks and TD candlesticks = df['open close high low'.split()] volumes = df['open close delta_time_sec'.split()] if not plots: # first time we create the plots global ax plots.append(fplt.candlestick_ochl(candlesticks)) plots.append(fplt.volume_ocv(volumes, ax=ax.overlay())) else: # every time after we just update the data sources on each plot plots[0].update_data(candlesticks) plots[1].update_data(volumes) if __name__ == '__main__': delta_bar = DeltaBar() # Запускаем сервер в своем потоке t = threading.Thread(name='service', target=service) t.start() plots = [] ax = fplt.create_plot('RIH1', init_zoom_periods=100, maximize=False) update() fplt.timer_callback(update, 2.0) # update (using synchronous rest call) every N seconds fplt.show()
Попался на глаза интересный индикатор от аналитической компании Morningstar. Называется Справедливая рыночная стоимость (Market Fair Value). Есть информация как по всему рынку акций, так и по секторам.
Можно посмотреть в какие периоды рыночной истории цены на акции были привлекательными. Как правило, это периоды сильных потрясений на рынках вроде Мирового финансового кризиса в 2008 году или прошлогодний обвал на коронавирусных опасениях.
Давайте посмотрим подробнее.
Если график в зеленой зоне, то акции в настоящий момент недооценены. Если в красной — переоценены.
Увы, почти по всем секторам индикатор в красной зоне. Можно сказать, на рекордно высоких значениях.
График оценки всего рынка
В начале года индикатор зашкалил на рекордную отметку.
Во время обвала весной прошлого года, наоборот, акции были существенно недооценены.