Tất cả các dữ liệu đầu vào đều được nhập vào một file excel, nhưng do chương trình NeuroSulutions chỉ có thế đọc dữ liệu dưới dạng text ASCII nên chúng ta cần phải chuyển đổi dữ liệu từ excel sang dạng text. Các thao tác bước sau đây chúng tôi sử dụng Microsoft Office 2007.
Trước tiên, tạo một file access, sau đó thực hiện lệnh import file excel vào
Microsoft Access. Chọn các field trong access có tên chính là tên của các cột của file excel. Sau đó chọn định dạng cho từng cột, các cột đều có định dạng kiểu số, trừ ô NGAY là định dạng kiểu Date/Time, ta chọn khóa chính cho table này là cột STT.
Sau khi có table dữ liệu từ excel chuyển qua ta xuất dữ liệu sang file text. Trong quá trình xuất, chọn dấu phân cách các cột là dấu “,” và dòng đầu tiên là tiêu đề của các cột.
Sau khi xuất ra thành file text, ta có thể dùng file này vào chương trình NeuroSolutions để chạy mô hình Neural Network.
3.3.4. Phân tích các biến đầu vào bẳng Data Manager
Mở Data Manager, chọn file dữ liệu đầu vào, sau đó chọn biến mong muốn là VN- INDEX. Sau đó ta thực hiện phân tích các dữ liệu đầu vào để đo lường mức độ tương quan của các biến đầu vào với biến đầu ra. Ta có được biểu đồ sau thể hiện mức độ tương quan theo biểu đồ hình 3.3.
Biểu đồ cho thấy sự tương quan của các biến đầu vào với biến đầu ra. Dù có nhiều biến có tương quan thấp nhưng ta vẫn giữ lại trong mô hình để diễn tả phần nào tác động của các yếu tố này đến nền kinh tế.
Hình 3.3: Biểu đồ thể hiện độ tương quan giữa các biến đầu vào và biến đầu
ra
3.4. QUÁ TRÌNH XỬ LÝ MÔ HÌNH VÀ PHÂN TÍCH KẾT QUẢ
3.4.1. Cách thực hiện chạy chương trình NeuroSolutions
Trước khi thực hiện chương trình, chúng tôi điểm qua lại các điều kiện ban đầu được chúng tôi sử dụng để thực hiện mô hình Neural Network dự báo VN-INDEX
- Mô hình thu thập số liệu từ ngày 3/1/2006 đến ngày 25/3/2008 - Phần mềm sử dụng là phiên bản Demo
- Các số liệu, thông tin đầu vào được thu thập từ các nguồn đáng tin cậy nhất có thể trong khả năng nhưng cũng không tránh khỏi những thiếu sót do nguyên nhân khách quan.
Chọn chương trình Neuro Expert để chạy mô hình. Ta thực hiện lần lược các bước sau:
Bước 1: Chọn kiểu mô hình là dự báo dựa trên những dữ liệu quá khứ và ước lượng từ mô hình.
Bước 2: Chọn đường dẫn đến dữ liệu đầu vào đã được chuyển sang file text
Bước 3: Chọn các dữ liệu đầu vào có dữ liệu dưới dạng khác dạng số ( trong mô hình này không có dữ liệu thiết kế theo dạng khác dạng số trừ biến NGAY)
Bước 4: Chọn file dùng làm biến output, ta chọn là dữ liệu giống dữ liệu ban đầu.
Bước 5: Chọn biến số đầu ra, ta chọn VN-INDEX
Bước 6: Chọn xem biến đầu ra có phải được trình bày dưới dạng số hay không
Bước 7: Chọn thời điểm cần mô hình dự đoán tiếp.
Bước 8: Chọn biến để thử dữ liệu trong suốt thời gian training của mô hình. Trong trường hợp này, tôi chọn dùng 20% dữ liệu ban đầu để kiểm tra mô hình
Bước 9: Chọn out of sample, chương trình mặc định là 20%
Bước 10: Chọn cách so sánh giữa các mô hình với nhau, tính năng này bỏ qua
Bước 11: Chọn dạng thay đổi của phương sai. Ta chọn là Low, nghĩa là phương sai sẽ theo mục tiêu là thấp nhất.
Trên đây là các bước để thiết kế một mô hình Neural Network. Tuy nhiên do số lượng mẫu có hạn nên độ chính xác của mô hình không cao. Để mô hình cho ra kết quả tốt nhất cần phải training dữ liệu nhiều lần, ít nhất là 3 lần. Và mỗi lần training là mô hình tự động thiết kế 1000 lần chạy với các biến đầu vào dựa trên các biến động trong quá khứ của VN-INDEX. Sau khi training nhiều lần, ta chạy Tesing để có được kết quả đầu ra mong muốn.
3.4.2. Kết quả nhận được từ phần mềm NeuroSolutions
Sau quá trình Training dữ liệu, dữ liệu đầu ra và dự liệu dự báo của VN-INDEX được thể hiện như hình 3.4. Hình 3.4 cho ta thấy dữ liệu dự báo cho kết quả gần với kết quả lấy từ 20% dữ liệu dùng để kiểm tra tính chính xác của mô hình. Vì vậy, nhìn vào hình 3.4 ta có thể nói quá trình huấn luyện nhận được rất thành công và có thể tiếp tục quá trình testing để cho ra kết quả dự báo của VN-INDEX.
3.4.3. Kết quả dự báo VN-INDEX từtháng 4/2008 đến tháng 5/2008
Do hạn chế trong phiên bản Demo nên chúng ta không cho được kết quả tốt ở dự báo tuần thứ 1 và thứ 2. Chúng tôi cho thực hiện mô hình với số dự báo trong bước 7 chọn lần lượt từ 3 đến 8, ta có được kết quả dự báo cho tuần thứ 3 và thứ 8 kế tiếp cho mô hình như hình 3.5. Số liệu VN-INDEX thực tế được lấy từ trang web của Sở giao dịch chứng khoán Thành phố Hồ Chí Minh để đối chiếu với kết quả có được từ chạy phần mềm. Dùng hai cột số liệu trên ta vẽ được đồ thị như hình 3.6.
Hình 3.5. Dữ liệu VN-INDEX dự báo từ mô hình và dữ liệu thực tế từ tuần
thứ 3 đến tuần thứ 8 tiếp theo của dữ liệu ban đầu
Tuần dự báo tiếp theo Kết quả Thực tế
3 525.92 530.9 4 510 530.62 5 537.17 522.36 6 548.19 518.35 7 537 483.92 8 485 449.24
3.4.4. Phân tích kết quả
Thật vậy với mô hình Neural Network thông qua một quá trình xử lý thông tin phức tạp, cùng với quá trình training và testing đã cho ra kết quả dự báo khá chính xác với độ tin cậy cao. Khác với các công cụ dự báo truyền thống, mô hình Neural Network đã mô phỏng hoạt động của bộ não con người để tạo ra một mô hình trí tuệ nhân tạo nhằm giải quyết các vấn đề phức tạp trong dự báo. Đây là một công cụ dự báo thực sự hữu ích cho các nhà đầu tư trong tương lai nhằm giúp họ đưa ra các quyết định đúng đắn trong quá trình đầu tư của mình.
Sự sai lệch giữa kết quả dự báo và thực tế có thể do các nguyên nhân chính sau: - Do có sai số trong các dữ liệu đầu vào do bị hạn chế về thời gian và nguồn
thông tin.
- Do giới hạn trong việc tìm kiếm các biến số có liên quan đến Vn-Index, vì một số yếu tố không thể lượng hóa vào mô hình được như tâm lý bầy đàn của nhà đầu tư, tính chưa hiệu quả và phát triển của thị trường chứng khoán Việt Nam.
3.5. CHỨNG CỨỨNG DỤNG MÔ HÌNH NEURAL NETWORK 3.5.1. Jason E.Kutsurelis ứng dụng mô hình Neural Network để dự báo S&P 500 3.5.1. Jason E.Kutsurelis ứng dụng mô hình Neural Network để dự báo S&P 500
Trong nhiều năm qua, việc sử dụng mô hình Neural Network ngày càng rộng rãi và phổ biến trong lĩnh vực kinh tế - tài chính. Nhiều tổ chức, cũng như cá nhân cũng đã công bố rộng rãi các kết quả nghiên cứu của mình, trong đó nổi bật nhất là nghiên cứu dự báo tỷ lệ lạm phát của Chính Phủ Nhật và Hồng Kông (được trình bày trong phần phụ lục) và dự báo chỉ số S&P 500 của Jason E.Kutsurelis. Vào năm 1998, Jason E.Kutsurelis đã đưa ra kết quả nghiên cứu của mình trong việc ứng dụng mô hình Neural Network để dự báo S&P 500. Ông sử dụng các biến đầu vào được thu thập từ 1/3/1991 đến 18/8/1998 để dự báo cho chỉ số S&P 500 cho 10 ngày sau, bao gồm:
- Chỉ số S&P 500
- Chỉ số ngành vận tải Dow Jones - Chỉ số ngành công nghiệp Dow Jones - Chỉ số ngành dịch vụ công cộng Dow Jones - Thông tin nghiên cứu về hàng hóa
- Chỉ số về dầu AMEX - Chỉ số về vàng và bạc
Mô hình Neural Network được huấn luyện bằng việc sử dụng backpropagation chuẩn cho cả hai trường hợp kiểm nghiệm. Hình 3.7 cho thấy sự thay đổi của chỉ số S&P 500 và đuợc mô phỏng dưới đây nhằm để tham khảo sắp tới. Có thể thấy rằng thị trường đã rơi xuống nhanh chóng 730 điểm (10/10/1986) và đầu cơ giá lên 1110 điểm (21/1/1994). Thật sự bị hấp dẫn khi nhìn thấy mô hình hoạt động như thế nào trong những trường hợp xấu nhất, từ đó nó có thể được hoạt động cực kỳ tốt khi việc huấn luyện và thử nghiệm dữ liệu được xếp hạng như nhau.
Để thử nghiệm mô hình trong từng vùng then chốt này, mô hình được huấn luyện để sử dụng dữ liệu trong khoảng thời gian 4 năm trước sự sụp đổ năm 1986 hoặc là trước sự khởi đầu của cuộc đầu cơ giá lên năm 1994. Trong cả hai trường hợp thử nghiệm này thì mô hình được sử dụng có một lớp ẩn với 7 neuron ẩn và 19 neuron đầu vào. Các giá trị của tham số ban đầu được cho vào một chương trình máy tính để định giá trị một cách ngẫu nhiên [-1,1]. Các lớp ẩn và đầu ra sử dụng chức năng kích hoạt sigmoid. Trong khi số lượng khoảng trống cho các lớp ẩn được cung cấp bằng phần tử đơn vị đầu ra cố định của neuron đầu ra thứ 19, không có số lượng khoảng trống nào cho các sigmoid trong lớp đầu ra. Những trường hợp thử nghiệm này và các kết quả thu được được phân tích dưới đây.
3.5.2. Trường hợp 1: Đầu cơ giá lên từtháng 1 năm 1994
Theo hình 3.8 cho thấy việc huấn luyện và thử nghiệm dữ liệu được bình thường hóa cho chỉ số S&P 500, trong khi hình 3.9 cho thấy việc huấn luyện và thử
nghiệm dữ liệu được bình thường hóa cho lãi suất. Dữ liệu bắt đầu từ dữ liệu điểm 850 và việc huấn luyện dữ liệu với chiều dài là 275 tuần trong khi việc thử nghiệm
dữ liệu có chiều dài là 50 tuần. Có thể thấy rằng lãi suất trong dài hạn đang gia tăng trong hầu hết các phần của việc đầu cơ giá lên (thử nghiệm dữ liệu) chấp nhận vào lúc cuối, trong khi trong ngắn hạn lãi suất bị trì hoãn bởi 20 tuần đang tăng lên vào lúc ban đầu và sau đó cố định. Sự thay đổi này từ việc gia tăng cho đến khi cố định được trông đợi là sẽ có tác động đến thị trường. Tuy nhiên, trong lĩnh vực này tác động chính được trông đợi lại đến từ động lực của chính thị trường, được phân tích bởi các nhà kinh tế học ở những nơi khác.
Kết quả kiểm nghiệm
Hình 3.10 cho thấy kết quả kiểm nghiệm của trường hợp này. Việc thử nghiệm đã đuợc hoàn thành bằng việc huấn luyện mạng lưới và đầu ra cho mỗi tuần được so sánh với đầu ra kỳ vọng. Có thể nhìn thấy từ các số liệu là mô hình có thể dự đoán chắc chắn việc đầu cơ giá lên trước 1 tuần. Nó dự báo chính xác xu hướng các chỉ số của cổ phiếu đến mức 43 lần vượt ra ngoài phạm vi mẫu là 50 điểm. Phần trăm sai số lớn nhất đạt được như là phần trăm của đầu ra mong muốn chỉ là 4.044%, trong khi sai số trung bình chỉ là 0.95%. Vì vậy, các mô hình đã hoạt động rất tốt và sự thể hiện này có thể được sử dụng một cách phù hợp để lực chọn thời điểm cho thị trường.
Hình 3.8. Việc huấn luyện và thử nghiệm dữ liệu (chỉ số S&P 500) trong
Hình 3.9. Việc huấn luyện và thử nghiệm dữ liệu cho lãi suấttrong trường
Thậm chí sau khi detrending và bình thường hóa, những việc chỉ dựa trên việc huấn luyện dữ liệu, đầu ra mong muốn từ mô hình thì cao hơn những giá trị mà nó được huấn luyện trong hình 3.8. Thật vậy, mô hình có khả năng dự báo một sự gia tăng trong đầu ra ngay cả khi nó không được huấn luyện cho các giá trị chính xác của việc xếp loại các giá trị đầu ra. Những tiên đoán tốt này cho thấy một viễn cảnh tốt đẹp trong tương lai, nhằm chỉ ra rằng sự quan tâm được đưa ra nhằm bình thường hóa dữ liệu để một sự gia tăng đột ngột trong giá trị các chỉ số sẽ không bão hòa với giá trị được bình thường hóa.
Điều đó có thể được tiên đoán là mô hình có thể được huấn luyện mỗi tuần hơn là cứ giữ nó dựa trên việc huấn luyện, điều đó sẽ trở nên cũ vào gần cuối tuần thứ 50. Việc dịch chuyển cửa sổ huấn luyện mỗi tuần và huấn luyện lại mô hình là một cách tiếp cận hợp lý, điều này là cần thiết trong thực tế. Tuy nhiên, có một sai lầm lớn của việc huấn luyện mô hình đó là việc kế thừa những thay đổi theo tuần và theo đó các hoạt động của mô hình sẽ tồi tệ hơn. Trong bất kỳ trường hợp nào, thủ tục này có thể được sửa đổi cho thích hợp và cửa sổ dự báo có thể được giảm bớt để phù hợp với các yêu cầu.
Hình 3.10. Chỉ số S&P 500 được dự báo và kỳ vọngtrong trường hợp đầu cơ
giá lên
3.5.3. Trường hợp 2: Sự sụp đổvào tháng 10 năm 1986
Hình 3.11 cho thấy các giá trị của chỉ số trong phần huấn luyện và thử nghiệm cho trường hợp thứ hai, nơi mà việc huấn luyện dữ liệu bắt đầu từ dữ liệu điểm thứ 500 và dữ liệu điểm này dài 200 trong khi dữ liệu thử nghiệm vượt quá 75 tuần ngay lập tức theo sau việc huấn luyện dữ liệu và bao gồm một sự sụp đổ mạnh. Hình 3.12 cho thấy lãi suất cho việc huấn luyện và thử nghiệm được kết nối. Trong trường hợp này, lãi suất trì hoãn trong dài hạn đang rơi xuống trong chu kỳ huấn luyện khi chỉ số S&P 500 có xu hướng gia tăng, trong khi đó trong suốt chu kỳ thử nghiệm lãi suất đang gia tăng rất nhanh, khi chỉ số đang rơi xuống. Lãi suất trì hoãn trong ngắn hạn bởi 20 tuần cũng đang gia tăng lên nhưng với mức độ chậm hơn trong thời kỳ thử nghiệm. Vì vậy, trong trường hợp này, nó được trông đợi rằng tác động của việc gia tăng lãi suất sẽ dự báo được sự sụp đổ. Điều đó không là động lực chính trong việc huấn luyện dữ liệu cho chỉ số, từ khi chỉ số gia
tăng và rơi xuống hoặc theo một hướng khác là sự thay đổi trong chỉ số dao động giữa giá trị tốt nhất và xấu nhất. Mạng lưới có 7 neuron trong lớp ẩn được huấn luyện cho 900 quá trình lặp đi lặp lại, với kích cỡ 1 bước cố định là 0.4 và các kết quả thử nghiệm được giới thiệu chi tiết trong phần sau.
Hình 3.11. Việc huấn luyện và thử nghiệm dữ liệu (chỉ số S&P 500) trong
trường hợp giá xuống
Các kết quả kiểm nghiệm
Hình 3.13 cho thấy các kết quả kiểm nghiệm trong trường hợp này. Biểu đồ cho thấy rằng mô hình có khả năng dự báo sự sụp đổ mạnh trước 1 tuần nó thật sự xảy ra. Mặc dù vậy, đầu ra của mô hình thì thấp hơn các giá trị thực tế cho phần ban đầu trong việc phân loại thử nghiệm, không có xu hướng cho chỉ số cổ phiếu, mà có thể tác động lên mô hình để dự báo một vụ sụp đổ. Vì vậy, một mô hình chỉ sử dụng các giá trị chỉ số trong quá khứ có thể không có khả năng dự báo sự sụp đổ, mà nó được phân phối nhằm gia tăng lãi suất dài hạn. Trong trường hợp này, mô hình dự đoán chính xác xu hướng của chỉ số cổ phiếu 65 lần vượt ra ngoài mẫu thử
nghiệm là 75 điểm. Phần trăm sai số lớn nhất đạt được như là phần trăm của đầu ra