diff --git a/KissMe/Sources/Common/Request.swift b/KissMe/Sources/Common/Request.swift index 73df03e..a98c7ca 100644 --- a/KissMe/Sources/Common/Request.swift +++ b/KissMe/Sources/Common/Request.swift @@ -83,7 +83,14 @@ extension Request { public var method: Method { .get } public var header: [String: String?] { [:] } public var timeout: TimeInterval { 15 } - public var responseDataLoggable: Bool { true } + public var responseDataLoggable: Bool { + let val = ProcessInfo.processInfo.environment["KISS_RESPONSE_LOGGABLE"] + switch val { + case "true", "1": return true + case "false", "0": return false + default: return true + } + } public var traceable: Bool { false } } diff --git a/KissMe/Sources/Domestic/DomesticStockPrice.swift b/KissMe/Sources/Domestic/DomesticStockPrice.swift index 73d0a1c..b39f521 100644 --- a/KissMe/Sources/Domestic/DomesticStockPrice.swift +++ b/KissMe/Sources/Domestic/DomesticStockPrice.swift @@ -84,9 +84,6 @@ extension Domestic { } public var result: KResult? = nil public let credential: Credential - public var responseDataLoggable: Bool { - return false - } private var trId: String { diff --git a/KissMe/Sources/Domestic/DomesticStockSearch.swift b/KissMe/Sources/Domestic/DomesticStockSearch.swift index e34f3b3..f576d60 100644 --- a/KissMe/Sources/Domestic/DomesticStockSearch.swift +++ b/KissMe/Sources/Domestic/DomesticStockSearch.swift @@ -214,9 +214,6 @@ extension Domestic { } public var result: KResult? = nil public let credential: Credential - public var responseDataLoggable: Bool { - return false - } private var trId: String { diff --git a/KissMeIndex/Sources/KissIndex+0002.swift b/KissMeIndex/Sources/KissIndex+0002.swift index be35094..22dd95a 100644 --- a/KissMeIndex/Sources/KissIndex+0002.swift +++ b/KissMeIndex/Sources/KissIndex+0002.swift @@ -12,5 +12,6 @@ extension KissIndex { func indexSet_0002(date: Date, config: String?, kmi: KissIndexType) { // TODO: work + } } diff --git a/README.md b/README.md index bdbd64d..96617c5 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ KissMeConsole 은 command line 에서 인터렉티브 명령어로 API 호출을 KissMeConsole 에서 유효한 command line 명령어는 다음과 같습니다. -## command list +## Command list -command | 설명 +Command | 설명 ------- | --- `quit` | 종료 `login mock` | Mock 서버로 로그인. mock-server.json 을 credential 로 사용. @@ -56,6 +56,12 @@ WIP `showcase` | 추천 상품을 제안함. * 거래금액순: tv (transaction-value) * 평균거래금액회전율: atvtr (average-transaction-value-turnover-rate) +## Environment + +Environment variable | 설명 +-------------------- | --- +KISS_RESPONSE_LOGGABLE | `true`, `1` 이면, API 응답로그를 기록함. `false`, `0` 이면 기록하지 않음. + # KissMeIndex diff --git a/documents/KMI/KMI-0002.md b/documents/KMI/KMI-0002.md index 25325fe..3da7525 100644 --- a/documents/KMI/KMI-0002.md +++ b/documents/KMI/KMI-0002.md @@ -6,7 +6,12 @@ 공매도 거래량 정보는 다음의 API 를 통해서 얻고 있습니다. -* +* [KRX 공매도 통계](http://data.krx.co.kr/contents/MMC/SRTS/srts/MMCSRTS004.cmd) +* [주식현재가 시세[v1_국내주식-008]](https://apiportal.koreainvestment.com/apiservice/apiservice-domestic-stock-quotations#L_07802512-4f49-4486-91b4-1050b6f5dc9d) + * /uapi/domestic-stock/v1/quotations/inquire-price + +KRX 의 통계 정보는 3일전까지만 데이터를 공개하기 때문에, 최근 3일의 잔고량은 직접 계산할 수밖에 없습니다. + ## Usage diff --git a/documents/KMI/KMI-0005.md b/documents/KMI/KMI-0005.md index 90cadff..ee84fc8 100644 --- a/documents/KMI/KMI-0005.md +++ b/documents/KMI/KMI-0005.md @@ -4,7 +4,7 @@ 한국투자증권에서 제공하는 [거래량 순위 API](https://apiportal.koreainvestment.com/apiservice/apiservice-domestic-stock-quotations#L_6df56964-f22b-43d4-9457-f06264018e5b) 로부터 TOP 30 종목을 10분마다 얻은 데이터를 기반으로 산출합니다. * 거래량순위[v1_국내주식-047] -* /uapi/domestic-stock/v1/quotations/volume-rank + * /uapi/domestic-stock/v1/quotations/volume-rank 여기에는 다음의 5가지의 분류 항목이 있습니다. @@ -18,7 +18,7 @@ ## Usage -다음은 Index 데이터를 추출하는 방법입니다. +다음은 지표 데이터(index set)를 추출하는 방법입니다. ```bash ./KissMeIndex KMI-0005 20230616 105900 config.json @@ -39,6 +39,25 @@ } ``` -## Configuration +### INPUT +* (indexApp) KMI-(number) (date) (time) (config.json) + * (indexApp) 는 지표를 추출하는 앱입니다. INPUT, OUTPUT 형식만 맞출 수 있다면, 다양한 도구를 통해서 만들 수 있습니다. + * KMI-(number) 는 고유의 지표 번호입니다. 하나의 app 에서 여러 지표를 추출할 수 있습니다. + * (date) 는 yyyyMMdd 형식의 날짜입니다. + * (time) 는 HHmmss 형식의 시간입니다. + * (config.json) 는 config 로 상세한 설정을 할 수 있는 json 파일입니다. 여기의 내용은 (indexApp) 과 KMI-(number) 에 따라서 다르게 구성될 수 있습니다. -현재 여기에는 환경설정 정보가 없습니다. +### OUTPUT + +json 파일 형식으로 결과를 제공합니다. + +* code: 에러코드를 의미합니다. `200` 은 성공. +* message: 상세한 메시지를 의미합니다. 성공하면 `OK`. +* kmi: 요청에 제공되는 KMI 지표를 의미합니다. +* output: 지표 데이터입니다. + * shortCode : 추천종목 코드 번호입니다. + * weight : [-1.0, 1.0] 사이의 가중치 값입니다. 음수이면 매도 성향이고, 양수이면 매수성향입니다. + +### Configuration + +(config.json) 현재 지원하는 환경설정 정보가 없습니다.