Models & Enums
PyJQuants uses Pydantic models for type safety and validation.
PriceBar
Represents a single OHLCV price bar.
pyjquants.domain.models.PriceBar
Bases: BaseModel
Single OHLCV price bar.
V2 API uses abbreviated field names (O, H, L, C, Vo, Va).
to_dict()
Convert to dictionary for DataFrame creation.
Example
ticker = pjq.Ticker("7203")
df = ticker.history("1d")
# Or access raw model data
from pyjquants import PriceBar
bar = PriceBar(
date=datetime.date(2024, 1, 15),
open=Decimal("2500"),
high=Decimal("2550"),
low=Decimal("2480"),
close=Decimal("2530"),
volume=1000000,
)
print(f"Adjusted close: {bar.adjusted_close}")
Sector
Represents an industry sector classification.
pyjquants.domain.models.Sector
Bases: BaseModel
Sector classification.
Example
ticker = pjq.Ticker("7203")
# Access sector via info
print(ticker.info.sector) # "輸送用機器" (33-sector name)
print(ticker.info.sector_17) # 17-sector name
# Or use Market for all sectors
market = pjq.Market()
for sector in market.sectors_33:
print(f"{sector.code}: {sector.name}")
StockInfo
Detailed stock information from the API.
pyjquants.domain.models.StockInfo
Bases: BaseModel
Listed company basic information (V2 API abbreviated field names).
Enums
MarketSegment
from pyjquants import MarketSegment
# Available values
MarketSegment.TSE_PRIME # TSE Prime Market
MarketSegment.TSE_STANDARD # TSE Standard Market
MarketSegment.TSE_GROWTH # TSE Growth Market
MarketSegment.TOKYO_PRO # Tokyo Pro Market
MarketSegment.OTHER # Other markets
# Convert from market code
segment = MarketSegment.from_code("0111") # TSE_PRIME
Type Hints
All models are fully typed. Use them for better IDE support: