| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // 등락 상위 종목 도메인 타입 — Backend Application/Features/Api/Stocks/GetMarketMovers/Response.cs 대응
- // 필드명 camelCase. flucRateBp = %×100. 상승/하락은 상한·하한 제외(4그룹 비중복).
- export interface MarketMoverItem {
- code: string;
- name: string;
- market: number; // 1 KOSPI / 2 KOSDAQ / 3 KONEX
- close: number;
- changeVal: number;
- flucRateBp: number;
- spark: number[]; // 최근 종가 (과거→최신), 없으면 빈 배열
- }
- export interface MarketMoverGroup {
- total: number;
- items: MarketMoverItem[];
- }
- export interface MarketMoversResponse {
- tradeDate: string;
- advances: MarketMoverGroup;
- declines: MarketMoverGroup;
- limitUp: MarketMoverGroup;
- limitDown: MarketMoverGroup;
- }
- export const MARKET_LABEL: Record<number, string> = {
- 1: 'KOSPI',
- 2: 'KOSDAQ',
- 3: 'KONEX'
- };
- // 종가 — 정수 원, 천단위 콤마
- export function formatStockPrice(v: number): string {
- return v.toLocaleString('ko-KR');
- }
- // 그룹 전체 종목 수
- export function formatMoverCount(v: number): string {
- return v.toLocaleString('ko-KR');
- }
|