Hướng dẫn sử dụng StockInsight VN

Hệ thống phân tích kỹ thuật, chấm điểm và dự đoán xu hướng cho 30 mã cổ phiếu, kèm bảng điện cập nhật trong phiên.

Lưu ý quan trọng: mọi điểm số, xác suất và đánh giá trên hệ thống chỉ là công cụ tham khảo phục vụ nghiên cứu, không phải khuyến nghị mua bán. Thị trường chứng khoán luôn có rủi ro; hãy tự cân nhắc trước mỗi quyết định.

1Bắt đầu nhanh

  1. Mở Tổng quan, bấm nút Tích cực để xem các mã đang có tín hiệu tốt nhất.
  2. Bấm vào một mã để mở trang chi tiết. Đọc phần Đánh giá tổng hợp bên phải để biết vì sao mã được chấm điểm như vậy.
  3. Xem biểu đồ nến cùng các đường MA, RSI, MACD để tự kiểm chứng xu hướng.
  4. Kéo xuống phần Backtest để xem chiến lược theo mô hình đã hiệu quả thế nào với mã này trong quá khứ.
  5. Trong giờ giao dịch, mở Bảng điện để theo dõi giá khớp và dư mua/bán.
Ô Tìm mã ở góc trên bên phải mọi trang: gõ mã (ví dụ FPT) rồi nhấn Enter để đi thẳng tới trang chi tiết.

2Trang Tổng quan

Bốn ô thống kê ở đầu trang cho biết phiên được phân tích, số mã tăng/giảm, số mã có tín hiệu tích cực và mô hình dự đoán đang dùng.

CộtÝ nghĩa
Giá, +/- %Giá đóng cửa phiên gần nhất (nghìn đồng) và mức thay đổi so với phiên trước.
Xu hướngTăng: giá > MA50 > MA200 · Giảm: giá < MA50 < MA200 · Đi ngang: các trường hợp còn lại.
RSIChỉ báo sức mạnh giá 14 phiên (0–100). Trên 70 là quá mua, dưới 30 là quá bán.
Điểm KTĐiểm phân tích kỹ thuật (0–100), xem cách tính.
XS tăng 5pXác suất mô hình ước tính giá sau 5 phiên cao hơn hiện tại.
Tổng điểm, Đánh giáKết hợp điểm kỹ thuật và xác suất mô hình, quy ra 4 mức đánh giá.

Bấm vào tiêu đề cột có thể sắp xếp (Mã, Giá, RSI, Điểm...) để đổi thứ tự; bấm lần nữa để đảo chiều.

3Bảng điện

Bảng điện hiển thị diễn biến giao dịch trong phiên. Giá tính bằng nghìn đồng (57.90 = 57.900 đ), khối lượng tính bằng cổ phiếu.

Chạy giá thật trong phiên

Bảng điện có ba chế độ, hiển thị ở góc phải trên bảng:

  • vnstock · hỏi định kỳ (khuyên dùng, miễn phí): máy chủ hỏi giá toàn bộ mã trong bảng mỗi 3 giây, trễ khoảng 3–10 giây so với sàn.
  • SSI FastConnect · thời gian thực: luồng đẩy, trễ khoảng 1 giây; cần đăng ký khóa với SSI (mục 14).
  • Mô phỏng: giá giả lập để xem thử giao diện. Trang hiện khung đỏ cảnh báo; hệ thống không ghi giá mô phỏng vào CSDL khi đã có dữ liệu CafeF.

Chuyển sang giá thật (quản trị viên, trên VPS): đăng ký khóa miễn phí tại vnstocks.com rồi chạy

cd /root/stock_system
DATA_SOURCE=vnstock VNSTOCK_API_KEY=<khóa> INSTALL_VNSTOCK=1 sudo -E bash deploy.sh
sudo -u stock /opt/stock_system/venv/bin/python /opt/stock_system/realtime.py --test
sudo -u stock /opt/stock_system/venv/bin/python /opt/stock_system/datacheck.py --reset-demo

Lệnh thứ hai thử lấy giá thật một lần; lệnh thứ ba dọn dữ liệu mô phỏng cũ khỏi CSDL.

Ý nghĩa màu sắc

TímGiá trần (tăng tối đa)
Xanh láCao hơn tham chiếu
VàngBằng giá tham chiếu
ĐỏThấp hơn tham chiếu
Xanh lơGiá sàn (giảm tối đa)

Ô nào vừa thay đổi sẽ nhấp nháy (xanh khi tăng, đỏ khi giảm) để bạn dễ nhận ra.

Các cột

