Автоматизация извлечения данных из SEC filings с MinerU AI пайплайном | AiManual
AiManual Logo Ai / Manual.
02 Янв 2026 Инструмент

MinerU: как вытащить цифры из SEC filings и не сойти с ума

Обзор открытого AI-пайплайна MinerU для автоматического парсинга финансовых отчетов SEC. Сравнение с альтернативами, примеры кода и рекомендации.

Вы когда-нибудь пытались вручную вытащить revenue growth или net income из сотни 10-K форм? Это как искать иголку в стоге сена, если стог — это 200 страниц легального текста, а иголка — одна цифра в таблице на 89-й странице. Я пытался. И чуть не поседел.

Потом наткнулся на MinerU. Это не очередной overhyped AI стартап, а открытый пайплайн от исследователей. Его фишка — Vision Language Models (VLMs), которые смотрят на документ как на картинку и понимают, где что находится. Не просто читают текст, а видят таблицы, графики, сноски.

Что умеет этот зверь?

Представьте, что у вас есть PDF отчета Apple 10-K за 2023 год. Вам нужны конкретные метрики: Total Net Sales, Cost of Sales, Research and Development Expenses. Обычный LLM будет тупить, потому что документ слишком большой. А даже если впихнуть, он перепутает цифры из разных разделов или проигнорирует таблицы.

MinerU делает три вещи:

  • Визуальный чанкинг: Разрезает PDF на логические блоки — страницы, таблицы, секции. Не просто по количеству слов, а по смыслу.
  • Мультимодальное понимание: Использует модели вроде GPT-4V или открытые альтернативы (LLaVA, Qwen-VL), чтобы «прочитать» и текст, и визуальную структуру.
  • Иерархическое извлечение: Сначала находит нужный раздел (например, "Consolidated Statements of Operations"), потом ищет в нем конкретную строку, потом извлекает значение.
💡
Ключевое отличие от текстовых парсеров — MinerU понимает, что $123,456 в таблице под заголовком "Revenue" — это и есть revenue, а не случайное число в абзаце про риски бизнеса.

Код или ничего: как это выглядит на практике

Вот минимальный рабочий пример. Установка — через pip. Документ берем с EDGAR.

import asyncio
from mineru import Mineru

async def main():
    # Инициализация с GPT-4V (нужен OpenAI API ключ)
    mineru = Mineru(model="gpt-4-vision-preview")
    
    # Загружаем PDF 10-K отчета Tesla
    pdf_path = "tesla_10k_2023.pdf"
    
    # Задаем вопрос к документу
    query = "What was the total automotive revenue for 2023?"
    
    # Запускаем извлечение
    result = await mineru.extract(pdf_path, query)
    
    print(f"Ответ: {result.answer}")
    print(f"Контекст: {result.context}")  # Показывает, откуда взята информация
    print(f"Уверенность: {result.confidence}")

asyncio.run(main())

Результат будет примерно таким:

Ответ: $82,419 million
Контекст: Извлечено из таблицы "Consolidated Statements of Operations" на странице 45, строка "Automotive sales".
Уверенность: 0.92

1 Скачиваем отчет

SEC filings лежат на EDGAR в разных форматах (HTML, XBRL, PDF). MinerU лучше всего работает с PDF, потому что сохраняет оригинальное форматирование. Можно автоматизировать скачивание через sec-edgar-downloader.

from sec_edgar_downloader import Downloader

dl = Downloader("MyCompany", "my@email.com")
# Скачиваем 10-K для Apple за 2023 год
dl.get("10-K", "AAPL", after="2023-01-01", before="2023-12-31")

2 Настраиваем пайплайн

Если не хотите платить за GPT-4V, можно использовать open-source VLMs через Ollama или Together AI. В MinerU есть поддержка.

from mineru import Mineru
from mineru.models import OpenAIModel, OllamaModel

# Вариант 1: GPT-4V (дорого, но точно)
model = OpenAIModel(model="gpt-4-vision-preview", api_key="your_key")

# Вариант 2: LLaVA через Ollama (бесплатно, медленнее)
model = OllamaModel(model="llava:7b", base_url="http://localhost:11434")

mineru = Mineru(model=model)

3 Извлекаем данные пакетно

Настоящая магия начинается, когда нужно обработать десятки отчетов. Вот как собрать revenue за 5 лет для нескольких компаний.

import pandas as pd

companies = ["AAPL", "MSFT", "GOOGL"]
years = ["2019", "2020", "2021", "2022", "2023"]
results = []

for ticker in companies:
    for year in years:
        pdf_path = f"reports/{ticker}_{year}_10k.pdf"
        query = f"What was the total revenue for fiscal year {year}?"
        
        result = await mineru.extract(pdf_path, query)
        
        # Парсим числовой ответ
        try:
            revenue = float(result.answer.replace("$", "").replace(",", "").split()[0])
        except:
            revenue = None
        
        results.append({
            "ticker": ticker,
            "year": year,
            "revenue": revenue,
            "confidence": result.confidence
        })

# В DataFrame и дальше анализируем
df = pd.DataFrame(results)
print(df.pivot(index="year", columns="ticker", values="revenue"))

Предупреждение: бесплатные open-source VLMs (LLaVA, Qwen-VL) иногда галлюцинируют с числами, особенно в сложных таблицах. Для production лучше GPT-4V или Claude 3.5 Sonnet, но готовьтесь к счету.

С чем конкурирует MinerU? Таблица сравнения

MinerU не первый, кто пытается автоматизировать парсинг SEC filings. Вот как он выглядит на фоне альтернатив.

Инструмент Подход Точность Скорость Стоимость
MinerU VLM + иерархический парсинг Высокая (90%+) Средняя Зависит от модели (GPT-4V дорого)
Традиционные парсеры (BeautifulSoup) Regex + XPath Низкая (ломаются при изменениях формата) Быстрая Бесплатно
LangChain + Text Splitters Текстовые эмбеддинги Средняя (теряет таблицы) Медленная API токены
Специализированные сервисы (AlphaSense, Sentieo) Проприетарные модели Очень высокая Быстрая Очень дорого ($10k+/мес)

Главный плюс MinerU перед LangChain — визуальное понимание. LangChain будет резать PDF на куски по 1000 токенов и может разрезать таблицу пополам. MinerU видит таблицу целиком.

По сравнению со специализированными сервисами — MinerU открытый и гибкий. Хотите добавить поддержку китайских отчетов? Обучаете модель на специфических метриках? Пожалуйста. В статье про AI стек разработчика мы разбирали, как такие инструменты встраиваются в пайплайны.

Где это реально пригодится?

Если вы думаете, что это игрушка для гиков, ошибаетесь. Вот конкретные use cases:

  • Кредитные аналитики: Автоматическое извлечение финансовых коэффициентов (Debt/EBITDA, Interest Coverage) из сотен отчетов для скоринга.
  • Кванты и трейдеры: Построение датасетов для моделей прогнозирования. Вместо ручного сбора revenue, EPS, margins — скрипт на MinerU. Как в гайде по созданию финансового ИИ-трейдера, но без боли с данными.
  • Аудиторы: Поиск несоответствий между числами в разных разделах (например, revenue в MD&A vs. финансовых statements).
  • Исследователи: Анализ текстовых риск-факторов в 10-K. MinerU может извлекать не только числа, но и текстовые описания.
  • Стартапы в fintech: Быстрый прототип продукта без $50k на подписку Bloomberg.

Особенно круто работает для ESG-метрик, которые часто размазаны по документу. Помните статью про автоматизацию ESG-отчетов? MinerU делает то же самое, но специализированно под SEC filings.

Подводные камни и больные места

Идеальных инструментов не бывает. Вот где MinerU может вас подвести:

  • Цена: GPT-4V стоит $0.01-0.03 за изображение. Один 100-страничный PDF — это 100 изображений. $1-3 за отчет. Для пакетной обработки счет набегает быстро.
  • Скорость: Обработка одного отчета занимает 30-60 секунд. Не для real-time анализа.
  • Качество OCR: Если PDF сканированный с кривым качеством — VLM может не распознать текст. Нужен препроцессинг.
  • Консистентность: Иногда модель возвращает "$123M", иногда "123,000,000", иногда "one hundred twenty three million". Нужна постобработка.

Мой совет — использовать гибридный подход. Простые, структурированные данные (например, основные финансовые показатели из XBRL) добывать традиционными парсерами. А для сложных, неструктурированных вещей (качественный анализ в MD&A, пояснения к таблицам) подключать MinerU.

Кому стоит попробовать, а кому лучше обойти стороной

Берите MinerU, если:

  • Вы аналитик в хедж-фонде и вам нужно быстро сравнивать margins по сотне компаний.
  • Вы строите fintech стартап и нуждаетесь в автоматическом сборе финансовых данных.
  • Вы исследователь, который хочет проанализировать эволюцию риск-факторов за 10 лет.
  • Вы уже пробовали автоматизацию разметки датасетов и хотите применить это к финансовым документам.

Не тратьте время, если:

  • Вам нужно обрабатывать 1000+ отчетов в день — стоимость будет астрономической.
  • У вас только простые, структурированные данные в XBRL — хватит обычного парсера.
  • Вы ждете 100% точности — даже GPT-4V ошибается в 5-8% случаев.
  • У вас нет технического бэкграунда — потребуется Python и понимание API.

Финансовые институты уже вовсю внедряют подобные технологии. В кейсах Klarna и HSBC видно, как AI становится инфраструктурой. MinerU — это open-source вариант для тех, у кого нет бюджета банка.

Что дальше? Будущее автоматического парсинга

MinerU сегодня — proof of concept. Завтра это будет стандартный инструмент в арсенале любого финансового аналитика. Тренды:

  • Мультимодальные модели дешевеют: GPT-4V сегодня дорог, но через год появятся дешевые альтернативы с похожей точностью.
  • Специализация: Будут появляться модели, обученные именно на финансовых документах, понимающие accounting standards и SEC regulations.
  • Интеграция: MinerU-like инструменты будут встроены прямо в Bloomberg Terminal и FactSet как фича.
  • Валидация: AI не только извлекает данные, но и проверяет их консистентность между документами — как в Deep Research Agent.

Мой прогноз: через 2 года ручной парсинг SEC filings будет выглядеть так же архаично, как расчеты на абакусе. Те, кто освоит инструменты вроде MinerU сейчас, получат серьезное конкурентное преимущество.

Начинайте с простого — возьмите 10-K одной компании, попробуйте извлечь 5 ключевых метрик. Потом автоматизируйте для 10 компаний. Потом добавьте quarterly reports. Главное — начать, пока другие все еще копируют цифры в Excel вручную.