Đ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://miai.vn
Youtube: http://bit.ly/miaiyoutube

Related Post

25 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ó

  2. Chào anh Thắng,
    Hiện tại em cũng đang làm về hệ thống dự đoán dựa trên nhiệt độ, độ ẩm
    Mong anh có thể ra bài mới trong thời gian sớm
    Cảm ơn anh!

      1. Yêu cầu của em cũng giống với yêu cầu của bạn “Anh Nguyen” luôn anh!
        Tuy dữ liệu vào hơi khác thôi ạ

  3. Em chào anh ạ !
    Hiện tại thì em đang được giao 1 đề tài là : Vessel trajectory prediction (dự đoán quỹ đạo tàu thủy), em có tìm hiểu có thể làm đề tài này bằng phương pháp LSTM. Anh cho em hỏi nếu làm đề tài đó thì nó có khác nhiều so với đề tài dự đoán chứng khoán này ko ạ ? Em cảm ơn anh ạ

    1. Bạn đã làm đc bài toán chưa có thể cho mình tham khảo được không. Mình cảm ơn bạn nhiều.

    2. Không biết bạn đã làm được bài này chưa mình có thể trao đổi 1 chút đc không ạ;

  4. theo ở hình cuối cùng thì đường màu xanh chỉ bám theo đường màu cam chứ chưa thấy được sự dự đoán trong tương lại, nếu mà có dự dự đoán trong tương lai thì đường màu xanh phải dài hơn đường màu cam chứ anh. Em không hiểu lắm chỗ nớ, anh giải thích giúp em với

  5. Cảm ơn anh Thắng, bài chia sẻ hay quá ạ.
    Em xin hỏi 1 chút là trong biểu đồ kia, giá trị Prediction có phải là hoàn toàn độc lập so với giá trị Real (tức là đứng từ ngày 31/12/2018 mà dự đoán toàn bộ 9 tháng đầu năm 2019). Hay là giá trị Prediction này phụ thuộc và dựa trên giá trị Real ạ?

  6. Anh e muốn làm cái này cho đồ án của mk a có thể cho e xin ít thông tin lý thuyết LMST, kiến trúc của nó để triển khai

Leave a Reply

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