1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng hệ thống phân tích và dự báo thị trường chứng khoán

19 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 201,47 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhiệm vụ chính của tôi trong khóa luận này là tìm hiểu về phương pháp lập mô hình dự báo chuỗi thời gian ARIMA.. Xác định được mục tiêu là lập mô hình dự báo giá, tôi phân chia công việc

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HOA SEN KHOA KHOA HỌC VÀ CÔNG NGHỆ

BÁO CÁO CÁ NHÂN

Tên đề tài:

Xây Dựng Hệ Thống Phân Tích Và Dự Báo

Thị Trường Chứng Khoán

Giảng viên hướng dẫn : Nguyễn Thị Phương Liên

Sinh viên thực hiện : Nguyễn Anh Khoa – 080835

Tháng 12/2011

Trang 2

TRÍCH YẾU

Trong phạm vi khóa luận, nhóm chúng tôi tìm hiểu về lĩnh vực thị trường chứng khoán

và hiện thực một hệ thống phân tích và dự báo thị trường chứng khoán dựa trên những kiến thức tìm hiểu được, nhằm mục tiêu cung cấp những thông tin hữu ích và cần thiết cho các nhà đầu tư

Nhiệm vụ chính của tôi trong khóa luận này là tìm hiểu về phương pháp lập mô hình dự báo chuỗi thời gian ARIMA Một phương pháp phổ biến và được đánh giá là có độ tin cậy cao trong các lĩnh vực kinh tế tài chính

Trong báo cáo này, tôi sẽ trình bày những công việc mà tôi đã thực hiện cùng với những bài học kinh nghiệm mà tôi đạt được

II

Trang 3

MỤC LỤC TRÍCH YẾU II LỜI CẢM ƠN V NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN VI

NỘI DUNG 7

I Đóng góp cá nhân trong khóa luận 7

1 Tìm hiểu về mô hình ARIMA 7

1.1 Lý thuyết cơ bản 7

1.2 Quy trình dự báo 8

1.3 Hiện thực 9

2 Xây dựng trang quản trị cho hệ thống 10

2.1 Nhập liệu giá 10

2.2 Cập nhật giá 10

2.3 Lập mô hình 11

3 Hiện thực chức năng tìm kiếm 11

4 Hiện thực bộ lọc cổ phiếu 12

5 Công việc khác 12

5.1 Viết hàm APIs 12

5.2 Vẽ các sơ đồ phân tích thiết kế 12

5.3 Vẽ và đặc tả cấu trúc cơ sở dữ liệu 12

II Đánh giá kết quả và hướng phát triển 13

1 Kết quả 13

1 Hạn chế 13

2 Những vấn đề nảy sinh và cách giải quyết 14

3 Hướng phát triển 14

Trang 4

II Kinh nghiệm học được 15

1 Về chuyên môn 15

2 Phương pháp nghiên cứu khoa học 15

3 Làm việc nhóm 16

4 Viết tư liệu kỹ thuật 16

TÀI LIỆU THAM KHẢO 17

IV

Trang 5

LỜI CẢM ƠN

Trong khoảng thời gian làm khóa luận tốt nghiệp, từ ngày 09/09/2011 đến ngày 18/12/2011, chúng tôi đã học được rất nhiều điều, từ kiến thức về chứng khoán, phương pháp phát triển một dự án, cách tiếp cận người dùng và cách thức giải quyết những vấn

đề nảy sinh

Nhóm chúng tôi xin chân thành gửi lời cảm ơn đến cô Nguyễn Thị Phương Liên – Giảng viên khoa Khoa Học và Công Nghệ trường Đại Học Hoa Sen Người đã tận tâm định hướng, theo sát và hỗ trợ nhóm xuyên suốt thời gian vừa qua Cô đã đóng vai trò là người hướng dẫn, người tư vấn, người đi trước để giúp chúng tôi hoàn tất khóa luận thành công Ngoài ra, nhóm cũng xin gửi lời cảm ơn đến toàn bộ tập thể giảng viên khoa Khoa Học

và Công Nghệ và các bạn sinh viên cùng khóa QL081, những người đã khích lệ và đưa ra nhiều lời khuyên, lời góp ý bổ ích cho nhóm

Trang 6

NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN

