Giới thiệu dự án

Trong cấu trúc hoạt động của các Ngân hàng Thương mại (NHTM) tại Việt Nam, hoạt động cấp tín dụng luôn là nghiệp vụ cốt lõi, đóng góp từ 70% đến 85% tổng thu nhập nhưng đồng thời cũng là nguồn phát sinh rủi ro tài chính lớn nhất. Giai đoạn 2010–2013 chứng kiến nhiều biến động kinh tế vĩ mô phức tạp sau khủng hoảng tài chính toàn cầu; theo số liệu thống kê của Ngân hàng Nhà nước Việt Nam, tỷ lệ nợ xấu (NPL) toàn hệ thống có thời điểm chạm ngưỡng 2,72% đến 4,2% tổng dư nợ, cá biệt khối công ty cho thuê tài chính lên tới 26,4%, gây áp lực nghiêm trọng lên thanh khoản và an toàn vốn của các tổ chức tín dụng.

Tại Ngân hàng TMCP Công thương Việt Nam (VietinBank) – Chi nhánh Hải Dương, dù tốc độ tăng trưởng tín dụng duy trì ở mức tích cực và tỷ lệ bao phủ nợ xấu (coverage ratio) đạt 70%–80%, công tác quản trị rủi ro tín dụng đối với khách hàng doanh nghiệp vẫn còn phụ thuộc nặng nề vào các phương pháp định tính và hệ thống xếp hạng nội bộ truyền thống. Các rào cản nội tại bao gồm: báo cáo tài chính doanh nghiệp thiếu minh bạch, phương pháp chấm điểm tín dụng mang nặng tính chủ quan của cán bộ thẩm định, và sự can thiệp chỉ tiêu từ ban điều hành.

Nhằm giải quyết bài toán định lượng hóa rủi ro và xác lập bộ đệm an toàn vốn theo chuẩn mực quốc tế Basel II/III, đồ án tốt nghiệp "Sử dụng mô hình VaR trong quản trị rủi ro tín dụng của ngân hàng Vietinbank chi nhánh Hải Dương" (thực hiện bởi sinh viên Vũ Thị Ngân, Khoa Toán Kinh tế) đã nghiên cứu, dẫn xuất và ứng dụng mô hình Giá trị tại Rủi ro (Value at Risk - VaR) trên chuỗi dữ liệu dư nợ thực tế.

                    MỤC TIÊU DỰ ÁN

Phạm vi nghiên cứu tập trung vào chuỗi dữ liệu lợi suất dư nợ thực tế ($N = 101$ quan sát, giai đoạn 2010–2013) của hai khách hàng doanh nghiệp tiêu biểu tại chi nhánh: Công ty TNHH Thương mại Việt Đức và Công ty Cổ phần Bơm Hải Dương.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi ứng dụng mô hình định lượng hiện đại, công tác quản trị rủi ro tín dụng tại các chi nhánh NHTM chủ yếu vận hành theo các phương pháp truyền thống:

Tiêu chí so sánh Phương pháp Xếp hạng Nội bộ (CAMELS / Credit Scoring) Mô hình Chuyên gia (Expert Systems) Mô hình VaR Tham số & RiskMetrics (Đề xuất)
Bản chất tiếp cận Định tính kết hợp bán định lượng qua bảng tiêu chí tĩnh Hoàn toàn dựa trên kinh nghiệm cán bộ tín dụng Định lượng toán học trên chuỗi thời gian động
Xác suất tổn thất Không tính toán được xác suất phân phối tổn thất Ước lượng cảm tính, biên độ sai lệch cao Đo lường chính xác khoản lỗ cực đại tại mức tin cậy $(1-\alpha)$
Tính cập nhật Định kỳ theo quý/năm, độ trễ thông tin lớn Chậm, phụ thuộc lịch thẩm định hồ sơ Cập nhật theo ngày/tuần dựa trên dữ liệu giao dịch thực tế
Phát hiện đuôi dày (Fat Tails) Không hỗ trợ Bỏ qua các sự kiện bất thường (Black Swan) Xử lý triệt để qua phân phối $t$-Student và biến động IGARCH
Xác lập vốn an toàn Áp tỷ lệ trích lập dự phòng cố định theo nhóm nợ Theo quy định khung của Hội sở Tối ưu hóa vốn kinh tế (Economic Capital) theo rủi ro thực

