Skip to content

BobbyAxerol/treasury-quant

Repository files navigation

🏦 Treasury Analytics & Quant System (v3.0)

Python 3.11+ Flask 3.1 License: MIT Docker Ready

Một hệ thống phân tích nguồn vốn (Treasury Analytics) chuyên nghiệp, tích hợp bảng điều khiển phân tích định lượng FX Swap, Money Market Flow, Trái phiếu Chính phủ (Gov Bond) và Trạm giao dịch liên ngân hàng (Quant Terminal) thời gian thực. Hệ thống hỗ trợ đồng bộ thông minh từ Hiệp hội Thị trường Trái phiếu Việt Nam (VBMA), Yahoo Finance, và tích hợp AI-Scan / AI-Chat phân tích thông minh qua mô hình Gemini.


📺 Giao diện Hệ thống (Screenshots)

📊 1. FX Swap & Counterparty Dashboard

Phân tích chênh lệch tỷ giá Swap Points, cấu trúc nhóm ngân hàng (Tier 1 & Tier 2), kiểm thử Market Regimes (Liquidity Stress vs Normal), đo lường độ phân tán và độ lệch cơ sở (Basis/CIP Analysis). FX Swap & Counterparty Dashboard

📈 2. Money Market Flow Dashboard

Bản đồ phân tích luồng vốn thị trường tiền tệ mở (OMO, tín phiếu SBV, tiền gửi kho bạc KBNN), dự đoán mức cản tính toán qua bộ lọc Kalman nâng cao, đo lường độ chịu đựng hệ thống thanh toán CITAD. Money Market Flow Dashboard

📉 3. Government Bond Yield Curve

Đường cong lợi suất Trái phiếu Chính phủ Việt Nam (2Y - 30Y), phân tích độ dốc (Slope 10Y-2Y), độ lồi (Butterfly 2-5-10), định vị lực mua bán/lệch giá của các ngân hàng (Bond Counterparty Axe). Government Bond Yield Curve

⌨️ 4. QUANT TERMINAL (Giao dịch liên ngân hàng)

Màn hình giao dịch thời gian thực cho phép theo dõi giá FX Spot, lãi suất MM/VNIBOR, Swap Points, thị trường hàng hóa & chỉ số chứng khoán. Hỗ trợ nhập liệu thủ công (F1/F2), tìm kiếm lịch sử (F3), AI-Scan quét ảnh báo giá (F4) và AI-Chatbot tư vấn (F5). Quant Terminal


🚀 Tính năng nổi bật

  • Pipeline Ingestion tự động: Đồng bộ dữ liệu VBMA (Yield Curve, Swap Curve, Short-term Rates) lưu trữ dưới dạng Parquet hiệu năng cao, cơ chế Smart-Sync chỉ tải các ngày giao dịch mới nhất.
  • Mô hình Phân tích Định lượng:
    • Phân tích xu hướng lãi suất qua mô hình phân rã PCA & regime classification GMM.
    • Bộ lọc Kalman theo dõi tư thế chính sách (Policy Posture Signal).
    • Phân tích tính chu kỳ của dòng tiền qua Seasonality Z-Score.
  • Trạm Giao dịch Hỗ trợ AI:
    • AI-SCAN: Quét hình ảnh báo giá Chat/Skype của các ngân hàng bằng Gemini 1.5/2.0 Flash Vision để bóc tách thông tin tự động và ghi nhận vào cơ sở dữ liệu liên ngân hàng.
    • AI-CHAT: Chatbot tư vấn định lượng dựa trên dữ liệu thị trường nội bộ tự động cập nhật hàng ngày (Retrieval-Augmented Generation - RAG).
  • Thiết kế tối giản, hiện đại: Giao diện mang đậm phong cách Bloomberg/Reuters Terminal, hỗ trợ chế độ nền tối (Dark Mode) tăng độ tương phản và tập trung vào dữ liệu tài chính.

📁 Cấu trúc Dự án

