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é.
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.
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.
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
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
Thanks em. Anh sẽ bố trí ra sớm nhé!
#MìAI
Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup
Ưebsite: https://miai.vn
Youtube: http://bit.ly/miaiyoutube
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ó
cho em hỏi là ,đã có bài này chưa ạ
Ban len trang web cua Keras –> example codes la co bai do
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!
Thanks em. Em có thể cho anh xin đề bài cụ thể hơn để bài ra chuẩn hơn nhé!
Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup
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 ạ
Okie. Chờ anh 1 chút nhé.
#MìAI
Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup
Blog: https://miai.vn
Youtube: http://bit.ly/miai_youtube
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 ạ
Anh thấy khá tương đương đó. Em cứ triển khai thử nếu cần gì thì lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup để trao đổi thêm nha!
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.
Mình viết trong bài đó bạn? Bạn cần tham khảo thêm gì?
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 ạ;
Em cứ hỏi trên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup nhé. Thảo luận cho dễ!
a cho e xin file stock_predict.py được k ạ?
Ủa trong Github có hết mà em. Cần thêm gì em post lên group nhé!
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
Anh ơi làm sao để cập nhật lại dữ liệu của file excel của năm nay không anh
Ah em crawl lại thôi em. Em tham khảo source https://github.com/thangnch/MiAI_Stock_Crawl
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 ạ?
Hoàn toàn độc lập bạn nhé. Bạn cần thêm gì post lên https://facebook.com/groups/miaigroup trao đổi cho tiện nhé!
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
Bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup trao đổi thêm cho tiện nhé!
Bài chia sẻ hay quá ạ, em muốn hỏi là nếu như có nhiều mã chứng khoán như VIC, VCB thì mình train từng mô hình cho từng mã hay là coi mã là một đặc trưng và sử dụng một mô hình ạ
Em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup cho tiện trao đổi nhé!