🎒 라이프문라이즈 트레이딩

KOSPI200옵션


① 미니옵션입니까, 그냥 옵션입니까? → 둘 다 아닙니다 (구조가 이원화됨)

구성상품근거
전광판 체인
(벽·핀·페이오프)
정규(일반) KOSPI200 옵션 — 위클리(W번째 월요일
만기)+월물(둘째 목요일). 미니 접두 종목은 마스터 파싱
단계에서 전량 제외. 페이오프 환산 승수 = 25만원/pt
kr_option_board.py:29-31,
67, 374-382

자동매매 실행
미니코스피200 선물 (심볼 KOSPI, 근월물 자동롤 — 현재
A05610). pnl = (Δpt)×계약×50,000원 — 매매이력
-0.53pt×2계약 = -53,000원 실측 일치. KIS 모의계좌
kr_options_trade.py:34,
113-117, 1146

즉 "옵션 구조(딜러프레임·핀·OI벽) = 신호원, 미니선물 = 실행" 구조이고, 미니 K200 '옵션'은 2017년 3월 상폐되어 어디에도 존재하지 않습니다. 차트와 🧙 마커도 미니선물 가격세계입니다.

② 차트가 맨 앞으로 튕기는 버그 — 원인 실측 확정 + 수정 완료 ✅

playwright로 브라우저 실측한 결과, 원인은 정확히 코드 2줄이었습니다:

  • userScrolled가 래치가 아니라 라이브 술어(매 뷰 이벤트마다 r.to < len-1.5 재계산, 임계 238.5 vs 주차위치 244) → ㉠ 우측 미세 드래그 5.5봉(≈14px!) 데드존 ㉡ 미래측 드래그 ㉢ 과거를 보다가 줌아웃(span 증가로 to가 임계를 통과 — 실사용 1순위 트리거) 모두 "안 움직였다"로 오독 → 10초 폴링마다 setData 전체 재설정 + 애니메이션 scrollToRealTime()으로 튕겨돌아감. (30초 렌더 재부착·LWC 자체는 무죄 실측)

수정(v3.2): 틱마다 풀 setData 폐지 → 윈도우 동일 시 마지막 봉만 update() 증분(뷰 이벤트 0발생) · 자동 복귀는 초기 로드·분봉 전환 시에만 · 히스터리시스 래치 + 프로그래매틱 가드 · 과거 이동 시 ⟳실시간 버튼 노출(클릭 시 복귀, TradingView 방식).

회귀 검증 6/6 PASS — 수정 전 튕겼던 3개 시나리오 모두 13~35초 대기에 뷰 완전 고정, scrollToRealTime 추가 호출 0회, 12초 관찰 중 풀 setData 0회·증분 update만 확인. 이미 라이브 반영 (새로고침 하면 됩니다).

③ 면밀 재검토 — 20건 발견, 검증(CONFIRMED 2건 포함) 후 수정 반영

수정한 것(백엔드 재시작 완료): ⑴ 개장 직후/장애 후 노화 캐시+라이브 스팟으로 방어붕괴 critical 오탐 FCM 발사 경로 → 스캐너 age>300s 게이트 ⑵ REFRESHING 무타임아웃(걸리면 전광판 종일 동결) → waitfor 180s 이식 ⑶ 박스폭 'now'가 최대 10분 낡은 값으로 회귀 → 스냅 저장 후 조회 ⑷ W5 캐시 front/monthly 교대 미스 → 만기별 슬롯 ⑸ 일자 키 연말 역전 → %y%m%d ⑹ 페이지 11건: 체인 스크롤 위치 보존, 모드 전환 레이스(세대 가드), 보드 API 장애 시 차트도 죽던 결합 분리, error 무음 해소, 마커 사유 테이블 정합(TRAILING/BREAKEVEN/SIGNAL_FLIP/SIGNAL_FADE/LEVEL_STOP 추가), '2612월' 라벨, top:-2px, KST 일자, esc 강화 등.

남겨둔 권고: 모바일 손익지도 SVG 텍스트가 375px 폰에서 유효 ~3.7px(판독 불가) — 디자인 변경이라 별도 승인 받고 진행 권장.

④ 매매가 잘 되는지 — 엔진은 정상, 엣지는 아직 판정 보류

날짜거래승률손익(모의)
09-0832/3−34,000원
09-0965/6+359,000원
09-1010/1−53,000원 (재시작 복원 아이템)
09-1174/7+25,000원
합계1764.7%+297,000원 (평균 보유 5.0분)

