Tham chiếuRổ · cân bằng · pick
Rổ · cân bằng · pick
Script Danh mục backtest cả một rổ mã. Cấu trúc luôn gồm hai phần:
- Khai báo (đọc một lần): rổ
universe, kỳperiod, tần suấtrebalance, đường so sánhbenchmark. - Chọn mã: script chạy lại ở từng kỳ cân bằng và gọi
pickđể chốt danh mục. Mỗi lần chạy chỉ thấy dữ liệu tới phiên trước kỳ đó.
universe: chọn rổ
| Rổ | Viết | Thành phần |
|---|---|---|
| Ngành HODL | universe("HX-BANK"), "HX-REAL", … |
Đúng tại từng kỳ (theo quý) |
| VN30 · VN100 | universe("vn30"), universe("vn100") |
Theo lịch sử từ 11/2026; trước đó dùng rổ hiện tại |
| Danh mục của bạn | universe("mine") |
Rổ hiện tại |
rebalance · benchmark
rebalance("W" | "M" | "Q" | "Y"): cân bằng ở phiên đầu mỗi tuần / tháng / quý / năm. Mặc định mỗi tháng.benchmark("VNINDEX"): đường so sánh (xám) trên biểu đồ đường vốn.
Xếp hạng và chọn mã
Các hàm trả một giá trị cho mỗi mã trong rổ, dùng với top / bottom:
| Hàm | Giá trị theo mã |
|---|---|
momentum(63) |
Mức tăng giá 63 phiên |
volatility(63) |
Độ biến động năm hoá |
pe() · pb() |
Định giá tại kỳ (số đã công bố) |
fundamental("roe") |
Chỉ số cơ bản mới nhất đã công bố |
top(values, n) lấy n mã cao nhất, bottom(values, n) lấy n mã thấp nhất.
pick: chốt danh mục
pick(["TCB", "MBB"])hoặcpick(top(...)): chia đều vốn.pick({"TCB": 0.6, "MBB": 0.4}): theo tỷ trọng, tự quy về 100%.- Kỳ không gọi
pickhoặc chọn rỗng thì bán hết, giữ tiền.
universe("HX-BANK")
period("5Y")
rebalance("Q")
pick(bottom(pb(), input(3, "Holdings")))Ví dụ trên: mỗi quý giữ 3 ngân hàng có P/B thấp nhất.
Nắm giữ
Ghi mã, điểm xếp hạng (giá trị đã đưa vào top / bottom) và tỷ trọng của từng kỳ. Bấm một mã để mở biểu đồ mã đó kèm điểm mua / bán của danh mục.