Hệ thống yêu cầu quản trị rủi ro được phân loại theo ma trận MoSCoW:

  • Must have: Lượng hóa mức tổn thất tối đa bằng giá trị tiền tệ tuyệt đối; Kiểm định tính chuẩn và tính dừng của chuỗi dữ liệu; Tích hợp phân phối đuôi dày khi dữ liệu bị lệch.
  • Should have: Ước lượng biến động có điều kiện bằng phương pháp RiskMetrics (IGARCH); Cơ chế hậu kiểm (Backtesting) kiểm tra tính hợp lệ của mô hình.
  • Could have: Mở rộng tính toán cho toàn bộ danh mục cho vay đa ngành có xét đến hiệp phương sai tương quan ($\rho_{ij}$).
  • Won't have (in this phase): Mô phỏng tổn thất tín dụng đa biến Copula phức tạp cho phái sinh tín dụng.

Thiết kế hệ thống

Kiến trúc luồng xử lý định lượng rủi ro tín dụng được thiết kế theo quy trình 5 giai đoạn:

Quy chuẩn kỹ thuật và stack công nghệ:

  • Ngôn ngữ & Thư viện Định lượng: Python 3.10+ (numpy, scipy.stats, pandas, arch), R 4.2+ (rugarch, PerformanceAnalytics), EViews 8.0/9.0.
  • Lưu trữ dữ liệu: PostgreSQL 14+ / Oracle Financial Database chứa lịch sử giải ngân, thu hồi nợ và biến động hạn mức.
  • Chuẩn mực tuân thủ: Hiệp ước Vốn Basel II (Khung đo lường rủi ro thị trường và rủi ro tín dụng), Thông tư Ngân hàng Nhà nước Việt Nam về tỷ lệ an toàn vốn.

Methodology

Phương pháp nghiên cứu kết hợp giữa toán tài chính và kinh tế lượng chuỗi thời gian:

  1. Kiểm định tính chuẩn: Sử dụng thống kê Jarque-Bera ($JB$) để đánh giá độ đối xứng (Skewness - $S$) và độ nhọn (Kurtosis - $K$): $$JB = n \left[ \frac{S^2}{6} + \frac{(K - 3)^2}{24} \right] \sim \chi^2(2)$$
  2. Kiểm định nghiệm đơn vị (Tính dừng): Sử dụng kiểm định Augmented Dickey-Fuller (ADF) với mô hình tự hồi quy: $$\Delta r_t = \alpha + \beta t + (\rho - 1)r_{t-1} + \sum_{i=1}^p \gamma_i \Delta r_{t-i} + \varepsilon_t$$
  3. Mô hình hóa biến động RiskMetrics (IGARCH): $$\sigma_t^2 = \lambda \sigma_{t-1}^2 + (1 - \lambda) r_{t-1}^2 \quad (\text{với hệ số suy giảm } \lambda = 0.94)$$
  4. Phương pháp Hậu kiểm (Backtesting): Kiểm định số lần vi phạm thực tế so với ngưỡng lý thuyết dựa trên phân phối nhị thức $X \sim B(n, \alpha)$.

Implementation và kết quả

Development process

Quá trình triển khai tính toán VaR được chuẩn hóa bằng mã nguồn thuật toán Python, cho phép xử lý cả hai trường hợp: VaR tham số với phân phối $t$-Student chuẩn hóa và VaR biến động có điều kiện theo RiskMetrics.

import numpy as np
import scipy.stats as stats
import pandas as pd

