Stock

Lớp Stock đại diện cho một mã cổ phiếu và cung cấp phương thức để lấy dữ liệu liên quan đến mã cổ phiếu.

stockvip.Stock.ticker

Mã cổ phiếu, ví dụ như "HPG".

Type:

str

stockvip.Stock.unit

Đơn vị tính cho giá trị giao dịch, với các lựa chọn sau:

  • "tỷ đồng": Đơn vị tỷ đồng.

  • "triệu đồng": Đơn vị triệu đồng.

  • "ngàn đồng": Đơn vị ngàn đồng.

  • "đồng": Đơn vị đồng.

Type:

str

Dữ liệu giao dịch

Stock.ohlcv(fromDate: str = None, toDate: str = None, period: str = 'D') DataFrame

Trả về dữ liệu lịch sử giao dịch của mã cổ phiếu trong khoảng thời gian cụ thể với khoảng thời gian tùy chọn.

Phương thức này yêu cầu người dùng đã đăng nhập và lấy dữ liệu giao dịch của mã cổ phiếu từ ngày fromDate đến ngày toDate. Người dùng có thể chọn khoảng thời gian (period) cho dữ liệu là ngày, tuần, tháng, hoặc các chu kỳ dài hơn.

Tham số:
  • fromDate (str) -- Ngày bắt đầu dưới định dạng 'YYYY-MM-DD'. Nếu không được truyền vào, giá trị mặc định là ngày 30 ngày trước ngày hiện tại.

  • toDate (str) -- Ngày kết thúc dưới định dạng 'YYYY-MM-DD'. Nếu không được truyền vào, giá trị mặc định là ngày hiện tại.

  • period (str) --

    Khoảng thời gian của dữ liệu. Mặc định là "D" (ngày).

    Các lựa chọn hợp lệ bao gồm:

    • "D": Hàng ngày (Daily)

    • "W": Hàng tuần (Weekly)

    • "1M": Hàng tháng (1 Month)

    • "3M": 3 tháng (3 Months)

    • "6M": 6 tháng (6 Months)

    • "1Y": 1 năm (1 Year)

    • "3Y": 3 năm (3 Years)

Trả về:

Dữ liệu giao dịch của mã cổ phiếu, bao gồm các cột như giá mở cửa, giá đóng cửa, khối lượng giao dịch, v.v.

Kiểu trả về:

pd.DataFrame

Đưa ra:
  • ValueError -- Nếu định dạng ngày không đúng (phải là 'YYYY-MM-DD') hoặc period không hợp lệ.

  • Exception -- Nếu có lỗi xảy ra khi kết nối hoặc token đăng nhập hết hạn.

Example

>>> import stockvip as sv
>>> sv.Connect("0123456789", "password123")
>>> hpg = sv.Stock("HPG")
>>> df = hpg.ohlcv(fromDate="2024-01-01", toDate="2024-09-30", period="W")
>>> print(df.head())
Stock.propTrading(fromDate: str = None, toDate: str = None, period: str = 'D') DataFrame

Trả về dữ liệu giá đóng cửa và giá trị tự doanh mua ròng của mã cổ phiếu trong khoảng thời gian cụ thể.

Phương thức này sẽ trả về dữ liệu giá đóng cửa và giá trị tự doanh mua ròng của mã cổ phiếu từ ngày fromDate đến ngày toDate. Nếu fromDate hoặc toDate không được cung cấp, mặc định sẽ lấy dữ liệu từ 30 ngày trước đến ngày hiện tại. Người dùng cũng có thể chọn khoảng thời gian (period) để dữ liệu là ngày, tuần, tháng, hoặc các chu kỳ dài hơn.