Trong suốt quá trình thực hiện khóa luận tốt nghiệp, tôi đánh giá cao các thành viên trong nhóm Các bạn làm việc với thái độ nghiêm túc, chịu khó tìm tòi, nghiên cứu, thông minh

và sáng tạo Các thành viên trong nhóm hỗ trợ và phối hợp với nhau tốt, đồng thời mỗi cá nhân có thể phát huy được khả năng và thế mạnh của mình Đây là một khóa luận tốt nghiệp được hoàn thành xuất sắc

Người hướng dẫn ký tên

Nguyễn Thị Phương Liên

VI

Trang 7

NỘI DUNG

I Đóng góp cá nhân trong khóa luận

1 Tìm hiểu về mô hình ARIMA

Trong thời gian thực hiện khóa luận tốt nghiệp, nhiệm vụ chính của tôi là nghiên cứu

về nền tảng lý thuyết của mô hình tự hồi quy kết hợp trung bình trượt (Auto

Regressive Integrated Moving Average – ARIMA) Từ đó nắm bắt phương pháp lập

mô hình để đưa ra dự báo giá cho tương lại dựa trên dữ liệu giá đóng cửa các phiên trước đó

Xác định được mục tiêu là lập mô hình dự báo giá, tôi phân chia công việc của mình thành ba công đoạn chính, bao gồm: tìm hiểu về lý thuyết cơ bản, nắm bắt công thức

và các công cụ sử dụng trong việc lập mô hình, đào sâu nghiên cứu và hiện thực việc lập mô hình tự động

1.1 Lý thuyết cơ bản

Trong thực tế, quy luật vận động của một chuỗi sự kiện thường được ghi nhận lại và

thể hiện dưới dạng chuỗi thời gian (time series) Chuỗi thời gian là một chuỗi giá trị

được sắp xếp theo chiều tự nhiên (thuận) của thời gian Trong thực tế, chuỗi thời gian được ứng dụng rộng rãi trong khoa học kỹ thuật, kinh tế, tài chính… và chúng

thường được biết đến với tên gọi là mô hình ngẫu nhiên (stochastic), vì giá trị trong

chuỗi thường bị ảnh hưởng bởi nhiều yếu tố và độ nhiễu nhất định

Do nhu cầu dự báo và giám sát biến động của các chuỗi ngẫu nhiên này, đã có rất nhiều phương pháp lập mô hình dự báo như Exponential Smoothing Method, Additive Analysis, Multiplicative Analysis, Principle Component Analysis,

Autoregressive Integrated Moving Average (ARIMA)… Trong đó, mô hình ARIMA

được đánh giá cao về độ tin cậy cũng như về tính khả thi trong các dự báo về lĩnh vực kinh tế, tài chính Mô hình này đưa ra dự báo giá trị tương lai của một chuỗi thời gian dựa trên mối liên hệ và giá trị của dữ liệu hiện tại và quá khứ Mô hình này đưa

ra dự báo giá trị tương lai của một chuỗi thời gian dựa trên mối liên hệ và giá trị của

dữ liệu hiện tại và quá khứ

Trang 8

Về cơ bản, giá trị nội tại của chuỗi thời gian thể hiện qua nhận định rằng giá trị các

quan sát sẽ phụ thuộc vào những giá trị trước đó tùy theo nhiều mức độ Tính chất

này được xem như là giá trị ứng dụng thực tế đáng giá nhất của chuỗi thời gian Phân

tích chuỗi thời gian (Time Series Analysis) là kỹ thuật phân tích sự phụ thuộc giữa

các quan sát nhằm diễn suy quy luật vận động của chuỗi Từ đó, đưa ra các mô hình

ngẫu nhiên (stochastic) để ứng dụng vào việc tính toán giá trị dự báo cho tương lai

1.2 Quy trình dự báo

Để có thể đưa ra dự báo, cần thực hiện bốn bước: nhận dạng mô hình (model

identification), ước lượng mô hình (model estimation), kiểm định mô hình (model diagnostic) và cuối cùng là dự báo (forecasting) Với 3 bước đầu là bước xây dựng

mô hình và kiểm tra tính chính xác của mô hình Sau khi đã có mô hình ARIMA với các bậc p, d, q và các tham số tự hồi quy và trung bình trượt ước lượng đáng tin cậy, chúng ta sẽ thực hiện bước thứ tư, cũng là bước quan trọng nhất, dự báo