CộtÝ nghĩa
TC / Trần / SànGiá tham chiếu (đóng cửa phiên trước) và biên độ dao động trong ngày (HOSE ±7%).
Bên mua (Giá 1–3, KL 1–3)Ba mức giá đặt mua cao nhất đang chờ khớp và khối lượng tương ứng. Giá 1 là mức gần giá khớp nhất.
Khớp lệnhGiá và khối lượng của lần khớp gần nhất, mức tăng/giảm so với tham chiếu.
Bên bán (Giá 1–3, KL 1–3)Ba mức giá chào bán thấp nhất đang chờ khớp.
Tổng KL, Mở, Cao, ThấpTổng khối lượng khớp trong phiên, giá mở cửa, cao nhất, thấp nhất.
Nước ngoài Mua / BánKhối lượng nhà đầu tư nước ngoài mua và bán trong phiên.
Hệ thốngĐánh giá mới nhất của hệ thống cho mã đó (rê chuột để xem điểm).

Thanh công cụ

  • Lọc mã: gõ một phần mã để thu gọn danh sách.
  • Sắp xếp: Mã A-Z, Tăng mạnh, Giảm mạnh, Điểm hệ thống, NN mua ròng (nước ngoài mua trừ bán).
  • Bấm vào mã để mở trang phân tích chi tiết.

Góc trạng thái

  • Chấm xanh nhấp nháy: đang trong phiên, bảng tự cập nhật.
  • Trạng thái phiên: Chưa mở cửa → ATO (9:00–9:15) → Đang giao dịch → Nghỉ trưa (11:30–13:00) → ATC (14:30–14:45) → Thỏa thuận → Đã đóng cửa.
  • "trễ Xs · nguồn 3s/lần": dữ liệu được lấy từ nguồn mỗi 3 giây; độ trễ chuyển đỏ nếu chậm bất thường.
  • Khi bạn chuyển sang tab khác, bảng tạm dừng và cập nhật ngay khi quay lại.
Ngoài giờ giao dịch, bảng điện giữ nguyên số liệu cuối phiên gần nhất.

Thêm mã và danh mục của tôi

  1. Gõ mã vào ô + Thêm mã (ví dụ HSG) rồi bấm Thêm. Mã được thêm cho mọi người xem bảng điện, đánh dấu + cạnh tên mã; giá xuất hiện ở lần cập nhật tiếp theo. Bảng điện nhận tối đa 50 mã thêm.
  2. Bấm ☆ ở đầu mỗi dòng để đưa mã vào Danh mục của tôi (★ vàng). Danh mục này lưu riêng trên trình duyệt của bạn.
  3. Chọn chế độ xem: Tất cả, Rổ mặc định, Mã đã thêm hoặc ★ Danh mục của tôi. Lựa chọn được ghi nhớ cho lần sau.

Mã được thêm cũng được cập nhật dữ liệu ngày, chấm điểm và dự đoán sau mỗi phiên. Bấm vào tên mã trên bảng điện để mở trang Kiểm tra mã.

4Kiểm tra mã tăng hay giảm

Trang Kiểm tra mã trả lời nhanh câu hỏi "mã này 5 phiên tới nghiêng về tăng hay giảm?" cho bất kỳ mã nào trên HOSE, HNX, UPCoM.

  1. Nhập mã rồi bấm Kiểm tra. Nếu hệ thống chưa có dữ liệu mã đó, trang hiện "Đang chuẩn bị dữ liệu" và tự hiện kết quả sau khoảng 1–2 phút.
  2. Đọc ô kết luận: TĂNG / GIẢM khi xác suất trung bình ≥ 55% / ≤ 45% và ít nhất 2/3 mô hình đồng thuận; NGHIÊNG TĂNG / NGHIÊNG GIẢM khi đa số nghiêng về một phía nhưng chưa mạnh; CHƯA RÕ XU HƯỚNG khi các mô hình chia rẽ.
  3. Xem bảng Dự đoán của từng mô hình: xác suất tăng của mỗi mô hình, AUC chung và tỷ lệ đoán đúng hướng với riêng mã này trong quá khứ. Kết luận chỉ tính các mô hình có dấu ✓ (có ý nghĩa thống kê) nếu có.
  4. Tham khảo Mốc giá quan trọng: hỗ trợ/kháng cự gần, các đường MA, dải Bollinger, đỉnh/đáy 52 tuần, biên độ dao động trung bình (ATR) và hiệu suất giá theo thời gian.
Bấm + Thêm vào bảng điện để theo dõi giá mã đó trong phiên, hoặc Phân tích chi tiết để xem biểu đồ nến và backtest.

