Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [SQL 4.4] Độ biến động giá (độ lệch chuẩn) của từng mã

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 4: Kiểu dữ liệu và hàm xử lý dữ liệu — khóa SQL

    Phòng quản trị rủi ro đo độ biến động giá đóng cửa của từng mã bằng độ lệch chuẩn tổng thể trên toàn bộ các phiên có dữ liệu:

    do_lech_chuan = SQRT( trung bình của (close_price - gia_tb)^2 ), trong đó gia_tb là giá đóng cửa trung bình của mã.

    Với mỗi mã hãy xuất:

    • so_phien — số phiên;
    • gia_tb — giá đóng cửa trung bình, làm tròn 2 chữ số, DECIMAL(18,2);
    • do_lech_chuan — làm tròn 2 chữ số, DECIMAL(18,2).

    Sắp xếp theo do_lech_chuan giảm dần, đồng giá trị thì theo symbol.

    Chú ý kiểu dữ liệu: POWER trên DECIMAL của SQL Server giữ nguyên số chữ số thập phân của đối số nên có thể cắt mất phần lẻ. Hãy nhân với 1.0e0 (số thực) trước khi bình phương: POWER((close_price - tb) * 1.0e0, 2). Gợi ý: tính gia_tb từng dòng bằng AVG(...) OVER (PARTITION BY symbol) ở truy vấn con (hoặc dùng truy vấn con tương quan), rồi GROUP BY symbol ở truy vấn ngoài.

    • Định dạng đầu vào:

      Bảng MarketPrices(symbol, close_price).

    • Định dạng đầu ra:

      symbol, so_phien, gia_tb, do_lech_chuan (TAB); sắp xếp theo do_lech_chuan giảm dần, symbol.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    FPT	10	121440.00	3026.28
    PVI	10	54288.00	1727.78
    VCB	10	92368.00	1604.07
    VNM	10	68136.00	1452.08
    VCS	10	56880.00	1440.00
    IDC	10	51950.00	1293.25
    MBS	10	24816.00	1063.61
    PVS	10	37202.00	906.44
    CEO	10	20306.00	811.62
    SHS	10	15376.00	498.06
    HPG	10	27027.00	426.05
    NVB	10	9320.00	218.17

    Giải thích:

    12 mã, mỗi mã 10 phiên; FPT có độ lệch chuẩn lớn nhất do giá cao.

    Chủ đề

    📊 SQLSQLSQL: Buổi 4 – Kiểu dữ liệu & hàm xử lýTất cả môn học

    Đang tải editor...