Tải bản đầy đủ (.pdf) (26 trang)

DỰ BÁO CHỨNG KHOÁN SỬ DỤNG MÔ HÌNH DỰ BÁO ARIMA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (698.53 KB, 26 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

DỰ BÁO CHỨNG KHỐN SỬ DỤNG
MƠ HÌNH DỰ BÁO ARIMA
ĐỒ ÁN II
Chuyên ngành: TOÁN TIN

Giảng viên hướng dẫn: ThS. NGUYỄN TUẤN DŨNG
Sinh viên thực hiện:

TRẦN HẢI PHONG

Lớp:

Toán Tin 2 – K63

Mã số sinh viên:

20185393

HÀ NỘI – 2022


TRANG NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

1. Mục đích và nội dung của đồ án:

2. Kết quả đạt được:



3. Ý thức làm việc của sinh viên:

Hà Nội, ngày

tháng

năm 2022

Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)

1


MỤC LỤC

MỞ ĐẦU........................................................................................................ 3
NỘI DUNG CHÍNH ....................................................................................... 5
1.

2.

Giới thiệu về chuỗi thời gian............................................................... 5
1.1.

Định nghĩa chuỗi thời gian ........................................................... 5

1.2.


Dự báo chuỗi thời gian ................................................................. 8

Mơ hình dự báo ARIMA................................................................... 10
2.1.

Tổng quan mơ hình ARIMA ...................................................... 10

2.2.

Phương pháp .............................................................................. 11

2.3.

Mơ hình ARIMA(p,d,q) ............................................................. 12

2.4.

Cách xác định hệ số p, d, q ......................................................... 15

2.4.1.

Cách xác định hệ số sai phân d............................................. 15

2.4.2.

Cách xác định hệ số p của AR.............................................. 16

2.4.3.

Cách xác định hệ số q của MA ............................................. 17


2.5.
3.

Tiêu chuẩn AICC ....................................................................... 17

Dự báo chứng khốn bằng mơ hình ARIMA..................................... 18
3.1.

Mơ tả bài toán ............................................................................ 18

3.2.

Các tham số đánh giá ................................................................. 19

3.3.

Thực hiện ................................................................................... 20

3.4.

Kết quả....................................................................................... 22

3.5.

Đánh giá..................................................................................... 23

KẾT LUẬN .................................................................................................. 24
TÀI LIỆU THAM KHẢO ............................................................................ 25


2


MỞ ĐẦU

Khi cuộc sống của mỗi người đều ít nhiều bị ảnh hưởng bởi đại dịch
Covid-19 kéo dài, nhiều người bắt đầu nghĩ đến việc đầu tư chứng khoán
với những hứa hẹn về một cách kiếm tiền dễ dàng. Theo thống kê gần
nhất của Trung tâm Lưu ký Chứng khoán Việt Nam (VSD), trong vòng
10 tháng đầu năm 2021, các nhà đầu tư cá nhân tại Việt Nam đã mở mới
1,09 triệu tài khoản chứng khoán, cao hơn con số 1,03 triệu tài khoản đã
được nhóm này mở trong cả 4 năm 2017 - 2020 cộng lại. Chỉ tính riêng
tháng 10/2021 đã có hơn 129.500 tài khoản chứng khốn do nhà đầu tư
cá nhân trong nước mở mới, tăng gần 13% so với tháng trước. Con số này
chỉ đứng sau kỷ lục lập vào tháng 6 vừa qua với hơn 140.000 tài khoản
chứng khoán mở mới trong một tháng. Như vậy, thị trường chứng khoán
đã chứng kiến 8 tháng liên tiếp số lượng tài khoản mở mới đều nằm trên
mốc 100.000. Tồn thị trường chứng khốn hiện nay có tới hơn 3,86 triệu
tài khoản chứng khoán, chủ yếu là các nhà đầu tư cá nhân từ đủ các ngành
nghề như nhân viên văn phòng, chủ cơ sở kinh doanh đang nghỉ dịch đến
cả những tiểu thương, tài xế công nghệ…
Mỗi người đầu tư chứng khốn đều cần có khả năng phân tích thị
trường, nhìn vào giá cổ phiếu trong q khứ để đưa ra quyết định đầu tư
cho bản thân trong tương lai. Có những người khơng mua những cổ phiếu
tăng giá q nhanh vì họ cho rằng đã có sai sót, trong khi có người lại
tránh những cổ phiếu đang đi xuống vì lo sợ nó sẽ tiếp tục rớt giá, ...