5Trang chi tiết mã

  • Biểu đồ nến: chọn loại nến Ngày / Tuần / Tháng / Quý / Năm (mỗi cây nến gộp giá mở cửa đầu kỳ, cao nhất, thấp nhất, đóng cửa cuối kỳ và tổng khối lượng của kỳ) và khoảng xem 3T, 6T, 1N, 3N, 5N, 10N hoặc Tất cả (toàn bộ lịch sử). Khi xem nến tuần/tháng/quý/năm, MA, RSI, MACD tính theo số kỳ tương ứng (MA20 tháng = trung bình 20 tháng) và bên dưới có dải lợi suất từng kỳ. Lựa chọn được ghi nhớ cho lần sau. Cuộn chuột để phóng to/thu nhỏ, kéo để di chuyển; ba biểu đồ (giá, RSI, MACD) luôn đồng bộ thời gian. Cột phía dưới biểu đồ giá là khối lượng.
  • Đánh giá tổng hợp: tổng điểm, đánh giá, xu hướng, xác suất tăng và danh sách lý do dẫn đến kết quả.
  • Xác suất tăng theo thời gian: diễn biến dự đoán của mô hình trong khoảng 120 phiên gần nhất, kèm đường ngưỡng mua 55% và ngưỡng bán 45%.
  • Backtest: đường giá trị tài sản của 3 chiến lược và bảng chỉ số, xem mục Backtest.

Các chỉ báo kỹ thuật

Chỉ báoCách đọc
MA20, MA50, MA200Giá trung bình 20/50/200 phiên. Giá nằm trên đường MA cho thấy xu hướng tăng ở khung tương ứng; MA ngắn cắt lên MA dài là tín hiệu xu hướng tăng hình thành.
Bollinger (nét đứt)Dải ±2 độ lệch chuẩn quanh MA20. Giá chạm dải trên/dưới cho thấy biến động mạnh; dải thu hẹp thường báo trước một nhịp biến động lớn.
RSI (14)Trên 70: quá mua, dễ điều chỉnh · 50–70: động lượng tăng tốt · dưới 30: quá bán, có thể hồi phục.
MACD (12, 26, 9)Đường MACD cắt lên đường tín hiệu và cột histogram chuyển xanh là động lượng tăng; ngược lại là động lượng giảm.
Khối lượngGiá tăng kèm khối lượng lớn (trên 1,3 lần trung bình 20 phiên) cho thấy dòng tiền ủng hộ; giá giảm kèm khối lượng lớn là áp lực bán.

6Điểm số & đánh giá

Tổng điểm = 50% điểm kỹ thuật + 50% xác suất tăng của mô hình (khi chưa có mô hình, tổng điểm bằng điểm kỹ thuật).

Điểm kỹ thuật (0–100)

NhómTối đaTiêu chí
Xu hướng35Giá trên MA20 (+10), MA20 trên MA50 (+10), giá trên MA200 (+15)
Động lượng35RSI 50–70 (+15), RSI 40–50 (+8), RSI quá mua/quá bán (+5); MACD trên đường tín hiệu (+10); histogram MACD tăng (+10)
Dòng tiền15Khối lượng ≥ 1,3 lần TB20 kèm giá tăng (+15); khối lượng bình thường (+7); khối lượng lớn kèm giá giảm (0)
Sức mạnh giá15Lợi suất 20 phiên dương (+8); giá ở vùng 20% cao nhất của biên độ 52 tuần (+7)

Bốn mức đánh giá

Tiêu cực
Trung tính
Theo dõi
Tích cực
0405570100

7Mô hình dự đoán & so sánh mô hình

Hệ thống huấn luyện và so sánh 14 mô hình học máy, cùng ước tính xác suất giá đóng cửa sau 5 phiên cao hơn hôm nay từ 18 đặc trưng kỹ thuật. Mô hình có AUC ngoài mẫu cao nhất được dùng để chấm điểm (quản trị viên có thể chỉ định bằng ACTIVE_MODEL).

NhómMô hình
Mốc so sánhBaseline: luôn dự đoán bằng tỷ lệ phiên tăng trong quá khứ. Mô hình nào không vượt được mốc này thì không có giá trị.
Thống kêHồi quy Logistic, Naive Bayes
Khoảng cách, biên lềK láng giềng gần nhất (KNN), Máy vector hỗ trợ (SVM)
Cây và tổ hợp câyCây quyết định, Rừng ngẫu nhiên, Rừng cực ngẫu nhiên
BoostingAdaBoost, Gradient Boosting, XGBoost, LightGBM
Mạng nơ-ron, kết hợpMạng nơ-ron MLP; mô hình Kết hợp (trung bình Logistic + Random Forest + Gradient Boosting)

