Михаил Шардин
Михаил Шардин личный блог
13 марта 2025, 09:09

Где можно получить исторические фундаментальные данные по российским компаниям через API?

Добрый день!

Ищу решение для автоматизированного получения исторических фундаментальных данных по российским компаниям. Нужна история изменения P/E, P/S, ROE, EPS, выручки и других показателей за несколько лет для построения скринера и проведения фундаментального анализа.

Проанализировал два доступных API, но везде есть ограничения:

T-Invest API

GetAssetFundamentalsResponse(fundamentals=[
StatisticResponse(asset_uid='40d89385-a03a-4659-bf4e-d3ecba011782',
currency='RUB',
market_capitalization=6878249241240.0,
high_price_last_52_weeks=330.45,
low_price_last_52_weeks=219.2,
average_daily_volume_last_10_days=65639361.43,
average_daily_volume_last_4_weeks=60348494.76,
beta=0.8,
free_float=0.48,
forward_annual_dividend_yield=0.0,
shares_outstanding=21586948000.0,
revenue_ttm=8676400000000.0,
ebitda_ttm=0.0,
net_income_ttm=1580300000000.0,
eps_ttm=73.21,
diluted_eps_ttm=0.0,
free_cash_flow_ttm=0.0,
five_year_annual_revenue_growth_rate=0.0,
three_year_annual_revenue_growth_rate=33.48,
pe_ratio_ttm=4.35,
price_to_sales_ttm=0.79,
price_to_book_ttm=0.96,
price_to_free_cash_flow_ttm=0.0,
total_enterprise_value_mrq=0.0,
ev_to_ebitda_mrq=0.0,
net_margin_mrq=0.0,
net_interest_margin_mrq=0.0,
roe=23.36,
roa=2.81,
roic=0.0,
total_debt_mrq=0.0,
total_debt_to_equity_mrq=0.0,
total_debt_to_ebitda_mrq=0.0,
free_cash_flow_to_price=0.0,
net_debt_to_ebitda=0.0,
current_ratio_mrq=0.0,
fixed_charge_coverage_ratio_fy=0.0,
dividend_yield_daily_ttm=10.45,
dividend_rate_ttm=33.3,
dividends_per_share=33.3,
five_years_average_dividend_yield=8.36,
five_year_annual_dividend_growth_rate=0.0,
dividend_payout_ratio_fy=45.49,
buy_back_ttm=0.0,
one_year_annual_revenue_growth_rate=55.49,
domicile_indicator_code='',
adr_to_common_share_ratio=0.0,
number_of_employees=0.0,
ex_dividend_date=datetime.datetime(2024,7,11,0,0,tzinfo=datetime.timezone.utc),
fiscal_period_start_date=datetime.datetime(1970,1,1,0,0,tzinfo=datetime.timezone.utc),
fiscal_period_end_date=datetime.datetime(1970,1,1,0,0,tzinfo=datetime.timezone.utc),
revenue_change_five_years=181.25,
eps_change_five_years=87.02,
ebitda_change_five_years=0.0,
total_debt_change_five_years=0.0,
ev_to_sales=0.0)])

FinanceMarker.ru API

  • Плюсы: Есть фундаментальные показатели
  • Минусы: Ограничение в 400 запросов в день для частных лиц
  • Запрос: /fm/v2/stocks/{exchange}:{code} Получить данные по компании
  • Ответ:
  «ratios»: [
    {
      «active»: true,
      «capex_revenue»: 0,
      «capital»: 0,
      «changed_at»: «2025-03-13T06:04:44.836Z»,
      «code»: «GAZP»,
      «current_ratio»: 0,
      «debt_equity»: 0,
      «debt_ratio»: 0,
      «debtebitda»: 0,
      «dpr»: 0,
      «ebitda_margin»: 0,
      «ev_ebit»: 0,
      «evebitda»: 0,
      «evs»: 0,
      «exchange»: «MOEX»,
      «gross_margin»: 0,
      «interest_coverage»: 0,
      «month»: 0,
      «net_margin»: 0,
      «net_working_capital»: 0,
      «netdebt_ebitda»: 0,
      «operation_margin»: 0,
      «pbv»: 0,
      «pcf»: 0,
      «pe»: 0,
      «period»: «string»,
      «pfcf»: 0,
      «pffo»: 0,
      «ps»: 0,
      «roa»: 0,
      «roce»: 0,
      «roe»: 0,
      «roic»: 0,
      «ros»: 0,
      «type»: «string»,
      «year»: 0
    }
  ],

Пробовал смотреть в сторону:

  1. MOEX ISS API — но там только рыночные данные и котировки
  2. Парсинг сайтов — но это сложнее поддерживать, тем более я частное лицо.

Вопросы к сообществу:

  1. Какие еще API предоставляют исторические фундаментальные данные по российским компаниям?
  2. Возможно ли где-то получить поквартальную/годовую историю изменения ключевых показателей?
  3. Как вы решаете задачу фундаментального скрининга по историческим данным?
  4. Может есть какие-то платные решения с разумной ценой?

Буду благодарен за любые идеи и рекомендации!

20 Комментариев
  • Alexide
    13 марта 2025, 09:37
    Странно, что сама Мосбиржа не предоставляет такие данные. Как нет и экспорта истории котировок в CSV. Видимо там нет денег и нет специалистов это организовать.
  • Replikant_mih
    13 марта 2025, 19:57

    Ещё такие нашел в закладках. Сам ничего не юзаю для автоматического получения фундаментальных данных.

    rudata.info/rd-api

    conomy.ru/partnership

  • Кактус
    13 марта 2025, 22:49
    Как вы решаете задачу фундаментального скрининга по историческим данным?

    tradingview


    Базовые показатели и основные строки из отчетности встроены в сервис. Остальное — через скрипт все что угодно можно придумать.
      • Кактус
        14 марта 2025, 07:27

        Михаил Шардин, 

        Да. Но там и без него много встроенных возможностей.
        На график можно вывести практически любую строчку из отчетности, любой макроэкон. показатель. Например,



        А скрипт, например, нужен, когда какую-то срочку в отчете в долларах посмотреть (для котировок акций это можно прямо вверху в формуле прописать, а вот когда какую-нибудь строчку в отчете захотим поделить на курс доллара, на цену нефти и т.д., то уже скрипт).

        Пример скрипта tradingview что бы вывести капитал сбера в долларах_с_учетом_инфляции (CPI)
        //@version=5
        indicator(«Мой скрипт»)
        book = request.financial('MOEX:SBER','BOOK_VALUE_PER_SHARE','FQ')
        usdrub = request.currency_rate('usd', 'rub')
        uscpi = request.economic('US', 'CPI')
         
        plot(book /(usdrub*uscpi/308))

          • Кактус
            14 марта 2025, 07:29
            Михаил Шардин, 

            Просто я не верю, что стандартных p/bv, roe, roa достаточно. Да они уже и реализованы на куче скринингов. А чтобы искать более тонкие индикаторы, как раз tradingview хорош.
        • Фёдор Г.
          16 марта 2025, 09:41
          Кактус, а такую табличку с данными, по которой строится график, можно оттуда как то скачать?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн