Избранное трейдера LeO
Если вы решили начать инвестировать, то один из первых возникающих вопросов, а какого брокера выбрать. Мы здесь не будем подробно описывать тарифы отдельных брокеров, только основные моменты, главные плюсы и минусы. Дополнительно мы рассмотрим условия банковского обслуживания, поскольку сейчас почти все брокеры либо интегрированы с банками, либо сами являются банками. Наличие активов на брокерском счете дает вам дополнительные преимущества в банковском обслуживании, о чем мы поговорим ниже. Что касается конкретных брокерских тарифов, они примерно одинаковы у всех брокеров. Можно сказать обобщенно, что средняя брокерская комиссия по рынку составляет около 0,05% от суммы сделки на российских биржах, плюс фиксированная (депозитарная) не более 200 рублей в месяц. Если комиссии по вашему текущему тарифу сильно выше этих цифр, это повод как минимум обновить тариф (брокеры их постоянно меняют) или сменить брокера.
Конечно, прежде всего выбор брокера зависит от задач, которые вы ставите. Базово мы рассматриваем сценарий, что нам нужен ИИС и брокерский счет, на котором мы будем периодически покупать акции и облигации на Мосбирже и иностранные акции на СПБ, а также доступ на валютный рынок. Размер активов на счете желателен выше 50 тысяч рублей (у многих брокеров есть ограничение по минимальной сумме для открытия счета или дополнительные комиссии). Если сумма активов будет выше 2-3 миллионов рублей (у всех по-разному), вы попадете в разряд премиальных клиентов с определенными дополнительными привилегиями.
Ключевая ставка – это процент, под который Центральный банк кредитует коммерческие банки. Те добавляют свою накрутку – маржу – и выдают кредиты бизнесу и населению. Чем ниже ключевая ставка, тем дешевле кредиты, тем лучше развивается экономика. Но влияние этого показателя сложное и многогранное. В российских реалиях, в отличие от американских или европейских, его нельзя опустить до нуля. Если это сделать, то у нас резко ослабеет рубль, а инфляция станет галопирующей.
Моя программа Экономика на телеканале Крым-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 является достаточно трудоёмким процессом, то для частного инвестора эта форма теряет всякий смысл.
На прошлой неделе мы стали свидетелями большой волатильности акций эмитентов третьего эшелона рынка РФ, таких как: Белуга, Красный Октябрь и других жертв рыночных манипуляций группы лиц, преследующих цель спекулятивного обогащения по предварительному сговору. Не буду заострять внимание на платформах каких сообществ и телеграмм каналов это происходит, хочу только обратить внимание на то, как можно, даже не разбираясь в причинах роста, по характеру тренда определить степень серьезности изменения цены бумаги.
Давайте вспомним, что такое тренд.
Определение тренда по графику при помощи правильно начерченной линии позволяет без сложных инструментов понять верное направление цены и вести торговлю по тренду. Для этого нужно открыть терминал с тайм фреймом, на котором работает трейдер, и попытаться соединить крайние точки цены одной линией.
Наложенная линия под углом должна проходить минимум через два максимума или минимума. Если в результате она соединяет три и более точки, то это еще лучше и вернее подтверждает тренд.
Построение нестандартных графиков в Python при помощи библиотеки finplot.# В КВИКе запускаем луа-скрипт 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()

