
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 512
ỨNG DỤNG MÔ HÌNH ARIMA TRONG PHÂN TÍCH GIÁ CỔ PHIẾU
CÁC CÔNG TY THUỘC NHÓM NGÀNH XÂY DỰNG NIÊM YẾT TRÊN SÀN
CHỨNG KHOÁN VIỆT NAM BẰNG NỀN TẢNG TABLEAU VÀ PYTHON
APPLICATION OF ARIMA MODEL IN STOCK PRICE ANALYSIS OF COMPANIES
IN THE CONSTRUCTION INDUSTRY LISTED ON THE VIETNAM STOCK
EXCHANGE USING TABLEAU AND PYTHON PLATFORMS
Đồng Phương Duyên1,*, Vũ Mỹ Duyên1, Vũ Đức Dũng1,
Nguyễn Trọng Đạt1, Hoàng Trường Giang1, Trịnh Viết Giang2
1Lớp DLKD 01 - K16, Khoa Kế toán - Kiểm toán, Trường Đại học Công nghiệp Hà Nội
2Khoa Kế toán - Kiểm toán, Trường Đại học Công nghiệp Hà Nội
*Email: dpduyennn@gmail.com
TÓM TẮT
Nghiên cứu này ứng dụng mô hình ARIMA trong phân tích giá cổ phiếu các công ty thuộc nhóm ngành xây dựng niêm
yết trên Sở Giao dịch Chứng khoán TP. Hồ Chí Minh (HOSE) trong khoảng thời gian từ quý 1 năm 2019 đến tháng 8 năm
2023. Số liệu được thu thập từ trang web Investing.com và được xử lý bằng phần mềm Jupyter Notebook. Kết quả cho
thấy mô hình ARIMA và SARIMA là thích hợp cho việc dự báo. Các nhà làm chính sách, các doanh nghiệp có thể sử dụng
công cụ này cho công tác dự báo, hoạch định và lập kế hoạch.
Từ khoá: Dự báo, Cổ phiếu, ARIMA, SARIMA.
ABSTRACT
This study applies the ARIMA model to analyze stock prices of construction companies listed on the Ho Chi Minh City
Stock Exchange (HOSE) from the first quarter of 2019 to August 2023. Data was collected from Investing.com and
processed using Jupyter Notebook. The results show that the ARIMA and SARIMA models are suitable for forecasting.
Policymakers and businesses can use this tool for forecasting, planning, and strategizing.
Keywords: Forecast, Stocks, ARIMA, SARIMA.
1. GIỚI THIỆU
Thị trường chứng khoán Việt Nam, đặc biệt là nhóm
ngành xây dựng, luôn biến động phức tạp và chịu ảnh
hưởng bởi nhiều yếu tố kinh tế vĩ mô và vi mô. Việc dự báo
biến động giá cổ phiếu trong ngành này không chỉ là thách
thức mà còn là cơ hội cho các nhà đầu tư. Đặc biệt nước ta,
thị trường chứng khoán còn non trẻ, mới chỉ mang tính thử
nghiệm và hoạt động với khá nhiều quy định giới hạn chặt
chẽ, các nhà đầu tư bước đầu làm quen với loại hình đầu tư
mới này nên trong hành vi đầu tư còn ẩn chứa những đặc
điểm riêng. Chính điều này đã tạo ra những đặc thù trong
sự vận động của giá chứng khoán, do đó việc đưa ra phân
tích chuỗi thời gian về xu hướng biến động về giá cổ phiếu
cho thị trường là rất có ý nghĩa.
Các nghiên cứu trước đây đã chỉ ra rằng mô hình
ARIMA (Autoregressive Integrated Moving Average) là
một công cụ hữu ích trong việc dự báo chuỗi thời gian, đặc
biệt là trong lĩnh vực tài chính. Tuy nhiên, việc áp dụng mô
hình ARIMA vào phân tích giá cổ phiếu ngành xây dựng tại
Việt Nam vẫn còn nhiều hạn chế và cần được nghiên cứu
sâu hơn.
Trong nghiên cứu này, chúng tôi sẽ tập trung vào ứng
dụng mô hình ARIMA để phân tích và dự báo giá cổ phiếu
của các công ty xây dựng niêm yết trên sàn chứng khoán
Việt Nam. Bằng việc sử dụng hai nền tảng mạnh mẽ là
Tableau và Python, chúng tôi sẽ khai thác tối đa khả năng
trực quan hóa dữ liệu của Tableau và khả năng xử lý, phân
tích dữ liệu của Python để xây dựng một mô hình dự báo
chính xác và đáng tin cậy.
Nghiên cứu này không chỉ đóng góp vào việc mở rộng
ứng dụng của mô hình ARIMA trong lĩnh vực tài chính mà
còn cung cấp cho các nhà đầu tư những thông tin hữu ích
để đưa ra quyết định đầu tư sáng suốt trong ngành xây
dựng.

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 5132. PHƯƠNG PHÁP NGHIÊN CỨU
[5] lần đầu tiên giới thiệu mô hình ARIMA
(autoregressive integrated moving average) trong phân tích
chuỗi thời gian, được hiểu là phương pháp Box-Jenkins. Mô
hình ARIMA được kết hợp bởi 3 thành phần chính: AR (thành
phần tự hồi quy), I (tính dừng của chuỗi thời gian) và MA
(thành phần trung bình trượt). Để sử dụng mô hình ARIMA
trong dự báo chuỗi thời gian, cần trải qua 4 bước như sau:
Bước 1. Nhận dạng mô hình
Để sử dụng mô hình ARIMA(p,d,q) trong dự báo cần
nhận dạng ba thành phần p,d và q của mô hình. Thành phần
d của mô hình được nhận dạng thông qua kiểm định tính
dừng của chuỗi thời gian. Nếu chuỗi thời gian dừng ở bậc 0
ta ký hiệu I(d=0), nếu sai phân bậc 1 của chuỗi dừng ta ký
hiệu I(d=1), nếu sai phân bậc 2 của chuỗi dừng ta ký hiệu
I(d=2),... Để kiểm định tính dừng của chuỗi, chúng tôi sử
dụng kiểm định nghiệm đơn vị Dickey–Fuller cải biên
(ADF) và kiểm định Phillips-Perron:
∆Yt = β1+ β2t + δYt−1 + ∑∆ +
(1)
Kiểm định giả thuyết : = 0
∶ < 0 sử dụng thống kê
student (ký hiệu t)
Sau khi kiểm định tính dừng, ta sẽ xác định bậc của quy
trình tự hồi quy (AR) và quy trình trung bình trượt (MA)
thông qua biểu đồ tự tương quan (ACF) và biểu đồ tự tương
quan riêng phần (PACF).
Quy trình tự hồi quy bậc p, ký hiệu AR(p), được định
nghĩa:
(Yt− δ) = α1(Yt−1 − δ) + α2(Yt−2 − δ) + · · ·
+ αp(Yt−p− δ) + ut (2)
Trong đó: Yt là chuỗi theo thời gian, δ là kỳ vọng của
chuỗi Yt, ut là nhiễu trắng (white noise).
Quy trình trung bình trượt bậc q, ký hiệu MA(q) được
định nghĩa:
Yt= µ + β0ut+ β1ut−1 + β2ut−2 + · · · + βqut−q (3)
Bản chất của mô hình (2) là kết hợp tuyến tính giữa Yt
và các nhiễu trắng. Kết hợp (2) và (3) ta có mô hình
ARMA(p,q) như sau:
Yt = Ө + α1Yt−1 + α2Yt−2 + · · · + αpYt−p+ β0ut+ β1ut−1
+ β2ut−2 + · · · + βqut−q (4)
Bảng 1. Các dạng đồ thị của mô hình ARIMA
Loại mô
hình
Dạng đồ thị
ACF
Dạng đồ thị
PACF
AR(p) Giảm nhanh theo
hàm mũ hoặc dạng
hình sin, hoặc cả hai
Có đỉnh ở trễ thứ
p
MA(q) Có đỉnh sau trễ q Giảm dần theo
hàm mũ
ARMA(p, q) Giảm nhanh theo
hàm mũ
Giảm nhanh
theo hàm mũ
(Nguồn: Gujarati et al)
Nhận dạng mô hình ARIMA(p,d,q) là tìm các giá trị
thích hợp của p, d, q với d là bậc sai phân của chuỗi thời
gian được khảo sát, p là bậc tự hồi quy và q là bậc trung
bình trượt. Việc xác định p và q phụ thuộc vào các đồ thị
PACF = f(t) và ACF = f(t), chi tiết được thể hiện ở bảng 1.
Bước 2. Ước lượng các tham số và lựa chọn mô hình
Các tham số của mô hình sẽ được ước lượng bằng phần
mềm Eview. Quá trình lựa chọn mô hình là quá trình thực
nghiệm và so sánh các tiêu chí R2 hiệu chỉnh, AIC và
Schwarz cho đến khi ta chọn được mô hình tốt nhất cho việc
dự báo.
Bước 3. Kiểm định mô hình
Để đảm bảo mô hình là phù hợp, sai số của mô hình phải
là nhiễu trắng. Ta có thể sử dụng biểu đồ tự tương quan ACF
hoặc kiểm định Breusch-Godfrey kiểm tra tính tự tương
quan của sai số. Đối với phương sai sai số thay đổi, ta có
thể sử dụng kiểm định White hoặc ARCH.
Bên cạnh đó để đánh giá độ tin cậy của mô hình dự báo,
nghiên cứu sử dụng chỉ số MAPE (Mean Absolute Percent
Error). Theo Lewis (1983) thì MAPE lớn hơn hoặc bằng
50% thì dự báo không chính xác, 20% - 50% là hợp lệ, 10%-
20% là dự báo tốt, dưới 10% là dự báo hoàn hảo. Chỉ số
MAPE được định nghĩa như sau:
MAPE =
× ∑
(5)
Trong đó xt, là giá trị thật và giá trị dự báo ở thời điểm
t, n là tổng số dự báo.
Bước 4. Dự báo
Sau khi kiểm định sai số của các mô hình dự báo, nếu
phù hợp sẽ được sử dụng vào việc dự báo.
3. KẾT QUẢ NGHIÊN CỨU
Giới thiệu mẫu quan sát
Biểu đồ 1. Biến động giá đóng (Close) của 5 mã cổ phiếu theo
thời gian (Date) (Nguồn: Tổng hợp kết quả từ nhóm tác giả)
Toàn bộ mẫu quan sát sử dụng trong bài được thu thập
từ ngày 06/01/2019 đến ngày 28/01/2024. Mẫu quan sát

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 514được tổng hợp theo tuần, lấy giá đóng cửa, mở cửa, mức độ
chênh lệch, giá cao nhất, giá thấp nhất, khối lượng giao dịch
của năm công ty tiêu biểu trong ngành xây dựng là VCG,
HBC, HT1, ACC, CVT và bao gồm 264 quan sát.
Dựa vào thống kê mô tả của chuỗi số liệu, ta thấy rằng
giá đóng cửa cổ phiếu của các công ty có xu hướng biến
động khá rõ ràng, tuy nhiên vẫn có sự tăng trong cả giai
đoạn nghiên cứu với biên độ dao động khá lớn.
Biểu đồ 2. Mối quan hệ giữa giá đóng cửa (Close) và giá mở cửa
(Open) (Nguồn: Tổng hợp kết quả từ nhóm tác giả)
Xây dựng mô hình ARIMA
Để xây dựng mô hình ARIMA, trước tiên ta phải kiểm
định tính dừng của chuỗi giá đóng cửa cổ phiếu. Kết quả
cho thấy chuỗi giá trị ban đầu cho ra đồ thị ACF và PACF
có các đặc điểm của chuỗi không dừng tương đồng với nhận
định ban đầu. Trong khi đó, đồ thị ACF sai phân bậc 1 của
cả 5 chuỗi, ta thấy đều có đặc điểm chung là các giá trị ACF
đều giảm dần theo độ trễ, tiến dần về 0 và hầu hết đều nằm
trong khoảng giới hạn tin cậy 95%. Ở biểu đồ PACF, có giá
trị tại độ trệ 1 là lớn nhất rồi sau đó đều giảm dần về 0 và
nhỏ hơn 0,2. Điều này cho thấy, dữ liệu sai phân bậc 1 của
cả 5 chuối đã có tính dừng. Vì chuỗi sai phân bậc 1 đã có
tính dừng nên chắc chắn sai phân bậc 2 của chuỗi cũng có
tính dừng. Biểu đồ từ việc trực quan quan hóa đồ thị ACF
và PACF cũng cho ra kết quả tương tự.
Kết quả kiểm định Dickey-Fuller (ADF) của 5 mã cổ
phiếu cho chuỗi giá đóng cửa gốc đều có p-value rất lớn,
giá trị T-statistic đều nhỏ hơn các giá trị kiểm định ở cả ba
mức giới hạn cho ra kết quả là chuỗi không dừng hay chấp
nhận giải thiết H0. Tiếp tục với chuỗi giá đã được lấy sai
phân bậc 1, ta vẫn thu được kết quả như mong muốn cho cả
5 mã cổ phiếu, chuỗi dữ liệu là chuỗi dừng hay bác bỏ giả
thiết H0.
Biểu đồ 3. Giá đóng cửa (Nguồn: Tổng hợp kết quả từ nhóm tác giả)
Biểu đồ 4. Sai phân bậc 1 của giá đóng cửa
Bảng 2. Phân tích thống kê trung bình
CVT HBC HT1 ACC VCG
Mean 32962.882 13060,211 15504,176 11817,578 23636,523
Std 10683.874 5259,863 3095,168 3923,613 7172,985
Min 15150.000 5541,700 8056,000 4568,739 11590,919
25% 20845.000 9131,939 13833,699 7730,024 18071,379
50% 37620.000 12020,090 15140,000 12932,560 20377,269
75% 41508.758 15201,610 16289,055 13692,534 31365,674
Max 49860.000 31203.250 24488.140 23559.500 43708.226
Jarque-Bera 28,23 73,77 47,24 0,279 27,06
P_value 7,41e-07 9.57e-17 5,52e-11 0,87 1,33e-06
Skewness -0,31 1,201 0,886 0,026 0,648
Kurtosis 1,522 3,966 4,074 2,849 2,117
(Nguồn: Tổng hợp kết quả từ nhóm tác giả)

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 515Lựa chọn mô hình ARIMA(p, d, q)
Kết quả từ bảng 2 cho thấy: hầu như đều có sự thống
nhất trong việc tối thiểu hóa các chỉ số BIC và AIC để tìm
ra mô hình phù hợp nhất. Kết quả cho thấy mô hình
ARIMA(1,1,0), ARIMA(0,1,1), lần lượt là mô hình tốt nhất
dùng để dự báo cho bộ dữ liệu giá đóng cửa HT1, VCG và
HBC, ACC. Duy chỉ có đối với mã cổ phiếu CVT là có sự
mâu thuẫn trong việc tối thiểu hóa hai chỉ số này. Vì vậy, ta
cần thiết phải xem xét đến các yếu tố khác để xác định ra
mô hình nào là phù hợp nhất cho bộ dữ liệu. Ưu tiên lựa
chọn mô hình các hệ số có ý nghĩa thống kê ở mức 5% thì
mô hình ARIMA(0,1,2) được xem là mô hình phù hợp nhất.
Bảng 3. Kết quả chạy ARIMA
ARIMA(p,1,q) AIC BIC
Tương
quan
phần dư
ARIMA(1,1,0)
CVT 4149,159
4156,987
Có
HBC 3896,124
3903,052
Không
HT1 3797,783
3804,711
Không
ACC 3784,694
3791,622
Không
VCG 4002,691
4009,619
Không
ARIMA(0,1,1)
CVT 4146,044
4152,971
Không
HBC 3895,006
3901,934
Không
HT1 3798,087
3805,015
Không
ACC 3781,277
3788,205
Không
VCG 4002,922
4009,849
Không
ARIMA(1,1,1)
CVT 4145,353
4155,744
Không
HBC 3896,652
3907,043
Không
HT1 3799,376
3809,768
Không
ACC 3782,691
3793,083
Không
VCG 4004,709
4015,100
Không
ARIMA(2,1,0)
CVT 4146,525
4156,917
không
HBC 3897,480
3907,872
Không
HT1 3799,721
3810,112
Không
ACC 3781,741
3792,132
Không
VCG 4004,696
4015,087
Không
ARIMA(0,1,2)
CVT 4144,866
4155,277
Không
HBC 3896,766
3907,158
Không
HT1 3800,086
3810,478
Không
ACC 3782,559
3792,950
Không
VCG 4004,793
4015,184
Không
ARIMA(1,1,2)
CVT 4146,865
4160,720
Không
HBC 3898,574
3912,430
Không
HT1 3800,950
3814,805
Không
ACC 3783,834
3797,689
Không
VCG 4006,350
4020,206
Không
ARIMA(2,1,1)
CVT 4146,549
4160,404
Không
HBC 3914,974
3898,499
Không
HT1 3801,018
3814,874
Không
ACC 3783,652
3797,508
Không
VCG 4006,589
4020,444
Không
ARIMA(0,1,0)
CVT 4156,801
4160,265
Có
HBC 3906,266
3909,730
Không
HT1 3804,904
3808,368
Không
ACC 3817,834
3821,298
Có
VCG 4010,523
4013,987
Có
(Nguồn: Tổng hợp kết quả từ nhóm tác giả)
Dựa vào kết quả MAE, RMSE, MAPE bảng 3 của cả 5
mã cổ phiếu đều là những con số khá tốt. MAPE chỉ dao
động trong khoảng từ 3% đến 4,685%. Các chỉ số MAE và
RMSE đều nằm trong ngưỡng có thể chấp nhận được. Điều
này chứng tỏ rằng các mô hình được chọn mang lại hiệu
suất khá tốt trong việc dự báo trong mẫu với sai số khá nhỏ
và phương sai nằm trong khoảng cho phép.
Giá trị ước lượng kỳ vọng dao động quanh mức 0%. Do
đó phần dư có hình dạng khá giống với giá trị thực. Dao
động phần dư ổn định không theo một xu hướng nào. Do
đó, một lần nữa khẳng định mô hình ARIMA được chọn
không có tự tương quan.
Bảng 4. Kết quả chạy AUTO_ARIMA
CVT HBC HT1 ACC VCG
RMSE
1556,092
920,348
748,976
723,869
1156,173
MAE 966,175 631,333
532,947
452,618
757,566
MAPE
(%) 3,045 4,685 3,474 3,946 3,34
(Nguồn: Tổng hợp kết quả từ nhóm tác giả)
Ta nhận thấy các dự báo trong mẫu là khá chính xác. Giá
trị dự báo gần với giá trị thực tế. Từ đó, kết luận các mô
hình ARIMA được chọn nắm bắt khá tốt dữ liệu trong mẫu.
Biểu đồ 5. So sánh giá trị thực tế và giá trị dữ đán trong mẫu
(Nguồn: Tổng hợp kết quả từ nhóm tác giả)

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 516Dự báo ngoài mẫu
Tiếp tục thực hiện với dữ liệu từ ngày 30/07/2023 đến
ngày 04/02/2024 bảng 4 sẽ trình bày kết quả dự báo ngoài
mẫu và so sánh với dữ liệu thực tế để đánh giá khả năng dự
báo của mô hình.
Bảng 5. Sai số giữa giá trị thực tế và giá trị dự báo
Ngày Mã Giá trị
thực tế
Giá trị
dự báo
Sai số dự
báo (%)
23/07/2023
CVT 36162,5 36082,036
0,222
HBC 9572 9600,783 0,300
HT1 16940 16885,122
0,323
ACC 13480 13621,231
1,047
VCG
23100 22411,200
2,981
30/07/2023
CVT 35425 36143,639
2,028
HBC 9446 9600,783 1,638
HT1 16980 16889,631
0,532
ACC 13630 13621,231
0,064
VCG
25430 22438,744
11,762
06/08/2023
CVT 35187,5 36143,639
2,717
HBC 10238 9600,783 6,224
HT1 16880 16890,440
0,061
ACC 13670 13621,231
0,356
VCG
26770 22443,761
16,160
13/08/2023
CVT 35625 36143,639
1,455
HBC 10670 9600,783 10,020
HT1 16800 16890,585
0,539
ACC 13790 13621,231
1,223
VCG
26400 22444,675
14,982
20/08/2023
CVT 37125 36143,639
2,643
HBC 9910 9600,783 3,120
HT1 14240 16890,611
18,613
ACC 13030 13621,231
4,537
VCG
26370 22444,842
14,884
(Nguồn: Tổng hợp kết quả từ nhóm tác giả)
Kết quả dự báo giá cổ phiếu từ 23/07/2023 đến
20/08/2023 cho thấy mô hình ARIMA có hiệu quả khác
nhau đối với từng mã. CVT và ACC: Mô hình dự báo tốt
với sai số thấp, dao động từ 0,06% đến 4,63%. Đặc biệt,
CVT có độ trễ thấp và các hệ số ước lượng có ý nghĩa thống
kê, cho thấy mô hình phù hợp để dự báo giá đóng cửa của
mã này. HT1: Mặc dù có một điểm dữ liệu sai số lớn
(18,61%), các điểm còn lại có sai số tương đối thấp, cho
thấy mô hình vẫn có khả năng dự báo tốt. HBC: Biên độ
dao động sai số lớn (0,3% đến 10,02%) cho thấy mô hình
chưa thực sự hiệu quả ở một số điểm dữ liệu, có thể do yếu
tố thị trường tác động. VCG: Sai số dự báo cao (trên 10% ở
4/5 điểm dữ liệu) cho thấy mô hình không hiệu quả và cần
điều chỉnh.
Nhìn chung, mô hình ARIMA có thể dự đoán xu hướng
giá cổ phiếu trong ngắn hạn, nhưng hiệu quả còn phụ thuộc
vào từng mã và các yếu tố thị trường khác. Cần xem xét và
điều chỉnh mô hình để nâng cao độ chính xác.
Kiểm tra yếu tố mùa vụ
Từ hình ảnh đồ thị phân rã, ta thấy ở 2 mã CVT và ACC
mã cổ phiếu đều không có yếu tố mùa vụ rõ ràng trong dữ
liệu. Biểu đồ dữ liệu gốc cho thấy có xu hướng tăng dần
nhưng không có sự lặp lại theo chu kỳ rõ ràng. Biểu đồ
thành phần mùa vụ gần như bằng phẳng và không có biến
động mùa nào đáng kể. Biểu đồ xu hướng cũng tăng dần
nhưng không có sự biến động theo mùa. Bên cạnh đó, 2 mã
còn lại là HBC, HT1, VCG biểu đồ cho thấy có sự lặp lại
chu kỳ và biến động theo mùa.

