Избранное трейдера Вельвет

по

Как модифицировать стратегию Dogs of the Dow

А вот и новая заметка от JC-trader
www.jc-trader.com/2021/09/dogsofthedow.html
------------------------------------------------------------

Как модифицировать стратегию Dogs of the Dow

Когда-то давно, в прошлом веке, была очень популярна стратегия инвестирования под названием Dogs of the Dow. Стратегия приносила доход значительно выше доходности индекса и была очень простая. Раз в год надо было выбрать из индекса Dow30 десять компаний с самой высокой дивидендной доходностью в процентах и держать их акции весь следующий год. Смысл выбора акций с самой высокой дивидендной доходностью в том, что она повышается в случае если цена акций снижается. Другими словами, покупаем то, что дешево и надеемся что оно будет расти сильнее чем остальное. В прошлом веке такая стратегия себя оправдывала. 

Проведем тест стратегии для акций Dow30 (без ошибки выжившего) за последние 15 лет. Итак, видим что в последние годы стратегия (красная) приносит доходность хуже индекса S&P500 (синий). 



( Читать дальше )

Анализ и визуализация данных в финансах — анализ ETF с использованием Python

    • 18 сентября 2021, 00:55
    • |
    • Aleks
  • Еще
С проникновением аналитики во многие сферы нашей жизни она не могла обойти стороной финансы. В этой статье рассмотрим ее применение для анализа ETF с целью их анализа, в том числе и с применением визуализиции.

1. О данных

Для анализа будем использовать данные ETF c базовой валютой USD: FXCN, FXRL, FXIT, FXUS и FXRU. Временной ряд рассмотрим за три года с 2018 по 2020 года. Само исследование проведем в Google Colaboratory.

Как обычно в начале импортируем все необходимые библиотеки для дальнейшей работы.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from google.colab import files
import warnings
warnings.filterwarnings("ignore")
Сначала необходимо получить данные. Есть несколько способов. Мы воспользовались — взяли их с Finam в формате csv. Дальше написал функцию для обработки полученных данных и при помощи concat свел их в один датафрейм.

def changeDF(df):
  df['date'] = pd.to_datetime(df['<DATE>'].astype(str), dayfirst=True)
  name =[x for x in globals() if globals()[x] is df][0]
  df = df.drop(['<DATE>','<TIME>', '<OPEN>', '<HIGH>', '<LOW>'], axis=1)
  df = df.set_index(['date'])
  df.columns = [name+'_cl', name + '_vol']
  return df

fxgd_change = changeDF(fxgd)
fxrl_change = changeDF(fxrl)
fxit_change = changeDF(fxit)
fxus_change = changeDF(fxus)
fxru_change = changeDF(fxru)
fxcn_change = changeDF(fxcn)

etf = pd.concat([fxgd_change, fxrl_change, fxit_change, fxus_change, fxru_change, fxcn_change], axis=1)

etf.head()
В результате получили:

( Читать дальше )

Для матмод

Экспонента — показательная функция exp(x) = ex, где e — основание натуральных логарифмов (e = 2.7182818284590451...).
«e» — основание натурального логарифма, математическая константа, иррациональное и трансцендентное число. Приблизительно равно 2,71828. Иногда число e называют числом Эйлера или числом Непера. Обозначается строчной латинской буквой «e».
Константу впервые вычислил швейцарский математик Якоб Бернулли в ходе решения задачи о предельной величине процентного дохода. Он обнаружил, что если исходная сумма $1 и начисляется 100% годовых один раз в конце года, то итоговая сумма будет $2. Но если те же самые проценты начислять два раза в год, то $1 умножается на 1,5 дважды, получая $2,25 (т. е. 1$*50%=1,5$, затем 1,5$*50%=2,25$). Начисления процентов раз в квартал (4 раза в год, т. е. каждый квартал к новой полученной сумме прибавляем 25%) получаем $2,44140625, и так далее. Бернулли показал, что если частоту начисления процентов бесконечно увеличивать, то процентный доход в случае сложного процента будет равен числу 2,718.
Т. е. «е» — это максимально возможный прирост сложного процента за определённый период (например за год) при начислениях равных 100%.

Подводные камни при покупке акций с низким P/E. График от Bank of America.

Подводные камни при покупке акций с низким P/E. График от Bank of America.
График показывает как доходность инвестиции на основе показателя P/E зависит от срока инвестиции.