3



Dự báo chính xác được giá cổ phiếu trong tương lai có thể đem lại
được lợi nhuận khổng lồ cho nhà đầu tư nào có năng lực đó. Vì lí do đó,
việc dự báo chứng khốn đã và đang là trọng tâm của nhiều nghiên cứu
của giới đầu tư. Mặc dù nhiều người cho rằng sự thay đổi giá chứng khốn
là khơng thể dự báo được dựa trên bản chất khó lường của giá cổ phiếu,
nhiều nhà nghiên cứu cho rằng việc dự báo với một độ chính xác chấp
nhận được là có thể thực hiện. Những mơ hình dự báo thương được sử
dụng có thể kể đến như mạng nơ-ron nhân tạo (Artificial neural network
– ANN), bộ nhớ dài ngắn hạn (Long short-term memory – LSTM) hoặc
tự hồi quy tích hợp trung bình trượt (Autoregressive integrated moving
average - ARIMA)… Trong đó, mơ hình ARIMA được biết đến là mạnh
mẽ và hiệu quả hơn trong dự báo các chuỗi thời gian về tài chính như giá
cổ phiếu. Mơ hình này có thể cung cấp các dự báo chứng khốn đáng tin
cậy trong tương lai gần một cách rất hiệu quả.
Do đó, em quyết định lấy “Dự báo chứng khốn sử dụng mơ hình dự
báo ARIMA” là đề tài cho Đồ án II của mình. Trong đây em sẽ đi tìm
hiểu về việc dự báo chuỗi thời gian, về mơ hình dự báo ARIMA, cũng
như sử dụng mơ hình này để dự báo chứng khốn với một độ chính xác
chấp nhận được.
Trong quá trình thực hiện đề tài, em đã nhận được rất nhiều sự chỉ
bảo, giúp đỡ và góp ý của thầy Nguyễn Tuấn Dũng. Thầy đã giúp đỡ em
rất nhiều trong việc hồn thành đề tài của mình. Mặc dù em đã cố gắng
hết sức, song có thể khơng tránh khỏi được những thiếu sót. Em rất mong
được sự đóng góp của thầy cơ để báo cáo đồ án của em có thể được hồn
thiện hơn.
4


NỘI DUNG CHÍNH
1. Giới thiệu về chuỗi thời gian

1.1. Định nghĩa chuỗi thời gian
Chuỗi thời gian là một chuỗi các phép đo được thực hiện theo thời
gian, thường thu được ở các khoảng cách đều nhau, có thể là hàng
ngày, hàng tháng, hàng quý hoặc hàng năm. Nói cách khác, chuỗi
thời gian là một chuỗi các điểm dữ liệu được ghi lại tại các thời
điểm cụ thể. Một số ví dụ về chuỗi thời gian có thể là:
• Nhiệt độ khơng khí hàng ngày ở Hà Nội trong 3 tháng qua
• Dân số Việt Nam trong 20 năm qua
• Giá cổ phiếu đóng cửa hàng ngày
• …
Một chuỗi thời gian được quan sát thường có các thành phần sau:
• Tính xu hướng – trend: tính xu hướng tồn tại khi có một xu
hướng trong dài hạn của dữ liệu khi bỏ qua bất cứ tác động
ngắn hạn nào như biến động theo mùa hoặc nhiễu. Nó có thể là
tuyến tính hoặc khơng.

Hình 1: Giá bitcoin giai đoạn tháng 9/2020 tới tháng 3/2021 có xu hướng tăng

5


• Tính thời vụ - seasonal: tính thời vụ xảy ra bởi các yếu tố mùa
vụ như các quý của năm, các ngày trong tuần,… Nó ln xảy
ra trong một khoảng thời gian cố định và mang tính chất tuần
hồn. Ví dụ: nhiệt độ giảm thấp vào mùa đơng, doanh số bán
nước giải khát tăng vào mùa hè,…
• Tính chu kỳ - cyclic: tính chu kỳ tồn tại khi có sự tăng lên hoặc
giảm xuống lặp lại trong một giai đoạn khơng cố định. Ví dụ:
các nền kinh tế thường có sự tăng giảm theo chu kỳ. Sau mỗi
thời kỳ suy thoái kinh tế sẽ là thời kỳ phục hồi và phát triển,

