Ví dụĐộng lượng
Động lượng
Giữ 5 mã VN30 tăng mạnh nhất 6 tháng, nhưng bỏ qua những mã biến động quá mạnh. Động lượng thuần thường dồn vào mã sốc giá; lọc theo biến động giúp danh mục bớt giật.
universe("vn30")
period("5Y")
rebalance("M")
mom = momentum(126)
calm = volatility(63)
mom = mom[calm < calm.median()]
pick(top(mom, input(5, "Holdings")))Từng bước
momentum(126): mức tăng 6 tháng (126 phiên) của từng mã VN30.volatility(63): độ biến động năm hoá 3 tháng của từng mã.mom[calm < calm.median()]: chỉ giữ các mã có biến động thấp hơn trung vị của rổ. Đây là phép lọc pandas bình thường, vì script là Python thật.top(mom, 5): lấy 5 mã động lượng cao nhất trong số còn lại;pickchia đều vốn.
Thử thêm
- Đổi
126thành63(3 tháng) hoặc252(1 năm). - Thay
calm.median()bằngcalm.quantile(0.3)để chỉ giữ 30% mã êm nhất.