1.2.1 Nhận dạng mô hình (Model Identificatioin)

Trong bước này, chúng ta sẽ xác định các bậc p, d, q để xác định mô hình phù hợp Hai công cụ chính hỗ trợ trong bước nhận dạng là hàm tự tương quan

(Autocorrelation Function – ACF), hàm tự tương quan riêng phần (Partial

Autocorrelation Function – PACF) và các biểu đồ tương quan (Correlogram) tương

ứng

Ngoài ra, trong bước này chúng ta cũng thực hiện những phương pháp kiểm định để

xác minh tính dừng (stationary), hay còn gọi là tính ổn định của chuỗi thời gian như

là kiểm định tự tương quan, kiểm định nghiệm đơn vị (Unit Root Test) Tính dừng là

nền tảng cơ sở cho việc đưa ra các dự báo có độ tin cậy cao

1.2.2 Ước lượng mô hình (Model Estimation)

Sau khi đã nhận dạng mô hình ARIMA, tiếp theo cần xác định các tham số tự hồi quy α và các tham số trung bình trượt β Các tham số có thể được suy ra từ phương

8

Trang 9

pháp tính sai số bình phương tối thiểu(Minimum Least Square Error) đơn giản, nhưng đôi khi cần phải áp dụng các phương pháp ước lượng tham số phi tuyến (Non-linear Least Squares) và ước lượng hợp lý cực đại (Maximum Likelihood) phức

tạp

1.2.3 Kiểm định mô hình (Model Diagnostic)

Với mô hình ARIMA tìm được và các tham số tương ứng chúng ta bắt đầu thực hiện việc kiểm định tính chính xác của mô hình Lý do của việc kiểm định là có thể có nhiều hơn một mô hình ARIMA phù hợp với chuỗi thời gian, chưa kể đến việc ước lượng các tham số tự hồi quy, tham số trung bình trượt không chính xác Một phép kiểm định thường được dùng là tìm sai số ước lượng của mô hình khi dự báo, tính toán hàm tự tương quan (ACF) để xét chuỗi này có phải là một chuỗi ngẫu nhiên thuần túy hay không; nếu phải, chúng ta chấp nhận mô hình đang kiểm định; nếu

không, ta phải lặp lại từ đầu Có thể nói, “phương pháp luận Box-Jenkins là một quy

trình lặp” [2]

1.2.4 Dự báo (Forecasting)

Khi đã hoàn tất các bước ở trên, chúng ta có được một mô hình ARIMA với khả năng dự báo hiệu quả Dựa vào mô hình này, ta có thể đưa ra các dự báo đáng tin cậy với những sai số được cho là ngẫu nhiên Sai số được tính bằng cách lấy giá trị thực

tế tại thời điểm t trừ cho giá trị dự báo, các sai số này có thể sử dụng để ước lượng

sai số cho giá trị tiếp theo trong tương lai từ đó đưa ra những kết quả dự báo chính xác hơn Ngoài ra, chúng ta cũng có thể tính các khoảng tin cậy của giá trị dự báo như khoảng 50%, khoảng 95% Trong một số trường hợp lấy sai phân (để có chuỗi dừng), thì chúng ta cần suy ngược lại để có được giá trị zt tương ứng

1.3 Hiện thực

Sau khi nắm vững những kiến thức cơ bản của mô hình ARIMA Tôi bắt đầu hiện thực việc lập mô hình dự báo giá tự động Khi đi sâu vào lập trình từng bước trong lập mô hình, tôi tiếp tục nghiên cứu sâu phần lý thuyết tương ứng để hiểu thấu đáo

Trang 10

công thức và ý nghĩa của từng biểu thức, đảm bảo tính chính xác trong giai đoạn hiện thực Do tính chất phức tạp và nặng về chuyên môn toán nên tôi có trao đổi và thảo luận rất nhiều với giảng viên hướng dẫn, từ đó nhận được góp ý và hướng dẫn để tiếp tục thực hiện Để kiểm tra tính đúng đắn của thuật toán, tôi sử dụng dữ liệu chuỗi thời gian được cung cấp trong tài liệu nghiên cứu để lập mô hình rồi đối chiếu với kết quả mẫu tương ứng

2 Xây dựng trang quản trị cho hệ thống

