abscur3

AbsCur3: Веб-платформа абсолютных валютных курсов

GitHub Actions Статья на Хабре Веб-интерфейс +Daily Update

AbsCur3 — третья расширенная версия проекта «Абсолютные валютные курсы», платформа для вычисления и визуализации валютных курсов на единой абсолютной шкале. Проект развивает концепцию, представленную в AbsCur2, увеличивая охват до 153 валют и 287 валютных пар.

🎯 О проекте

AbsCur3 преобразует традиционные парные валютные курсы в абсолютную шкалу значений, где каждая валюта получает уникальный числовой показатель, подобный температуре в шкале Кельвина. Это позволяет напрямую сравнивать любые валюты без посредничества третьей валюты.

Ключевой принцип: AbsCur3 — это проект об абсолютных валютных курсах, а не публичный архив сырых парных котировок. Сырые данные являются промежуточным продуктом для внутренних расчётов и поддерживаются в актуальном состоянии автоматизированной системой.

🎯 Текущий статус проекта

✅ Система ежедневного обновления работает в продакшене с 02.02.2026

🏗️ Общая архитектура проекта

Проект реализует сквозной пайплайн от загрузки сырых данных до веб-визуализации.

flowchart LR
    API[Twelve Data API] --> ETL[ETL-процессы]
    
    subgraph ETL [Этап данных]
        direction LR
        ETL1[Первичная загрузка<br/>истории] --> ETL2[Ежедневное<br/>инкремент. обновление]
    end

    ETL --> Storage[Хранилище сырых данных<br/>287 CSV-файлов]
    
    subgraph Core [Вычислительное ядро]
        Calc[Расчёт<br/>абсолютных курсов]
    end

    Storage --> Core
    Core --> Web[Веб-интерфейс<br/>Визуализация]
    
    click ETL2 "scripts/daily_update/README.md" "Документация системы обновления"
    click Storage "data/README.md" "Структура данных"

Источник данных: Twelve Data API Алгоритм расчёта: Метод наименьших квадратов для системы из 287 уравнений Размещение: Веб-интерфейс останется на центральном сайте проекта http://www.abscur.ru

🔄 Автоматизация и поддержка данных

Для поддержания работоспособности ядра проекта реализована система ежедневного инкрементального обновления.

Цель: Автоматически поддерживать актуальность и целостность сырых данных для 287 валютных пар. Ключевые особенности:

🚀 Продакшен-результаты (02.02.2026):

📚 Подробная документация: Система ежедневного обновления

🌐 Веб-интерфейсы

Работающая версия (AbsCur2)

🔗 www.abscur.ru Текущий работающий веб-интерфейс на основе данных AbsCur2 с 45 валютами.

Разрабатываемая версия (AbsCur3)

📍 Останется на прежнем месте - www.abscur.ru Расширенный интерфейс с 153 валютами и полным графом из 287 валютных пар.

📊 Технические характеристики

Параметр Значение Описание
Валютные пары 287 Полный граф связей (Конфигурация)
Уникальные валюты 153 Расширенный охват
Глубина истории до 20+ лет С 1979 года для некоторых пар
Алгоритм расчёта Метод наименьших квадратов Система из 287 уравнений
Обновление данных Ежедневное, автоматическое Через GitHub Actions
Размещение сайт http://www.abscur.ru Нулевая стоимость инфраструктуры

📁 Структура и навигация по репозиторию

Проект структурирован с использованием вложенной документации для удобства навигации.

graph TD
    Root[<b>Корневой README.md</b><br/>Обзор проекта] --> Scripts
    Root --> Data
    Root --> Config
    
    Scripts[<b>scripts/daily_update/</b>] --> S_Readme[README.md<br/>Система ежедневного обновления]
    Scripts --> Updater[incremental_updater.py<br/><em>✅ продакшен</em>]
    
    Data[<b>data/</b>] --> D_Readme[README.md<br/>Структура данных]
    Data --> Raw[raw/twelve_data/pairs/<br/>287 CSV-файлов]
    Data --> Analytics[analytics/<br/>Графы и метрики]
    
    Config[<b>config/</b>] --> C_Readme[README.md<br/>Конфигурация]
    Config --> Currencies[currencies.py<br/>Список 287 пар]
    
    click S_Readme "scripts/daily_update/README.md"
    click D_Readme "data/README.md"
    click C_Readme "config/README.md"

Основные каталоги:

🔗 Связанные материалы

Техническая документация и статьи

Предыдущие версии проекта

📋 Статус разработки

Этап Статус Описание
1. Первичная загрузка истории ✅ Завершено Загружены исторические данные для 287 пар
2. Система ежедневного обновления Завершено (02.02.2026) Автоматический пайплайн работает в продакшене
3. Расчёт абсолютных курсов 🎯 Текущий фокус Разработка алгоритмического ядра проекта
4. Веб-интерфейс AbsCur3 ⏳ В плане Визуализация на GitHub Pages

Текущий фокус: Разработка алгоритма расчёта абсолютных валютных курсов на основе ежедневно обновляемых данных.

⚖️ Правовой статус

AbsCur3 создаёт производный научно-исследовательский продукт — абсолютные валютные курсы, вычисленные методом наименьших квадратов на основе данных Twelve Data API. Проект позиционируется как:

  1. Научное исследование — разработка нового метода измерения валютных ценностей
  2. Образовательный ресурс — открытая платформа для изучения финансовой математики
  3. Инфраструктурный проект — предоставление уникальных данных сообществу

👤 Автор

prog815