kwcli 0.1.1__tar.gz → 1.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. {kwcli-0.1.1 → kwcli-1.0.2}/PKG-INFO +45 -7
  2. {kwcli-0.1.1 → kwcli-1.0.2}/README.md +43 -5
  3. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/_data/kiwoom_api_spec.json +43668 -2835
  4. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/auth.py +15 -4
  5. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/client.py +13 -2
  6. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/errors.py +55 -2
  7. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/runtime.py +86 -11
  8. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/secrets.py +35 -6
  9. kwcli-1.0.2/kiwoom/core/settings.py +114 -0
  10. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/token_store.py +5 -3
  11. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/types.py +12 -0
  12. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/ws_client.py +2 -4
  13. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/specs.py +26 -0
  14. kwcli-1.0.2/kiwoom_cli/README.md +743 -0
  15. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/argument_maps.py +90 -8
  16. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/arguments.py +45 -6
  17. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/auth.py +20 -8
  18. kwcli-1.0.2/kiwoom_cli/commands/exchange.py +91 -0
  19. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/groups.py +177 -0
  20. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/mapped.py +23 -2
  21. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/orders.py +41 -1
  22. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/stocks.py +6 -3
  23. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/streams.py +45 -0
  24. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/doctor.py +10 -10
  25. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/executor/condition.py +9 -1
  26. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/main.py +22 -1
  27. kwcli-1.0.2/kiwoom_cli/maps/README.md +90 -0
  28. kwcli-1.0.2/kiwoom_cli/maps/api_commands.csv +338 -0
  29. kwcli-1.0.2/kiwoom_cli/maps/arguments.csv +1384 -0
  30. kwcli-1.0.2/kiwoom_cli/maps/coupled_arguments.csv +11 -0
  31. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/maps/order_confirmation_commands.csv +5 -0
  32. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/maps/order_confirmation_fields.csv +26 -0
  33. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/maps/order_price_policies.csv +17 -0
  34. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/output.py +23 -1
  35. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/setup.py +12 -24
  36. {kwcli-0.1.1 → kwcli-1.0.2}/pyproject.toml +1 -1
  37. kwcli-0.1.1/kiwoom/core/settings.py +0 -64
  38. kwcli-0.1.1/kiwoom_cli/README.md +0 -671
  39. kwcli-0.1.1/kiwoom_cli/maps/README.md +0 -99
  40. kwcli-0.1.1/kiwoom_cli/maps/api_commands.csv +0 -209
  41. kwcli-0.1.1/kiwoom_cli/maps/arguments.csv +0 -731
  42. {kwcli-0.1.1 → kwcli-1.0.2}/LICENSE.md +0 -0
  43. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/__init__.py +0 -0
  44. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/__init__.py +0 -0
  45. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/platform_paths.py +0 -0
  46. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/core/profiles.py +0 -0
  47. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/realtime/__init__.py +0 -0
  48. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/realtime/decoders.py +0 -0
  49. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/realtime/events.py +0 -0
  50. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/realtime/packets.py +0 -0
  51. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/realtime/schemas.py +0 -0
  52. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom/realtime/stream.py +0 -0
  53. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/__init__.py +0 -0
  54. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/__main__.py +0 -0
  55. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/auth_context.py +0 -0
  56. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/banner.py +0 -0
  57. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/__init__.py +0 -0
  58. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/commands/spec.py +0 -0
  59. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/errors.py +0 -0
  60. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/executor/__init__.py +0 -0
  61. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/executor/rest.py +0 -0
  62. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/executor/waits.py +0 -0
  63. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/executor/websocket.py +0 -0
  64. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/maps/order_value_labels.csv +0 -0
  65. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/maps/positional_arguments.csv +0 -0
  66. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/order_confirmation.py +0 -0
  67. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/registry.py +0 -0
  68. {kwcli-0.1.1 → kwcli-1.0.2}/kiwoom_cli/safety.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: kwcli
3
- Version: 0.1.1
3
+ Version: 1.0.2
4
4
  Summary: Kiwoom OpenAPI toolkit
5
5
  License-File: LICENSE.md
6
6
  Requires-Python: >=3.13
@@ -52,6 +52,7 @@ kiwoomcli setup # 온보딩: 별칭, demo/real
52
52
  kiwoomcli spec search "체결" # 필요한 API/명령 찾기
