Logo FinLensFinLens Docs

Phân tích kỹ thuật & backtest chiến lược chứng khoán bằng AI

Hướng dẫn dùng AI đọc 141 chỉ báo kỹ thuật, quét tín hiệu trên 1.700 mã, nhận diện 61 mẫu nến và backtest chiến lược với mô phỏng T+2.5 Việt Nam.

⏱ Đọc 14 phút · 🔴 Nâng cao · 🔧 Yêu cầu: FinLens Premium

Đọc giá trị chỉ báo thực — đừng để AI đoán

Thay vì để AI ước tính RSI hay MACD từ kiến thức chung, dùng signals_indicator_values để lấy giá trị tính toán thực tế trên giá điều chỉnh với đủ warmup period:

💬 Đọc nhiều chỉ báo cùng lúc

Cho tôi giá trị RSI(14), MACD(12,26,9) và MFI(14) của HPG hiện tại — và 10 phiên gần nhất để thấy xu hướng

→ signals_indicator_values, N=10 — giá trị thực tính trên adjusted close, đủ warmup

💬 Chỉ báo khối lượng

OBV của FPT đang tăng hay giảm trong 20 phiên qua? Có xác nhận xu hướng giá không?

→ indicator_values OBV + so sánh với price action

Quét tín hiệu trên toàn thị trường

Công cụ signals_screen quét toàn bộ 1.700 mã theo rule bạn định nghĩa — có thể kết hợp điều kiện kỹ thuật với bộ lọc cơ bản:

💬 Quét cơ bản

Tìm tất cả cổ phiếu HOSE có RSI < 30 trong 3 phiên gần nhất và giá cắt lên MA20 — danh sách mã và chỉ báo kèm theo

→ screen: exchange=HOSE, rules=[RSI<30, price_cross_up_MA20], days=3

💬 Kết hợp điều kiện cơ bản

Quét mã có RSI vượt 50 từ bên dưới trong 5 phiên qua, lọc thêm ROE > 15% và P/E < 20 và thanh khoản > 10 tỷ/ngày — mã nào phù hợp nhất?

→ screen kỹ thuật + bộ lọc cơ bản đồng thời — tín hiệu kỹ thuật trên nền tảng tốt

💬 Tìm mã theo ngành

Trong ngành ngân hàng, mã nào đang có MACD golden cross trong 5 phiên gần nhất và volume tăng bất thường?

→ screen lọc sector + MACD cross + volume spike

Lọc thêm theo Sức mạnh tương đối (RS)

signals_screen có 4 bộ lọc RS: min_rs_rating (RS của mã), min_rs_vs_industry (leader trong ngành), min_industry_rs (breadth ngành) và min_sector_rs (momentum ngành) — kết quả trả kèm cả 4 giá trị. Ghép chúng để chỉ giữ mã mạnh trong ngành đang trend. Xem đầy đủ ở Bài 15 · Sức mạnh ngành (RS).

💬 Quét kèm bộ lọc RS

Tìm mã có RSI cắt lên 50 trong 5 phiên qua, RS của mã ≥ 80 và là leader trong ngành (RS nội bộ ngành ≥ 75), thanh khoản > 10 tỷ/ngày

→ screen: rule RSI + min_rs_rating=80 + min_rs_vs_industry=75 + min_avg_value_bil=10

Phát hiện mẫu hình giá

Công cụ signals_detect_patterns nhận dạng ~15 mẫu hình đặt tên sẵn (hoặc mẫu tùy ý bạn định nghĩa), trả về ngày xuất hiện, độ khớp 0–1 và cờ "đang hình thành":

💬 Tìm mẫu hình

HPG có đang hình thành mẫu hình 2 đáy (double bottom) không? Quét thêm các mẫu hình tích cực khác nếu có

→ detect_patterns: HPG, mẫu "double_bottom" + tất cả mẫu bullish

💬 Mẫu hình vai đầu vai

Kiểm tra xem VIC có mẫu hình vai-đầu-vai (head and shoulders) đang hình thành không — ngưỡng breakdown là đâu?

→ detect_patterns "head_and_shoulders" — trả ngưỡng neckline + khoảng cách % tới breakdown

Mẫu nến Nhật — tín hiệu đảo chiều ngắn hạn

Công cụ signals_candle_patterns quét cả 61 mẫu nến TA-Lib, trả tên tiếng Việt + hướng bullish/bearish:

💬 Quét mẫu nến

VNM tuần này xuất hiện mẫu nến gì đáng chú ý? Có tín hiệu đảo chiều không?

→ candle_patterns: VNM, days=5 — danh sách mẫu có tín hiệu + tên tiếng Việt

💬 Mẫu nến cụ thể

FPT có xuất hiện mẫu Búa (Hammer) hoặc Nhấn chìm tăng (Bullish Engulfing) trong 10 phiên qua không?

→ lọc theo mẫu cụ thể + hướng bullish

Cấu trúc giá — Hỗ trợ & Kháng cự

💬 Hỗ trợ & kháng cự

Xu hướng hiện tại của HPG thế nào? Các mức hỗ trợ và kháng cự gần nhất ở đâu? Đang cách giá hiện tại bao nhiêu %?

→ market_structure: trend từ pivot, S/R levels kèm khoảng cách %, đỉnh/đáy 52 tuần

💬 Xác nhận breakout

FPT vừa phá vỡ kháng cự. Cấu trúc giá xác nhận breakout không? Mức kháng cự tiếp theo ở đâu?

→ market_structure — pivot points, % cách mức S/R tiếp theo, xu hướng trending/ranging

Thống kê sau tín hiệu — win rate thực tế