정직한 평가: EOD 전량청산·미청산 0건·피드 에러 0건으로 리스크 관리는 잘 지켜지고 있으나, 수익이 09-09 하루에 집중(그날 빼면 −62천원)이고 청산 사유가 SIGNAL_FLIP 59%·레벨 익절 0회라 아직 "검증된 엣지"라고 말하기 어렵습니다. 오늘(09-14) 진입 0건은 고장이 아니라 −2.4% 급락장에서 5일선 게이트가 LONG을 전부 차단한 방어 정상 작동입니다.

⑤ 속도 최적화 — 실측 주범은 API 재계산이었습니다

  • ↻강제갱신 18.5초 정지 (42콜 KIS 직렬+0.35s 패이싱) → 비동기화: 백그라운드 발사 후 3초 폴링으로 fresh 확인, 버튼 즉시 응답. 서버도 중복 배치 방지 로직 추가
  • 차트 10초 폴링의 1.5초 블록(120s 캐시 미스) + KIS 장애 시 91분 된 캔들 그대로 서빙(오늘 10:33 실측) → SWR+singleflight: 만료 시 즉시 캐시 반환+백그라운드 재검증, 스테일 자연 치유
  • TTL 120s == 스캔 주기 120s 정합 결함(페이지 닫혀 있으면 실질 240초 노화) → TTL 100s
  • 첫 렌더: 캔들 JSON을 LWC 로드와 병렬 선취득. 측정 결과 CDN(31ms)·렌더(5.2ms)·터널 대역폭은 병목 아니었음

⚠ 별도로 급히 봐야 할 이슈 1건: 개장 후 pykis H0STCNT0(주식 체결통보) 파싱 에러가 24만 라인 폭주 중입니다(선물 피드·옵션 매매엔 무영향이나 주식 실시간 데이터 유실+로그 45MB/4시간). pykis 내부 파서 문제라 다음 세션에서 별도 수리를 권합니다.

변경사항은 커밋하지 않았습니다(4파일, +491/−79). 커밋 원하시면 말씀해 주세요.

✅ 두 건 모두 완료·커밋·라이브 검증했습니다.

커밋

커밋내용
ba9002a옵션 전광판 v3.2 — 차트(LWC)+스냅백 수정+속도 최적화+오탐게이트 (4파일, +491/−79)
ab1e57b🛡 H0STCNT0 파싱 폭주 근본 수리 — KIS TR 스키마 자가적응 레이어

H0STCNT0 수리 내역

원인 (실측 확정): KIS가 실시간 체결가 TR의 컬럼을 기존 46개에서 끝에 1개 추가(47개)했는데, pykis의 파서가 고정 46-필드 스키마로 len(items) % 46 검사를 합니다. 47은 소수라 절대 나눠지지 않아 매 틱 파싱 실패 → 오늘 개장 후 24만 라인 폭주 + 주식 실시간 시세 전량 유실. pykis 최신(2.1.6)도 미수정이었고, 이건 3번째 재발입니다 — 호가 H0STASP0(60→62, 2025년에 WS 중단으로 회피했던 전례), 체결통보 H0STCNI0(23→26)까지 전부 같은 패턴(KIS는 항상 끝에 추가).

수리 방식 (kr_broker_feed.py — 자가적응 레이어):

  • 파서 래퍼가 길이 불일치 첫 틱에서 새 필드 수를 산출(47의 약수 ≥ 46)해 스키마를 끝패딩 확장 후 재파싱
  • 시맨틱 검증 통과(종목코드 형식·price>0·low≤price≤high) 시에만 확정 — 만약 KIS가 중간에 삽입하는 변경이면 자동 원복 + 기존 예외 유지로 잘못된 가격 유입 원천 차단
  • 이후 모든 틱은 원본 파서 정상 경로 (오버헤드 0), KIS가 다음에 또 컬럼을 추가해도 자동 재적응 — 재발 방지

검증:

  • 오프라인 3종 — 47확장·값 정확(symbol/price/high/low) ✓, 94아이템 2행 ✓, 중간삽입 시나리오 원복+예외 ✓
  • 라이브 — 재시작 6초 후 스키마 자가적응 46→47 필드 발동 (14:00:31), 이후 Invalid data length 0건 (14:02 현재). 주식 실시간 체결가가 오늘 처음으로 정상 수신되고 있습니다.

참고: 원시 메시지 직접 캡처는 불가했습니다 (KIS는 appkey당 웹소켓 1세션 — 제 테스트 연결이 "Session already in use"로 거부됨. 백엔드 세션은 무영향 확인).

보너스: 2025년에 같은 원인으로 중단했던 호가(H0STASP0) 실시간 WS도 이제 재개 가능합니다 (orderbookws_enabled=True 한 줄 — 현재는 REST 폴백 유지). 재개를 원하시면 말씀해 주세요.