53
53
  kiwoomcli domestic stocks info --code 005930 -h # 매핑된 계약 확인
54
54
  kiwoomcli domestic stocks info --code 005930 --format json
55
+ kiwoomcli overseas stocks info --exchange NASDAQ --code AAPL --format json
55
56
  kiwoomcli domestic orders buy --code 005930 --qty 1 --price 70000 --order-type limit --confirm
56
57
  ```
57
58
 
@@ -81,14 +82,19 @@ kiwoomcli auth list
81
82
  kiwoomcli auth switch <alias>
82
83
  kiwoomcli auth status [--profile NAME | --mode demo|real]
83
84
  kiwoomcli auth refresh [--profile NAME | --mode demo|real]
85
+ kiwoomcli auth revoke [--profile NAME | --mode demo|real]
84
86
  kiwoomcli auth clear [--profile NAME | --mode demo|real] [--all]
85
87
  kiwoomcli auth remove <alias>
88
+ kiwoomcli auth export [--profile NAME | --mode demo|real] [--dir DIR] [--yes]
86
89
  ```
87
90
 
88
91
  - `auth clear`는 비밀 정보만 삭제합니다(기본은 토큰 캐시, `--all`을 주면 OS에
89
92
  저장된 App Key / Secret까지). 별칭 등록 자체는 유지됩니다.
90
93
  - `auth remove <alias>`는 계정을 완전히 등록 해제합니다(프로필 항목, 토큰 캐시,
91
94
  저장된 자격 증명 모두).
95
+ - `auth revoke`는 서버에서 현재 토큰을 폐기하고 로컬 토큰 캐시도 삭제합니다.
96
+ - `auth export`는 저장된 App Key/Secret을 화면에 출력하지 않고 `.env` 파일로
97
+ 내보냅니다. 비대화형 환경에서는 `--yes`가 필요합니다.
92
98
 
93
99
  ## 명령 그룹
94
100
 
@@ -117,11 +123,35 @@ kiwoomcli spec apis [--group <text>] [--limit N] [--format pretty|json|yaml]
117
123
  | `investors` | `kiwoomcli domestic investors by-stock --code 005930` |
118
124
  | `short-selling` | `kiwoomcli domestic short-selling trend --code 005930 --from 20260101 --to 20260529` |
119
125
  | `securities-lending` | `kiwoomcli domestic securities-lending by-stock --code 005930` |
120
- | `themes` | `kiwoomcli domestic themes by-stock --code 005930 --exchange KRX` |
126
+ | `themes` | `kiwoomcli domestic themes by-stock --code <테마그룹코드> --exchange KRX` |
121
127
  | `accounts` | `kiwoomcli domestic accounts holdings --basis total --exchange KRX` |
122
128
  | `orders` | `kiwoomcli domestic orders list-open --stock-scope all --side all --exchange ALL` |
123
129
  | `streams` | `kiwoomcli domestic streams trades --code 005930 --count 1` |
124
130
 
131
+ 미국주식 리소스는 `overseas` 아래에서 제공합니다.
132
+
133
+ | 그룹 | 예시 |
134
+ | --- | --- |
135
+ | `stocks` | `kiwoomcli overseas stocks info --exchange NASDAQ --code AAPL` |
136
+ | `quotes` | `kiwoomcli overseas quotes info --exchange NASDAQ --code AAPL` |
137
+ | `orderbooks` | `kiwoomcli overseas orderbooks list --exchange NASDAQ --code AAPL` |
138
+ | `candles` | `kiwoomcli overseas candles stock-daily --exchange NASDAQ --code AAPL` |
139
+ | `rankings` | `kiwoomcli overseas rankings today-volume-top --exchange nasdaq` |
140
+ | `sectors` | `kiwoomcli overseas sectors period-returns --exchange NASDAQ` |
141
+ | `investment-info` | `kiwoomcli overseas investment-info research --kind stock` |
142
+ | `accounts` | `kiwoomcli overseas accounts balance --exchange NASDAQ` |
143
+ | `orders` | `kiwoomcli overseas orders orderable-quantity --exchange NASDAQ --code AAPL --price 150` |
144
+ | `exchange` | `kiwoomcli overseas exchange rate --direction krw-to-usd` |
145
+ | `streams` | `kiwoomcli overseas streams trades --exchange NASDAQ --code AAPL --count 1` |
146
+
147
+ 전체 API 337개(OAuth 2, 국내주식 206, 미국주식 129)가 로컬 스펙과 CLI
148
+ 맵에 포함됩니다. 정확한 옵션은 각 명령의 `-h` 출력으로 확인하세요.
149
+
150
+ 미국주식 `--exchange` 값의 대소문자는 명령별 API 계약을 따릅니다. 종목·시세·
151
+ 호가·캔들·계좌·스트림은 `AMEX|NASDAQ|NYSE`, 순위는
152
+ `all|nyse|nasdaq|amex`, 업종의 `period-returns`는
153
+ `ALL|NYSE|AMEX|NASDAQ`을 사용합니다. 항상 해당 명령의 `-h`를 확인하세요.
154
+
125
155
  ## 출력 형식
