Vnstock Logo

Phân Tích Chuyên Sâu

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

Thảo luận

Mục lục



Tổng quan

Insights Layer cung cấp hệ thống xếp hạng top cổ phiếubộ lọc chứng khoán để nhà đầu tư nhận diện cơ hội và xu hướng thị trường.

Khởi tạo

Python
from vnstock_data import Insights
ins = Insights()

Cấu trúc Domain

Insights()
├── .ranking()       # Xếp hạng top cổ phiếu
└── .screener()      # Bộ lọc chứng khoán

Thay đổi kiến trúc

Domain Valuation (định giá P/E, P/B toàn thị trường) đã được chuyển sang Analytics Layer. Vui lòng dùng Analytics().valuation(index) thay cho Insights().valuation.

Hướng dẫn chi tiết

1. Bảng xếp hạng

Xếp hạng top cổ phiếu theo nhiều tiêu chí: tăng/giảm giá, khối lượng, giá trị, nước ngoài mua/bán, giao dịch thỏa thuận.

Phương thứcTham sốMô tả
gainer()index, limitTop cổ phiếu tăng giá
loser()index, limitTop cổ phiếu giảm giá
value()index, limitTop theo giá trị giao dịch
volume()index, limitTop theo khối lượng
foreign_buy()date, limitTop nước ngoài mua ròng
foreign_sell()date, limitTop nước ngoài bán ròng
deal()index, limitTop giao dịch thỏa thuận

Tham số:

  • index (str) — Chỉ số lọc: 'VNINDEX', 'HNX'. Mặc định lấy toàn thị trường.
  • limit (int) — Số lượng kết quả. Mặc định 10.
  • date (str) — Ngày giao dịch (YYYY-MM-DD).
Python
from vnstock_data import Insights

ins = Insights()

# Top cổ phiếu tăng giá toàn thị trường
df_gainers = ins.ranking().gainer()

# Top cổ phiếu tăng giá sàn HOSE — lấy 10 mã
df_gainers_vn = ins.ranking() \
                    .gainer(index="VNINDEX", limit=10)

# Top cổ phiếu giảm giá
df_losers = ins.ranking().loser()

# Top theo khối lượng
df_volume = ins.ranking().volume()

# Top nước ngoài mua ròng
df_foreign_buy = ins.ranking().foreign_buy()

# Top nước ngoài bán ròng
df_foreign_sell = ins.ranking().foreign_sell()

# Top giao dịch thỏa thuận
df_deals = ins.ranking().deal()

2. Bộ lọc chứng khoán

Dữ liệu screener toàn thị trường với hàng trăm chỉ tiêu tài chính. Người dùng tự áp dụng logic lọc bằng Pandas.

Phương thứcTham sốMô tả
criteria()langDanh sách giải nghĩa tên cột ('vi' / 'en')
filter()limitDữ liệu screener toàn thị trường
Python
from vnstock_data import Insights

ins = Insights()

# Xem danh sách tất cả tiêu chí
criteria_df = ins.screener().criteria(lang="vi")

# Lấy dữ liệu screener toàn thị trường
df_all = ins.screener().filter()
print(f"Tổng số cổ phiếu: {len(df_all)}")
print(f"Tổng số cột chỉ tiêu: {len(df_all.columns)}")

# Lọc cổ phiếu P/E < 10 VÀ ROE > 15%
cheap_good = df_all[
    (df_all['pe'] < 10) & (df_all['roe'] > 15)
]
print(cheap_good[['ticker', 'pe', 'roe']].head(10))

3. Tìm cơ hội giá trị

Kết hợp ranking và screener để tìm cổ phiếu giảm giá mạnh nhưng vẫn có chất lượng tốt.

Python
from vnstock_data import Insights

ins = Insights()

# Lấy danh sách cổ phiếu giảm giá mạnh
losers = ins.ranking().loser()

# Lấy dữ liệu screener toàn bộ
screener = ins.screener().filter()

# Merge tìm cơ hội
opportunity = losers.merge(
    screener,
    left_on='code',
    right_on='ticker',
    how='inner'
)
print(opportunity[['ticker', 'pe', 'roe']].head())

Thảo luận

Đang tải bình luận...