Trang So sánh mô hình

  • Bảng xếp hạng: AUC kèm khoảng tin cậy 95%, Accuracy, Precision, Recall, F1, Brier, lợi nhuận và Sharpe khi giao dịch theo mô hình, tỷ lệ mã thắng mua-và-giữ, thời gian huấn luyện. Bấm tiêu đề cột để sắp xếp.
  • AUC và khoảng tin cậy: thanh màu xanh nghĩa là mô hình tốt hơn đoán ngẫu nhiên có ý nghĩa thống kê.
  • Độ ổn định: AUC của từng mô hình qua các giai đoạn thị trường; bấm tên mô hình để bật/tắt đường.
  • So sánh trực tiếp hai mô hình: chọn hai mô hình để xem chỉ số nào mô hình nào tốt hơn, đường ROC, độ hiệu chỉnh xác suất, giá trị danh mục khi giao dịch theo từng mô hình và tỷ lệ hai mô hình cùng dự đoán một hướng. Đường dẫn trang lưu lựa chọn, có thể gửi cho người khác.
  • Ma trận đồng thuận và đặc trưng quan trọng của mô hình đang dùng.

Cách hiểu các chỉ số

  • AUC: khả năng phân biệt phiên tăng/giảm; 0,5 là ngẫu nhiên. Với chứng khoán, AUC ngoài mẫu 0,52–0,56 đã đáng kể; trên 0,65 thường là dấu hiệu lỗi dữ liệu.
  • Precision / Recall: trong các lần báo tăng, bao nhiêu lần đúng / trong các phiên thực sự tăng, mô hình bắt được bao nhiêu.
  • Brier: sai số của xác suất (càng thấp càng tốt); cho biết con số "55%" của mô hình có đáng tin không.
  • Xác suất khoảng 50%: mô hình không thấy lợi thế; từ 55% trở lên nghiêng về tăng; từ 45% trở xuống nghiêng về giảm.
Mọi chỉ số đều tính trên dữ liệu ngoài mẫu bằng walk-forward: luôn huấn luyện bằng quá khứ và kiểm tra trên giai đoạn sau đó.

8Backtest

Backtest mô phỏng việc giao dịch theo từng chiến lược trên dữ liệu quá khứ, đã trừ phí 0.15% mỗi chiều và thuế bán 0.1%, giữ tối thiểu 3 phiên (cổ phiếu về tài khoản sau T+2).

Chiến lượcQuy tắc
Mô hình học máyMua khi xác suất tăng ≥ 55%, bán khi ≤ 45%.
Giao cắt MA20/MA50Mua khi MA20 cắt lên MA50, bán khi cắt xuống.
Mua và nắm giữMua từ đầu giai đoạn và giữ đến cuối, dùng làm mốc so sánh.
Chỉ sốÝ nghĩa
Lợi nhuận, %/nămTổng lợi nhuận cả giai đoạn và lợi nhuận bình quân mỗi năm.
SharpeLợi nhuận trên mỗi đơn vị rủi ro. Trên 1 là tốt; càng cao càng ổn định.
Sụt giảm tối đaMức lỗ lớn nhất tính từ đỉnh tài sản. Cho biết rủi ro tệ nhất bạn phải chịu.
Lệnh, ThắngSố lần mua–bán và tỷ lệ lệnh có lãi.
Kết quả quá khứ không đảm bảo kết quả tương lai. Một chiến lược hiệu quả trong backtest vẫn có thể thua lỗ khi thị trường thay đổi.

9Theo dõi đề xuất

Trang Theo dõi đề xuất ghi lại mọi lần hệ thống đề xuất mua, theo dõi trong thời gian nắm giữ, ghi nhận khi đề xuất bán, và tính lãi/lỗ cho từng lệnh.

Quy tắc

BướcĐiều kiện
MUATổng điểm sau phiên ≥ 70. Lệnh được ghi ở giá mở cửa phiên kế tiếp (vì tín hiệu có sau giờ đóng cửa).
NẮM GIỮGiữ tối thiểu 3 phiên (cổ phiếu về tài khoản sau T+2). Lãi/lỗ tạm tính cập nhật theo giá trong phiên (chấm xanh cạnh giá).
BÁNTổng điểm giảm dưới 50, hoặc giá giảm ≥ 7% so với giá mua (cắt lỗ). Bán ở giá mở cửa phiên kế tiếp.

Lãi/lỗ đã trừ phí mua, phí bán và thuế bán. Mỗi lệnh giả định vốn 10,000,000 đ, làm tròn lô 100 cổ phiếu, để quy ra số tiền lãi/lỗ dễ hình dung.