P/E (Price/EPS) — соотношении цены на акцию к прибыли на акцию — за сколько лет предприятие окупает себя.

Общий вывод по графику:

Чем дольше срок инвестирования, тем важнее показатель P/E.
Покупая акции с низким P/E, будьте готовы ждать доходности.

Какие практические выводы можно сделать из этого графика?

1. Если я покупаю акцию, основываясь на показателе P/E, то срок инвестиции должен быть минимум 10 лет. Тогда с 80% вероятностью основание для инвестиции будет верным.

2. Если я покупаю акцию, основываясь на показателе P/E, то мне не стоит ждать быстрых результатов. 1 год инвестиции дает лишь 6% ожидаемой доходности. Чтобы получить 50% ожидаемой доходности, нужно ждать 8 лет.

( Читать дальше )

Опционы в IB. Первая сделка.

Открыл счет для торговли опционами в IB.
Что учитываю:
1. Опционы на акции торгуются лотами по 100 акций. 
2. Смотреть ликвидность по акциям. 
3. Торговля дешевыми акциям до 20 долл. Причина маленький счет 200 тыс.руб.

Стратегия покупка волатильности, по акциям, у которых ранее была высокая вола и стала снижаться. Возможен рост. Либо спреды.
Выбор акции. Использую следующее: 
1. https://algodeviant.com/stocks.html
Своими фильтрами отбираю, по какому акции буду строить позицию. 
Пример выбрана акция PLTR.
2. По ссылке уже перехожу сюда https://finance.yahoo.com/quote/PLTR
Смотрю график. Общую инфу. Лезу в раздел опционы, смотрю спреды и объемы. Если спреды широкие между страйками или объем открытых позиций менее 500 не лезу. Закрываю. Раздел опционы — стредл. 
3. Уже по выбранной акции открываю TWS Option brokers.
Ввожу тикер. Смотрю спреды в ценах на опционы. Объемы. Также сравниваю цены, ту ли акцию нашел. Бывает с похожими наименованиями. 

( Читать дальше )

Подборка полезных ресурсов без Yahoo Finance и Seeking Alpha: данные, идеи и воспроизводимые исследования

Привет, в этот раз будет общий пост про полезные источники в сети, где можно бесплатно взять данные, примеры кода и другие полезные вещи.

Более направленные подборки по идеям можно посмотреть здесь https://smart-lab.ru/blog/628709.php, а по книгам здесь https://smart-lab.ru/blog/681121.php

Биржевые данные:

Биржевые:

  • https://www.quandl.com Quandl. Простой и адекватный API для Python, много бесплатных данных по отдельным биржам. Например, по Гонконгской и Варшавской бирже. Есть данные по сырьевым фьючерсам и другому сырью. Экономическая статистика и альтернативные данные тоже есть в бесплатном варианте. В отличие от других сайтов с котировками и графиками – здесь промышленная выгрузка для исследований;
  • https://stooq.com Stooq. Неожиданно богатый бесплатным контентом локальный сайт (Польша). Большая часть не представляет интереса и можно сразу перейти к большим (для бесплатных) выборкам биржевых данных по США, некоторым европейским и азиатским странам


( Читать дальше )

Использование API Fmp Cloud для отбора акций по дивидендам на Nasdaq с помощью Python

    • 21 марта 2021, 20:02
    • |
    • Aleks
  • Еще

Акции с высокой дивидендной доходностью часто являются отличной инвестиционной стратегией для инвесторов, стремящихся получать приток денежных средств каждый год. В данной статье буден создан скрипт на Python для отбора их на бирже NASDAQ.

Что такое дивидендная доходность?

Возьму определение из Википедии. Дивиде́ндная дохо́дность (англ. dividend yield) — это отношение величины годового дивиденда на акцию к цене акции. Данная величина выражается чаще всего в процентах.

Пример

При цене акции ОАО «Лукойл» 1124,37 рублей и дивиденде 28 рублей на акцию дивидендная доходность будет равна:

Использование API Fmp Cloud для отбора акций по дивидендам на Nasdaq с помощью Python
Так же необходимо обратить внимание, что многие растущие компании, такие как для примера Amazon и Yandex, не выплачивают дивиденды, поскольку они реинвестируют всю прибыль в развитие бизнеса. Поэтому дивидендная доходность для этих фирм будет равна нулю.

