Đi buôn chứng khoán cùng Mì AI, xây model LSTM dự đoán giá chứng khoán Vietcombank cuối năm 2019

Chào tất cả anh em Mì AI, hôm nay chúng ta sẽ cùng nhau đi buôn chứng khoán cùng Mì AI nhé. Cụ thể là chúng ta sẽ xây model dự đoán giá chứng khoán Vietcombank để xem cuối năm nay giá cả lên /xuống như nào lướt ít sóng nhé.

Bài toán này mình sẽ áp dụng một mạng LSTM (Long Short Term Memory), một biến thể của Recurrent Neural Network (RNN) để dự đoán giá chứng khoán Vietcombank (mã VCB). Đầu vào là dữ liệu giá lịch sử mã VCB từ 2009 đến 2018 (9 năm), sau khi train chúng ta sẽ kiểm tra model xem có chính xác hay không bằng cách dự đoán giá của mã VCB trong năm 2019 xem sao nhé.

dự đoán chứng khoán
Nguồn: BizLive

Mình không chịu trách nhiệm nếu anh em nào mất tiền vào chứng khoán vì giá dự đoán chỉ mang tính chất tham khảo nhé. Tuy nhiên anh em nào kiếm được từ chứng khoán thì nhớ donate cho Mì AI nha, haha!

Nào cùng bắt tay vào nào!

Phần 1. Chuẩn bị nguyên vật liệu

Đầu tiên các bạn tạo folder MiAI_Stock_Predict để lưu file cho bài này nhé. Tiếp đó như thường lệ, chúng ta lại gõ câu lệnh git thần thánh:

git clone https://github.com/thangnch/MiAI_Stock_Predict .

Sau khi lệnh chạy thành công, các file source, data,… sẽ về hết folder MiAI_Stock_Predict. Các bạn tiến hành cài đặt các thư viện cần thiết cho bài này bằng lệnh pip thần thánh:

pip install -r setup.txt

Sau khi gõ xong thì đợi tý cho nó setup từng dòng trong file setup.txt, một loáng là xong thôi. Các bạn sẽ thấy các file sau:

  • Vcb_2009_2018.csv: Dữ liệu giá lịch sử từ 2009 đến 2018 của VCB
  • Vcb_2019.csv: Dữ liệu giá từ 1/1 đến tháng 10 năm 2019.
  • Stock_predict.py là file mã nguồn

Phần 2. Phân tích bài toán đoán giá chứng khoán

Bài này tư tưởng của chúng ta sẽ như sau:

  • Dùng dữ liệu từ 2009 đến 2018 để train, cách train cụ thể như sau:
    • Ta coi mỗi ngày là 1 time step
    • Ta sẽ sử dụng 60 time steps làm input để đưa vào mạng train và đầu ra sẽ là time step tiếp theo (nghĩa là dùng giá 60 ngày để dự đoán giá ngày tiếp theo)ietVCB
  • Chúng ta sẽ dự đoán thử giá chứng khoán VCB từ 1/1/2019 đến 2/10/2019 và so sánh giữa giá dự đoán và giá thực (đã có trong file dữ liệu) xem model của chúng ta dự đoán chuẩn không nhé.
  • Bước cuối, chúng ta sẽ dự đoán giá trong tháng 10/2019 của VCB, các bạn kiểm chứng giúp xem có đúng ko nhé 😀

Phần 3. Tiến hành code chương trình

Chương trình này khó ở chỗ chuẩn bị data chứ code thì lại không phức tạp lắm, các bạn tham khảo code trong file stock_predict.py nhé, mình đã comment cụ thể từng dòng rồi.

dự đoan giá chứng khoán

Phần 4. Tiến hành train model đoán giá chứng khoán

Các bạn chạy file stock_predict.py để tiến hành train. Nếu như trong thư mục hiện tại không có file mymodel.h5 thì model sẽ tiến hành train, ngược lại thì model sẽ load luôn file mymodel.h5 và predict luôn nhé.

Nếu mọi việc okie thì các bạn sẽ thấy một biểu đồ hiện lên, chúng ta thấy model của chúng ta dự đoán khá sát với thực tế. Giá màu xanh là giá chúng ta dự đoán ra, còn giá màu đỏ là giá thật, hai đường sát sàn sạt với nhau.

dự đoan giá chứng khoán

Quá tuyệt phải không các bạn, vậy là các bạn đã biết sử dụng LSTM để dự đoán các giá trị có tính tương quan trước sau. Trong thời gian tới mình sẽ có nhiều bài nữa liên quan đến LSTM, các bạn cùng đón xem nhé.

Nếu có khó khăn gì các bạn cứ comment trên group Mì AI Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup  để cùng trao đổi, chia sẻ nhé.

Chào tạm biệt và chúc các bạn thành công!

Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup
Website: https://ainoodle.vn
Youtube: http://bit.ly/miaiyoutube

mm
Nguyễn Chiến Thắng

Một người đam mê những điều mới mẻ và công nghệ hiện đại. Uớc mơ cháy bỏng dùng AI, ML để làm cho cuộc sống tốt đẹp hơn! Liên hệ: thangnch@gmail.com hoặc facebook.com/thangnch

5 Replies to “Đi buôn chứng khoán cùng Mì AI, xây model LSTM dự đoán giá chứng khoán Vietcombank cuối năm 2019”

  1. Anh làm một bài hướng dẫn nữa về RNN như kiểu dự báo thời tiết nữa được không?
    Em đang học mà chưa hiểu lắm.ví dụ bài toán như sau:
    ta có 1 file csv trong đó có các cột:
    [ngày, nhiệt độ, độ ẩm, hướng gió]
    Bây giờ giả sử dự báo theo ngày (số liệu được thu thập 1 ngày 1 lần)
    ==> dự báo: [nhiệt độ, độ ẩm, hướng gió] của ngày tiếp theo. em còn mông lung lắm

      1. Hi vọng là sớm nhất có thể 😁,.
        Vì mấy ngày nay em mò mẫm đến ngủ cũng nghĩ đến nó

Leave a Reply

Your email address will not be published. Required fields are marked *