Алексей Енин

Читают

User-icon
8

Записи

121

CVXPY — удобная библиотека для решения задач выпуклой оптимизации на Python

CVXPY — это открытая библиотека на Python для моделирования и решения задач выпуклой оптимизации. Она позволяет формулировать задачи удобным и понятным языком, близким к математическому описанию, а не в форме, требуемой решателями.

Основные возможности CVXPY: задать переменные, построить целевую функцию и ограничения, проверить выпуклость задачи, работать с линейными и выпуклыми задачами, а также смешанным целочисленным программированием. Можно использовать разные решатели и задавать параметры для многократного решения.

Примеры использования:

1. Задача наименьших квадратов с ограничениями:

x = cp.Variable(n)
objective = cp.Minimize(cp.sum_squares(A @ x — b))
constraints = [0 <= x, x <= 1]
prob = cp.Problem(objective, constraints)
result = prob.solve()
print(x.value)

2. Задача смешанного целочисленного программирования:

x_i = cp.Variable(3, integer=True)
x_c = cp.Variable(1, nonneg=True)
obj = cp.Maximize(cp.sum(c[:3] @ x_i) + cp.sum(c[3:4] @ x_c))
cons = [x_i <= 2, x_c <= 1, (A[:3] @ x_i + A[3:4] @ x_c) <= b]
prob = cp.Problem(obj, cons)
sol = prob.solve(solver='GLPK_MI')

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

PyPortfolioOpt — Python-библиотека для оптимизации инвестиционных портфелей.

Основные возможности:
— Классические методы: оптимизация по Марковицу (эффективная граница)
— Современные методы: оценка ковариации с усадкой, Hierarchical Risk Parity, Black-Litterman
— Расчеты: ожидаемая доходность, риск (ковариационная матрица)
— Оптимизация: максимизация Шарпа, минимизация волатильности, заданная доходность
— Ограничения: на доли активов, короткие позиции, рыночная нейтральность
— Реальные портфели: преобразование весов в целочисленные доли акций с учетом цен

Библиотека удобна для анализа и построения оптимальных портфелей. Имеет подробную документацию и примеры.

Как перевести дневную доходность в недельную, месячную, годовую?

 1. Простая доходность (если изменения небольшие):

— Недельная = Дневная × 5
— Месячная = Дневная × 21
— Годовая = Дневная × 252

2. Сложная доходность (точный способ, учитывает % на %):

— Сначала переводим в логдоходность: `r = ln(1 + R)`
— Умножаем на дни:
— Недельная = `r × 5` → потом `exp(r_неделя) — 1`
— Месячная = `r × 21` → `exp(r_месяц) — 1`
— Годовая = `r × 252` → `exp(r_год) — 1`

3. Если есть много дневных доходностей – перемножаем:

`(1 + R1) × (1 + R2) ×… × (1 + Rn) — 1`

Коротко:

— Для быстрой оценки – умножай на дни.
— Для точных расчётов – используй логарифмы или перемножение.

(Формулы работают для торговых дней: 5 в неделе, ~21 в месяце, 252 в году)


Почему в месяце берут 21 торговый день?

Основная логика


  • В неделе 5 торговых дней (пн–пт).

  • В месяце ≈ 4 недели × 5 дней + 1–2 дня = 21 день.

  • Реальное число может быть меньше из-за праздников (например, в январе — 17–18 дней).

Откуда 252 дня в году?
  • 21 день/месяц × 12 = 252 дня (стандарт для акций).

  • На практике: 247–252 дня (зависит от биржи).

Как использовать?


  • Для теоретических расчетов (волатильность, Шарп):

    • День → Месяц: умножить на √21 (~4.58).

    • День → Год: умножить на √252 (~15.87).

  • Для точных данных — смотреть календарь биржи (например, на moex.com).

Исключения:

  • Криптовалюты: 30–31 день (торгуются 24/7).

  • Форекс: ≈21 день (но некоторые площадки работают в выходные).


Волатильность акций Мосбиржи

В данном исследовании проводится анализ исторической волатильности акций Московской биржи методом вычисления стандартного отклонения дневных доходностей за периоды 10, 5, 3 и 1 год с последующим масштабированием показателей для недельного, месячного и годового интервалов согласно формуле σₚ = σₙ√n, где σₙ — дневная волатильность, n — количество торговых дней в периоде. Исследование охватывает 28 наиболее ликвидных акций (голубых фишек), использует современные методы визуализации данных (ранжированные таблицы с цветовой градацией, сравнительные диаграммы) и включает автоматизированную систему обновления данных. Полученные результаты позволяют количественно оценить рыночные риски, выявить наиболее волатильные активы и проанализировать динамику изменения волатильности в различных временных горизонтах, что имеет важное значение для построения оптимальных торговых стратегий и управления инвестиционными портфелями.

Годовая Волатильность


Волатильность акций Мосбиржи


ticker  Название 10 лет 5 лет 3 года 1 год Графики
MTLRP Мечел ап 51.


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

Доходность акций Мосбиржи

Капитализированная доходность акций Мосбиржи (без дивидендов).

Исследование исторической доходности акций Московской биржи за различные временные периоды. Методология включает расчет средних дневных доходностей за последние 10, 5, 3 и 1 год с последующей их конвертацией в недельные, месячные и годовые показатели через композицию периодов по формуле (1+r)^n-1. Визуализация результатов выполнена в виде сравнительных столбчатых диаграмм с предваряющими таблицами, где все значения приведены в процентном выражении.

Результат вычислений в таблице.

Средние годовые доходности
  10 лет 5 лет 3 года 1 год
