Files
kis_trader/docs/조건식.md

94 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HTS 조건식 (SCAN 참고)
> HTS 조건검색 = **후보 유니버스(SCAN)** 전용.
> TRIGGER/Optuna 그리드에 숫자를 맞추라고 강제하지 않음. (`hts-condition-grids.mdc`)
> `*_SKIP_HTS_SCAN_DUPES` 기본 **false** 유지 (사용자 명시 전까지).
키움 조건식 이름 ↔ 봇: `CONDITION_SHORT_NAME=tail``strategy_id=SHORT`
### 운영 유니버스 (2026-08)
4전략 SCAN 본체는 **`kiwoom_condition`**. LS AFR/t1859는 조건 소스가 `ls_condition`일 때만.
LS WS는 틱/호가 **구독 spill 3차** (`LIVE_OB_PROVIDER=kiwoom`이면 호가 1차는 키움 0D).
“LS 전용 종목만 산다”는 현재 운영과 **다름**.
---
## 꼬리 (tail / SHORT)
**논리:** 아래 4항 **AND** (HTS에서 동시에 만족)
| # | 조건 (HTS 원문) |
|---|-----------------|
| A | 주가등락률 : **[일] 0봉전(중) 시가대비 0봉전 종가등락률** **-10% 이상 ~ -0.5% 이하** |
| G | 주가등락률 : **[1분] 1봉전(중) 종가대비 0봉전 종가등락률** **-10% 이상 ~ -0.5% 이하** |
| B | **체결강도** **85% 이상 ~ 400% 이하** |
| D | 거래량비율 : **[일] 3봉 전 거래량대비 동일주기** **150% 이상 ~ 2000% 이하** |
### 한 줄 요약
```
[일] 시가→종가 -10% ~ -0.5%
∧ [1분] 직전봉종가→현재봉종가 -10% ~ -0.5%
∧ 체결강도 85% ~ 400%
∧ [일] 3봉전 대비 거래량 150% ~ 2000%
```
### 코드 TRIGGER와의 관계 (참고)
| 축 | HTS (SCAN) | 코드 (`TAIL_SKIP_HTS_SCAN_DUPES=false` 시) |
|----|------------|---------------------------------------------|
| 등락 A/G | **일봉** 시가대비 + **1분** 직전대비 | **별도 시험**: `TAIL_BAR_CHG_*` = **3분** 직전대비 (이름에 HTS A 붙이지 말 것) |
| 체결강도 B | SCAN | TRIGGER에서 동일 재검사 안 함 |
| 거래량 D | **일봉** 3봉전 대비 | `TAIL_VOL_MULT`**신호봉(3분)** 거래량 배수 |
- `skip=false` + `BAR_CHG_MAX=-1.0` = 의도된 이중 필터(3분 최소 하락). 장에 안 맞으면 0건 가능 (2026-07-20).
- 그리드에 `-0.5` 있음 → 파람이 `-1.0`을 고른 것뿐. 시스템 고장 아님.
### 변경 이력
| 날짜 | 내용 |
|------|------|
| 2026-07-20 | 사용자 HTS 원문 반영 (일 -10~-0.5 / 1분 -10~-0.5 / 강도 85~400 / 일거래량 150~2000) |
---
## 스캘핑 (scalp_re / SCALP) — 2026-08-23 HTS 원문
키움 조건식 이름: **`scalp_re`**
논리: **`B ∧ C ∧ F ∧ J ∧ D ∧ I ∧ G`** (전부 AND)
| 기호 | HTS 원문 요약 | 의미 |
|------|---------------|------|
| **B** | [일] 0봉전 시가대비 0봉전 저가등락률 **-6% 이상 ~ -2% 이하** | 당일 시가→저가 낙폭 **절대 2%~6%** |
| **C** | [일] 0봉전 저가대비 0봉전 종가등락률 **0.1% 이상 ~ 15% 이하** | 저가→현재(종가) 반등 |
| **F** | 5분 평균 대비 최근 1분 거래량 **1.5배 이상** | 단기 거래량 급증 |
| **J** | [일] 1봉전 기준 5봉 누적거래대금(백만) **5000 이상** | 유동성(~50억+) |
| **D** | [1분] **2봉 연속증가** | 단기 상승 연속 |
| **I** | [1분] 5봉 평균 대비 0봉전 거래량 **120% 이상** | 분봉 거래량 비율 |
| **G** | 0일전 종가 **3000 이상 ~ 80000 이하** | 가격대 |
### SCAN vs TRIGGER (`drop_rate`)
| 층 | 역할 |
|----|------|
| **SCAN (HTS B)** | 후보 풀: 낙폭이 **2%~6% 사이**인 종목만 올림 |
| **TRIGGER (`SCALP_MIN_DROP_RATE`)** | 방어 ON · `SCALP_SKIP_HTS_SCAN_DUPES=false` 일 때 **최소 낙폭** 재검 (`dr >= drop_rate`) |
- TRIGGER 낙폭은 HTS **상한(6%)을 넘는 값(예 7.3)을 쓰면 교집합이 공집합** → 거래 0건.
- Optuna/TPE `drop_rate` 격자는 **2.0~6.0% 안**만 (`param_search_scalping._hts_scalp_drop_rate_grid`).
- HTS 밖 live DB 값(7.3 등)은 격자에 **넣지 않음** (공집합 trial 방지).
- `*_SKIP_HTS_SCAN_DUPES` 는 기본 **false** 유지 (사용자 명시 전 true 금지).
### 변경 이력
| 날짜 | 내용 |
|------|------|
| 2026-08-23 | 사용자 HTS `scalp_re` 스크린샷 반영 (B -6~-2 / C 0.1~15 / F 1.5× / J 5000 / D 2연속 / I 120% / G 3k~80k) |
---
## 돌파 / 모멘텀
(미기재 — 사용자 제공 시 추가)