TreasuryAnalyticsTerminalAI/
├── _app.py                     # Flask backend chính, xử lý API & định tuyến tĩnh
├── asgi.py                     # Cổng kết nối chạy uvicorn
├── config.yaml                 # Cấu hình hệ thống (đường dẫn, logging, schedule)
├── .env                        # Biến môi trường & API Key (VBMA, Gemini)
├── Dockerfile                  # Cấu hình Container Docker
├── docker-compose.yaml         # Orchestration chạy docker stack
│
├── backend/                    # Logic nghiệp vụ Python
│   ├── _data_manager.py        # Quản lý I/O dữ liệu, live quotes, VNIBOR
│   ├── _base_model.py          # Điều phối Pipeline: Ingest -> Normalize -> Analyze -> Export
│   ├── _base_model_jobs.py     # Hub định nghĩa các job chạy phân tích
│   ├── _analytics.py           # Core tính toán định lượng kinh tế lượng & máy học
│   ├── _ai_scaner.py           # Gọi Gemini Vision bóc tách ảnh báo giá
│   ├── news_crawler.py         # Crawler tin tức thị trường (VnExpress, CafeF)
│   ├── data_provider/          # Provider dữ liệu ngoài (Yahoo Finance)
│   ├── normalizer/             # Tiền xử lý dữ liệu thô
│   └── sync_vbma/              # Module đồng bộ dữ liệu VBMA API
│
├── storage/                    # Kho lưu trữ Parquet cache (dữ liệu thô)
├── data/                       # Dữ liệu CSV & JSON giao dịch liên ngân hàng
├── data_json/                  # Output JSON của pipeline cấp cho frontend
│
├── terminal/                   # Màn hình Quant Terminal giao dịch thời gian thực
│   ├── index.html
│   ├── script.js
│   └── style.css
│
└── html/                       # Dashboard phân tích động & Shell điều hướng
    ├── shell_index.html        # Shell chính quản lý Tabs
    ├── fx_quant_dashboard_v3.html
    ├── money_market_flow.html
    └── bond_dashboard.html

⚙️ Hướng dẫn Khởi chạy Nhanh

Yêu cầu hệ thống

  • Python 3.11 trở lên
  • Poetry hoặc pip quản lý gói phụ thuộc

Khởi chạy môi trường Local

  1. Sao chép cấu hình:

    cp .env.example .env

    Cấu hình các tham số trong file .env:

    • VBMA_USERNAME & VBMA_PASSWORD (tài khoản kết nối API VBMA)
    • GEMINI_API_KEY (API key lấy từ Google AI Studio để kích hoạt quét ảnh & chatbot)
  2. Cài đặt thư viện:

    poetry install
    # hoặc: pip install -r requirements.txt (nếu sử dụng pip)
  3. Chạy Pipeline làm mới dữ liệu (Sử dụng dữ liệu Parquet đã cache sẵn trong storage/):

    poetry run python backend/_base_model.py --skip-ingest
  4. Khởi động Server Flask:

    poetry run python _app.py

    Server mặc định sẽ chạy tại địa chỉ: http://127.0.0.1:5002/

  5. Khởi chạy máy chủ sản xuất (Production):

    poetry run uvicorn asgi:asgi_app --host 127.0.0.1 --port 5002 --reload

Khởi chạy bằng Docker

Để chạy ứng dụng nhanh gọn không cần thiết lập Python môi trường local:

# Xây dựng và khởi chạy container chạy ẩn
docker compose up -d --build

# Theo dõi log hoạt động của container
docker compose logs -f app

🔗 Danh sách Endpoints API chính

Nhóm Phương thức Endpoint Chức năng
Pipeline POST /api/run-pipeline Kích hoạt chạy pipeline phân tích dữ liệu
GET /api/pipeline-status Lấy trạng thái lần chạy gần nhất
Streams GET /api/fx-stream Live Stream tỷ giá FX thời gian thực
GET /api/commodity-stream Live Stream giá cả hàng hóa (Vàng, Dầu, Khí...)
GET /api/equity-index-stream Live Stream chỉ số chứng khoán (S&P500, Nasdaq...)
GET /api/dashboard Tổng hợp lãi suất VNIBOR, Swap và báo giá đối tác
Override POST /api/vndusd/override Thiết lập tỷ giá USD/VND thủ công đè lên Yahoo
AI Module POST /api/ai-scan Quét ảnh gửi dữ liệu báo giá lên Gemini Vision
POST /api/chat Chatbot tư vấn định lượng dựa trên dữ liệu RAG

📄 Bản quyền

Dự án được phân phối dưới giấy phép MIT License. Xem chi tiết tại file LICENSE.

About

A public-facing treasury analytics and terminal repository for interbank FX, money market, swap curve, and bond (FI, GOVIE) real time monitoring.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors