소스 검색

refactor(market): KOSIS 환율 제거(연평균 부적합) — 환율은 koreaexim 일별로 일원화

2026-07-06 원화 24시간 거래 전환 → 환율은 일별/실시간이어야 하며 KOSIS 연평균(DT_2KAA811)은 부적합.
- KOSIS Indicators 를 FX_USD 제외 6종으로: 고용률·실업률·취업자수·CPI·수출액·수입액 (전부 월간, 일관)
- 환율은 기존 koreaexim AP01 일별 매매기준율(MacroDataSyncService→ExchangeRate)로 일원화
- config(appsettings.Development.json·deploy 템플릿 dev/prod)에서 FX_USD 항목 제거 — 추적 밖이라 본 커밋엔 .cs 주석만. **prod 는 Jenkins Secret Indicators 에서 FX_USD 제거 필요**
- 스키마·코드로직 무변경(config 주도)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
KIM-JINO5 2 주 전
부모
커밋
5f4004a3c2
2개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 2
      Domain/Entities/Stocks/MacroIndicator.cs
  2. 2 2
      SharedKernel/AppSetting.cs

+ 2 - 2
Domain/Entities/Stocks/MacroIndicator.cs

@@ -4,7 +4,7 @@ namespace Domain.Entities.Stocks;
 
 /// <summary>
 /// 거시경제지표 시계열 (KOSIS 국가통계포털 OpenAPI 수집) — (Code, Period) UNIQUE. 개미투자 거시 대시보드용.
-/// 여러 지표(고용률/실업률/취업자수/CPI/환율/수출액/수입액 등)를 한 테이블에 담고 Code(내부 지표코드)로 구분한다.
+/// 여러 지표(고용률/실업률/취업자수/CPI/수출액/수입액 등)를 한 테이블에 담고 Code(내부 지표코드)로 구분한다.
 /// KOSIS statisticsData.do 응답 필드 매핑:
 ///  - PRD_DE(수록시점) → Period. 주기(Cycle)에 따라 형식이 다르다: 월=YYYYMM(202401), 분기=YYYYQ(20241), 연=YYYY(2024).
 ///  - DT(수치) → Value. 빈값("")·"-" 등은 수집 시 skip (미고시 시점은 적재하지 않음).
@@ -17,7 +17,7 @@ public class MacroIndicator
     [Key]
     public long ID { get; private set; }
 
-    /// <summary>지표 내부코드 (config Code) — 예: EMPLOYMENT_RATE, UNEMPLOYMENT_RATE, EMPLOYED_PERSONS, CPI, FX_USD, EXPORT_AMT, IMPORT_AMT</summary>
+    /// <summary>지표 내부코드 (config Code) — 예: EMPLOYMENT_RATE, UNEMPLOYMENT_RATE, EMPLOYED_PERSONS, CPI, EXPORT_AMT, IMPORT_AMT (환율은 koreaexim 일별)</summary>
     public string Code { get; private set; } = default!;
 
     /// <summary>지표 표시명 (config Name) — 예: 소비자물가지수</summary>

+ 2 - 2
SharedKernel/AppSetting.cs

@@ -439,8 +439,8 @@ public sealed class AppSettings
 
         /// <summary>
         /// 수집 대상 지표 정의 목록. 각 항목의 tblId/itmId/분류코드 교정은 여기 config 에서만 하면 되고 코드 변경 불필요.
-        /// 기본 7종 (사용자 확정) — 고용률/실업률/취업자수(경제활동인구조사 DT_1DA7004S 동일표, itmId T90/T80/T30)·소비자물가지수(CPI)·환율(FX_USD, DT_2KAA811 연평균)·수출액·수입액(무역통계 DT_1R11006_FRM101, itmId …T1/…T2).
-        /// 이 C# 기본값은 의도적으로 빈 목록([]) — .NET 구성 바인더가 List 에 append 하므로 여기에 항목을 넣으면 JSON(appsettings) 의 Indicators 와 중복(2배)된다. 실제 7종은 각 환경 appsettings(및 배포 템플릿)에 정의한다.
+        /// 기본 6종 (사용자 확정) — 고용률/실업률/취업자수(경제활동인구조사 DT_1DA7004S 동일표, itmId T90/T80/T30)·소비자물가지수(CPI)·수출액·수입액(무역통계 DT_1R11006_FRM101, itmId …T1/…T2). 환율은 KOSIS 제외 — koreaexim AP01 일별 매매기준율 사용(2026-07-06 원화 24h 거래 전환으로 일별/실시간 필요).
+        /// 이 C# 기본값은 의도적으로 빈 목록([]) — .NET 구성 바인더가 List 에 append 하므로 여기에 항목을 넣으면 JSON(appsettings) 의 Indicators 와 중복(2배)된다. 실제 6종은 각 환경 appsettings(및 배포 템플릿)에 정의한다.
         /// </summary>
         public List<KosisIndicator> Indicators { get; init; } = [];