미국장 일봉 import가 국내 KIS chart endpoint에 묶여 있으면 NASDAQ/NYSE 요청을 정상화된 USD bar로 저장할 수 없다. provider capability로 venue/timeframe 지원 여부를 먼저 검증하고, KIS overseas dailyprice 응답을 venue timezone과 USD 통화 기준으로 normalize하도록 경로를 분리한다.
42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# KIS Provider Fixtures
|
|
|
|
This directory is the landing zone for KIS mock-provider fixtures used by worker adapter tests and mapping work.
|
|
|
|
## Source Reference
|
|
|
|
Use the locally cached official KIS sample repository first:
|
|
|
|
- `.agent-cache/koreainvestment/open-trading-api`
|
|
|
|
The first daily-bar mapping reference is:
|
|
|
|
- `examples_llm/domestic_stock/inquire_daily_itemchartprice/inquire_daily_itemchartprice.py`
|
|
- `examples_llm/kis_auth.py`
|
|
- `kis_devlp.yaml`
|
|
- `stocks_info/`
|
|
|
|
Postman exports are not required for the current milestone now that the official API sample repo is available locally.
|
|
|
|
## Mock Test Fixtures
|
|
|
|
Keep fixtures small, deterministic, and secret-free. The current minimum set is:
|
|
|
|
- `daily_itemchartprice_request.sample.json`: KIS domestic daily chart request parameters.
|
|
- `daily_itemchartprice_response.sample.json`: KIS-like domestic response payload with `output1` metadata and `output2` OHLCV rows.
|
|
- `daily_bars_normalized.expected.json`: expected normalized KR/KRX daily bars used by worker tests.
|
|
- `overseas_dailyprice_request.sample.json`: KIS overseas `dailyprice` (해외주식 기간별시세) request parameters for a US symbol.
|
|
- `overseas_dailyprice_response.sample.json`: KIS-like overseas response payload with the `xymd`/`clos` field names the overseas endpoint uses.
|
|
- `overseas_daily_bars_normalized.expected.json`: expected normalized US/NASDAQ daily bars (USD, America/New_York timestamps).
|
|
- `provider_symbols.sample.json`: provider symbol metadata for watchlist, exchange-wide, and sector-like selector tests.
|
|
|
|
## Sanitization
|
|
|
|
Before committing fixtures, remove:
|
|
|
|
- app keys, app secrets, access tokens, refresh tokens, approval keys
|
|
- account numbers or personal identifiers
|
|
- live authorization headers
|
|
- local hostnames or machine-specific paths
|
|
- secret-store item references
|
|
|
|
Runtime credentials are not required for mock tests. Later live KIS smoke tests should inject credentials at runtime from SOPS-decrypted environment variables only.
|