Tham số:
  • fromDate (str, optional) -- Ngày bắt đầu dưới định dạng 'YYYY-MM-DD'. Mặc định là 30 ngày trước ngày hiện tại nếu không được cung cấp.

  • toDate (str, optional) -- Ngày kết thúc dưới định dạng 'YYYY-MM-DD'. Mặc định là ngày hiện tại nếu không được cung cấp.

  • period (str, optional) --

    Khoảng thời gian của dữ liệu. Mặc định là "D" (ngày). Các lựa chọn hợp lệ bao gồm:

    • "D": Hàng ngày (Daily)

    • "W": Hàng tuần (Weekly)

    • "1M": Hàng tháng (1 Month)

    • "3M": 3 tháng (3 Months)

    • "6M": 6 tháng (6 Months)

    • "1Y": 1 năm (1 Year)

    • "3Y": 3 năm (3 Years)

Trả về:

Dữ liệu giá đóng cửa và giá trị tự doanh mua ròng của mã cổ phiếu, bao gồm các cột như giá đóng cửa, giá trị mua ròng của tự doanh, và các thông tin liên quan khác.

Kiểu trả về:

pd.DataFrame

Đưa ra:
  • ValueError -- Nếu định dạng ngày không đúng (phải là 'YYYY-MM-DD') hoặc toDate nhỏ hơn fromDate.

  • ValueError -- Nếu period không nằm trong các giá trị hợp lệ.

  • Exception -- Nếu có lỗi xảy ra khi kết nối API hoặc token hết hạn.

Example

>>> import stockvip as sv
>>> stock = sv.Stock("HPG")
>>> stock.propTrading(fromDate="2023-01-01", toDate="2023-12-31", period="D")
# Trả về dữ liệu giá đóng cửa và giá trị tự doanh mua ròng của mã HPG trong khoảng thời gian đã chỉ định.
Stock.foreign(fromDate: str = None, toDate: str = None, period: str = 'D') DataFrame

Trả về dữ liệu giao dịch nước ngoài của mã cổ phiếu trong khoảng thời gian cụ thể.

Phương thức này yêu cầu người dùng đã đăng nhập và lấy dữ liệu giao dịch nước ngoài của mã cổ phiếu từ ngày fromDate đến ngày toDate. Người dùng có thể chọn khoảng thời gian (period) để dữ liệu là ngày, tuần, tháng, hoặc các chu kỳ dài hơn.

Tham số:
  • fromDate (str) -- Ngày bắt đầu dưới định dạng 'YYYY-MM-DD'. Nếu không được truyền vào, giá trị mặc định là ngày 30 ngày trước ngày hiện tại.

  • toDate (str) -- Ngày kết thúc dưới định dạng 'YYYY-MM-DD'. Nếu không được truyền vào, giá trị mặc định là ngày hiện tại.

  • period (str, optional) --

    Khoảng thời gian của dữ liệu. Mặc định là "D" (ngày). Các lựa chọn hợp lệ bao gồm:

    • "D": Hàng ngày (Daily)

    • "W": Hàng tuần (Weekly)

    • "1M": Hàng tháng (1 Month)

    • "3M": 3 tháng (3 Months)

    • "6M": 6 tháng (6 Months)

    • "1Y": 1 năm (1 Year)

    • "3Y": 3 năm (3 Years)

Trả về:

Dữ liệu giao dịch nước ngoài của mã cổ phiếu, bao gồm các cột giá đóng cửa, khối lượng mua/bán, giá trị mua/bán và giá trị giao dịch ròng của nhà đầu tư nước ngoài.

Kiểu trả về:

pd.DataFrame

Đưa ra:
  • ValueError -- Nếu định dạng ngày không đúng (phải là 'YYYY-MM-DD') hoặc toDate nhỏ hơn fromDate.

  • ValueError -- Nếu period không nằm trong các giá trị hợp lệ.

  • Exception -- Nếu có lỗi xảy ra khi kết nối hoặc token đăng nhập hết hạn.

Example

>>> import stockvip as sv
>>> stock = sv.Stock("HPG")
>>> stock.foreign(fromDate="2024-01-01", toDate="2024-12-31", period="D")
# Trả về dữ liệu giao dịch nước ngoài của mã HPG trong khoảng thời gian đã chỉ định.
Stock.supply_demand(fromDate: str = None, toDate: str = None, period: str = 'D') DataFrame

Trả về dữ liệu cung và cầu của mã cổ phiếu trong khoảng thời gian cụ thể.