Thực tế và Kiểm chứng quá khứ

  • Thực tế: đề xuất hệ thống đã đưa ra và hiển thị từ ngày bắt đầu chạy. Đây là thước đo trung thực nhất.
  • Kiểm chứng: chạy lại cùng quy tắc trên 250 phiên trước đó, chỉ dùng dự đoán ngoài mẫu, để có số liệu đánh giá ngay. Kết quả này có thể thay đổi nhẹ sau mỗi lần huấn luyện lại vào thứ 7.

Các chỉ số

  • Tỷ lệ thắng: phần trăm lệnh đã bán có lãi.
  • Lãi/lỗ TB mỗi lệnh: kèm mức lãi trung bình của lệnh thắng và mức lỗ trung bình của lệnh thua.
  • Hệ số lợi nhuận: tổng tiền lãi chia tổng tiền lỗ. Lớn hơn 1 là tổng thể có lãi.
  • Tạm tính: lãi/lỗ của các cổ phiếu đang nắm giữ nếu bán ở giá hiện tại.
Trang chi tiết của mỗi mã cũng có mục Lịch sử đề xuất của hệ thống cho riêng mã đó.

10Chọn cổ phiếu toàn thị trường

Trang Chọn CP xếp hạng mọi cổ phiếu đủ thanh khoản trên HOSE, HNX, UPCoM theo lợi suất kỳ vọng 20 phiên tới so với các mã khác. Khác với mô hình dự đoán từng mã (đoán tăng/giảm), đây là bài toán xếp hạng tương đối mà các quỹ định lượng sử dụng: không cần biết thị trường chung sẽ tăng hay giảm, chỉ cần biết mã nào tốt hơn mã nào.

Dữ liệu

Lịch sử giá đã điều chỉnh (theo cổ tức, chia tách) của toàn thị trường từ tệp CafeF cung cấp, xem trang Dữ liệu toàn thị trường. Mỗi ngày giao dịch hệ thống tự tải tệp cuối ngày (khi bật CAFEF_AUTO=1); sáng thứ 7 tải lại toàn bộ lịch sử và huấn luyện lại.

Cách mô hình chọn cổ phiếu

  1. Lọc mã có giá trị giao dịch TB 20 phiên ≥ 2 tỷ đồng, giá ≥ 3.0 nghìn đồng, lịch sử ≥ 1 năm.
  2. Tính 16 nhân tố cho mỗi mã: quán tính giá (12-1, 6-1, 3 tháng), đảo chiều ngắn hạn, độ biến động, lợi suất cực đại, xu hướng (MA200, MA50/MA200), vị trí so với đỉnh 52 tuần, sụt giảm từ đỉnh, thanh khoản, xu hướng khối lượng, độ kém thanh khoản Amihud, beta và rủi ro riêng.
  3. Đổi mỗi nhân tố thành thứ hạng trong toàn thị trường tại thời điểm đó, rồi mô hình tính điểm cho từng mã.
  4. Xếp hạng theo điểm. Danh mục đề xuất là 10 mã đứng đầu, tỷ trọng bằng nhau, tái cơ cấu mỗi 20 phiên.

Ba mô hình được so sánh

Mô hìnhCách tính điểm
Đa nhân tố truyền thốngTrung bình thứ hạng các nhân tố đã được nghiên cứu học thuật chứng minh (quán tính, rủi ro thấp, tránh mã "xổ số", đảo chiều 1 tháng, gần đỉnh 52 tuần). Không cần huấn luyện, dễ giải thích — mốc so sánh quan trọng.
Hồi quy RidgeHọc trọng số tối ưu cho cả 16 nhân tố từ dữ liệu quá khứ (tuyến tính, có điều chuẩn chống quá khớp).
Gradient BoostingHọc cả quan hệ phi tuyến và tương tác giữa các nhân tố.

Cách đọc kết quả đánh giá

  • IC: tương quan thứ hạng giữa điểm mô hình và lợi suất thực tế sau đó. IC 0,02–0,05 ổn định qua nhiều năm đã là tốt; t-stat > 2 là có ý nghĩa thống kê.
  • 10 nhóm xếp hạng: lợi suất trung bình của từng nhóm 10% mã. Mô hình tốt cho cột tăng đều từ nhóm 1 đến nhóm 10.
  • Danh mục Top 10: lợi nhuận năm hóa, Sharpe, sụt giảm tối đa, đã trừ phí và thuế, so với danh mục chia đều toàn thị trường và VNINDEX.
  • Sức mạnh từng nhân tố: nhân tố nào thực sự dự báo được lợi suất trên thị trường Việt Nam — bản thân đây là một kết quả nghiên cứu.

