Skip to content
This repository was archived by the owner on May 5, 2026. It is now read-only.

Releases: gahoccode/vntickers

v0.2.0 - Modular Architecture & Enhanced Validation

Choose a tag to compare

@gahoccode gahoccode released this 19 Oct 08:12

Summary

This release introduces a major architectural refactoring with modular loaders and comprehensive parameter validation using Pydantic.

Added

  • Modular loader architecture with focused data source modules:
    • VnstockLoader for vnstock data source (VCI/TCBS)
    • VnquantLoader for vnquant data source
    • VietfinLoader for vietfin data source (DNSE/TCBS)
  • Comprehensive parameter validation using Pydantic:
    • StockCloseParams base validator for common parameters (symbols, dates)
    • VnstockParams for vnstock-specific validation (source, interval)
    • VnquantParams for vnquant-specific validation
    • VietfinParams for vietfin-specific validation with interval constraints
  • Lazy loading support for all loaders to optimize performance and reduce import overhead
  • Support for intraday data intervals via VietfinLoader:
    • DNSE provider: 1m, 15m, 30m, 1h, 1d intervals
    • TCBS provider: 1d interval only
  • Validation for DNSE API constraints:
    • 90-day maximum date range for intraday intervals (1m, 15m, 30m, 1h)
    • Single symbol requirement for intraday intervals
  • Enhanced documentation:
    • Comprehensive CLAUDE.md with architecture overview and best practices
    • README updated with vietfin usage examples for daily and intraday data
  • New dependencies: vietfin, pydantic>=2.0.0

Changed

  • Breaking architectural change: Refactored monolithic VNStockData class into separate focused loaders
  • VNStockData class now serves as backward-compatible facade delegating to focused loaders
  • Symbol validation now auto-normalizes to uppercase (e.g., vnm → VNM)
  • Symbol format validation ensures 2-4 alphanumeric characters
  • Date validation accepts both string format ("2024-01-01") and Python date objects
  • Date order validation ensures end_date >= start_date
  • Enhanced error messages provide clear validation failure details

Deprecated

  • Direct use of VNStockData class methods (still supported for backward compatibility):
    • VNStockData.get_close_prices_vns() → Use VnstockLoader.get_close_prices()
    • VNStockData.get_close_prices_vnq() → Use VnquantLoader.get_close_prices()
    • VNStockData.get_close_prices_vf() → Use VietfinLoader.get_close_prices()

Fixed

  • Corrected vietfin interval support (removed unsupported 1w and 1mo intervals)
  • Added missing 15m and 30m intervals for DNSE provider

PyPI Package: https://pypi.org/project/vntickers/

Full Changelog: https://github.com/gahoccode/vntickers/blob/main/CHANGELOG.md

v0.1.0 - Initial Release

Choose a tag to compare

@gahoccode gahoccode released this 02 Oct 07:10

Initial Release

First stable release of vntickers - A Python package for fetching Vietnamese stock market data.

Features

  • Fetch stock data using vnstock (VCI source)
  • Fetch stock data using vnquant
  • Unified DataFrame interface with time index and ticker columns
  • Support for multiple tickers and date ranges

Installation

Install from PyPI:

pip install vntickers

Or with uv:

uv add vntickers

PyPI Package: https://pypi.org/project/vntickers/

Documentation

See the README for usage examples and documentation.