trước khi sự tăng trưởng kinh tế lại chững lại và khởi đầu cho
một cuộc suy thoái mới. Tuỳ theo nền kinh tế mà chu kỳ này
có thời hạn là 5 cho đến 10 năm.

Hình 2: Số ngơi nhà được bán hàng tháng tại Mỹ giai đoạn 1973-1995 (đơn vị: triệu).
Có thể thấy rõ tính xu hướng trong từng năm và tính chu kỳ trong khoảng từ 6-10 năm.

• Phần dư – residual: là phần cịn lại sau khi đã loại bỏ tính xu
hướng, thời vụ và chu kỳ, dẫn đến sự thay đổi ngắn hạn không
dự báo trước được và khơng có tính hệ thống. Ví dụ: biến động
chính trị ảnh hưởng tới giá cổ phiếu.

6


Một giả định rất quan trọng trong phân tích chuỗi thời gian là chuỗi
đó là một chuỗi dừng. Một chuỗi thời gian được gọi là dừng khi
giá trị trung bình và phương sai của nó khơng đổi theo thời gian
và và giá trị hiệp phương sai giữa hai giai đoạn chỉ phụ thuộc vào
khoảng cách giữa hai giai đoạn ấy chứ khơng phụ thuộc vào thời
gian thực sự tại đó hiệp phương sai được tính. Chuỗi dừng có xu
hướng trở về giá trị trung bình và những dao động quanh giá trị
trung bình sẽ là như nhau. Nói cách khác, một chuỗi thời gian
khơng dừng sẽ có giá trị trung bình thay đổi theo thời gian, hoặc
giá trị phương sai thay đổi theo thời gian hoặc cả hai.
Chuỗi dừng rất cần thiết bởi nếu chuỗi không dừng, ta sẽ không
thể khái qt hố kết quả phân tích, dẫn đến dự báo chuỗi thời gian
khơng dừng khơng có giá trị ứng dụng thực tế.
Có nhiều phương pháp để kiểm định một chuỗi thời gian có phải
chuỗi dùng hay khơng, như kiểm định Zivot – Andrews, kiểm định

KPSS, kiểm định Phillip–Perron,… Trong đồ án này em sẽ sử
dụng kiểm định Augmented Dickey Fuller (ADF) để xem xem
chuỗi thời gian có phải chuỗi dừng hay khơng, nếu khơng thì sẽ
thực hiện sai phân để đưa nó về chuỗi dừng.

7


1.2. Dự báo chuỗi thời gian
Dự báo chuỗi thời gian là việc sử dụng một mơ hình để dự đốn
các giá trị trong tương lai dựa trên các giá trị được quan sát trước
đó. Nó liên quan đến xây dựng các mơ hình thơng qua phân tích
dữ liệu lịch sử và sử dụng chúng để ra những quyết định chiến
lược trong tương lai. Một điểm quan trọng trong dự báo là tại thời
điểm phân tích, kết quả trong tương lai là hồn tồn khơng có sẵn
và chỉ có thể được ước tính thơng qua các phương pháp thống kê,
cơng thức toán học đã được kiểm chứng. Kết quả dự báo khơng
phải lúc nào cũng chính xác và khả năng dự báo có thể rất khác
nhau — đặc biệt là khi xử lý các yếu tố biến động trong dữ liệu
chuỗi thời gian cũng như các yếu tố nằm ngoài tầm kiểm soát.
Dự báo chuỗi thời gian thường được sử dụng cùng với phân tích
chuỗi thời gian. Phân tích chuỗi thời gian liên quan đến việc phát
triển các mơ hình để có được sự hiểu biết về dữ liệu, từ đó hiểu
được các thành phần nguyên nhân, yếu tố tác động cơ bản lên số
liệu cũng như trích xuất được các số liệu thống kê có ý nghĩa và
các đặc điểm khác của dữ liệu. Về cơ bản, quá trình phân tích sẽ
cho chúng ta biết “lí do” vì sao những giá trị hiện diện trong tập
dữ liệu, tiếp theo là đưa ra các dự báo dựa trên các “lí do” ấy, và
cuối cùng là đặt ra các giải pháp hành động cụ thể.


8