Trong bảng xếp hạng, nhãn xanh là các nhân tố đóng góp nhiều nhất vào điểm của mã, nhãn đỏ là nhân tố kéo điểm xuống; bấm "Chi tiết nhân tố" để xem thứ hạng của mã ở từng nhân tố. Cột "Lần vào Top" cho biết mã có ổn định trong nhóm dẫn đầu hay chỉ mới xuất hiện.

11Dòng tiền chủ động (từ toàn bộ lệnh khớp)

Sau mỗi phiên, từ 15:10, hệ thống tải toàn bộ lệnh khớp trong ngày của từng mã (nguồn chỉ giữ phiên gần nhất nên phải thu mỗi ngày; nếu bị lỡ có thể thu bù đến 08:45 sáng hôm sau). Mỗi lệnh khớp được nguồn phân loại:

  • Mua chủ động: lệnh mua khớp ngay ở giá bán đang chào → bên mua sốt ruột, nhu cầu mua mạnh.
  • Bán chủ động: lệnh bán khớp ngay ở giá mua đang chờ → áp lực bán.
  • ATO/ATC: khớp trong phiên định giá mở cửa/đóng cửa, không phân chiều.

Các chỉ số trên trang Dòng tiền

Chỉ sốÝ nghĩa
Mua CĐ / Bán CĐTổng giá trị (tỷ đồng) mua chủ động và bán chủ động trong phiên.
RòngMua chủ động − bán chủ động. Kèm lũy kế 5 và 20 phiên để thấy xu hướng dòng tiền.
Tỷ lệ mua CĐKhối lượng mua chủ động / (mua + bán chủ động). Trên 55%: bên mua áp đảo; dưới 45%: bên bán áp đảo.
Lệnh lớn ròngChỉ tính lệnh khớp có giá trị ≥ 500 triệu đồng, gần với hành vi nhà đầu tư lớn.
VWAP, Đóng/VWAPGiá bình quân theo khối lượng và vị trí giá đóng cửa so với giá bình quân.
Độ phủKhối lượng thu được / khối lượng ngày chính thức. Gần 100% là đủ dữ liệu; thấp hơn nhiều thì cần thận trọng khi phân tích.

Trang chi tiết mỗi mã có biểu đồ mua/bán chủ động 60 phiên và đường ròng lũy kế; biểu đồ nến 1 phút tô cột khối lượng theo chiều mua/bán chủ động. Toàn bộ lệnh khớp gốc tải được ở trang Dòng tiền (nút ⬇) và Kho dữ liệu.

Đây là dữ liệu quý cho nghiên cứu vì không có sẵn trong dữ liệu giá ngày: sau khoảng 6 tháng tích lũy (≈120 phiên), có thể đưa các chỉ số dòng tiền vào làm đặc trưng cho mô hình dự đoán và so sánh với mô hình chỉ dùng giá.

Yêu cầu: VNSTOCK_API_KEY (gói Cộng đồng miễn phí) – trạng thái hiện tại: Đã có.

12Báo cáo cuối phiên & kho dữ liệu nghiên cứu

Trang Báo cáo tổng hợp mỗi phiên: độ rộng thị trường của danh mục, xác suất tăng trung bình, phân bố đánh giá, kết quả bỏ phiếu của các mô hình, top tăng/giảm, khối lượng đột biến so với trung bình 20 phiên, đề xuất mua/bán phát sinh trong phiên và danh mục đang nắm giữ. Chọn phiên khác ở ô chọn ngày; bấm In / lưu PDF để lưu báo cáo đưa vào đề tài.

Trang Kho dữ liệu nghiên cứu cho tải về dạng CSV (mở bằng Excel, Python, R, SPSS):

Bộ dữ liệuNội dung
Giá giao dịch ngàyOHLCV theo mã và khoảng ngày
Chỉ báo & đặc trưngMA, RSI, MACD, Bollinger, ATR, OBV và 18 đặc trưng đầu vào mô hình
Tín hiệu mỗi phiênĐiểm, xác suất, đánh giá, lý do hệ thống đã đưa ra
Dự đoán ngoài mẫuXác suất tăng của mô hình trên toàn giai đoạn walk-forward, kèm nhãn thực tế
So sánh mô hìnhMọi chỉ số, khoảng tin cậy, AUC theo giai đoạn
Lệnh đề xuấtNgày, giá mua/bán, số phiên, lãi/lỗ, lý do bán
Nến 1 phútDữ liệu trong phiên ghi từ bảng điện, giữ 60 ngày

Trang chi tiết mỗi mã có thêm biểu đồ Diễn biến trong phiên (nến 1 phút), tự làm mới mỗi 15 giây.