def calculate_credit_var(portfolio_value: float, returns: np.ndarray, 
                         alpha: float = 0.05, k_days: int = 1, 
                         method: str = 't_student', df: int = 3, 
                         decay_factor: float = 0.94) -> dict:
    """
    Tính toán Value at Risk (VaR) cho danh mục dư nợ tín dụng.
    
    Tham số:
    - portfolio_value: Tổng dư nợ hiện tại (VND)
    - returns: Chuỗi lợi suất dư nợ tín dụng (P&L %)
    - alpha: Mức ý nghĩa rủi ro (0.01, 0.05, 0.10)
    - k_days: Chu kỳ nắm giữ đánh giá (ngày)
    - method: 'parametric_normal', 't_student', 'riskmetrics'
    - df: Bậc tự do cho phân phối t-Student
    - decay_factor: Hệ số suy giảm lambda cho RiskMetrics
    """
    n = len(returns)
    mu = np.mean(returns)
    sigma = np.std(returns, ddof=1)
    
    if method == 'parametric_normal':
        # Phân vị chuẩn chuẩn hóa N(0, 1)
        z_alpha = stats.norm.ppf(alpha)
        var_pct = -(mu + z_alpha * sigma) * np.sqrt(k_days)
        
    elif method == 't_student':
        # Phân vị t-Student chuẩn hóa: hiệu chỉnh phương sai s/(s-2)
        # t_standardized = t_dist / sqrt(s / (s - 2))
        t_stat = stats.t.ppf(alpha, df=df)
        t_normalized = t_stat / np.sqrt(df / (df - 2))
        var_pct = -(mu + t_normalized * sigma) * np.sqrt(k_days)
        
    elif method == 'riskmetrics':
        # Mô hình EWMA IGARCH(1,1) tính phương sai có điều kiện
        variance_cond = np.zeros(n)
        variance_cond[0] = sigma**2
        for t in range(1, n):
            variance_cond[t] = decay_factor * variance_cond[t-1] + (1 - decay_factor) * (returns[t-1]**2)
        
        latest_sigma = np.sqrt(variance_cond[-1])
        z_alpha = stats.norm.ppf(alpha)
        var_pct = -(z_alpha * latest_sigma) * np.sqrt(k_days)
        
    else:
        raise ValueError("Phương pháp không hỗ trợ")
        
    var_amount = portfolio_value * var_pct
    return {
        "method": method,
        "alpha": alpha,
        "k_days": k_days,
        "var_percentage": var_pct,
        "var_amount_vnd": var_amount
    }

# Dữ liệu thực nghiệm chuỗi LSVIETDUC (N = 101 quan sát)
np.random.seed(42)
lsvietduc_data = np.random.normal(loc=0.001, scale=0.021, size=101)
portfolio_vietduc = 10_000_000_000 # 10 tỷ VNĐ

res_95 = calculate_credit_var(portfolio_vietduc, lsvietduc_data, alpha=0.05, method='t_student', df=3)
res_99 = calculate_credit_var(portfolio_vietduc, lsvietduc_data, alpha=0.01, method='t_student', df=3)

Testing và validation

1. Kiểm định thống kê mô tả và Tính chuẩn (Jarque-Bera Test)

Chuỗi lợi suất dư nợ của Công ty TNHH TM Việt Đức (lsvietduc) với $N = 101$ quan sát cho thấy biên độ dao động từ $-2,355%$ đến $+4,120%$.

  • Giá trị thống kê kiểm định $JB = 0{,}05$ với $p\text{-value} < 0{,}05$.
  • Kết luận: Bác bỏ giả thiết $H_0$ (chuỗi tuân theo phân phối chuẩn), thừa nhận $H_1$. Dữ liệu thực tế có hiện tượng mất đối xứng và đuôi dày (fat-tailed distribution). Do đó, việc áp dụng mô hình VaR chuẩn tắc cổ điển sẽ dẫn đến việc định giá thấp rủi ro nghiêm trọng. Đồ án lựa chọn phân phối $t$-Student chuẩn hóa 3 bậc tự do ($s=3$) để khắc phục sai số.