126
156
 
127
157
  도메인 명령은 `--format`과 프로필/모드 선택자를 받습니다.
@@ -130,12 +160,16 @@ kiwoomcli spec apis [--group <text>] [--limit N] [--format pretty|json|yaml]
130
160
  --format pretty|json|jsonl|yaml
131
161
  --profile NAME
132
162
  --mode demo|real
163
+ --pages N
133
164
  ```
134
165
 
135
166
  - `pretty`(기본값)는 사람이 읽기 좋은 들여쓰기 형식입니다.
136
167
  - `json`은 에이전트가 파싱하기 좋은 한 줄 압축 출력입니다.
137
168
  - `jsonl`은 한 줄에 JSON 레코드 하나씩 출력합니다(목록 행이나 스트림에 유용).
138
169
  - `yaml`은 YAML 형식으로 출력합니다.
170
+ - `--pages`는 REST 연속조회 페이지 수입니다. 기본값은 1이며, 0은 서버가
171
+ 제공하는 모든 페이지를 조회합니다. `spec` 명령에는 적용되지 않습니다.
172
+ - REST 명령의 `--named`는 응답 필드 코드를 스펙의 한글명으로 변환합니다.
139
173
 
140
174
  안전장치가 적용된 계좌/주문 조회와 스트림에서는 출력 계층이 계좌 식별자를
141
175
  마스킹합니다. 다만 주문번호(`ord_no`, `orig_ord_no` 등)는 `orders modify`/`cancel`
@@ -149,13 +183,14 @@ kiwoomcli spec apis [--group <text>] [--limit N] [--format pretty|json|yaml]
149
183
 
150
184
  ```sh
151
185
  kiwoomcli domestic streams trades --code 005930 --count 1 --named --format json