13Cảnh báo qua Telegram

  • Cuối phiên: mã tăng/giảm mạnh, đề xuất MUA/BÁN cho phiên tới, danh mục đang nắm giữ và lãi/lỗ, kèm liên kết tới báo cáo.
  • Trong phiên (kiểm tra mỗi 30 giây): mã chạm trần/sàn, khối lượng dự phóng ≥ 2.0 lần trung bình 20 phiên, giá vượt kháng cự hoặc thủng hỗ trợ 20 phiên. Mỗi sự kiện chỉ báo 1 lần/ngày.
  1. Trên Telegram, nhắn @BotFather → /newbot → đặt tên → nhận token.
  2. Nhắn một tin bất kỳ cho bot vừa tạo (hoặc thêm bot vào nhóm).
  3. Quản trị viên điền TELEGRAM_BOT_TOKEN vào .env, chạy python alerts.py --chat-id để lấy TELEGRAM_CHAT_ID, điền tiếp, rồi chạy python alerts.py --test.

Trạng thái hiện tại: Chưa cấu hình.

14Bảng điện thời gian thực (SSI FastConnect Data)

Khi có khóa kết nối SSI, bảng điện nhận dữ liệu đẩy liên tục từ SSI (khớp lệnh, dư mua/bán, chỉ số), ghi mỗi 1 giây, độ trễ hiển thị khoảng 1–2 giây. Dòng cuối góc trạng thái bảng điện cho biết nguồn đang dùng: SSI FastConnect · thời gian thực hoặc vnstock · hỏi định kỳ.

  • Tự kết nối trong giờ giao dịch, tạm dừng khi nghỉ trưa và sau phiên; tự kết nối lại nếu 2 phút không có dữ liệu.
  • Nếu luồng SSI gián đoạn quá 5 phút, hệ thống tạm chuyển sang hỏi giá định kỳ qua vnstock (nếu có).
  • Mã thêm vào bảng điện được tự động đăng ký nhận dữ liệu trong vòng 30 giây.
  • Sau phiên, dữ liệu ngày cũng lấy từ SSI. Nếu nguồn chậm, hệ thống dựng nến ngày từ dữ liệu bảng điện đã ghi trong phiên và thay bằng số liệu chính thức ở lần cập nhật sau.

Cách lấy khóa: mở tài khoản tại SSI → đăng nhập iBoard → tạo khóa kết nối FastConnect Data → gửi ConsumerID và ConsumerSecret cho quản trị viên điền vào .env.

Nguồn hiện tại: SSI FastConnect · thời gian thực.

15Lịch cập nhật dữ liệu

Thời điểmHệ thống tự làm
Trong phiên (thứ 2–6, 9:00–15:00)Có SSI: nhận dữ liệu đẩy liên tục; không có SSI: lấy bảng giá mỗi 3 giây. Ghi nến 1 phút, kiểm tra cảnh báo mỗi 30 giây. Nghỉ trưa và trước giờ mở cửa: 5 phút/lần.
15:00Chụp lại bảng giá cuối phiên.
Từ 15:05Cập nhật giá ngày → tính chỉ báo → chấm điểm → dự đoán → cập nhật danh sách đề xuất mua/bán → gửi tổng kết Telegram. Nếu nguồn chưa có số liệu, thử lại mỗi 15 phút đến 18:30.
Từ 15:10Thu toàn bộ lệnh khớp của từng mã, dựng nến 1 phút chính xác, tính chỉ số dòng tiền (chạy nền 20–60 phút; mã lỗi tự thử lại sau 15 phút).
Sáng thứ 7Huấn luyện lại mô hình với dữ liệu mới và chạy lại backtest.
Ngày nghỉ lễKhông có phiên; bảng điện ghi "không có phiên giao dịch".

Dòng chữ nhỏ ở góc trạng thái bảng điện cho biết lần cập nhật dữ liệu ngày gần nhất.

16Hỏi đáp

Vì sao trang báo "Chưa có dữ liệu"?

Hệ thống vừa cài đặt và đang tải dữ liệu lịch sử lần đầu (10–60 phút tùy hạn mức nguồn dữ liệu). Hãy quay lại sau.

Vì sao cột Tổng KL trên bảng điện để trống?

Một số nguồn bảng giá không cung cấp tổng khối lượng trong phiên. Khối lượng đầy đủ vẫn được ghi nhận sau phiên vào dữ liệu ngày và hiển thị trên biểu đồ.

Bảng điện có nhanh như bảng giá của công ty chứng khoán không?

Bảng điện cập nhật mỗi 3 giây theo hạn mức của nguồn dữ liệu, nên chậm hơn vài giây so với bảng giá của công ty chứng khoán. Để đặt lệnh, hãy dùng ứng dụng của công ty chứng khoán.

Đánh giá "Tích cực" có nghĩa là nên mua?

