# 10. Bộ lọc cổ phiếu

Hàm được sử dụng để lọc nhanh danh sách cổ phiếu dựa trên các điều kiện định nghĩa sẵn, thay vì phải tự xử lý và tính toán dữ liệu từ đầu.

Hàm này đặc biệt hữu ích cho:

* Phân tích đầu tư
* Xây dựng chiến lược screening
* Tạo danh sách cổ phiếu theo tiêu chí định lượng (quant screening)

Cú pháp sử dụng:

```python
from FiinQuantX import FiinSession

username = "REPLACE_WITH_YOUR_USERNAME"
password = "REPLACE_WITH_YOUR_PASSWORD"

client = FiinSession(username=username, password=password).login()

data = client.StockScreening().get(
    filter=filter,
    screenerDate="YYYY-MM-DD",
    exchanges=[...],
    sectors=[...]
)
print(data)
```

**Tham số:**

| Tên tham số  | Mô tả                                                                                                                                                                                                                                                                                                                                                        | Kiểu dữ liệu | Mặc định         | Bắt buộc |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ---------------- | -------- |
| filter       | Bộ lọc, là list các điều kiện, mỗi điều kiện là một dict. Chi tiết cách dùng sẽ mô tả ở dưới                                                                                                                                                                                                                                                                 | list         |                  | Có       |
| screenerDate | Ngày sàng lọc (date string có dạng "%Y-%m-%d")                                                                                                                                                                                                                                                                                                               | str          | datetime.now()   | Không    |
| exchanges    | Danh sách các sàn cần lọc cổ phiếu                                                                                                                                                                                                                                                                                                                           | list         | Tất cả các sàn   | Không    |
| sectors      | Danh sách các ngành cần lọc cổ phiếu (Điền các mã ngành như BANKS\_L2, OIL\_AND\_GAS\_L2, REAL\_ESTATE\_L2, CHEMICALS\_L2. Chi tiết xem tại bảng tra cứu tên phân ngành truyền vào hàm và ICB Code ở mục [1.2.-danh-sach-ma-theo-nganh](https://docs.fiinquant.vn/ham-va-cong-thuc/1.-danh-muc-and-thong-tin-co-ban/1.2.-danh-sach-ma-theo-nganh "mention")) | list         | Tất cả các ngành | Không    |

Dữ liệu có các thuộc tính:

| Tên thuộc tính                                                                                                                   | Mô tả                                                                      | Kiểu dữ liệu |
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------ |
| Mã CK                                                                                                                            | Các mã chứng khoán thỏa mãn điều kiện bộ lọc                               | str          |
| Tên công ty                                                                                                                      | Tên gọi doanh nghiệp đầy đủ của các mã chứng khoán tương ứng               | str          |
| Sàn                                                                                                                              | Sàn giao dịch mà các mã chứng khoán tương ứng niêm yết                     | str          |
| Ngành L2                                                                                                                         | Tên ngành cấp 2 của các doanh nghiệp tương ứng                             | str          |
| Các cột động tùy thuộc vào số bộ lọc và kiểu tiêu chí bộ lọc thuộc nhóm Chỉ số chính và Báo cáo tài chính sẽ có cơ chế khác nhau | Số liệu chỉ số tương ứng của từng mã chứng khoán thỏa mãn điều kiện bộ lọc | float        |

Code mẫu lọc ra các cổ phiếu thuộc sàn HOSE và thuộc các lĩnh vực Hóa chất cấp 2, Bất động sản cấp 2 có tỷ lệ % freefloat trong khoảng từ 0.1 đến 0.5 và số cổ phiếu niêm yết trong khoảng từ 10 đến 200 triệu.

```python
filter = [
    {
        "indicatorName": "% Free Float",
        "conditionValues": [0.1, 0.5]
    },
    {
        "indicatorName": "Số cổ phiếu niêm yết",
        "conditionValues": [10000000, 200000000]
    }
]

data = client.StockScreening().get(
    filter=filter,
    screenerDate="2026-03-17",
    exchanges=["HOSE"],
    sectors=["CHEMICALS_L2","REAL_ESTATE_L2"]
)
print(data)
```

Kết quả trả ra là 1 dataframe dạng bảng như sau:

| Mã CK | Tên công ty       | Sàn  | Ngành L2     | % Free Float 2026-03-17 | Số cổ phiếu niêm yết 2026-03-17 |
| ----- | ----------------- | ---- | ------------ | ----------------------- | ------------------------------- |
| PHR   | Cao su Phước Hòa  | HOSE | Hóa chất     | 0.3500                  | 135499200.0                     |
| SZC   | Sonadezi Châu Đức | HOSE | Bất động sản | 0.4000                  | 179985860.0                     |
| ...   | ...               | ...  | ...          | ...                     | ...                             |
| BRC   | Cao su Bến Thành  | HOSE | Hóa chất     | 0.1300                  | 12375000.0                      |

Code mẫu lọc ra các cổ phiếu thuộc sàn HOSE và thuộc các lĩnh vực Hóa chất cấp 2, Bất động sản cấp 2 có Doanh thu thuần bán hàng và cung cấp dịch vụ trong cả năm 2025 lớn hơn giá trị doanh thu cao nhất trong 3 năm gần nhất liên tục và Doanh thu thuần bán hàng và cung cấp dịch vụ của riêng quý 4 năm 2025 đạt trên 10.000 tỷ.

```python
filter = [
    {
        "indicatorName":"3. Doanh thu thuần bán hàng và cung cấp dịch vụ",
        "interimCode":"Yearly",
        "indicatorInterimId": "2025",
        "conditionValues":[None,None],
        "additionalCondition": {
            "interimCode": "3_Recent_Continuous_Year",
            "operator": ">",
            "function": "Max"
        }
    },
    {
        "indicatorName":"3. Doanh thu thuần bán hàng và cung cấp dịch vụ",
        "interimCode":"Quarterly",
        "indicatorInterimId": "Q4-2025",
        "conditionValues":[10000000000000,None]
    }
]

data = client.StockScreening().get(
    filter=filter,
    screenerDate="2026-03-17",
    exchanges=["HOSE"],
    sectors=["CHEMICALS_L2","REAL_ESTATE_L2"]
)
print(data)
```

Kết quả trả ra là 1 dataframe dạng bảng như sau:

| Mã CK | Tên công ty | Sàn  | Ngành L2     | 3. Doanh thu thuần bán hàng và cung cấp dịch vụ 2025 | 3. Doanh thu thuần bán hàng và cung cấp dịch vụ 3 năm liên tiếp trước kỳ sàng lọc Lớn nhất của 2025 | 3. Doanh thu thuần bán hàng và cung cấp dịch vụ Q4-2025 |
| ----- | ----------- | ---- | ------------ | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| VIC   | VinGroup    | HOSE | Bất động sản | 3.3277E+14                                           | 1.89068E+14                                                                                         | 1.63159E+14                                             |
| VHM   | Vinhomes    | HOSE | Bất động sản | 1.54102E+14                                          | 1.03557E+14                                                                                         | 1.0301E+14                                              |