186
+ kiwoomcli overseas streams trades --exchange NASDAQ --code AAPL --count 1 --named --format json
152
187
  ```
153
188
 
154
189
  - `--count`는 `REAL` 데이터 메시지만 셉니다. `REG`/`REMOVE`/`SYSTEM`은 제어
155
190
  메시지입니다.
156
191
  - `--check`는 유한한 등록/수집을 수행하며, `REAL` 틱이 오지 않아도 정상 종료
157
192
  합니다.
158
- - `--named`는 패키지에 포함된 키움 스펙 기반 내장 스키마로 `REAL` 프레임을
193
+ - 스트림 명령의 `--named`는 키움 스펙 기반 내장 스키마로 `REAL` 프레임 FID를
159
194
  변환합니다. 알 수 없는 FID는 `unknown` 아래에 보존됩니다.
160
195
 
161
196
  장시간 구독을 저장하려면 파일로 출력하고 OS 도구로 프로세스를 백그라운드로
@@ -177,12 +212,15 @@ Start-Process kiwoomcli -ArgumentList 'domestic streams trades --codes 005930,00
177
212
 
178
213
  ## 주문 안전장치
179
214
 
180
- 주문 쓰기 명령(`orders buy/sell/modify/cancel`, `credit-*`, `gold-*`)에는
215
+ 국내·미국주식 주문 쓰기 명령(`orders buy/sell/modify/cancel`,
216
+ `credit-*`, `gold-*`)과 미국주식 환전 신청(`overseas exchange request`)에는
181
217
  안전장치가 적용됩니다.
182
218
 
183
219
  - `--confirm`이 없으면 짧은 미전송 주문 요약을 출력하고 주문 API를 호출하지
184
220
  않습니다.
185
221
  - `--confirm`이 있으면 실제 엔드포인트로 전송합니다.
222
+ - `overseas exchange request`도 `--confirm`이 없으면 미전송 환전 확인만
223
+ 출력하며, `--confirm`이 있어야 실제 환전 API를 호출합니다.
186
224
  - 주문 유형별 가격 규칙은 전송 경로 이전에 검증됩니다. 예를 들어
187
225
  `--order-type limit`에는 `--price`가 필요하고, `--order-type market`에는
188
226
  `--price`를 넣으면 안 됩니다. 잘못된 주문 식별자는 전송 전에 보고됩니다.
@@ -196,13 +234,13 @@ Start-Process kiwoomcli -ArgumentList 'domestic streams trades --codes 005930,00
196
234
 
197
235
  | 개념 | 옵션 | 예시 |
198
236
  | --- | --- | --- |
199
- | 종목/주식/업종/ETF/ELW 코드 | `--code`, `-c` | `--code 005930` |
237
+ | 종목/주식/업종/ETF/ELW 코드 | `--code` | `--code 005930` |
200
238
  | 인증 프로필 | `--profile` | `--profile demo-main` |
201
239
  | 실행 모드 | `--mode` | `--mode demo` |
202
240
  | 시장/거래소 선택 | `--market` | `--market kospi` |
203
241
  | 수량 | `--qty` | `--qty 10` |
204
242
  | 가격 | `--price` | `--price 70000` |
205
- | 매수/매도 구분 | `--side` | `--side buy` |
243
+ | 매수/매도 구분 | `--side` | 명령별 값은 `-h`에서 확인 |
206
244
  | 주문 유형 | `--order-type` | `--order-type limit` |
207
245
  | 주문 식별자 | `--order-id` | `--order-id 123` |
208
246
  | 시작 / 종료 일자 | `--from` / `--to` | `--from 20260101 --to 20260529` |
@@ -39,6 +39,7 @@ kiwoomcli setup # 온보딩: 별칭, demo/real
39
39
  kiwoomcli spec search "체결" # 필요한 API/명령 찾기
40
40
  kiwoomcli domestic stocks info --code 005930 -h # 매핑된 계약 확인
41
41
  kiwoomcli domestic stocks info --code 005930 --format json
42
+ kiwoomcli overseas stocks info --exchange NASDAQ --code AAPL --format json
42
43
  kiwoomcli domestic orders buy --code 005930 --qty 1 --price 70000 --order-type limit --confirm
43
44
  ```
44
45
 
@@ -68,14 +69,19 @@ kiwoomcli auth list
68
69
  kiwoomcli auth switch <alias>
69
70
  kiwoomcli auth status [--profile NAME | --mode demo|real]
70
71
  kiwoomcli auth refresh [--profile NAME | --mode demo|real]
72
+ kiwoomcli auth revoke [--profile NAME | --mode demo|real]
71
73
  kiwoomcli auth clear [--profile NAME | --mode demo|real] [--all]
72
74
  kiwoomcli auth remove <alias>