MGNT -5.68% 2.73% -1.41% -35.54%
MTLRP 21.42% 18.93% -6.60% -53.84%
HYDR 2.90% -6.12% -13.79% -23.10%
ALRS 0.48% -1.22% -7.40% -26.58%
MTSS 2.93% -4.04% -6.26% -24.89%
RTKM -0.64% -3.05% 0.47% -24.30%
MTLR 17.72% 24.37% -0.91% -48.43%
NLMK 9.43% 1.89% -0.03% -27.61%
SNGS 2.79% -3.13% 0.81% -15.00%
MAGN 13.32% 3.14% 7.51% -30.


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

Графики акций Мосбиржи

Динамика цен закрытия акций Московской Биржи, представленная на графиках за различные временные интервалы (10, 5, 3 и 1 год), позволяет провести комплексный анализ временных рядов и выявить как долгосрочные, так и краткосрочные тенденции рыночного поведения. Мультифреймовый подход к визуализации способствует более глубокому пониманию устойчивости трендов, а также оценке текущих ценовых уровней относительно исторических данных.

Графики акций Мосбиржи

Посмотреть графики на: TradingViewSmartLab

Посмотреть графики для всех акций можно в тетради на Kaggle по адресу https://www.kaggle.com/code/eavprog/moex-10-year-stock-charts

См. также Акции Мосбиржи с полной историей за 10 лет

Акции Мосбиржи с полной историей за 10 лет

Список акций Мосбиржи с полной историей за последние 10 лет.

Расчет выполнен в тетради на Kaggle (см. https://www.kaggle.com/code/eavprog/moex-stocks-full-history-analysis)

Для этих бумаг число пропусков за последние 10 лет составляет менее 0,1%.

Список тикеров: AFKS, AFLT, ALRS, CBOM, CHMF, GAZP, HYDR, IRAO, LKOH, MAGN, MGNT, MOEX, MSNG, MTLR, MTLRP, MTSS, NLMK, NVTK, PHOR, PIKK, ROSN, RTKM, SBER, SBERP, SNGS, SNGSP, TATN, TATNP.


Тикер Имя акции  2025-07-04  графики 
AFKS Система ао 15.3350 TradingViewSmartLab
AFLT Аэрофлот 64.7500 TradingViewSmartLab
ALRS АЛРОСА ао 46.6100 TradingViewSmartLab
CBOM МКБ ао 6.9270 TradingViewSmartLab
CHMF СевСт-ао 1053.4000 TradingViewSmartLab
GAZP ГАЗПРОМ ао 128.1500 TradingViewSmartLab
HYDR РусГидро 0.4522 TradingViewSmartLab
IRAO ИнтерРАОао 3.1920 TradingViewSmartLab
LKOH ЛУКОЙЛ 6157.5000 TradingViewSmartLab
MAGN ММК 33.


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

Анализ рейтинга валют по коэффициенту Шарпа за квартал (по данным "Абсолютного валютного курса")

Анализ рейтинга валют по коэффициенту Шарпа за квартал (по данным "Абсолютного валютного курса")


На сайте "
Абсолютный валютный курс" опубликована свежая диаграмма, отражающая рейтинг мировых валют по коэффициенту Шарпа за последний квартал (с 16 февраля 2025 года). Коэффициент Шарпа — это ключевой показатель, который позволяет оценить эффективность инвестиции относительно принятых рисков: чем он выше, тем лучше соотношение доходности к волатильности.

Топ-5 валют по коэффициенту Шарпа

  • Шведская крона (SEK): 0.185

  • Исландская крона (ISK): 0.158

  • Чешская крона (CZK): 0.151

  • Евро (EUR): 0.147

  • Датская крона (DKK): 0.146

Краткие выводы по диаграмме

  • Лидеры квартала — скандинавские и центральноевропейские валюты. Шведская крона уверенно занимает первое место, показывая наилучшее соотношение доходности к риску за период.

  • Евро и датская крона также вошли в пятёрку лучших, что говорит о стабильности европейского валютного блока за последние три месяца.

  • В нижней части рейтинга оказались валюты развивающихся рынков, такие как турецкая лира (TRY), индонезийская рупия (IDR) и индийская рупия (INR), с отрицательными коэффициентами Шарпа — это отражает либо убытки, либо крайне высокую волатильность.



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

Аналитика по рейтингу роста абсолютных курсов валют за последний год (с 2024-05-15)

Аналитика по рейтингу роста абсолютных курсов валют за последний год (с 2024-05-15)
 

Диаграмма и данные взяты с проекта «Абсолютный валютный курс» (abscur.ru). Рейтинг основан на процентном изменении абсолютных курсов валют за год. В топ-5 вошли валюты, показавшие наибольший рост по сравнению с остальными.

Топ-5 валют по росту за год

Место Валюта Рост (%)
1 Российский рубль (RUB) +13.87
2 Малайзийский ринггит (MYR) +10.74
3 Тайский бат (THB) +10.43
4 Шведская крона (SEK) +10.27
5 Швейцарский франк (CHF) +8.11
 

Основные тенденции и возможные причины

1. Российский рубль (RUB)

  • Рост: +13.87% — лидер рейтинга.

  • Возможные причины:

    • Восстановление после затяжного падения, вызванного санкциями и геополитическими рисками.

    • Жёсткая денежно-кредитная политика Банка России (повышение ключевой ставки).

    • Ограничения на валютные операции и поддержка экспорта.

    • Рост цен на сырьевые товары (нефть, газ), что традиционно поддерживает рубль.

2. Малайзийский ринггит (MYR)

  • Рост: +10.74%.



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

теги блога Алексей Енин

....все тэги



UPDONW
Новый дизайн