Sử dụng công nghệ AI xác định xu hướng của cổ phiếu!

Chủ đề trong 'Thị trường chứng khoán' bởi smw, 10/01/2018.

4912 người đang online, trong đó có 423 thành viên. 07:52 (UTC+07:00) Bangkok, Hanoi, Jakarta
  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
Chủ đề này đã có 4695 lượt đọc và 25 bài trả lời
  1. vhvietnam

    vhvietnam Thành viên rất tích cực

    Tham gia ngày:
    29/12/2009
    Đã được thích:
    131
    Đúng Bác ah, tôi học nhảy cóc thực dụng nên bị hổng. Mong bác chỉ giáo giúp.

    Ý tưởng đầu tiên của tôi là: sau khi theo dõi các mã có khối lượng giao dịch/số lượng giao dịch tăng đột biến thường sẽ tăng giá rất nhanh (PUMP), sau đó thường là xả (DUMP). Tuy nhiên có mấy vấn đề:
    - Tỷ lệ tăng giá của các mã khác nhau do tổng khối lượng giao dịch khác nhau
    - Thời gian giữa lệnh lớn tới PUMP và DUMP khác nhau, có mã trong vòng vài phút, có mã tăng, xả sau cả ngày.
    - Gặp trường hợp cả thị truòng đều xấu, tín hiệu vô dụng.

    Khi tôi thử dùng AI, đầu tiên tôi dùng PP Classification: đầu vào là dữ liệu giao dịch lịch sử và hiện tại (X_train), đầu ra là dự đoán mã đó sẽ tăng hay giảm(y_train). Một số mẫu tham khảo dùng shift[-y] tức tính lùi giá sau 1 khoảng thời gian sau đó label thành UP, DOWN, SW. Tuy nhiên gặp vấn đề 2 tôi nói ở trên. Vấn đề nữa là: không phải toàn bộ X_train trước khi y_train ==UP là yếu tố ảnh hưởng tới y_train. Do vậy khi chạy có xác suất không ổn định.

    Vì mình dạy máy mà lại cho nó học tín hiệu sai nên tôi mới nghĩ để cho nó tự học. Tại mỗi thời điểm nó tự ra quyết định mua, bán hoặc không giao dịch dựa trên đầu vào. Tôi dùng kết quả backtest để làm reward. Hành động có reward cao nhất sẽ được nhớ lại và tiếp tục. Nhưng cũng đang gặp vấn đề backtest trong thời gian bao lâu.
  2. smw

    smw Thành viên gắn bó với f319.com

    Tham gia ngày:
    09/09/2015
    Đã được thích:
    877
    Ok hiểu ý Bác rồi. Bác đang muốn máy nó tự động phân nhóm UP / DOWN / SW dựa vào các thông tin đầu vào là tỷ lệ thay đổi khối lượng giao dịch hoặc số lượng giao dịch. Cái ý sau Bác nói đến sự vào / ra các lệnh lớn. Hai cái này Tôi tạm tách thành 2 cái để có thể áp dụng được cho Stock

    1. Liệu có khả năng nào để tính được giá sau một khoảng thời gian (ví dụ T+3) dựa vào các tham biến đầu vào là tỷ lệ thay đổi của số lượng và khối lượng đặt mua / bán trong phiên.

    2. Liệu có khả năng nào để tính được giá sau một khoảng thời gian (ví dụ T+3 hoặc trong phiên) dựa vào các tham biến đầu vào là các lệnh quét mua hoặc quét bán giá trị lớn.

    Nếu dùng các mô hình hồi quy Bác có thể trả lời được các câu hỏi:
    - Mô hình hồi quy của mình xác suất đúng là bao nhiêu.
    - Nếu mô hình đúng rồi thì chạy mô hình với dữ liệu lịch sử sai số thế nào

    Cái khó là phải chọn được mô hình phù hợp. Nếu dùng biến giá đóng cửa trong ngày thì nó là biến phụ thuộc quá lớn át đi các biến mà mình định dự đoán. Nếu bỏ biến này thì xác suất dự đoán sẽ không cao cho dù khử nhiễu bằng việc thay giá đóng cửa bằng tỷ lệ thay đổi. Mô hình người ta hay dùng là ARIMAX (trong các bài trước tôi có đề cập đến ARIMA nhưng ARIMAX thì chưa thực hiện. Bác có thể theo hướng này)

    Nếu dùng AI - ML thì đúng là có thể dùng phương pháp phân loại - Classification (chính là cái phương pháp Tôi đang dùng ở đây) các thuật toán cây quyết định để xử lý cái này. Dùng thuật toán này thì nó sẽ trả lời cho Bác giá trị bao nhiêu là phù hợp (như Tôi đã làm cho mối liên hệ giữa chỉ số và các giá trị kỹ thuật).

    Cái ý Reward dựa vào kết quả trong lịch sử cũng tốt. Nhưng thể hiện nó trong mô hình cũng hơi rối. Nếu Bác có tài liệu nào hoặc ideal gì về phần này xin chia sẻ vì thú thực Tôi cũng đang tìm case điển hình áp dụng trong stock nhưng chưa thấy.

    Chúc Bác sớm tìm ra được mô hình phù hợp.
  3. coLnauX

    coLnauX Thành viên gắn bó với f319.com

    Tham gia ngày:
    16/08/2007
    Đã được thích:
    351
    Chào bác @smw, xin dc giao lưu học hỏi với bác. Bác đã dùng code ML của mình để auto trade dc chưa? Nếu chưa dc full hoàn toàn thì công việc mà ML thực hiện dc là bn %? Phần đầu bác giới thiệu là tìm correlation với các chỉ báo kỹ thuật ah? Bác đã làm thêm dc j nhiều hơn chưa?
    Trc đây em cũng mày mò ML nhưng sau thấy bị nhiễu quá + thời gian k cho phép vì còn bận công việc chính nên ngưng lại. Giờ chủ yếu dùng python để lấy dữ liệu khớp lệnh + dữ liệu bctc và tính toán thống kê các kiểu, tìm ra các bất thường trong gd. Vẫn mong muốn đi sâu và nâng cấp hệ thống của mình lên tầm cao hơn.
  4. vanngoan

    vanngoan Thành viên quen thuộc

    Tham gia ngày:
    17/06/2015
    Đã được thích:
    20
    .
  5. vhvietnam

    vhvietnam Thành viên rất tích cực

    Tham gia ngày:
    29/12/2009
    Đã được thích:
    131
    Cám ơn Bác và Chúc Bác nghỉ Tết vui vẻ.

    Về mô hình ARIMAX tôi sẽ tìm hiểu thêm. Chia sẻ với Bác một tài liệu theo tôi nghĩ có thể áp dụng được, đã sử dụng DNN cho thị trường FX, cùng dữ liệu đầu vào, đầu ra: 1 - Dự đoán giá tương lai (Next Value), 2 - Phân nhóm Up/Down (Binary Options) , 3 - Dự đoán xu hướng trung bình (Trend transition). Kết quả 1 và 2 cho tỷ lệ rất thấp, 3 có tỷ lệ cao và khả quan. Tôi nghĩ FX độ nhiễu cũng cao như stock nên có thể nghiên cứu hướng này.
    Link: https://www.slideshare.net/t_koshikawa/predition

    Về reward Bác xem trong link hackernoon tôi gửi lại nhé. https://hackernoon.com/the-self-learning-quant-d3329fcc9915

    Đ/c này đang dùng reward bằng kết quả backtest của thời gian time_step-2:time_step theo tôi nghĩ không phản ánh đúng. Tôi chỉnh lại là backtest của cả train/test time frame.
    coLnauX thích bài này.
  6. vhvietnam

    vhvietnam Thành viên rất tích cực

    Tham gia ngày:
    29/12/2009
    Đã được thích:
    131
    Chào bác @coLnauX.

    Theo tôi dữ liệu không bao giờ là đủ để làm ML, nên rất tập trung lấy dữ liệu cho dù có lúc không trade.

    Bác cứ tập trung dữ liệu CK VN đi, biết đâu khi ML có cộng đồng sẽ phát triển đc nơi chia sẻ dữ liệu, thuật toán... như Kaggle , Github...
    coLnauX thích bài này.

Chia sẻ trang này