Được xây dựng để đáp ứng các nhu cầu như thêm mới, cập nhật dữ liệu giá của một loại cổ phiếu, lập mô hình dự báo tự động Vì tính chất quản trị nên để truy xuất tới trang này cần phải có tài khoản và mật khẩu của admin

2.1 Nhập liệu giá

Việc lập mô hình dự báo chủ yếu dựa vào dữ liệu giá cổ phiếu trong các phiên giao dịch quá khứ Hiện nay, giá cổ phiếu được cung cấp bởi rất nhiều nguồn như bảng giá trực tuyến http://www.hsx.vn, http://vietstock.com, http://cophieu68.com Ở đây, tôi chọn trang http://cophieu68.com vì đây là kho chuyên cung cấp dữ liệu giá chứng khoán, có uy tín và dễ dàng truy xuất tới

Để tiện cho việc thu thập, tôi đã xây dựng chức năng nhập liệu tự động thông qua mã chứng khoán Để lấy dữ liệu về giá của một mã nhất định, chỉ việc nhập mã đó vào trường dữ liệu sau đó nhấn nút “Import” Hệ thống sẽ tự động truy xuất đến địa chỉ phù hợp, tải file dữ liệu giá về, duyệt và insert vào cơ sở dữ liệu

Theo như chuẩn thì dữ liệu giá chứng khoán sẽ được ghi nhận theo ngày Nhưng để thuận tiện cho việc phân tích và thể hiện thông tin, hệ thống sẽ ghi nhận lại dữ liệu giá theo tuần và theo tháng

2.2 Cập nhật giá

Theo đúng ý nghĩa của hệ thống, sau khi host lên, một đoạn script sẽ chạy thường trực và cập nhật tự động giá của các mã cổ phiếu tốn tại trong hệ thống khi chốt

10

Trang 11

phiên giao dịch cuối ngày Tuy nhiên, trong lúc phát triển, nhóm chủ yếu sử dụng localhost để chạy hệ thống nên không thể đúng giờ chốt phiên mỗi ngày Do đó, tôi

đã phát triển chức năng cập nhật giá Khi chọn một mã cổ phiếu và nhấn nút

“Update”, hệ thống sẽ tự truy xuất tới nguồn dữ liệu, tải file mới nhất về, xử lý dữ và đưa vào cơ sở dữ liệu Lưu ý rằng chức năng cập nhật chỉ quan tâm đến giá cổ phiếu mới nhất trong vòng một tháng

2.3 Lập mô hình

Do phải trải qua rất nhiều công đoạn và quy trình lặp mới có thể dẫn xuất được mô hình dự báo cho một mã cổ phiếu nhất định nên tôi đã quy định việc lập mô hình được thực hiện dưới nền từ trước, đưa ra dự báo và lưu trữ sẵn trong cơ sở dữ liệu, khi có nhu cầu thì chỉ cần truy xuất đến kết quả dự báo Chức năng lập mô hình được xây dựng như một công cụ back-end, admin sẽ chọn một mã cổ phiếu bất kỳ, nhấn nút “Modeling”, hệ thống sẽ thực hiện quy trình lập mô hình và trả về thông báo kết quả

Lưu ý: việc lập mô hình chỉ cần thực hiện mỗi khi cần xây dựng lại mô hình Sau đó, mỗi khi chốt phiên giao dịch giá sẽ được cập nhật và hệ thống tự động tính toán dự báo cho các phiên tiếp theo rồi lưu vào cơ sở dữ liệu

3 Hiện thực chức năng tìm kiếm

Với chức năng tìm kiếm, tôi hiện thực chủ yếu sử dụng công nghệ AJAX và jQuery

để gửi và nhận kết quả tìm kiếm dựa trên từ khóa tức thì, tiết kiệm được thời gian và tiện cho người dùng khi tra cứu các mã hiện hữu trong hệ thống Hai tiêu chí tìm kiếm chủ yếu là tìm theo mã và tìm theo tên công ty Khi người dùng gõ một cụm từ vào khung tìm kiếm, thì sự kiện gõ sẽ được kích hoạt và gửi thông tin về cho máy chủ Máy chủ tìm kiếm mã hoặc tên công ty chứa từ khóa vừa nhận sau đó trả về kết quả dưới định dạng xml

Trang 12

4 Hiện thực bộ lọc cổ phiếu

Bộ lọc cổ phiếu là một chức năng tìm kiếm nâng cao, trong đó người dùng có thể tìm