Dự báo chuỗi thời gian có nhiều ứng dụng trong đa dạng các lĩnh
vực, có thể kể đến như:
• Dự báo nhu cầu thị trường để lập kế hoạch sản xuất kinh doanh
• Dự báo giá chứng khốn, các chuỗi lợi suất danh mục để quản
trị danh mục đầu tư
• Dự báo các yếu tố thời tiết như nhiệt độ, lượng mưa,… để lập
kế hoạch sản xuất nông, lâm, ngư nghiệp
• Dự báo tác động của các nhân tố vĩ mô như lãi suất, cung tiền,
đầu tư trực tiếp nước ngồi, chi tiêu chính phủ, lạm phát,… tác
động lên tăng trưởng GDP để điều hành nền kinh tế
• Dự báo các hiện tượng thiên văn học
• …
Dự báo đóng vai trị vơ cùng quan trọng trong thế giới hiện đại, là
thành phần thiết yếu đối với cá nhân, doanh nghiệp, chính phủ,…
để đưa ra các quyết định chiến lược, đem lại hiệu quả tối đa.

Một trong những lĩnh vực rất cần đến dự báo chuỗi thời gian là tài
chính, tiêu biểu là dự báo chứng khoán. Nhà kinh tế học nổi tiếng
Peter Bernstein từng nói: “Giá cổ phiếu phản ánh những điểu hiển
nhiên chứ khơng phải những điều bí ẩn”. Em tin rằng dựa vào các
mơ hình dự báo, ta có thể đảm bảo được lợi nhuận cũng như giảm
rủi ro tới mức tối thiểu khi đầu tư chứng khoán. Về mặt phương
pháp, em chọn sử dụng mơ hình dự báo ARIMA vì đây là một
phương pháp đã được kiểm chứng là hiệu quả trong việc dự báo
ngắn hạn, cung cấp kết quả không thiên vị với khoảng tin cậy thực
tế với bất kỳ chuỗi thời gian nào.


9


2. Mơ hình dự báo ARIMA
2.1. Tổng quan mơ hình ARIMA
Mơ hình tự hồi quy tích hợp trung bình trượt (Autoregressive
integrated moving average – ARIMA) là một phương pháp nghiên
cứu độc lập thơng qua việc dự đốn theo các chuỗi thời gian. Sau
đó, các nhà nghiên cứu sẽ sử dụng các thuật tốn dự báo độ trễ để
đưa ra mơ hình phù hợp. Những mơ hình thuộc loại này được thiết
lập trên cơ sở nắm bắt tất cả các đặc trưng trong dãy số thời gian
của một biến số (như xu thế, tính chất chu kỳ và các yếu tố có tính
hệ thống khác) bằng cách gắn giá trị hiện tại của nó với các giá trị
trễ của chính nó theo nhiều cách khác nhau.
Mơ hình này được đưa ra bởi nhà thống kê người Mỹ George Box
và nhà thống kê người Anh Gwilym Jenkins vào những năm 1970,
do nó nó cịn được gọi là phương pháp Box – Jenkins.
ARIMA là sự kết hợp giữa các phương pháp tiếp cận Tự hồi quy
(AR) và Trung bình trượt (MA) trong việc xây dựng mơ hình tổng
hợp của chuỗi thời gian. Mơ hình này khá đơn giản, nhưng có thể
cho kết quả tốt. Nó bao gồm các tham số để tính đến tính thời vụ,
xu hướng dài hạn, tự hồi quy và trung bình trượt, từ đó xử lý tự
tương quan được nhúng trong dữ liệu.

10


2.2. Phương pháp
Phương pháp này gồm 4 bước:
Bước 1: Nhận dạng mơ hình thử nghiệm