완료 내역 (전광판 v3.9)

🎬 1. 화려한 알림 표시

  • 대형 알림 카드: 상단 중앙으로 슬라이드인(27px 아이콘 + 큰 제목 + 설명 + 시각), 위급도별 색상 발광
  • 위급 시 화면 가장자리 발광 펄스: 방어 붕괴(critical)·OI 공백(serious) 때 화면 전체 테두리가 4회 점멸
  • 기존 우하단 작은 토스트와의 중복 제거 (지표 패널 가림 해소)

🔔 2. 사운드 (CLAUDE.md 오디오 사양 준수, WebAudio 합성)

이벤트사운드
자동매매 매수 진입상승 2음 ↗
자동매매 매도 진입하강 2음 ↘
익절 청산승리 3음
손절·방어 붕괴저음 버즈 2회
벽 터치 / 구간 이동핑 단일음
OI 공백 진입불안정 아르페지오

좌하단 🔔 토글로 끄고 켤 수 있습니다(🔊 TTS 토글 옆).

🗣️ 3. 초보자용 TTS — 전 알림을 쉬운 말로 변환

  • 🛡️ 풋벽 터치 → "가격이 큰 매수 방어선(풋벽)에 닿았어요. 받쳐지면 반등, 무너지면 급락일 수 있어요. 기준 가격 1045"
  • 🚨 방어 붕괴 → "위험해요! 큰 지지선이 무너졌어요. 급락이 이어질 수 있으니 매수는 조심하세요"
  • 🧙 청산 → "옵션 포지션 청산. 목표 수익 도달. 플러스 22만 7000원 벌었어요"
  • 📍 구간 이동 안내(신규): 가격이 핀/벽/공백 구간을 옮길 때마다 발화+핑 (45초 스로틀로 과잉 방지)

💡 TTS가 안 들리던 부분 해결

브라우저 자동재생 정책 때문에 첫 터치 전엔 소리가 안 납니다. 이제 ①첫 로드 시 "화면을 한 번 터치하세요" 안내 ②첫 터치 순간 "전광판 음성 알림이 켜졌습니다" + 핑으로 즉시 확인됩니다.

📊 4. 손익 지도 개선

  • 숫자 폰트 대형화: X축 행사가·Y축 억원 숫자를 약 40% 확대 + 볼드, 곡선 두께·호버 툴팁도 확대
  • UI 늘어났다 줄어듦 수리: 30초마다 폴링할 때마다 지도 높이를 재측정→재렌더하며 지도와 주변 박스가 흔들리던 근원을 제거(브레이크포인트별 1회 측정 캐시)

📈 5. 차트 라인 초보자화

  • 라인 레이블: ▼ 풋벽 1045 → ▼ 풋벽(지지) 1045, 🎯 핀하단 등 역할 병기, 선 굵기 2배
  • 레전드 전면 개편: "▼ 풋벽 = 큰 지지선(받히면 반등)" · "🎯 핀 = 만기 자석(횡보 유인)" 등
  • 차트 축 폰트 확대·가독색 개선

검증 완료: 헤드리스 브라우저에서 페이지 에러 0건, 알림 3종+매매 이벤트의 오버레이 렌더·발광 요소·사운드 엔진 연결 확인, 와이드/모바일 스크린샷 검수까지 마쳤습니다. 오전 9시 개장 후 실제 레벨 알림(벽 터치 등)에서 소리+음성+대형 카드가 함께 나옵니다.


완성 내역 (ultracode — 워크플로 2본 + 직접 검증)

📊 분석 워크플로 (에이전트 4본 병렬, 48.6만 토큰)

  • 룰북 마이너: [new] 72룰 전수 추출 → 미이식 52룰 식별
  • 엔진 매퍼: 게이트 28개·청산 15종 전수 맵 + 버그 8건 발견
  • 로그 프로파일러: 주간 로그 6,111라인 중 97%가 상태 반복 스팸 실측 (진입 16건은 전부 롱, 승률 66.7%)
  • 가이드 작가: 초보자용 4절 콘텐츠 완성

🖥 전광판 v4.0