75
+ kiwoomcli auth export [--profile NAME | --mode demo|real] [--dir DIR] [--yes]
73
76
  ```
74
77
 
75
78
  - `auth clear`는 비밀 정보만 삭제합니다(기본은 토큰 캐시, `--all`을 주면 OS에
76
79
  저장된 App Key / Secret까지). 별칭 등록 자체는 유지됩니다.
77
80
  - `auth remove <alias>`는 계정을 완전히 등록 해제합니다(프로필 항목, 토큰 캐시,
78
81
  저장된 자격 증명 모두).
82
+ - `auth revoke`는 서버에서 현재 토큰을 폐기하고 로컬 토큰 캐시도 삭제합니다.
83
+ - `auth export`는 저장된 App Key/Secret을 화면에 출력하지 않고 `.env` 파일로
84
+ 내보냅니다. 비대화형 환경에서는 `--yes`가 필요합니다.
79
85
 
80
86
  ## 명령 그룹
81
87
 
@@ -104,11 +110,35 @@ kiwoomcli spec apis [--group <text>] [--limit N] [--format pretty|json|yaml]
104
110
  | `investors` | `kiwoomcli domestic investors by-stock --code 005930` |
105
111
  | `short-selling` | `kiwoomcli domestic short-selling trend --code 005930 --from 20260101 --to 20260529` |
106
112
  | `securities-lending` | `kiwoomcli domestic securities-lending by-stock --code 005930` |
107
- | `themes` | `kiwoomcli domestic themes by-stock --code 005930 --exchange KRX` |
113
+ | `themes` | `kiwoomcli domestic themes by-stock --code <테마그룹코드> --exchange KRX` |
108
114
  | `accounts` | `kiwoomcli domestic accounts holdings --basis total --exchange KRX` |
109
115
  | `orders` | `kiwoomcli domestic orders list-open --stock-scope all --side all --exchange ALL` |
110
116
  | `streams` | `kiwoomcli domestic streams trades --code 005930 --count 1` |
111
117
 
118
+ 미국주식 리소스는 `overseas` 아래에서 제공합니다.
119
+
120
+ | 그룹 | 예시 |
121
+ | --- | --- |
122
+ | `stocks` | `kiwoomcli overseas stocks info --exchange NASDAQ --code AAPL` |
123
+ | `quotes` | `kiwoomcli overseas quotes info --exchange NASDAQ --code AAPL` |
124
+ | `orderbooks` | `kiwoomcli overseas orderbooks list --exchange NASDAQ --code AAPL` |
125
+ | `candles` | `kiwoomcli overseas candles stock-daily --exchange NASDAQ --code AAPL` |
126
+ | `rankings` | `kiwoomcli overseas rankings today-volume-top --exchange nasdaq` |
127
+ | `sectors` | `kiwoomcli overseas sectors period-returns --exchange NASDAQ` |
128
+ | `investment-info` | `kiwoomcli overseas investment-info research --kind stock` |
129
+ | `accounts` | `kiwoomcli overseas accounts balance --exchange NASDAQ` |
130
+ | `orders` | `kiwoomcli overseas orders orderable-quantity --exchange NASDAQ --code AAPL --price 150` |
131
+ | `exchange` | `kiwoomcli overseas exchange rate --direction krw-to-usd` |
132
+ | `streams` | `kiwoomcli overseas streams trades --exchange NASDAQ --code AAPL --count 1` |
133
+
134
+ 전체 API 337개(OAuth 2, 국내주식 206, 미국주식 129)가 로컬 스펙과 CLI
135
+ 맵에 포함됩니다. 정확한 옵션은 각 명령의 `-h` 출력으로 확인하세요.
136
+
137
+ 미국주식 `--exchange` 값의 대소문자는 명령별 API 계약을 따릅니다. 종목·시세·
138
+ 호가·캔들·계좌·스트림은 `AMEX|NASDAQ|NYSE`, 순위는
139
+ `all|nyse|nasdaq|amex`, 업종의 `period-returns`는
140
+ `ALL|NYSE|AMEX|NASDAQ`을 사용합니다. 항상 해당 명령의 `-h`를 확인하세요.
141
+
112
142
  ## 출력 형식
113
143
 
114
144
  도메인 명령은 `--format`과 프로필/모드 선택자를 받습니다.
@@ -117,12 +147,16 @@ kiwoomcli spec apis [--group <text>] [--limit N] [--format pretty|json|yaml]
117
147
  --format pretty|json|jsonl|yaml
118
148
  --profile NAME
119
149
  --mode demo|real
150
+ --pages N
120
151
  ```
121
152
 
122
153
  - `pretty`(기본값)는 사람이 읽기 좋은 들여쓰기 형식입니다.
123
154
  - `json`은 에이전트가 파싱하기 좋은 한 줄 압축 출력입니다.
124
155
  - `jsonl`은 한 줄에 JSON 레코드 하나씩 출력합니다(목록 행이나 스트림에 유용).
125
156
  - `yaml`은 YAML 형식으로 출력합니다.
157
+ - `--pages`는 REST 연속조회 페이지 수입니다. 기본값은 1이며, 0은 서버가
158
+ 제공하는 모든 페이지를 조회합니다. `spec` 명령에는 적용되지 않습니다.
159
+ - REST 명령의 `--named`는 응답 필드 코드를 스펙의 한글명으로 변환합니다.
126
160
 