Ta sẽ quan sát xem chuỗi thời gian có phải chuỗi dừng
hay khơng, nếu chuỗi thời gian có tính mùa hay tính xu
hướng thì ta sẽ thực hiện các bước để đưa chuỗi về dạng
dừng. Ở đây em sử dụng phương pháp sai phân để đưa
chuỗi về dạng chuỗi dừng, số lần cần thực hiện sai phân
sẽ là hệ số d của mơ hình. Sau đó ta sử dụng biểu đồ tương
quan (correlogram) và biểu đồ tương quan riêng phần
(partial correlogram) để xác định hai hệ số p và q.
Bước 2: Ước lượng tham số
Sau khi đã nhận dạng các giá trị thích hợp của p và q,
bước tiếp theo là ước lượng các thông số của các số hạng
tự hồi quy và trung bình trượt trong mơ hình. Đơi khi
phép tính này có thể được thực hiện bằng phương pháp
bình phương tối thiểu nhưng đơi khi ta phải sử dụng các
phương pháp ước lượng phi tuyến (thông số phi tuyến).
Bước 3: Kiếm định bằng chẩn đốn
Sau khi đã lựa chọn mơ hình ARIMA cụ thể và ước lượng
các tham số của nó, ta tìm hiểu xem mơ hình lựa chọn có
phù hợp với dữ liệu ở mức chấp nhận hay khơng bởi vì
có thể một mơ hình ARIMA khác cũng phù hợp với dữ
liệu. Một kiểm định đơn giản về mơ hình lựa chọn là xem
xem các phần dư ước lượng từ mơ hình này có tính ngẫu
nhiên thuần túy hay khơng; nếu có, ta có thể chấp nhận

11


sự phù hợp này của mơ hình; nếu khơng, ta phải thực hiện
lại các bước trên.
Bước 4: Dự báo

Ở bước cuối cùng này, khi mơ hình phù hợp với dữ liệu
đã tìm được, ta sẽ thực hiện dự báo tại thời điểm tiếp theo.

2.3. Mơ hình ARIMA(p,d,q)
Mơ hình ARIMA sẽ biểu diễn phương trình hồi quy tuyến tính đa
biến của các biến đầu vào là 3 thành phần chính:
• Auto regression: Kí hiệu là AR. Đây là thành phần tự hồi quy
bao gồm tập hợp các độ trễ của biến hiện tại. Mơ hình AR có
thể được biểu diễn như sau:

𝑦𝑡 = 𝑐 + 𝜙1 𝑦𝑡−1 + 𝜖𝑡
Trong đó: 𝑦𝑡 là giá trị tại thời gian t, 𝑐 là hằng số, 𝛷1 là hệ số
còn 𝜖𝑡 là nhiễu trắng với 𝜖𝑡 ~ 𝑁(0, 𝜎 2 ).
Độ trễ bậc p chính là giá trị lùi về quá khứ p bước thời gian của
chuỗi. Độ trễ dài hoặc ngắn trong quá trình AR phụ thuộc vào
tham số trễ p.
Mơ hình AR(p) của chuỗi 𝑦𝑡 được biểu diễn như sau:

𝑦𝑡 = 𝑐 + 𝜙1 𝑦𝑡−1 + 𝜙2 𝑦𝑡−2 + … + 𝜙𝑝 𝑦𝑡−𝑝 + 𝜖𝑡
hay:
𝑝

𝑦𝑡 = 𝑐 + ∑ 𝜙𝑖 𝑦𝑡−𝑖
𝑖=1

Trong đó 𝛷𝑖 là hệ số tương ứng của mỗi giá trị 𝑦𝑡−𝑖 .

12



• Moving average: Quá trình trung bình trượt được hiểu là quá
trình dịch chuyển hoặc thay đổi giá trị trung bình của chuỗi
theo thời gian. Do chuỗi của chúng ta được giả định là dừng
nên quá trình thay đổi trung bình dường như là 1 chuỗi nhiễu
trắng. Quá trình moving average sẽ tìm mối liên hệ về mặt
tuyến tính giữa các phần tử ngẫu nhiên 𝜖𝑡, chuỗi này là 1 chuỗi
nhiễu trắng có các tính chất sau:
o 𝐸 (𝜖𝑡) = 0
nghĩa là kì vọng của chuỗi dừng bằng 0 để đảm bảo chuỗi
dừng khơng có sự thay đổi về trung bình theo thời gian.
o 𝜎(𝜖𝑡) = 𝛼
có nghĩa phương sai của chuỗi không đổi.
o 𝑝(𝜖𝑡, 𝜖𝑡−𝑠 ) = 0, ∀𝑡 ≥ 𝑠
Do kì vọng và phương sai khơng đỏi nên ta gọi phân phối của
nhiễu trắng là phân phối xác định và được kí hiệu
𝜖𝑡 ~ 𝑊𝑁(0, 𝜎 2 ). Nhiễu trắng là một thành phần ngẫu nhiên thể
hiện cho yếu tố không thể dự báo của model và không có tính
quy luật. Q trình trung bình trượt được biểu diễn theo nhiễu
trắng như sau:
𝑞

