Избранное трейдера S&P
Для анализа будем использовать данные 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()В результате получили:
1 GAZR-6.21 GZM1
2 GAZR-9.21 GZU1
3 SBRF-6.21 SRM1
4 SBRF-9.21 SRU1
5 Si-6.21 SiM1
6 Si-9.21 SiU1
С фьючем РТС работать и отрабатывать технологии сложнее, если и нужен будет, то оч нескоро.
У меня заготовлено несколько новых индикаторов для этой ТС. Конечно я на что-то рассчитывал при их проектировании, но все это умозрительно, и о реальных свойствах индикаторов я, ровным счетом, ничего не знаю. Для начала хотелось бы выяснить их возможности.
Для этого на множестве 1м истории (~66000 свечей) генерируем ~6600 равномерно распределенных по интервалу истории случайных сделок продолжительностью 5 минут ( потом будет и 10 и 15 минут), пока только Лонг (потом и Шорт будет, рассматривается отдельно) и находим прибыль в каждой из этих сделок.
Выглядеть это будет вот так:
Заголовок кликбейт, хоть и правдивый. Не удержался, сорри :)
1. Восемь месяцев назад мы научили компьютер прогнозировать IPO. Это был эксперимент, в котором мы собрали тонну данных, обработали их алгоритмом машинного обучения и создали автоматическую прогнозную модель. Модель работает просто — мы скармливаем ей финансовые показатели предстоящего IPO, а она выдает прогнозы доходности.
2. На прошлых выходных мы сделали ревью модели. Почему именно сейчас? Во-первых, набралось достаточно прогнозов, которые позволяют анализировать результат. Хотя бы промежуточно. Во-вторых, рынок вышел из фазы «любое IPO растет на 100500%», и появился смысл сравнивать результаты рынка с результатами прогнозов.
3. Что мы скажем про прогнозную модель в результате ревью? Она молодец. Модель бьет слепой (=индексный) портфель IPO, пусть и не так круто, как на бэктестах.
4. К слову, чем сложнее и разнонаправленнее рынок, тем лучше работает модель. Так было на бэктестах и так есть сейчас. Ждем окончания эйфории, чтобы увеличить отрыв😎
Привет, почти 2 месяца назад мы запустили первую версию нашей библиотеки PQR для тестирования инвестиционных идей. Основная суть: системно проверять аномалии на большой группе акций. Например, вы ведете таблицы с мультипликаторами компаний и биржевых котировок. Цель — покупать 10% недооцененных бумаг с наименьшим значение P/E и ребалансировать портфель раз в месяц.
Разделов для улучшения было так много, что Андрей (github.com/eura17) почти полностью переписал все функции. Основные изменения:
1) Переход к объектно-ориентированному программированию. Код легче читается и занимает меньше места.
2) Добавили функцию correct_matrices — она приравнивает матрицы с исходными данными к одному виду. Сортирует и удаляет отсутствующие в остальных матрицах столбцы (акции) и строки (периоды);
3) Появилась документация на readthedocs: pqr.readthedocs.io/en/latest/index.html
4) Возможность перебора параметров стратегии через grid_search. Быстрый вывод таблицы с результатами или отдельного параметра (например, Шарп) для стратегий с разными периодами наблюдения, удержания и лагом;
Прошло 1,5 года с момента прошлого поста и мир действительно пошел по данному сценарию.
Что уже реализовалось:
— валюты-убежища активно обесцениваются инфляцией и отрицательными ставками.
— сырье раллирует, золото в том числе.
— держатели кеша и надежных облигаций западных стран в минусе, не говоря об упущенной выгоде.
— шорты западных и российских индексов не были выгодными.
Часть прогноза еще не реализовалась, но и не отменилась:
— нефть должна сильно подорожать. Вдобавок к инфляции доллара добавились снижение инвестиций в отрасль и прошедший кризис перепроизводства.
— рубль упал, РТС несильно вырос, однако это все равно вопрос времени — капитал компаний вырос, прибыль сильно выросла, доллар обесценился — а цена в долларах та же. Такой дисбаланс не может долго сохранятся, пружина сжимается и итог может быть только один — мощное ралли в РТС. Рубль вероятно тоже укрепится к доллару, как тот уже упал ко всем сырьевым валютам на доковидные уровни. Нужно сказать спасибо Байдену и Трампу, которые запугиванием санкциями держат нашу валюту дешевле ее равновесной ценности, чем делает российский экспорт сверхрентабельным и повышает конкурентоспособность наших производителей. Этот процесс с некоторым лагом непременно проявится в росте как рынка, так и экономики.
— в Китае процесс замедления пошел — рост юаня и кризис перевозок сильно подняли в цене стоимость его товаров, а рост сырья повысил издержки — его конкурентоспособность падает. Поскольку с финансами в Китае все довольно плохо — в банковской системе дыра и валютный курс несвободный — когда-нибудь произойдет крупная девальвация. Но такие масштабные процессы могут очень долго протекать в скрытом виде и проявляются обычно тогда, когда все забудут с чего все началось.
— Американские индексы выросли, однако рост этот не был обеспечен сопоставимым ростом качества его компаний, а был вызван монетарными методами. Финансовые власти США(как и многие люди в мире) уверовали в незыблемость доллара и что любое безумие ему сойдет с рук — печататают деньги даже на такие противоречащие здравому смыслу вещи, как устранение естественных коррекций безумных хаев рынка и стимулирование граждан не работать большими пособиями. За все это придется заплатить — а платить добровольно(сильно повышать ставку, рубить все пузыри, увеличивать налоги и резать социалку) они конечно не захотят, поэтому все это принудительно сделает инфляция.
Здесь периодически возникают статьи про применение нейронок в трейдинге.
Я решил поделиться примером того, как в одном пайплайне (единая структура программного кода) можно построить, обучить и протестировать нейронку в торговом алгоритме.
Статья будет более полезна и понятна тем, кто имеет хоть небольшой опыт работы с Python.
Итак, наша задача проверить, есть ли вообще надежда на успешное применение нейронных сетей в трейдинге, проверить гипотезу на простом алгоритме, понять, как можно в случае успеха перенести все на боевую среду (реальный торговый робот), и желательно, продемонстрировать все это понятно и доходчиво.
Чтобы в конце концов сделать вывод о перспективности применения нейронок, будем соревноваться с индексом РТС.
Сразу сделаю дисклеймер, все рассматриваемые и полученные в статье результаты являются лишь простым примером, и применять их на реальных деньгах не рекомендую. И я не буду давать теорию по нейронным сетям и работе с ними. Всё это находится/читается/выучивается.
Умение правильно читать финансовую отчетность компаний — очень полезный навык для инвестора.
В этой статье разберем ключевые моменты, ошибки и нюансы при чтении бухгалтерских и финансовых отчетов компаний.
Какие бывают финансовые отчеты?Финансовые отчеты можно классифицировать по:
Здесь название говорит само за себя. Квартальный финансовые отчет содержит промежуточные данные, например только за 2 квартал текущего года, а годовой — данные за весь год.
В квартальных отчетах также часто присутствуют данные за весь период с начала года. Например, в отчете за 3 квартал, будут данные за 9 месяцев с начала года:
из квартального отчета компании Лукойл