요청구현
ℹ️ 상단
가이드
4탭 모달: 📖사용법(패널별 읽는 법·클릭 요소) / 🧙카이사르 이념(8대 사상) / 📚옵션
기초(콜·풋·OI·핀·승수 계산) / 🤖자동매매(청산 사유 사전 포함)
📋 로그 팝업당일/최근 200건 거래 테이블 + 승률·실현손익 통계(현재 63%·+590,000원) + 실시간 탭
🔔 알림 로그
도크
데스크탑 AlertLogDock 이식 — 우하단 배지(안 읽은 건수) → 펼침 패널, localStorage
영속(새로고침해도 유지·300건), 📋복사·🗑비우기
차트 설명"📍 지금 상황" 캡션(예: "▼ 풋벽 시험 — 반등하면 상승, 무너지면 급락") + 초보자 레이블
화려한 UI그라디언트 타이틀·스팟 글로우·패널 액센트 바·호버 발광

🤖 자동매매 강화 (카이사르 시간 기반 룰 이식 + 버그 수리)

  • 만기 당일 14:00~ 세력 파동: 진입 차단 + PRICE_STOP 절반 조임 ("세력들이 2시 반부터 움직입니다")
  • 만기 익일 롱 보류 (조정 경계) — monthlyexp_offset() 신설(D+1 표현 불가 버그 수리)
  • 변곡 시간대 확장: 09:30·10:00·10:30·11:00·12:30·13:30·14:00 ±10분
  • 박스 합성 수리: 자격 있는 반대 신호 존중 + 합성 진입 SIGNAL_FADE 조기청산 면제
  • 로그 스팸 97% 절감(_tlog 스로틀) · MA5 게이트가 KIS REST 앞으로(레이트리밋 절약) · DB 풀스캔 20s 캐시 외 5건

🔍 적대적 리뷰 → 7건 발견 → 전부 수정·실측 확인

리뷰 워크플로가 API 한도(429, 내일 06:16 리셋)로 반증 단계 중단 → 발견 7건을 제가 직접 검증·수정했습니다. 대표 사고: 거래 시각이 UTC로 표시되던 것(10:42가 01:42로) → KST 변환 수정 완료. 나머지 6건(가이드 오류 정정 4·스로틀 누락·장외 캡션 잔류)도 수정.

검증 완료: 문법·컴파일 통과, 헤드리스 에러 0건, 모달 4탭·도크 영속성(리로드 후 유지)·KST 시각 실측 확인, 백엔드 재시작 완료. 데이터 의존 룰(외인매수·환율 등)은 피드가 없어 보류했습니다. 변경분(kr_options*trade.py**** +177 / option*board_v3.html +231)은 커밋 전입니다 — 원하시면 커밋·푸시하겠습니다.


① 폰트 가독성 개선 ✅

  • 흐린 회청색 토큰(#5A7099) 전면 상향 → #8FA5C8 — CSS 변수와 JS 토큰 양쪽을 한 번에 교체해 전광판 전체(부제·체인 지표·레전드·힌트·버튼)가 한꺼번에 밝아졌습니다
  • ⏸ 차단 사유(대기 이유)는 정보 중요도가 높아 더 밝은 #C7D5EE 로 별도 지정 — 실측 rgb(199,213,238) 확인

② 🧭 매매 유형 버튼 시스템 ✅ (카이사르 법칙 완전 보존)

자동매매 바 바로 아래에 4개 유형 버튼이 생겼습니다. 클릭 즉시 서버에 저장·영속되고(DB 프랍), 카이사르의 구조 안전 게이트(핀 밴드·벽 역행·OI 공백·프리 과열)는 모든 유형에서 그대로 작동합니다:

┌────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 버튼 │ 특징 │
├────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 🧙 카이사르 │ 현행 그대로 — 매매창·반등 가장 보수적 │
│ (기본) │ │
├────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 🧪 테스트 │ 데모 실험용 — 점심 포함 09: 인 완화, 5일선 진입 게이트 해제, 일일 │
──────────────────────────────────────────────────┤
│ 📈 추세 │ 박스 돌파 신호는 5일선 반대편이어도 허용(3/16 추세매매 우선), 시간청산 20분 여유 — 추세장 대응 │
├────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 🎯 반등 │ 최소 점수 1, 시간청산 8분, 등을 짧고 빠르게 치고 빠짐 │
└────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────┘

버튼에 마우스를 올리면 각 유형 설명이 뜨고, 🤖르 · 금일 N회"로 현재 유형이 항상 표시됩니다.유형 변경 시 토스트+음성 안내되고 🔔 알림 로그(🤖 자동매매 탭)에도 설명을 추가했습니다.

검증 완료: 헤드리스에서 버튼 4개 렌더 → 🧪 클릭 → 서버 mode: test 저장 확인 → 🧙 원복까지 전 구간 통과, 페이지 에러 0건, 백엔드 재시작 완료. 현재 기본 유형(카이사르)로 설정되어 있으니 원하시는 유형을 버튼으로 고르시면 됩니다.

이 폴더의 다른 기록