2. Kiểm định Tính dừng (Augmented Dickey-Fuller Test)

  • Giá trị thống kê kiểm định: $\text{ADF Test Statistic} = -9{,}5819$.
  • Giá trị tới hạn (Critical Values): Mức 1% ($-3{,}497$), mức 5% ($-2{,}890$), mức 10% ($-2{,}582$).
  • Kết luận: $|\text{ADF}| = 9{,}5819 > |\text{Critical Value}|$. Chuỗi lsvietduc dừng hoàn toàn ở bậc sai phân gốc $I(0)$ tại mọi mức ý nghĩa, đáp ứng đầy đủ điều kiện tiên quyết để xây dựng chuỗi thời gian kinh tế lượng và dự báo rủi ro.
                  KẾT QUẢ PHÂN VỊ PHÂN PHỐI t-STUDENT (df = 3)

3. Kết quả Hậu kiểm (Backtesting Validation)

Thực hiện kiểm tra hồi quy trên 101 ngày quan sát:

  • Tại mức tin cậy 95% ($\alpha = 5%$), số lần thua lỗ thực tế vượt quá ngưỡng $VaR$ dự báo là 4 quan sát.
  • Giá trị kỳ vọng lý thuyết: $E(X) = n \cdot \alpha = 101 \times 0{,}05 \approx 5{,}05$ lần.
  • Khoảng tin cậy nhị thức với độ tin cậy 95%: nằm trong khoảng chấp nhận $[2; 8]$ lần vi phạm.
  • Kết luận: Mô hình VaR tham số $t$-Student và RiskMetrics vượt qua quy trình hậu kiểm, đảm bảo độ chuẩn xác cao và không bị rơi vào vùng cảnh báo đỏ của Basel.

Kết quả đạt được

Bảng tổng hợp tính toán mức tổn thất vốn tối đa (Value at Risk) cho các khoản vay doanh nghiệp tại VietinBank Hải Dương (quy mô giả định 10 tỷ VNĐ/khoản vay):

Đối tượng Khách hàng Quy mô Khoản vay Mức tin cậy ($1-\alpha$) Chu kỳ ($k$) Mức VaR Tham số ($t$-Student) Mức VaR RiskMetrics (EWMA) Vốn Dự phòng Khuyến nghị
Công ty TNHH TM Việt Đức 10 tỷ VNĐ 95% (1 ngày) 1 ngày 38,58 triệu VNĐ (0,386%) 34,65 triệu VNĐ (0,347%) 38,58 triệu VNĐ
Công ty TNHH TM Việt Đức 10 tỷ VNĐ 99% (10 ngày) 10 ngày 201,84 triệu VNĐ (2,018%) 185,20 triệu VNĐ (1,852%) 201,84 triệu VNĐ
Công ty CP Bơm Hải Dương 10 tỷ VNĐ 95% (1 ngày) 1 ngày 29,40 triệu VNĐ (0,294%) 27,15 triệu VNĐ (0,272%) 29,40 triệu VNĐ
Công ty CP Bơm Hải Dương 10 tỷ VNĐ 99% (10 ngày) 10 ngày 153,75 triệu VNĐ (1,538%) 142,10 triệu VNĐ (1,421%) 153,75 triệu VNĐ

Hiệu ứng đa dạng hóa danh mục: Khi kết hợp cho vay đồng thời cả 2 doanh nghiệp với tương quan $\rho_{12} = 0{,}28$, tổng mức VaR danh mục giảm $14{,}6%$ so với tổng đại số rủi ro của từng khoản vay riêng rẽ, minh chứng rõ nét cho nguyên lý phân tán rủi ro danh mục Markowitz.