Phương thức này sẽ trả về dữ liệu bao gồm giá đóng cửa, số lệnh đặt mua và bán, khối lượng dư mua và dư bán của mã cổ phiếu từ ngày fromDate đến ngày toDate. Nếu fromDate hoặc toDate không được cung cấp, mặc định sẽ lấy dữ liệu từ 30 ngày trước đến ngày hiện tại. Người dùng cũng có thể chọn khoảng thời gian (period) để dữ liệu được hiển thị theo ngày, tuần, tháng, hoặc các chu kỳ dài hơn.

Tham số:
  • fromDate (str, optional) -- Ngày bắt đầu dưới định dạng 'YYYY-MM-DD'. Mặc định là 30 ngày trước ngày hiện tại nếu không được cung cấp.

  • toDate (str, optional) -- Ngày kết thúc dưới định dạng 'YYYY-MM-DD'. Mặc định là ngày hiện tại nếu không được cung cấp.

  • period (str, optional) --

    Khoảng thời gian của dữ liệu. Mặc định là "D" (ngày). Các lựa chọn hợp lệ bao gồm:

    • "D": Hàng ngày (Daily)

    • "W": Hàng tuần (Weekly)

    • "1M": Hàng tháng (1 Month)

    • "3M": 3 tháng (3 Months)

    • "6M": 6 tháng (6 Months)

    • "1Y": 1 năm (1 Year)

    • "3Y": 3 năm (3 Years)

Trả về:

Dữ liệu cung và cầu của mã cổ phiếu, bao gồm các cột như giá đóng cửa, số lệnh đặt mua, số lệnh đặt bán, khối lượng dư mua và khối lượng dư bán.

Kiểu trả về:

pd.DataFrame

Đưa ra:
  • ValueError -- Nếu định dạng ngày không đúng (phải là 'YYYY-MM-DD') hoặc toDate nhỏ hơn fromDate.

  • ValueError -- Nếu period không nằm trong các giá trị hợp lệ.

  • Exception -- Nếu có lỗi xảy ra khi kết nối API hoặc token hết hạn.

Example

>>> import stockvip as sv
>>> stock = Stock("HPG")
>>> stock.supply_demand(fromDate="2024-01-01", toDate="2024-12-31", period="D")
# Trả về dữ liệu cung và cầu của mã HPG trong khoảng thời gian đã chỉ định.

Dữ liệu cơ bản

Stock.dividend(fromDate: str | None = None, toDate: str | None = None) DataFrame

Lấy dữ liệu cổ tức của cổ phiếu (dividend) của mã cổ phiếu trong một khoảng thời gian nhất định.

Phương thức này yêu cầu lấy dữ liệu về cổ tức của mã cổ phiếu từ ngày fromDate đến toDate. Nếu không có dữ liệu, sẽ tự động trả về lỗi. Thời gian mặc định nếu không được cung cấp sẽ là 30 ngày trước tính từ hôm nay.

Tham số:
  • fromDate (str, optional) -- Ngày bắt đầu dưới định dạng 'YYYY-MM-DD'. Nếu không được cung cấp, mặc định sẽ là 30 ngày trước ngày hiện tại.

  • toDate (str, optional) -- Ngày kết thúc dưới định dạng 'YYYY-MM-DD'. Nếu không được cung cấp, mặc định sẽ là ngày hiện tại.

Trả về:

Dữ liệu cổ tức dưới dạng DataFrame, bao gồm các cột thông tin về mã cổ phiếu, ngày giao dịch không hưởng quyền, ngày đăng ký cuối cùng, ngày thực hiện và nội dung sự kiện. Các giá trị NaN sẽ được thay bằng dấu "-".

Kiểu trả về:

pd.DataFrame

Đưa ra:

ValueError -- Nếu có lỗi xảy ra trong quá trình lấy dữ liệu, chẳng hạn như không tìm thấy dữ liệu hoặc thông tin không hợp lệ.

Example

>>> stock = Stock("HPG")
>>> df = stock.dividend(fromDate="2023-01-01", toDate="2023-09-30")
>>> print(df.head())