𝑀𝐴(𝑞) = 𝜇 + ∑ 𝜃𝑖 𝜖𝑡−𝑖
𝑖=1

13


• Intergrated: Là q trình đồng tích hợp hoặc lấy sai phân. Yêu
cầu chung của các thuật toán trong dự báo chuỗi thời gian là
chuỗi phải đảm bảo tính dừng. Hầu hết chuỗi đều tăng hoặc

giảm theo thời gian. Do đó yếu tố tương quan giữa chúng chưa
chắc là thực sự mà là do chúng cùng tương quan theo thời gian.
Khi biến đổi sang chuỗi dừng, các nhân tố ảnh hưởng thời gian
được loại bỏ và chuỗi sẽ dễ dự báo hơn. Để tạo thành chuỗi
dừng, một phương pháp đơn giản nhất là chúng ta sẽ lấy sai
phân. Một số chuỗi tài chính cịn quy đổi sang logarit hoặc lợi
nhuận. Bậc của sai phân để tạo thành chuỗi dừng còn gọi là bậc
của q trình đồng tích hợp (order of intergrated). Quá trình sai
phân bậc d của chuỗi được thực hiện như sau:
o Sai phân bậc 1:

𝐼(1) = ∆(𝑥𝑡 ) = 𝑥𝑡 − 𝑥𝑡−1
o Sai phân bậc 2:

𝐼(2) = ∆2 (𝑥𝑡 ) = ∆(∆(𝑥𝑡 ))
o Sai phân bậc d:

𝐼(𝑑 ) = ∆𝑑 (𝑥𝑡 ) = ∆
⏟(∆(… ∆(𝑥𝑡 )))
𝑑 𝑙ầ𝑛

Thông thường chuỗi sẽ dừng sau q trình đồng tích hợp
𝐼 (0)hoặc 𝐼(1), rất ít chuỗi chúng ta phải lấy tới sai phân bậc 2.
Một số trường hợp chúng ta sẽ cần biến đổi logarit hoặc căn
bậc 2 để tạo thành chuỗi dừng.

14


Phương trình ARIMA(p,d,q) có thể được biểu diễn dưới dạng:


∆𝑥𝑡 = 𝜙1 𝑥𝑡−1 + 𝜙2 𝑥𝑡−2 + … + 𝜙𝑝 𝑥𝑡−𝑝
+ 𝜃1 𝜖𝑡−1 + 𝜃2 𝜖𝑡−2 + … 𝜃𝑞 𝜖𝑡−𝑞
Trong đó ∆𝑥𝑡 là giá trị sai phân bậc d và 𝜖𝑡 là các chuỗi nhiễu
trắng.

2.4. Cách xác định hệ số p, d, q
2.4.1. Cách xác định hệ số sai phân d
Mục đích của sai phân trong mơ hình ARIMA là làm cho chuỗi thời
gian dừng. Thứ tự sai phân phù hợp là độ lệch tối thiểu cần thiết để
cho một chuỗi thời gian dừng biến đổi xung quanh một giá trị kỳ
vọng xác định và đồ thị của ACF đạt đến giá trị 0 khá nhanh. Nếu
tự tương quan dương với nhiều độ trễ (10 hoặc nhiều hơn), thì chuỗi
đó cần phải sai phân thêm. Mặt khác, nếu chính tự tương quan với
độ trễ 1 q âm, thì chuỗi có thể bị sai phân quá mức.
Trong trường hợp thực sự khơng thể quyết định giữa hai thứ tự sai
lệch, thì sẽ chọn thứ tự cho độ lệch chuẩn nhỏ nhất trong chuỗi sai
lệch. Đầu tiên, để xác định hệ số d cho mơ hình ta cần xác định
chuỗi đã cho dừng hay chưa, vì nếu chuỗi đã dừng thì ta khơng cần
đến giá trị sai phân (d=0) cịn chưa dừng thì ta cần phải đi xác định
hệ số d.
Ở đây, em sử dụng kiểm định Augmented Dickey Fuller (ADF) để
kiểm định xem chuỗi đã dừng hay chưa. Giả thiết không của kiểm
định ADF là chuỗi thời gian không dừng. Để tính giá trị p-value em
sẽ sử dụng hàm adfuller() thuộc gói statsmodels của Python.

15


