macro.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // 거시경제지표(KOSIS) 도메인 타입 — Backend Application/Features/Api/Stocks/GetMacroIndicators/Response.cs 대응
  2. // 직렬화 주의: 필드명은 camelCase. period 는 KOSIS 수록시점 원문 문자열 (월간 YYYYMM · 연간 YYYY).
  3. // decimal 은 number, unit 은 KOSIS UNIT_NM 원문 문자열 (% · 천명 · 2020=100 · 천달러 등).
  4. // ── 지표 코드 (backend Kosis config Code) — 화면 표시 순서 고정 ──
  5. export const MACRO_CODES = [
  6. 'EMPLOYMENT_RATE',
  7. 'UNEMPLOYMENT_RATE',
  8. 'EMPLOYED_PERSONS',
  9. 'CPI',
  10. 'EXPORT_AMT',
  11. 'IMPORT_AMT'
  12. ] as const;
  13. export type MacroCode = (typeof MACRO_CODES)[number];
  14. // 코드 → 한글 라벨 (backend Name 은 수집 설정 원문이라 화면용 라벨은 프론트 상수로 관리)
  15. export const MACRO_CODE_LABEL: Record<string, string> = {
  16. EMPLOYMENT_RATE: '고용률',
  17. UNEMPLOYMENT_RATE: '실업률',
  18. EMPLOYED_PERSONS: '취업자수',
  19. CPI: '소비자물가지수',
  20. EXPORT_AMT: '수출액',
  21. IMPORT_AMT: '수입액'
  22. };
  23. // ── GET /api/market/macro ──
  24. export interface MacroPoint {
  25. period: string;
  26. value: number;
  27. }
  28. export interface MacroIndicator {
  29. code: string;
  30. name: string;
  31. unit: string|null;
  32. // 최신 시점 (points 의 마지막)
  33. latestPeriod: string|null;
  34. latestValue: number|null;
  35. // 시점 오름차순 (마지막 = 최신)
  36. points: MacroPoint[];
  37. }
  38. export interface MacroIndicatorsResponse {
  39. total: number;
  40. list: MacroIndicator[];
  41. }