Công cụ signals_event_study tổng hợp mỗi lần tín hiệu xuất hiện trong lịch sử — 5, 10, 20 phiên sau giá thay đổi thế nào, so với baseline mua ngẫu nhiên:

💬 Win rate sau tín hiệu

Mỗi khi RSI của HPG chạm dưới 30 rồi vượt lên lại, 20 phiên sau giá thường tăng bao nhiêu %? Win rate là bao nhiêu? So với mua ngẫu nhiên?

→ event_study: mỗi event = RSI cross up 30, thống kê return 5/10/20 phiên + win rate + baseline

Backtest chiến lược — mô phỏng T+2.5 VN

Mô phỏng T+2.5 đặc thù thị trường Việt Nam

Tham số t_plus=2 mô phỏng quy tắc thanh toán T+2.5 VN — tín hiệu bán chỉ thực hiện được sau khi cổ phiếu đủ ngày nắm giữ. Backtest sẽ thực tế hơn nhiều so với bỏ qua yếu tố này.

💬 Backtest đơn giản

Backtest chiến lược MA20/50 cross trên HPG trong 5 năm — so với mua-hold HPG, Sharpe và max drawdown là bao nhiêu?

→ backtest: HPG, rule=MA20 cross MA50, 5 năm, so buy-hold, kèm danh sách lệnh

💬 Backtest nhiều mã

Backtest RSI(14) < 30 → mua, > 70 → bán trên HPG, FPT và VNM trong 3 năm qua với t_plus=2 — mã nào chiến lược này hoạt động tốt nhất?

→ backtest 3 mã cùng rule, t_plus=2 mô phỏng T+2.5, so sánh Sharpe/Sortino/drawdown

Tối ưu tham số — tránh overfit

Cảnh báo overfit tự động

FinLens tự động chia dữ liệu train/test 70/30 và cảnh báo khi Sharpe in-sample cao nhưng out-of-sample thấp — dấu hiệu overfit rõ ràng. Luôn kiểm tra OOS metrics trước khi dùng tham số tối ưu.

💬 Tối ưu MA window

Tối ưu tham số MA short (5–30) × MA long (20–80) cho chiến lược cross trên FPT 3 năm — chia train/test 70/30, top 5 tổ hợp tốt nhất và cảnh báo overfit

→ optimize: grid search ≤200 combo, IS/OOS Sharpe side-by-side, best_spec để dùng ngay trong backtest

💬 Tối ưu RSI + MA kết hợp

Tối ưu chiến lược RSI(window 7–21) × MA(window 10–50) trên VCB trong 5 năm — tham số nào cho Sharpe OOS cao nhất?

→ optimize 2 tham số đồng thời, lấy best_spec OOS-first (không phải IS-first)

Bài liên quan

Câu hỏi thường gặp

Làm sao để backtest chiến lược chứng khoán Việt Nam bằng AI?

Công cụ signals_backtest của FinLens MCP chạy backtest long-only cho một hoặc nhiều mã theo rule do nhà đầu tư mô tả bằng ngôn ngữ tự nhiên, ví dụ MA20 cắt MA50 hoặc RSI(14) dưới 30 thì mua và trên 70 thì bán. Kết quả trả về so sánh với chiến lược mua và nắm giữ, kèm Sharpe, Sortino, max drawdown và danh sách lệnh đã khớp. Nhà đầu tư chỉ cần yêu cầu AI backtest chiến lược trên mã và khung thời gian mong muốn, không cần viết code.

Backtest của FinLens MCP có mô phỏng quy tắc T+2.5 của Việt Nam không?

Có. Tham số t_plus=2 trong signals_backtest mô phỏng quy tắc thanh toán T+2.5 của thị trường Việt Nam: tín hiệu bán chỉ được thực hiện sau khi cổ phiếu đủ ngày nắm giữ. Bật tham số này giúp kết quả backtest sát thực tế hơn nhiều so với việc bỏ qua độ trễ thanh toán, đặc biệt với các chiến lược giao dịch ngắn hạn.

Làm sao quét toàn thị trường tìm cổ phiếu có RSI dưới 30 hoặc MACD golden cross?

Công cụ signals_screen của FinLens MCP quét toàn bộ 1.700 mã theo rule kỹ thuật do người dùng định nghĩa, chẳng hạn RSI dưới 30 trong 3 phiên gần nhất, giá cắt lên MA20, hoặc MACD golden cross kèm volume tăng bất thường. Bộ lọc kỹ thuật có thể kết hợp đồng thời với tiêu chí cơ bản như ROE trên 15%, P/E dưới 20 và thanh khoản trên 10 tỷ đồng mỗi ngày. Ngoài ra còn có 4 bộ lọc sức mạnh tương đối là min_rs_rating, min_rs_vs_industry, min_industry_rs và min_sector_rs để chỉ giữ lại mã dẫn dắt trong ngành đang có xu hướng tăng.

Làm sao tránh overfit khi tối ưu tham số chiến lược giao dịch?

Công cụ signals_optimize của FinLens MCP chạy grid search tối đa 200 tổ hợp tham số và tự động chia dữ liệu train/test theo tỷ lệ 70/30, hiển thị Sharpe in-sample và out-of-sample cạnh nhau. Hệ thống cảnh báo khi Sharpe in-sample cao nhưng out-of-sample thấp, đây là dấu hiệu overfit rõ ràng. Nguyên tắc an toàn là chọn best_spec dựa trên kết quả out-of-sample thay vì in-sample, rồi đưa tham số đó vào signals_backtest để kiểm chứng lại.

Cập nhật lần cuối

Nội dung trang