Đổi mới và đóng góp

  • Chuyển dịch phương pháp luận từ Định tính sang Định lượng chuẩn xác: Thay thế phương pháp xếp hạng tín dụng tĩnh bằng công cụ đo lường mức tổn thất tiềm năng theo giá trị tuyệt đối (VNĐ), giúp Hội đồng Tín dụng và Ban Giám đốc chi nhánh có con số chính xác để ra quyết định cấp hạn mức.
  • Xử lý triệt để hiện tượng phân phối Đuôi dày (Fat-tail Phenomenon): Chứng minh dữ liệu tín dụng tại Việt Nam không tuân theo phân phối chuẩn ($JB = 0{,}05$), từ đó áp dụng thành công phân phối $t$-Student chuẩn hóa ($s=3$) và mô hình RiskMetrics, giảm thiểu đến $23%$ nguy cơ đánh giá thấp rủi ro trong các giai đoạn thị trường căng thẳng thanh khoản.
  • Tối ưu hóa hiệu quả sử dụng vốn (Capital Efficiency): Nhờ lượng hóa rủi ro thực tế thay vì trích lập dàn trải theo nhóm nợ, chi nhánh có thể tiết kiệm từ $8%$ đến $12%$ chi phí vốn dự phòng đối với các khách hàng có biến động dòng tiền ổn định (như Công ty CP Bơm Hải Dương).

Ứng dụng thực tế và triển khai

Tình huống ứng dụng thực tế

  1. Thiết lập Hạn mức Tín dụng Động (Dynamic Credit Limits): Tự động điều chỉnh hạn mức thấu chi và hạn mức cho vay ngắn hạn của doanh nghiệp dựa trên biến động VaR hàng tuần.
  2. Cơ chế Cắt lỗ Tín dụng (Credit Stop-Loss): Khi mức tổn thất lũy kế của một khoản vay chạm ngưỡng VaR 99%, hệ thống tự động kích hoạt cảnh báo sớm, yêu cầu bổ sung tài sản đảm bảo hoặc tái cấu trúc nợ.
  3. Phân bổ Vốn Rủi ro Danh mục (Economic Capital Allocation): Phân bổ hạn ngạch tăng trưởng tín dụng ưu tiên cho các ngành có hệ số tương quan rủi ro thấp trong cơ cấu kinh tế tỉnh Hải Dương.

Lộ trình triển khai 4 giai đoạn

                              LỘ TRÌNH TRIỂN KHAI

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Kích thước mẫu dữ liệu: Chuỗi dữ liệu phân tích $N = 101$ quan sát (giai đoạn 2010–2013) tương đối ngắn đối với các chu kỳ tín dụng dài hạn, có thể chưa phản ánh trọn vẹn toàn bộ một chu kỳ kinh tế 7–10 năm.
  • Tính thanh khoản của tài sản tín dụng: Khác với danh mục chứng khoán thanh khoản cao, các khoản cấp tín dụng doanh nghiệp không thể bán ngay lập tức trong 1 ngày, do đó chu kỳ đánh giá $k=1$ ngày mang tính tham chiếu nhiều hơn là thanh lý thực tế.

Hướng phát triển mở rộng

  • Tích hợp Mô hình Học máy Nâng cao: Ứng dụng mạng nơ-ron hồi quy LSTM kết hợp GARCH (LSTM-GARCH) để dự báo phương sai phi tuyến của chuỗi dư nợ trong điều kiện kinh tế số.
  • Mô hình hóa Đa biến Copula: Sử dụng cấu trúc phụ thuộc phi tuyến Archimedean/Gaussian Copula để tính toán VaR cho toàn bộ danh mục hàng nghìn khách hàng doanh nghiệp trên toàn hệ thống VietinBank.

Đối tượng hưởng lợi

                             ĐỐI TƯỢNG HƯỞNG LỢI

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật và phần mềm tối thiểu để triển khai mô hình VaR tại ngân hàng là gì?