Không. Đó là kết quả tổng hợp từ chỉ báo kỹ thuật và mô hình thống kê, cho biết mã đang có nhiều yếu tố kỹ thuật thuận lợi. Hệ thống không xét tin tức, báo cáo tài chính hay tình hình vĩ mô.

Giá trên hệ thống khác giá trên bảng giá khác một chút?

Giá lịch sử có thể đã được điều chỉnh theo cổ tức, chia tách cổ phiếu; bảng điện có độ trễ vài giây. Hai nguyên nhân này tạo ra chênh lệch nhỏ.

Vì sao xác suất tăng của các mã đều quanh 50%?

Đây là điều bình thường: biến động ngắn hạn của giá cổ phiếu rất khó dự đoán. Mô hình chỉ tìm những lợi thế nhỏ, vì vậy nên xem xác suất cùng với điểm kỹ thuật và biểu đồ.

17Dành cho quản trị viên

Các lệnh chạy trên VPS (thư mục /opt/stock_system, người dùng hệ thống stock):

# Cập nhật dữ liệu sau phiên ngay lập tức
sudo -u stock bash -c 'cd /opt/stock_system && venv/bin/python worker.py --eod-now'

# Nhập lịch sử toàn thị trường từ tệp CafeF đã tải / tự tải; huấn luyện mô hình chọn cổ phiếu
sudo -u stock bash -c 'cd /opt/stock_system && venv/bin/python cafef_import.py --file /root/CafeF.SolieuGD.Upto....zip'
sudo -u stock bash -c 'cd /opt/stock_system && venv/bin/python cafef_import.py --discover'
sudo -u stock bash -c 'cd /opt/stock_system && venv/bin/python selection.py --train'

# Thu ngay toàn bộ lệnh khớp phiên gần nhất / xem trạng thái
sudo -u stock bash -c 'cd /opt/stock_system && venv/bin/python ticks.py --collect'
sudo -u stock bash -c 'cd /opt/stock_system && venv/bin/python ticks.py --status'

# Huấn luyện lại mô hình + backtest + chấm điểm
sudo -u stock bash -c 'cd /opt/stock_system && venv/bin/python pipeline.py train && venv/bin/python pipeline.py backtest && venv/bin/python pipeline.py analyze'

# Khởi động lại web / tiến trình nền
systemctl restart stockinsight
systemctl restart stockinsight-worker

# Xem log
tail -f /opt/stock_system/logs/worker.log
journalctl -u stockinsight -n 50

Cấu hình thường dùng (file /opt/stock_system/.env)

BiếnHiện tạiÝ nghĩa
SYMBOLS30 mãDanh sách mã theo dõi, cách nhau bằng dấu phẩy. Để trống dùng rổ VN30.
VNSTOCK_API_KEYĐã cóAPI key miễn phí tại vnstocks.com, nâng hạn mức từ 20 lên 60 lượt/phút.
BOARD_REFRESH3 giâyChu kỳ lấy bảng giá trong phiên.
SSI_CONSUMER_IDĐã cóKhóa SSI FastConnect Data để có bảng điện thời gian thực và dữ liệu ngày từ SSI.
TELEGRAM_BOT_TOKENChưa cóBật cảnh báo qua Telegram.
MODELS14 mô hìnhDanh sách mô hình so sánh, ALL là tất cả. Bớt mô hình để huấn luyện nhanh hơn.
ACTIVE_MODELAUTOAUTO: tự chọn AUC cao nhất; hoặc ghi tên mô hình, VD RandomForest.
BOARD_MAX_EXTRA50Số mã người dùng được thêm vào bảng điện.
HORIZON5 phiênSố phiên mô hình dự báo.
BUY_THRESHOLD / SELL_THRESHOLD0.55 / 0.45Ngưỡng xác suất mua/bán trong backtest.
REC_BUY_SCORE / REC_SELL_SCORE70 / 50Ngưỡng tổng điểm để đề xuất mua / bán.
REC_STOP_LOSS7%Mức giảm so với giá mua thì đề xuất cắt lỗ.
REC_CAPITAL10,000,000 đVốn giả định mỗi lệnh để tính lãi/lỗ bằng tiền.
EOD_START15:05Giờ bắt đầu cập nhật dữ liệu sau phiên.

Sau khi sửa .env, chạy systemctl restart stockinsight stockinsight-worker. Nếu đổi danh sách mã hoặc HORIZON, chạy thêm lệnh huấn luyện lại ở trên.

Kết quả phân tích và dự đoán chỉ mang tính tham khảo phục vụ nghiên cứu, không phải khuyến nghị mua bán. Nhà đầu tư tự chịu trách nhiệm với quyết định của mình.