Избранное трейдера Роман Давыдов
Акции с высокой дивидендной доходностью часто являются отличной инвестиционной стратегией для инвесторов, стремящихся получать приток денежных средств каждый год. В данной статье буден создан скрипт на Python для отбора их на бирже NASDAQ.
Что такое дивидендная доходность?Пример
При цене акции ОАО «Лукойл» 1124,37 рублей и дивиденде 28 рублей на акцию дивидендная доходность будет равна:
Altman Z-Score, названный в честь его создателя Эдварда Альтмана, используется для оценки риска банкротства компании по сравнению с группой аналогичных компаний.
Это число, которое показывает, насколько сильно одна точка данных выделяется из среднего значения всех точек данных в аналогичной группе. Это значение можно рассчитать для любой группы данных, чтобы сравнить их отклонение со средним значением по группе.
Например, вы можете использовать Z-Score, чтобы сравнить длину размаха рук Василия Олейника со средним аналогичным значением для всех инвесторов. Или вы можете сравнить доходность акций одной компании со средней доходностью акций всех компаний, входящих в индекс S&P 500.
📍 В мире финансов и инвестиций Z-Score Эдварда Альтмана имеет более конкретную цель и является одним из многих способов измерения финансового состояния компании. Для расчета используются различные финансовые показатели, такие как оборотный капитал, общие активы и обязательства, нераспределенная прибыль и EBIT, а также рыночная стоимость собственного капитала и балансовая стоимость общих обязательств.
(Взрывной рост) Экспоненциальные организации — почему новые организации в 10 раз лучше, быстрее и дешевле, чем ваша (и что с этим делать) Салим Исмаил, Майкл Мэлоун, Юри ван Геест
Электронная книга t.me/kudaidem/1965
Привет! Бегло полистал SL и обнаружил, что книжные обзоры делятся на 2 типа – инвесторские и хардкорное алго (HFT и опционы). Промежуточный вариант попытаюсь закрыть данным постом. По уровню сложности книги в обзоре находятся между зубодробительной подборкой от Eugene Logunov https://smart-lab.ru/blog/534237.php и приятным чтивом по фундаментальным стратегиям.
1) Lasse H. Pedersen – Efficiently Inefficient
Отличная книга и №1 по соотношению польза/сложность. Автор показывает, как кванты тестируют и отбирают стратегии в портфель. Условно ее можно разделить на 4 части: арбитраж, факторные стратегии, глобал макро и технические моменты запуска и финансирования фонда. HFT и опционные стратегии упоминаются вскользь. Наверное, книга подойдет и для совсем начинающих, т.к. все метрики (вплоть до волатильности) и базовые концепции раскрываются с 0.
LHP – один из боссов крупного хедж фонда в Гринвиче, но в отличие от Далио или Дракенмиллера, еще и хардкорный академик. Поэтому в книге любое утверждение подтверждается ссылками, а для глубокого погружения есть отличный список первоисточников. Понятно, что никаких секретов своего работодателя LHP не раскрывает, но профильные главы для меня оказались полезными в плане идей + отсылки туда, где копать глубже.
Вначале пару слов об авторе. Рабочий стаж Говарда Маркса в финансовой сфере – более 40 лет. Сейчас он является совладельцем крупной инвестиционной компании, под управлением которой свыше $120 млрд.
За время карьеры автор прошел через множество рыночных катаклизмов, прочувствовав их изнутри. И это легло в основу стройной системы функционирования рынков, которую он раскрывает книге «Рыночные циклы».
Согласно Марксу, в основе циклических изменений в финансовой сфере лежит поведение людей. А поведение редко находится в равновесии, когда речь идет о потерях или приобретениях. Так и проскакивает человек это равновесное состояние на пути от алчности к страху, и обратно.
Естественно, эта неоптимальность в нашем поведении отражается на всех уровнях принятия финансовых решений. Будь то вложение в акции, получение займа или покупка недвижимости.
В книге автор доносит до читателя три момента:
Многим известно, что инфляция негативно влияет на доходность инвестиции. Но не все умеют правильно рассчитывать реальную доходность с учетом инфляции.
Проверьте себя 👇.
Сначала определимся, что является доходностью.
Деньги обладают покупательной способностью. То есть в будущем на одну и ту же сумму сможете купить меньшее количество товаров и услуг. Покупательная способность денег определяется инфляцией.
Поэтому есть два варианта доходности:
Как рассчитать реальную доходность?
Я заметил, что многие считают этот показатель по простой формуле:
Реальная доходность = Номинальная доходность — Инфляция
Но этот способ неточен. Причем, чем выше инфляция, тем точность все ниже.
Выводы
1. В общем рейтинге с учетом всех рынков первое место занял метод усредняющий три прогноза: г-на Твардовского, г-на Механизатора и экспоненциальный.
2. Подход г-на Твардовского с подобранным мной множителем подтвердил свою прогнозную силу на различных рынках. Для российского рынка акций и фьючерсов данный метод оказался наилучшим. Для commodities, индексов и американских акций этот подход вошел в тройку лучших. Для дневного таймфрейма подход г-на Твардовского оказался самым точным для выбранной группы из пяти активов.
3. Экспоненциальный метод также доказал свою полезность, заняв третье место в общем рейтинге. Для американских акций прогнозы в рамках данного подхода оказались самыми точными.
4. Подход г-на Механизатора с выбранным мной множителем уступил лидерские позиции другим методам, но оказался полезен при совместном использовании с другими способами .
5. Для часового таймфрейма популярные подходы Parkinson, Yang-Zhang, Rogers-Satchell и Garman-Klass в большинстве случаев оказались хуже даже базового метода расчета исторической волатильности. Впрочем, для дневного таймфрейма показатели этих методов (в частности, подхода
# В КВИКе запускаем луа-скрипт 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()
Привет всем любителям и ценителям опционов. С большим вниманием ознакомился с содержанием раздела на смартлабе и принял решение зарегистрировать здесь свой опционный блог. Пока учился торговле этим замечательным инструментом, перечитал стопку учебников, пересмотрел сутки видеороликов на русском и английском, взял платные курсы, облазил интернет в поисках скудных крох практических аспектов, но в итоге все практические навыки пришлось извлекать самому, некоторые — весьма болезненно. Думаю, от меня не убудет поделиться, и считаю, что удивительный мир опционной торговли заслуживает того, чтобы о нем писали больше и чаще.
Во первых строках — кратко о себе и о том, что, как и где торгую. Мне 46, в мир опционов пришел давно, лет 5 назад, но с первого захода не сложилось — торговал рублевыми опционами, и неудачно. Я потом объясню, почему неудачно. В прошлом году покинул, наконец, работу, открыл счет в IB, закинул туда столько, сколько не жаль потерять полностью, и начал учиться на свои кровные. Начал, как водится, с покрытых коллов. Потом перешел к голым путам. Кривая обучения выглядит классически: первые два месяца — уверенный, но небольшой плюс.