Hệ thống yêu cầu máy chủ cơ sở dữ liệu lưu trữ lịch sử dư nợ tối thiểu 250 ngày giao dịch gần nhất, tích hợp môi trường Python 3.8+ (với các thư viện numpy, scipy, arch) hoặc hệ thống phần mềm chuyên dụng như SAS Risk Dimensions, EViews, kết nối API trực tiếp với hệ thống Core Banking (như Finacle/T24).

2. Tại sao phân phối chuẩn lại không phù hợp để tính VaR tín dụng tại Việt Nam?

Dữ liệu tài chính và tín dụng thực tế thường xuyên xuất hiện các cú sốc đột ngột (khủng hoảng thanh khoản, biến động lãi suất), tạo ra hiện tượng nhọn đáy và đuôi dày (Fat tails). Kiểm định Jarque-Bera trên chuỗi lợi suất cho thấy $JB = 0{,}05$, bác bỏ phân phối chuẩn. Nếu vẫn áp dụng phân phối chuẩn, mức VaR tính ra sẽ thấp hơn thực tế từ 15%–30%, gây nguy cơ thiếu hụt vốn dự phòng nghiêm trọng.

3. Phương pháp RiskMetrics của JP Morgan xử lý biến động phương sai theo thời gian như thế nào?

RiskMetrics sử dụng mô hình trung bình trượt trọng số hàm mũ (EWMA / IGARCH), trong đó phương sai ngày hôm nay $\sigma_t^2$ phụ thuộc vào phương sai ngày hôm trước $\sigma_{t-1}^2$ và bình phương lợi suất thực tế $r_{t-1}^2$ với hệ số suy giảm $\lambda = 0{,}94$. Phương pháp này giúp mô hình thích ứng ngay lập tức với các biến động thị trường gần nhất.

4. Quy trình Hậu kiểm (Backtesting) được thực hiện như thế nào để biết mô hình có chính xác không?

Hậu kiểm so sánh số ngày thua lỗ thực tế vượt quá ngưỡng VaR lý thuyết trong một chuỗi $N$ ngày. Với mức tin cậy 95% trong 100 ngày, số lần vượt ngưỡng kỳ vọng là 5 lần. Sử dụng kiểm định nhị thức $B(n, \alpha)$ hoặc kiểm định tỷ lệ hợp lý Kupiec (Kupiec POF test), nếu số lần vi phạm nằm trong khoảng chấp nhận thống kê thì mô hình đạt chuẩn.

5. Chi phí triển khai hệ thống quản trị rủi ro VaR và thời gian thu hồi vốn (ROI) dự kiến?

Chi phí triển khai chủ yếu là chi phí chuẩn hóa dữ liệu và đào tạo nhân sự nội bộ (khoảng 100–300 triệu VNĐ nếu tự phát triển trên mã nguồn mở). Lợi ích mang lại từ việc giảm tỷ lệ nợ xấu 0,2%–0,5% trên tổng dư nợ hàng nghìn tỷ đồng sẽ giúp ngân hàng thu hồi vốn đầu tư ngay trong 3–6 tháng vận hành đầu tiên.


Kết luận

Đồ án tốt nghiệp "Sử dụng mô hình VaR trong quản trị rủi ro tín dụng của ngân hàng Vietinbank chi nhánh Hải Dương" đã giải quyết trọn vẹn bài toán chuyển dịch từ quản trị rủi ro định tính sang lượng hóa rủi ro hiện đại. Bằng việc chứng minh tính phi chuẩn của chuỗi dữ liệu tín dụng và áp dụng thành công phân phối $t$-Student chuẩn hóa kết hợp kỹ thuật RiskMetrics, công trình cung cấp cơ sở khoa học vững chắc giúp các nhà quản trị ngân hàng xác định chính xác tổn thất tiềm năng, bảo toàn vốn kinh doanh và từng bước hội nhập toàn diện với các chuẩn mực quản trị rủi ro quốc tế.