Расчет дивидендной доходности с помощью Python



( Читать дальше )

Сантименты на американском рынке. Продолжение. 2.

Cтал потихоньку видеть разницу между американским и российским рынком. Понятие интуитивное и наверно наивное и может даже не верное, так как опыт у меня исключительно внутрироссийский. Успешный трейдинг в Америке — это найти фишку которая выстрелит и сидеть на ней. Все эти неэффективности которые кто то пытается выловить техиндикаторами или линиями или еще чем то еще — давно уже там уничтожены  с точки зрения эффективного трейдинга. Эффективного в смысле дающего заработать на хлеб с маслом. На росбирже торгуется определенное число фишек, никто особо не выстреливает из ниоткуда и не падает в ноль, то есть искать какие то новые компании, которые взлетят, негде, да и незачем (пишу сие на фоне позавчерашнего взлета ТМК хехе), зато в наших 20+ более менее ликвидных фишках есть неэффективности, из которых можно извлекать прибыль. Поэтому мой российский подход для американского не годится (хотя допускаю что для определенной категории акций, не очень проторгованных, какие то хорошие неэффективности и можно найти). Хорошо, как найти это фишку которая выстрелит? А тут уж как вам душа скажет, хотите ковыряйте фундамент, хотите теханализ, хотите читайте отчеты и пытайтесь понять зайдет или нет новая услуга, хотите еще что, благо биржевая инфраструктура в США развита как нигде в мире и вы можете найти любую информацию о любой компании, в структурированной и удобной для анализа форме. И получив эту гору информации, перед вами свободное творчество — запускайте свои нейросетки и ищите, ищите, ищите, нечто что позволит вам выйти на истории, в привлекательную для вас кривую equty, а затем помолясь и перекрестившись пробуйте использовать сие в реальной торговле. И такой подход большой плюс для тех кто хочет побольше изучить всякие методы машинного обучения, то есть для меня. 
Пока я в NLP, это значит берем текст: отчеты, мнения, твиты, итд итп и получаем его количественные оценки, с точки зрения сантиментов например, или схожести одного текста к другому. Ну а дальше по схеме — фичи есть, прикручиваем какой то инструмент машингленинга. И самое  неожиданное, применив даже самый наивный подход оценки сантиментов, я получил положительный результат.  
В последний раз, получив положительный результат для 7 раздела отчета К-10, я решил увеличить выборку, и плюнув, начал прогонять К-10 полностью, увеличив выборку с 2000 отчетов до 4000. Ну и получил примерно такой же, соотносящийся с логикой результат: если в отчете негатива побольше, компании растут поменьше и наоборот. Заодно получил ответ на странную зависимость доходности от размера отчета — в значительной части это обьясняется тем что компании сектора Information Technology или Health Care имеют склонность писать небольшие отчеты, а например сектора Materials или Financials побольше, только вот так получилось что за последние 10 лет первые вырастали в среднем на +20% а последние на +15%. Если учесть секторальную принадлежность, то все равно окажется что компании меньше льющие воду в 7 разделе 10-К, имеют динамику акций лучше, но это будет уже разница не в 7%, а в 2%.
Все это я получил используя National Research Council Canada (NRC) affect lexicon. Напомню такой лексический подход до жути прост, берется текст и считается сколько в нем позитивных слов, негативных, «слов доверия», «слов страха» итп итд Но помимо него есть другие библиотеки слов, Lexicon Loughran and McDonald. Его минус, в том что там в нет словарей по 8 эмоциям, а только по 2 — позитив/негатив (ну почти), а я уже выяснил что ловить по этим признакам нечего. Так что Loughran and McDonald пролетели мимо.
Дальше решил попробовать Bert, очень популярная моделька, которая переписала рекорды в распознавание сантиментов в тексте. Но это уже другой подход, тут уже в чистом виде машинное обучение. Я попробовал и базовый Bert и finBert, получил оценки по шкале позитив/негатив, и на 10К и на 10Q. Не берусь судить насколько точно они оценили сантименты, но не обнаружил что из позитивных отчетов следует позитивная динамика акций, а из негативных -негативные. 
Ну и наконец попробовал третий вариант: представляем текст в векторном виде (превращаем его в цифры), ставим лейблы в зависимости от динамики в течении следующего дня: (Close/Open -1)*100 ну а дальше любой метод из машинного обучения. В чем отличие от finBert? Ведь и там и там мы текст превращаем в цифры мосле чего используем машинное обучение.
Ну вот например у нас есть твит: «Охренеть, завтра Гугл попрет как ракета!». Ожидания написавшего явно позитивные, но рынку в общем то плевать, и мы практикующие трейдеры это отлично знаем. Ну а Bert плевать что там на рынке в реальности, он тупо оценивает сантименты текста. Оценивает умно, с учетом контекста, преодолевая игру слов, сленг итп итд. И обучился Bert оценивать тональность текста на примерах где в качестве лейблов использовались оценки человека — позитивный текст или негативный. Для finBert брались финансовые тексты, где лейблы проставляли видные экономисты, я использовал вариант finBert, которая обучалась на 10К (ну как утверждал ее автор). Так вот, вся разница в лейблах. Я в качестве лейбла взял реакцию рынка, поэтому твит: «Охренеть, завтра Гугл попрет как ракета!», этот сверх позитивный твит, получит отметку негативного,  если на следующий день акции Гугла упадут. И получив на трейне лейбл «негативный», он на тесте будет все схожее с такого рода твитом оценивать как негативное для роста завтра. Вот и вся разница. Ну и плюс в том что Bert очень мощный инструмент, действительно оценивающий контекст, а я взял просто по пролетарски — TFID + sklearnкий MultinomialNB, то бишь наивный Байес. Дешево и сердито. Да тут можно было что то посолидней, типа LSTM, да что угодно, но думаю думаю смысла усложнять не было. По идее можно было даже создать свой «MaratBert», обучив монстра на рыночных лейблах... 
Помимо использования разных подходов я конечно химичил и с разными базами данных. Например решив увеличить выборку, взяв отчеты 10Q, это то же что и 10K но квартальный. Попробовал брать из отчетов только предложения где есть отсылка на ожидания, риски итп итд. Попробовал вместо отчетов SEC взять stocktweets. 
Много что перебирал, но в конечном счете самое интересно получил оценивая stocktweets наивным Байесом. Еще раз подчеркиваю, оценивал не сантименты. Нашел в сети базу stocktweets для 5 фишек. И получил такой вот результат на тесте:
Сантименты на американском рынке. Продолжение. 2.