127
161
  안전장치가 적용된 계좌/주문 조회와 스트림에서는 출력 계층이 계좌 식별자를
128
162
  마스킹합니다. 다만 주문번호(`ord_no`, `orig_ord_no` 등)는 `orders modify`/`cancel`
@@ -136,13 +170,14 @@ kiwoomcli spec apis [--group <text>] [--limit N] [--format pretty|json|yaml]
136
170
 
137
171
  ```sh
138
172
  kiwoomcli domestic streams trades --code 005930 --count 1 --named --format json
173
+ kiwoomcli overseas streams trades --exchange NASDAQ --code AAPL --count 1 --named --format json
139
174
  ```
140
175
 
141
176
  - `--count`는 `REAL` 데이터 메시지만 셉니다. `REG`/`REMOVE`/`SYSTEM`은 제어
142
177
  메시지입니다.
143
178
  - `--check`는 유한한 등록/수집을 수행하며, `REAL` 틱이 오지 않아도 정상 종료
144
179
  합니다.
145
- - `--named`는 패키지에 포함된 키움 스펙 기반 내장 스키마로 `REAL` 프레임을
180
+ - 스트림 명령의 `--named`는 키움 스펙 기반 내장 스키마로 `REAL` 프레임 FID를
146
181
  변환합니다. 알 수 없는 FID는 `unknown` 아래에 보존됩니다.
147
182
 
148
183
  장시간 구독을 저장하려면 파일로 출력하고 OS 도구로 프로세스를 백그라운드로
@@ -164,12 +199,15 @@ Start-Process kiwoomcli -ArgumentList 'domestic streams trades --codes 005930,00
164
199
 
165
200
  ## 주문 안전장치
166
201
 
167
- 주문 쓰기 명령(`orders buy/sell/modify/cancel`, `credit-*`, `gold-*`)에는
202
+ 국내·미국주식 주문 쓰기 명령(`orders buy/sell/modify/cancel`,
203
+ `credit-*`, `gold-*`)과 미국주식 환전 신청(`overseas exchange request`)에는
168
204
  안전장치가 적용됩니다.
169
205
 
170
206
  - `--confirm`이 없으면 짧은 미전송 주문 요약을 출력하고 주문 API를 호출하지
171
207
  않습니다.
172
208
  - `--confirm`이 있으면 실제 엔드포인트로 전송합니다.
209
+ - `overseas exchange request`도 `--confirm`이 없으면 미전송 환전 확인만
210
+ 출력하며, `--confirm`이 있어야 실제 환전 API를 호출합니다.
173
211
  - 주문 유형별 가격 규칙은 전송 경로 이전에 검증됩니다. 예를 들어
174
212
  `--order-type limit`에는 `--price`가 필요하고, `--order-type market`에는
175
213
  `--price`를 넣으면 안 됩니다. 잘못된 주문 식별자는 전송 전에 보고됩니다.
@@ -183,13 +221,13 @@ Start-Process kiwoomcli -ArgumentList 'domestic streams trades --codes 005930,00
183
221
 
184
222
  | 개념 | 옵션 | 예시 |
185
223
  | --- | --- | --- |
186
- | 종목/주식/업종/ETF/ELW 코드 | `--code`, `-c` | `--code 005930` |
224
+ | 종목/주식/업종/ETF/ELW 코드 | `--code` | `--code 005930` |
187
225
  | 인증 프로필 | `--profile` | `--profile demo-main` |
188
226
  | 실행 모드 | `--mode` | `--mode demo` |
189
227
  | 시장/거래소 선택 | `--market` | `--market kospi` |
190
228
  | 수량 | `--qty` | `--qty 10` |
191
229
  | 가격 | `--price` | `--price 70000` |
192
- | 매수/매도 구분 | `--side` | `--side buy` |
230
+ | 매수/매도 구분 | `--side` | 명령별 값은 `-h`에서 확인 |
193
231
  | 주문 유형 | `--order-type` | `--order-type limit` |
194
232
  | 주문 식별자 | `--order-id` | `--order-id 123` |
195
233
  | 시작 / 종료 일자 | `--from` / `--to` | `--from 20260101 --to 20260529` |