Избранное трейдера уже не пенсионер
Российский рынок по-прежнему находится под влиянием двух основных факторов: с одной стороны, это геополитические новости вокруг украинского кризиса, с другой — монетарная политика ЦБ и предстоящее решение по ключевой ставке на февральском заседании. В зависимости от развития событий рынок выберет дальнейшую траекторию.
Главное
• Краткосрочные идеи: без изменений.
• Динамика портфеля за последние три месяца: фавориты выросли на 24%, опередив Индекс МосБиржи, который повысился на 16%, аутсайдеры показали динамику слабее и прибавили 7%.
Краткосрочные фавориты: причины для покупки
Т-Технологии (ТКС Холдинг)
В I полугодии компания планирует поделиться стратегией на 2025 г., что может послужить катализатором. Интеграция Росбанка продолжает демонстрировать свою эффективность: по итогам 12 месяцев 2024 г. рост прибыли группы по РПБУ составил 42% год к году (г/г). Также важный фактор инвестиционной привлекательности компании — возобновление дивидендных выплат.
OZON
Привлекательная оценка, учитывая перспективы роста бизнеса и улучшения его рентабельности, может поддержать котировки краткосрочно. Основной риск для идеи — негативные настроения на рынке акций и объявление приостановки торгов бумагами Ozon на время редомициляции, но не ждем последнего в ближайшей перспективе.
Для анализа будем использовать данные 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()В результате получили: