Постов с тегом "python": 275

python


Семейный капитал через поколения: как рождаемость влияет на финансовую свободу

Я написал компьютерную модель, которая симулирует рост семейного капитала через поколения. Стартуем с одной пары 25-летних, они работают, откладывают 10% зарплаты в семейный фонд, рожают детей, дети вырастают, начинают работать, откладывают в тот же фонд, создают свои пары, и так далее.


Главный вопрос: через сколько лет семья может перестать работать и жить на проценты с капитала?


Ответ оказался очень чувствительным к одному параметру — количеству детей.


Как работает модель (коротко)


— Старт: муж и жена, 25 лет. Зарплата мужа растет на 3% в год.
— Накопления: 10% зарплаты уходит в общий семейный капитал.
— Доходность капитала: 7% годовых.
— Пенсия: все мужчины старше 55 лет делят между собой 4% от капитала каждый год.
— Дети: рождаются, когда родителям от 25 до 40 лет.
— Зарплата сына: 85% от зарплаты отца на момент, когда сыну исполняется 25 лет.
— Пары со стороны: когда ребенку 25 лет, он находит партнера со стороны.
— Смерть: случайный возраст от 75 до 85 лет.


Условие финансовой свободы: 4% от капитала, деленные на количество живых людей, становятся больше или равны средней зарплате работающих. В этот момент всем можно забить на работу и жить на проценты.



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

=Питострой= Робот "Адаптивный ценовой канал" с фильтрацией по стадиям волатильности

Продолжаем Питонизацию торговли.
Тестируем стратегию «Адаптивный ценовой канал» с фильтром по стадиям волатильности.
=> github.com/Alex-Shur/RoboBuilding/tree/main/Stocks/R3_PriceChannel

Для реализации робота используем пакет backtrader-next и индикаторы на Numba .
Робот тестировался на следующих тикерах 30мин интервала, данные с 01.01.2015 по 24.12.2025
AFKS,  AFLT,  ALRS,  BSPB,  CHMF, 
FEES,  GAZP,  GMKN,  HYDR,  IRAO, 
LKOH,  MAGN,  MGNT,  MOEX,  MTLR, 
MTSS,  NLMK,  NVTK,  PHOR,  PIKK, 
PLZL,  ROSN,  RTKM,  RUAL,  SBERP,
SBER,  SIBN,  SNGSP, SNGS,  TATNP, 
TATN,  TRNFP, UPRO,  VTBR
Данные были скачаны с Мосбирже с помощью
MOEX-Downloader  => github.com/Alex-Shur/moex-downloader

Результаты стратегии  alex-shur.github.io/RoboBuilding/R3_PriceChannel/output_stats.html

=Питострой= Робот  "Адаптивный ценовой канал" с фильтрацией по стадиям волатильности


<code>Strategy                          R3_PriceChannel
pc_adx_length                                  50
pc_ratio                                      


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

Карта валютных корреляций: Что на самом деле происходит в «абсолютных» ценах (анализ 45 валют за 10 лет)

Большинство трейдеров привыкли смотреть на мир через «долларовые очки». Если индекс доллара (DXY) растет, кажется, что падает всё остальное. Но это искажение. Чтобы увидеть реальные связи между экономиками, нужно анализировать абсолютные курсы (Absolute Currency Rates).

Я провел исследование корреляций 45 мировых валют на глубоком горизонте в 10 лет (2016–2026). Делюсь результатами, которые помогут по-новому взглянуть на диверсификацию.

Методология: без «воды»

  1. Данные: проект abscur.ru.

  2. База: Логарифмические доходности ln(Pt​/Pt−1​). Это база для корректной статистики, позволяющая сравнивать волатильную лиру и стабильный дирхам.

  3. Горизонт: 10 лет (статистическая достоверность выше рыночного шума).


1. Трансформация цен в доходности

Для корреляционного анализа нельзя использовать графики цен — они нестационарны. Переход к лог-доходностям превращает тренды в «белый шум», обнажая чистую взаимосвязь активов.

Карта валютных корреляций: Что на самом деле происходит в «абсолютных» ценах (анализ 45 валют за 10 лет)


На графике: как трендовый EUR превращается в стационарный ряд доходностей.



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

ML нашел «защитные активы»: где на самом деле безопасно? Алгоритмы против географии

Принято считать, что валюты делятся по регионам: развитые, развивающиеся, сырьевые. Но рынок часто плевать хотел на эти ярлыки. Я решил проверить, как валюты группируются на самом деле, если скормить алгоритму машинного обучения сухие цифры, а не географические атласы.

Использовал метод K-Means (обучение без учителя) и данные об абсолютных курсах с платформы abscur.ru. Почему это важно? Потому что анализ пар (USD/RUB, EUR/USD) всегда искажен волатильностью доллара. Абсолютные курсы дают чистую картину «характера» каждой валюты.

Что оценивал алгоритм?

Я составил «поведенческий паспорт» для 45 валют по 4 метрикам:

  1. CAGR (доходность) — куда идет тренд.

  2. Волатильность — насколько сильно трясет.

  3. Max Drawdown (MDD) — глубина «ямы» при кризисе.

  4. Recovery Days — сколько дней вы будете сидеть в убытке, прежде чем цена вернется к пику.

Результаты: 4 типа «валютных личностей»

Алгоритм выделил группы, которые сильно отличаются по эффективности капитала:



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

=Питострой= Робот на паттерне 3 Солдата с фильтрацией по стадиям волатильности

Продолжаем Питонизацию торговли.
Тестируем стратегию Три Солдата и фильтруем по стадиям волатильности.
=> github.com/Alex-Shur/RoboBuilding/tree/main/Stocks/R2_Soldiers

Для реализации робота используем пакет backtrader-next и индикаторы на Numba .
Робот тестировался на следующих тикерах 30мин интервала, данные с 01.01.2015 по 24.12.2025
AFKS,  AFLT,  ALRS,  BSPB,  CHMF, 
FEES,  GAZP,  GMKN,  HYDR,  IRAO, 
LKOH,  MAGN,  MGNT,  MOEX,  MTLR, 
MTSS,  NLMK,  NVTK,  PHOR,  PIKK, 
PLZL,  ROSN,  RTKM,  RUAL,  SBERP,
SBER,  SIBN,  SNGSP, SNGS,  TATNP, 
TATN,  TRNFP, UPRO,  VTBR
Данные были скачаны с Мосбирже с помощью
MOEX-Downloader  => github.com/Alex-Shur/moex-downloader

Результаты стратегии alex-shur.github.io/RoboBuilding/R2_Soldiers/output_stats.html

=Питострой= Робот на паттерне 3 Солдата с фильтрацией по стадиям волатильности


<code>Strategy                                R2_Soldiers
sma_filter                                     True
sma_period                                      150
volume_pct       


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

=Питострой= Робот на канале линейной регрессии с фильтрацией по стадиям волатильности

Продолжаем Питонизацию торговли.
Тестируем стратегию на Канале линейной регрессии и фильтруем по стадиям волатильности.
=> github.com/Alex-Shur/RoboBuilding/tree/main/Stocks/R1_LinearRegression

Для реализации робота используем пакет backtrader-next и индикаторы на Numba .
Робот тестировался на следующих тикерах 30мин интервала, данные с 01.01.2015 по 24.12.2025
AFKS,  AFLT,  ALRS,  BSPB,  CHMF, 
FEES,  GAZP,  GMKN,  HYDR,  IRAO, 
LKOH,  MAGN,  MGNT,  MOEX,  MTLR, 
MTSS,  NLMK,  NVTK,  PHOR,  PIKK, 
PLZL,  ROSN,  RTKM,  RUAL,  SBERP,
SBER,  SIBN,  SNGSP, SNGS,  TATNP, 
TATN,  TRNFP, UPRO,  VTBR
Данные были скачаны с Мосбирже с помощью
MOEX-Downloader  => github.com/Alex-Shur/moex-downloader

Результаты стратегии alex-shur.github.io/RoboBuilding/R1_LinearRegression/output_stats.html
=Питострой=  Робот на канале линейной регрессии с фильтрацией по стадиям волатильности
Strategy                  R1_LinearRegression
lr_period                                 180
lr_deviation                              2.5
sma_filter   


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

Backtrader-next и коннектор подключения к Quik (bn_quik)

Я завершил разработку коннектора bn_quik (репозиторий на GitHub) для интеграции с backtrader-next. Коннектор основан на моем модуле quik_python (репозиторий на GitHub). Теперь вы можете подключаться к Quik и осуществлять торговлю!

С чего начать?
  1. Зарегистрируйте демо-аккаунт Quik на сайте ARQA.
  2. Попробуйте свои силы на демо-версии.
  3. Ознакомьтесь с примерами использования коннектора в репозитории.
Немного о backtrader-next

Backtrader-next — это обновленная версия оригинального backtrader. Хотя модуль не мой, я активно его использую и могу выделить следующие преимущества:

  • Ускоренное тестирование: работает примерно в 4 раза быстрее, чем оригинальный backtrader.
  • Новые индикаторы: добавлены индикаторы Джона Эллерса, реализованные с использованием Numba для высокой производительности.
  • Улучшенная визуализация: графики, индикаторы, таблицы сделок и навигация по датам сделок реализованы на базе библиотеки TradingView.
  • Расширенная статистика: доступна как в тестовом формате (аналогично backtesting.py), так и в HTML-формате (похожем на quantstats).


( Читать дальше )
  • обсудить на форуме:
  • QUIK

Julia (Matlab) vs Python

Чистый и компактный синтаксис вместо нечитаемого питоновского месива из случайных префиксов/методов/функций pref.fun(x)/obj.meth(d)/fun(b, d), с разными названниями и случайными сокращениями. 
Julia (Matlab) vs Python


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

Танцуем Numba

Пишешь код на python, а он тормозит и хочется взять и переписать на C++?
Не надо так! Современный С++ компилятор имеет под капотом LLVM, но современный python настолько мощный, что можно использовать тот же самый LLVM, чтобы получить скорость сопоставимую с C++. Вот типичный пример того, что на голом python будет работать мучительно долго: 

import time
import numba
import numpy as np

@numba.jit(nopython=True)
def calculate_max_drawdown(initial_cash: float, cashes: np.ndarray) -> float:
    """Расчет максимальной просадки"""
    peak = initial_cash
    max_dd = 0.0

    for cash in cashes:
        if cash > peak:
            peak = cash
        dd = (peak - cash) / peak
        if dd > max_dd:
            max_dd = dd

    return max_dd

# Вариант без Numba для сравнения
def calculate_max_drawdown_pure(initial_cash: float, cashes: np.ndarray) -> float:
    peak = initial_cash
    max_dd = 0.0

    for cash in cashes:
        if cash > peak:
            peak = cash
        dd = (peak - cash) / peak
        if dd > max_dd:
            max_dd = dd

    return max_dd

def test_calculate_max_drawdown():
    n = 1_000_000  # 1 миллион точек
    returns = np.


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

Баффет был прав? Почему мой Python-скрипт «забраковал» Apple и нашел жемчужину в битых тачках.

Всем привет.

Я QA-инженер, в инвестициях уже 6 лет. Мой путь стандартный: сначала слушал «гуру», потом поумнел и собрал гигантскую таблицу в Excel. Я из тех, кто не покупает акцию, не посмотрев тренды выручки, маржинальности и ROIC за 5–10 лет.

 

 

В чем была моя личная боль:

На глубокий анализ одной компании по моему чек-листу (14 метрик в динамике) уходило около 2 часов. Забивать руками данные из Macrotrends в таблицу — то еще удовольствие. Самое обидное, когда в конце второго часа понимаешь, что компания — переоцененный шлак с падающей маржой, и время потрачено зря.

Еще одна боль — это «магия цифр» (это касается и книг и обучающих видео).
Книги и видео говорят: «Ищите рост выручки > 7% или ROA > 6.5%». Но почти никто не объясняет — почему? Откуда взялись эти цифры? Почему 7 и 6.5, а не 10 и 8 или не 5 и 3...

 

 

Что я накодил:

Баффет был прав? Почему мой Python-скрипт «забраковал» Apple и нашел жемчужину в битых тачках.
Написал сервис на FastAPI, который через API тянет отчетность и делает «Sanity Check» компании за 2 секунды. А вместо слепого следования догмам из книг и видео, я привязал все метрики к усредненным показателям компаний из S&P 500.

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

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