ra những mã hoặc công ty tiềm năng thông qua những thông tin về sức mạnh tài chính của công ty như: chỉ số thanh khoản nhanh, vốn hóa thị trường, hệ số biên lợi nhuận ròng… , giá đóng cửa

Tương tự như chức năng search, tôi hiện thực bộ lọc chủ yếu sử dụng AJAX và jQuery Có tám thuộc tính sử dụng để lọc và mỗi thuộc tính bao gồm hai biến min và max thể hiện miền giá trị tương ứng Mỗi khi có một sự kiện nhập giá trị vào trường

dữ liệu của người dùng, một yêu cầu bất đồng bộ (asynchronous requeste) sẽ được

gửi về máy chủ bao gồm tất cả điều kiện lọc Sau khi tìm được những mã phù hợp, kết quả sẽ được trả về để hiển thị cho người dùng Trong trường hợp không có mã nào đáp ứng đủ các yêu cầu lọc, thông báo không tìm thấy sẽ được hiển thị

Kết quả có thể phân theo trang và chữ cái đầu của mã cổ phiếu để người dùng có thể

dễ dàng duyệt kết quả

5 Công việc khác

5.1 Viết hàm APIs

Cung cấp các hàm lấy thông tin liên quan đến mô hình và giá trị dự báo để sử dụng chung trong hệ thống

5.2 Vẽ các sơ đồ phân tích thiết kế

Dựa vào nội dung thống nhất của nhóm về thiết kế của khóa luận Tôi vẽ lại Data Flow Diagram, Use case Diagram, một số sơ đồ Sequence Diagram dành cho các use cases của admin, và Domain Model

5.3 Vẽ và đặc tả cấu trúc cơ sở dữ liệu

Sau khi đã thảo luận nhóm và thống nhất về những đối tượng bảng tồn tại trong cơ sở

dữ liệu Tôi viết lại đặc tả cho từng bảng và vẽ sơ đồ cơ sở dữ liệu (Database

Diagram).

12

Trang 13

II Đánh giá kết quả và hướng phát triển

1 Kết quả

 Nắm vững các khái niệm căn bản về mô hình ARIMA, bao gồm cơ sở lý luận, các bước lập mô hình và những công cụ đi kèm

 Hoàn thành trang quản trị cơ bản với các chức năng thêm mới, cập nhật dữ liệu giá

cổ phiếu, mô hình

 Xây dựng thành công mô hình dự báo giá tự động cho một mã cổ phiếu bất kỳ với

độ tin cậy cao

 Chức năng tìm kiếm theo mã và tên công ty đơn giản và hiệu quả, đảm bảo tính tiện dụng

 Cung cấp bộ lọc với nhiều tiêu chí quan trọng, người dùng có thể sử dụng một hoặc kết hợp nhiều tiêu chí cùng lúc để dễ dàng tìm ra những mã cổ phiếu theo yêu cầu

1 Hạn chế

 Mô hình ARIMA ứng dụng trong phạm vi khóa luận là mô hình đơn biến Nó chỉ phân tích một thông tin duy nhất đó là dữ liệu giá trong quá khứ Tuy nhiên, trong thực tế, giá cổ phiếu trong tương lai có thể bị ảnh hưởng bởi nhiều yếu tố khác chẳng hạn như: khối lượng giao dịch trong quá khứ, trạng thái tài chính của công

ty, lợi nhuận chia đều trên mỗi cổ phiếu… Do đó, sai số dự báo do mô hình sinh ra chưa được tối ưu

 Trong khi quy luật vận động của chuỗi giá diễn sinh, sẽ có những trường hợp bị nhiễu do một số sự kiện đặc biệt diễn ra, ví dụ như: công ty mua lại cổ phiếu quỹ,

sắp tách cổ phiếu (split), hoặc sắp sát nhập với một công ty khác… Chính những

yếu tố này sẽ gây ra một số biến động bất thường tạm thời, làm ảnh hưởng tới việc lập mô hình

 Đối với một số trường hợp đặc biệt, hệ thống không thể tìm ra được mô hình tối

ưu cho mã cổ phiếu mà phải chấp nhận mô hình tạm thời do các tham số không thể hội tụ về một giá trị (vòng lặp vô hạn)

Ngày đăng: 16/01/2022, 05:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w