Nếu giá trị p-value nhỏ hơn 0,05 thì bác bỏ giả thiết không và kết

luận rằng chuỗi thời gian dừng. Trong trường hợp p-value lớn hơn
mức ý nghĩa 0,05, ta sẽ thực hiện sai phân cho tới khi đạt giá trị pvalue cần thiết để chuỗi là chuỗi dừng.

Hình 3: Kiểm định tham số p

2.4.2. Cách xác định hệ số p của AR
Để xác định hệ số p của mô hình AR ta kiểm tra biểu đồ tự tương
quan riêng phần (Partial Auto-Correlation Function - PACF). Tự
tương quan một phần có thể được hình dung như mối tương quan
giữa chuỗi và độ trễ của nó, sau khi loại trừ các đóng góp từ độ trễ
trung gian. Vì vậy, PACF truyền tải mối tương quan thuần túy giữa
độ trễ và chuỗi. Bằng cách đó, ta sẽ biết liệu độ trễ đó có cần thiết
trong điều kiện AR hay khơng. Bất kỳ sự tự tương quan nào trong
một chuỗi dừng đều có thể được điều chỉnh bằng cách thêm đủ các
thuật ngữ AR. Vì vậy, ban đầu ta coi thứ tự của số hạng AR bằng
với càng nhiều độ trễ vượt qua giới hạn ý nghĩa trong biểu đồ
PACF.

16


Em sử dụng hàm plot_pacf thuộc gói statsmodels của Python để xây
dựng biểu đồ PACF, từ đó xác định hệ số p của mơ hình ARIMA.
2.4.3. Cách xác định hệ số q của MA
Để xác định hệ số q của mơ hình MA ta kiểm tra biểu đồ tự tương
quan (Auto-Correlation Function - ACF). Hàm ACF đo mức độ phụ
thuộc tuyến tính giữa các cặp quan sát, tại các độ trễ khác nhau hàm
sẽ có giá trị khác nhau. Biểu đồ ACF cho ta biết cần phải thực hiện
quá trình MA bao nhiêu lần để loại bỏ sự tự tương quan trong chuỗi
thời gian dừng, từ đó suy ra giá trị của q. Để xây dựng biểu đồ ACF

em sử dụng hàm plot_acf thuộc gói statsmodels của Python.
2.5. Tiêu chuẩn AICC
Thơng thường, để xác định một mơ hình có phù hợp hay khơng
người ta thường sử dụng Tiêu chí thơng tin Akaike (Akaike
Information Criterion – AIC) để đánh giá, trong đó giá trị AIC
càng thấp thì mơ hình càng có độ phù hợp cao.
Tuy nhiên, đối với tập dữ liệu nhỏ, có khả năng cao là AIC sẽ bị
overfit – nghĩa là mơ hình dự báo q khớp với tập dữ liệu train.
Khi đó, việc dự báo có thể sẽ bị nhầm nhiễu, chất lượng mơ hình
sẽ khơng cịn tốt trên tập dữ liệu test.
Do đó ở đây em sẽ sử dụng tiêu chuẩn AICC (AIC correction) để
đánh giá độ phù hợp của mơ hình:
AICC =

−2𝑙𝑛𝐿(𝜙𝑝 ,𝜃𝑞 ,𝑆(𝜙,𝜃 ))
𝑛

17

+

2(𝑝+𝑞+1)𝑛
𝑛−𝑝−𝑞−2


3. Dự báo chứng khốn bằng mơ hình ARIMA
3.1. Mơ tả bài tốn
Sử dụng mơ hình ARIMA, em sẽ thực nghiệm trên dữ liệu chứng
khốn của cơng ty Home Depot, Inc. (mã cổ phiếu: HD)
• Nguồn thu thập: Yahoo Finance

• Thời gian thu thập dữ liệu: 487 ngày giao dịch từ ngày
08/09/2015 đến ngày 11/08/2017
• Kích thước dữ liệu: 36.0 Kb
• Giá trị cần dự đốn: giá đóng cửa phiên hàng ngày (CLOSE)
• Tỉ lệ chia tập train: test: 0.8:0.2

Hình 4: Giá cổ phiếu Home Depot, Inc. từ 08/09/2015 tới 11/08/2017

Số giá trị

Trung bình

Min

Max

Trung vị

Độ lệch chuẩn

487

134.832

111.850

158.810

133.840


11.175