( Читать дальше )

Что почитать по (алго) трейдингу? Обзор небанальных книг без Талеба, Грэма и Богла

Привет! Бегло полистал SL и обнаружил, что книжные обзоры делятся на 2 типа – инвесторские и хардкорное алго (HFT и опционы). Промежуточный вариант попытаюсь закрыть данным постом. По уровню сложности книги в обзоре находятся между зубодробительной подборкой от Eugene Logunov https://smart-lab.ru/blog/534237.php и приятным чтивом по фундаментальным стратегиям.
Что почитать по (алго) трейдингу? Обзор небанальных книг без Талеба, Грэма и Богла

1)    Lasse H. Pedersen – Efficiently Inefficient

Отличная книга и №1 по соотношению польза/сложность. Автор показывает, как кванты тестируют и отбирают стратегии в портфель. Условно ее можно разделить на 4 части: арбитраж, факторные стратегии, глобал макро и технические моменты запуска и финансирования фонда. HFT и опционные стратегии упоминаются вскользь. Наверное, книга подойдет и для совсем начинающих, т.к. все метрики (вплоть до волатильности) и базовые концепции раскрываются с 0.

LHP – один из боссов крупного хедж фонда в Гринвиче, но в отличие от Далио или Дракенмиллера, еще и хардкорный академик. Поэтому в книге любое утверждение подтверждается ссылками, а для глубокого погружения есть отличный список первоисточников. Понятно, что никаких секретов своего работодателя LHP не раскрывает, но профильные главы для меня оказались полезными в плане идей + отсылки туда, где копать глубже.
Что почитать по (алго) трейдингу? Обзор небанальных книг без Талеба, Грэма и Богла



( Читать дальше )

⭐️ Как выбрать акции для покупки с помощью отчёта 8-K


Добрый день, друзья!


Мой пост об отчетах 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 является достаточно трудоёмким процессом, то для частного инвестора эта форма теряет всякий смысл. 



( Читать дальше )

....все тэги
UPDONW
Новый дизайн