Bảng 1: Mơ tả bộ dữ liệu

18


3.2. Các tham số đánh giá
• Root Mean Squared Error (RMSE)
RMSE =

1

√𝑛 ∑𝑛𝑖=0(𝑦𝑖 − 𝑦̂𝑖 )2

trong đó 𝑦𝑖 là giá trị cần dự đốn, 𝑦̂𝑖 là giá trị mơ hình dự
đốn, cịn 𝑛 là kích thước của bộ dữ liệu cần dự đốn.
• Mean Absolute Error (MAE)
Giả sử rằng 𝑦𝑖 và 𝑦̂𝑖 là hai biến liên tục thể hiện kêt quả thực tế
và kết quả dự đốn của mơ hình, MAE sẽ đo lường sự khác biệt
giữa hai biến này:
MAE =

1
𝑛

∑𝑛𝑖=0|𝑦𝑖 − 𝑦̂𝑖 |

• Mean Absolute Percent Error (MAPE)
Sai số tương đối mà một dự báo mắc phải có thể được đo lường

bằng phần trăm sai số tuyệt đối trung bình (MAPE) qua cơng
thức sau:
MAPE =

1
𝑛

∑𝑛𝑖=0

|𝑦𝑖 −𝑦̂𝑖 |
𝑦𝑖

MAPE phản ánh giá trị dự báo sai khác bao nhiêu phần trăm
so với giá trị trung bình.

19


3.4. Thực hiện
• Xác định d

Hình 5: Biểu đồ ACF ban đầu

Giá trị p-value ban đầu: 0,62 > 0,05
Thực hiện sai phần lần 1
Giá trị p-value: 8,8e-18 < 0,05 ⟹ chọn giá trị d = 1

20



• Xác định p

Hình 6: Biểu đồ PACF

Có thể quan sát thấy rằng độ trễ PACF bằng 4 là khá đáng kể vì
nằm trên đường ý nghĩa (vùng màu xanh lam)
⟹ chọn giá trị p = 4
• Xác định q

Hình 7: Biểu đồ ACF

Ta thấy lag 4 nằm trên đường ý nghĩa
⟹ chọn giá trị q = 4
Vậy ta có mơ hình ARIMA(4,1,4).
21


3.5. Kết quả

Hình 8: Mơ hình dự đốn tập train

Hình 9: Mơ hình dự đốn tập test

22


RMSE

MAE


MAPE

4.004

3.250

2.127

Bảng 2: Các tham số đánh giá

3.6. Đánh giá
Ta có thế thấy giá trị dự báo đưa ra khá sát với thực tế, chỉ có những
giá trị ở gần có sai lệch lớn là do mơ hình dựa vào giá trị ở chu kỳ
trước để dự báo. Giá trị MAPE thể hiện mơ hình dự báo này đạt độ
chính xác lên tới 97,9%.

23


KẾT LUẬN

Trong phạm vi nội dung đồ án, em đã tìm hiểu và giới thiệu các lý thuyết
cơ bản về chuỗi thời gian và dự báo chuỗi thời gian, mô hình MA (trung bình
trượt), AR (quá trình tự hồi quy), mơ hình dự báo ARIMA và ứng dụng vào bài
tốn dự báo giá cổ phiếu.
Với những kết quả đạt được, đồ án có nhiều tiềm năng ứng dụng trong
nhiều bài toán khác nhau về dự báo chuỗi thời gian. Một số hướng phát triển
tiếp theo của đồ án:
• Cải thiện độ chính xác của mơ hình và ứng dụng vào nhiều lĩnh vực
khác nhau, ví dụ: dự đốn doanh số bán hàng, dự đốn nhu cầu tiêu

thụ điện,…
• So sánh hiệu quả của mơ hình ARIMA so với các mơ hình dự báo
khác trong các bài tốn dự báo khác nhau
• …
Đây là một lĩnh vực khơng mới, song tiềm năng khai thác của nó vẫn cịn
rất nhiều. Dự báo chuỗi thời gian đóng một vai trị quan trọng trong đời
sống của chúng ta, và sẽ ngày càng được ứng dụng rộng rãi hơn trong
nhiều lĩnh vực khác nhau. Mô hình dự báo ARIMA đã, đang và sẽ là một
cơng cụ đắc lực cho việc dự báo chính xác các bài toán dự báo chuỗi thời
gian.

24


×