Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
231 commits
Select commit Hold shift + click to select a range
3e8508d
Kronos가 STOM tick 데이터를 누수 없이 학습할 수 있게 준비하다
Py-CI-Park May 5, 2026
54ba6f9
STOM 예측 결과를 눈으로 검증할 수 있게 하다
Py-CI-Park May 5, 2026
afaa267
STOM 파이프라인에서 불필요한 셸 실행 위험을 줄이다
Py-CI-Park May 5, 2026
ebc0a34
STOM 파일럿 export 진행 상태를 재현 가능하게 남기다
Py-CI-Park May 6, 2026
a30b414
RTX 4080 SUPER에서 STOM GPU 파일럿 학습 경로를 입증하다
Py-CI-Park May 6, 2026
3908ba9
GPU 파일럿 checkpoint가 예측 산출물을 만들 수 있음을 기록하다
Py-CI-Park May 6, 2026
e9b4f3b
STOM 대시보드가 실제 예측 CSV를 표시함을 검증하다
Py-CI-Park May 6, 2026
37c51cd
STOM 학습 확대를 300개 테이블에서 먼저 검증하다
Py-CI-Park May 6, 2026
0d73b40
STOM 학습 확대를 1000개 테이블까지 검증하다
Py-CI-Park May 6, 2026
e6d935b
전체 STOM universe를 bounded 방식으로 학습 가능하게 만들다
Py-CI-Park May 6, 2026
19e6842
낮은 raw 방향정확도를 보완할 score 추천층을 만들다
Py-CI-Park May 7, 2026
74266b5
Adapter 연결 전 score 필터의 검증 근거를 분해하다
Py-CI-Park May 7, 2026
8b8cfde
Kronos 추천 결과를 외부 프로그램이 읽을 수 있게 내보내다
Py-CI-Park May 7, 2026
1c3974e
Kronos 개발 과정을 검토 가능하게 정리하다
Py-CI-Park May 7, 2026
710afc9
STOM Kronos 파인튜닝 검증 근거를 분리하다
Py-CI-Park May 7, 2026
3c3017c
STOM 데이터를 Qlib 검증 흐름으로 보낼 수 있게 하다
Py-CI-Park May 7, 2026
158e904
Qlib 실제 실행 전 환경 게이트를 명확히 하다
Py-CI-Park May 7, 2026
9996847
Qlib 실제 변환 가능성을 증거로 고정하다
Py-CI-Park May 7, 2026
540e540
1초봉 전체 재학습 전에 시간 기준 데이터를 고정하다
Py-CI-Park May 8, 2026
c8636ba
STOM 1초봉 전체 export 근거를 고정하다
Py-CI-Park May 8, 2026
bd5d5ca
STOM 1초봉 전체 데이터를 실제 파인튜닝 루프에 연결하다
Py-CI-Park May 8, 2026
94c2ab3
STOM 1초봉 checkpoint를 실제 holdout 방향성 평가로 연결하다
Py-CI-Park May 8, 2026
ab07709
STOM 1초봉 60초 모델의 walk-forward 필터 한계를 고정하다
Py-CI-Park May 8, 2026
0f76ea4
STOM 1초봉 조건식 과최적화를 rolling 검증으로 분리하다
Py-CI-Park May 8, 2026
bbb0dbf
외부 trading-program 연동을 제외하고 STOM tick 학습 범위를 고정하다
Py-CI-Park May 8, 2026
60be1e3
전체 데이터 학습 확대를 단계형 실행 계획으로 고정하다
Py-CI-Park May 8, 2026
56c38bd
pred60 대형 walk-forward가 학습 확대 조건을 충족하지 못함을 고정하다
Py-CI-Park May 8, 2026
9cef1eb
비용 민감도 gate로 학습 확대 결정을 자동화하다
Py-CI-Park May 8, 2026
2153f9f
Kronos 공식 tokenizer 학습 경로를 Windows 단일 GPU에 맞추다
Py-CI-Park May 9, 2026
9ef5207
STOM pred60 tokenizer 20k 실측으로 확대 시간을 고정하다
Py-CI-Park May 9, 2026
66dd204
STOM pred60 tokenizer 200k 학습을 공식 순서에 고정하다
Py-CI-Park May 9, 2026
6fc9bf2
STOM tokenizer 기반 predictor 200k 학습을 완료하다
Py-CI-Park May 9, 2026
79c5e6c
Official 200k 예측 그래프와 필터 검증 속도를 확보하다
Py-CI-Park May 9, 2026
60dc759
Official 200k 성과를 비용 gate 기준으로 판정하다
Py-CI-Park May 9, 2026
eb3f9ba
pred30 확대를 cost gate 이후로 미루다
Py-CI-Park May 9, 2026
3dbb149
1M 이후 확대를 목적별 실행안으로 분리하다
Py-CI-Park May 9, 2026
a488b0e
Ralph 마무리 전 공식 학습 변경부를 정리하다
Py-CI-Park May 9, 2026
4f2bc02
통계 대시보드 고도화 계획을 autopilot 흐름으로 고정하다
Py-CI-Park May 10, 2026
480803e
예측 CSV의 종목별 통계 진단 API를 추가하다
Py-CI-Park May 10, 2026
3da9438
종목별 통계 진단을 STOM 대시보드 화면에 연결하다
Py-CI-Park May 10, 2026
a1b6ae7
통계 대시보드 변경을 리뷰하고 출력 안전성을 보강하다
Py-CI-Park May 10, 2026
df683a1
브라우저 검증에서 발견한 표시 품질 문제를 없애다
Py-CI-Park May 10, 2026
55650e6
GPU 대여 기반 Kronos 확대 학습 판단 기준을 남기다
Py-CI-Park May 10, 2026
01eb17f
Kronos STOM 작업 흐름을 이어받을 기준 문서로 남기다
Py-CI-Park May 10, 2026
5dc7777
STOM Kronos 연구 흐름을 작업 브랜치 병합으로 보존하다
Py-CI-Park May 10, 2026
2d7c7fb
2025년 STOM 전체 학습 전 실행 조건을 잠그다
Py-CI-Park May 11, 2026
690dbdd
2025년 STOM 학습 데이터셋 생성을 검증 기준으로 고정하다
Py-CI-Park May 11, 2026
5450304
장시간 STOM 학습을 관측 가능한 실행으로 바꾸다
Py-CI-Park May 11, 2026
912a377
STOM 학습 모니터를 실제 브라우저 검증으로 잠그다
Py-CI-Park May 11, 2026
1d80efb
STOM 장기 학습 로그를 즉시 흘리게 하다
Py-CI-Park May 11, 2026
180a59a
2025년 STOM 전체 학습을 장기 실행으로 넘기다
Py-CI-Park May 11, 2026
42712fd
STOM 전체 학습 중간 진행을 체크포인트로 남기다
Py-CI-Park May 11, 2026
82ee1f9
STOM 전체 학습 두 번째 중간 진행을 남기다
Py-CI-Park May 11, 2026
0433258
STOM 전체 학습 세 번째 중간 진행을 남기다
Py-CI-Park May 11, 2026
deb5ce0
STOM 전체 학습 네 번째 중간 진행을 남기다
Py-CI-Park May 11, 2026
1d7635c
STOM 전체 학습 다섯 번째 중간 진행을 남기다
Py-CI-Park May 11, 2026
f9678c0
STOM 날짜 전환 후 전체 학습 진행을 남기다
Py-CI-Park May 11, 2026
cfa3315
STOM 전체 학습 일곱 번째 중간 진행을 남기다
Py-CI-Park May 11, 2026
74d31ee
학습 대시보드 자동 갱신 통합 계획을 고정하다
Py-CI-Park May 11, 2026
e203ec5
학습 상태를 웹 전체에서 자동 갱신하게 하다
Py-CI-Park May 11, 2026
335f7e6
학습 대시보드 자동 갱신 변경을 리뷰로 잠그다
Py-CI-Park May 11, 2026
dc4e72a
STOM 전체 학습 진행을 다시 확인하다
Py-CI-Park May 11, 2026
98630b1
STOM 전체 학습 누적 진행을 계속 고정하다
Py-CI-Park May 11, 2026
28043a7
STOM 전체 학습 열 번째 진행을 고정하다
Py-CI-Park May 11, 2026
903d7b4
STOM 전체 학습 열한 번째 진행을 고정하다
Py-CI-Park May 11, 2026
aed6967
학습을 유지한 대시보드 병렬 개선 계획을 고정하다
Py-CI-Park May 12, 2026
bf48ebe
학습 성과 대기 상태를 공통으로 표시하다
Py-CI-Park May 12, 2026
464e622
학습 산출물 대기 상태를 읽기 전용으로 보여주다
Py-CI-Park May 12, 2026
cab7798
학습 진행 히스토리를 읽기 전용으로 보여주다
Py-CI-Park May 12, 2026
3b64a7f
학습 속도와 GPU 상태를 한눈에 확인하게 하다
Py-CI-Park May 12, 2026
cb6f59d
성과 화면에서 predictor 미시작을 오해하지 않게 하다
Py-CI-Park May 12, 2026
b624f9a
대시보드 read-only 개선 검토를 완료하다
Py-CI-Park May 12, 2026
f4c98e6
학습 유지 상태를 gate 기준으로 고정하다
Py-CI-Park May 12, 2026
80edf74
대시보드 학습 시간을 KST 기준으로 오해 없이 보이게 하다
Py-CI-Park May 12, 2026
a8ef246
루트 예측 화면을 한국어 UI로 읽히게 하다
Py-CI-Park May 12, 2026
153d4ba
메인 예측 홈을 좌측 내비게이션 테마로 통일하다
Py-CI-Park May 12, 2026
e5f95d7
STOM 전체 학습 감시를 주기 점검 단계로 고정하다
Py-CI-Park May 12, 2026
5c46ccd
대시보드 전면 개편 합의 계획을 P1/P1.5 시간축 분할로 고정하다
Py-CI-Park May 12, 2026
888bb08
새 통합 대시보드의 학습 안전 SSR 골격을 /v2에 올리다
Py-CI-Park May 12, 2026
c1d24ee
/v2 탭 placeholder 카피의 phase 번호와 기존 화면 안내를 바로잡다
Py-CI-Park May 12, 2026
0589004
STOM tokenizer 50퍼센트 통과를 학습 감시 기준점으로 남기다
Py-CI-Park May 13, 2026
9411a23
P1.5 디자인 스펙과 운영 체크리스트를 사전 docs로 고정하다
Py-CI-Park May 13, 2026
4e54f45
/v2 완료 예상 시각이 - 로만 표시되던 ETA 표시 버그를 고치다
Py-CI-Park May 13, 2026
c6ca0ae
/v2 모바일 레이아웃 다섯 가지 시각 이슈를 한 번에 정리하다
Py-CI-Park May 13, 2026
249a785
/v2 데스크탑 다섯 곳의 정보 밀도와 시각 정렬을 한 번에 끌어올리다
Py-CI-Park May 13, 2026
989b23b
predictor 전환 시점에 GPU 효율 설정을 분리하게 하다
Py-CI-Park May 13, 2026
7c63e4f
STOM tokenizer 66퍼센트 구간을 predictor 전환 전 기준점으로 남기다
Py-CI-Park May 13, 2026
d0d58b2
실시간 학습 모니터에 현재 손실 sps LR epoch 네 핵심 지표를 노출하다
Py-CI-Park May 13, 2026
39be92d
STOM tokenizer 75퍼센트 통과를 checkpoint 전 기준점으로 남기다
Py-CI-Park May 13, 2026
4c3a842
현재 both 실행의 predictor 단계도 고효율 handoff를 읽게 하다
Py-CI-Park May 14, 2026
7742cb8
장시간 tokenizer 학습 결과를 validation OOM 전에 보존하다
Py-CI-Park May 15, 2026
2695151
새 통합 대시보드를 Vite Svelte SPA로 P1.5 정식 전환하다
Py-CI-Park May 15, 2026
670c819
Claude Designer 리모델링 단일 핸드오프 마크다운을 고정하다
Py-CI-Park May 16, 2026
ce42ab4
Claude Designer 프로토타입 디자인 시스템을 v2 SPA에 이식하다
Py-CI-Park May 18, 2026
a631b54
Live Training 탭을 디자인 시스템 v2 으로 본격 리디자인하다
Py-CI-Park May 18, 2026
7ff0d71
아티팩트 & 모델 탭을 디자인 시스템 v2 로 정식화하다
Py-CI-Park May 18, 2026
5ba3009
시스템 상태 탭을 디자인 시스템 v2 로 정식화하다
Py-CI-Park May 18, 2026
3f17e78
설정 탭을 테마 카드 + 새로고침 + 알림 + 초기화로 확장하다
Py-CI-Park May 18, 2026
8f1beb4
기록 & 런 탭을 P2 정식 패널로 구현하다
Py-CI-Park May 18, 2026
7e38c18
예측 워크벤치 탭을 P3 본격 구현으로 갈아끼우다
Py-CI-Park May 18, 2026
98d66d2
예측 진단 (STOM) 탭을 P4 본격 구현으로 갈아끼우다
Py-CI-Park May 18, 2026
8562c64
P6 cutover — 루트 / 가 v2 SPA 를 서빙하고 기존 페이지는 /v1/ 로 archive 하다
Py-CI-Park May 18, 2026
37116fc
세션 마무리 — README + handoff + plan 문서를 P6 cutover 반영 상태로 정리하다
Py-CI-Park May 18, 2026
4292d90
session-wrap 산출물 — 스킬 후보 + 후속 작업 파일을 고정하다
Py-CI-Park May 18, 2026
64260fd
문서 · Wiki 탭을 8번째 탭으로 추가하다 — Kronos 통합 지식 베이스
Py-CI-Park May 18, 2026
908766c
재학습 runbook 을 정식 docs 로 고정하다
Py-CI-Park May 19, 2026
dc7315a
tokenizer 재학습 풀 최적화 — torch.compile + bf16 AMP + persistent workers 옵…
Py-CI-Park May 19, 2026
0563734
옵션 D 풀 활용 + W9 로그 tail 카드로 대시보드 가시성 완성하다
Py-CI-Park May 19, 2026
c5279ae
AI 핸드오프 문서 — 옵션 D 재학습 + 대시보드 모니터링 단일 진입점을 고정하다
Py-CI-Park May 20, 2026
b874921
옵션 D 재학습 문서가 실제 full 샘플을 가리키게 하다
Py-CI-Park May 20, 2026
98d4bf2
Windows 학습 로그 인코딩 실패를 재시작 전에 차단하다
Py-CI-Park May 20, 2026
981141b
옵션 D 재시작 증거를 실행 기록에 고정하다
Py-CI-Park May 20, 2026
de88c56
Triton 없는 Windows 환경에서는 tokenizer compile을 건너뛰다
Py-CI-Park May 20, 2026
3cc5403
학습 로그 공백 중에도 대시보드 경과 시간이 흐르게 하다
Py-CI-Park May 20, 2026
f611d7e
옵션 D 학습이 실제 step으로 진입했음을 기록하다
Py-CI-Park May 20, 2026
29f411e
옵션 D 학습 진행률 5퍼센트 구간을 기록하다
Py-CI-Park May 20, 2026
5648c86
학습 대시보드가 STOM 데이터 범위를 디자인 기준으로 설명하게 하다
Py-CI-Park May 20, 2026
290ad12
학습 대시보드 한글 깨짐을 즉시 복구하다
Py-CI-Park May 20, 2026
748246c
전체 진행률을 단계 분할 원형 그래프로 이해하게 하다
Py-CI-Park May 20, 2026
cc5a7e1
학습 화면의 중복 원형 그래프를 정리하다
Py-CI-Park May 20, 2026
1ed31b5
Tokenizer 검증 정체에서 predictor 학습으로 안전하게 복구하다
Py-CI-Park May 20, 2026
38c3c21
학습 대시보드 차트가 실시간 데이터를 놓치지 않게 하다
Py-CI-Park May 21, 2026
0549ac5
학습 진행률을 중복 없이 한눈에 보이게 하다
Py-CI-Park May 21, 2026
84e418a
학습 상태 판정에 CPU와 정상 범위를 연결하다
Py-CI-Park May 21, 2026
2d36fd7
CPU 상태를 GPU 트렌드와 함께 보이게 하다
Py-CI-Park May 21, 2026
5e7763a
완료된 predictor를 성과 확인 가능 상태로 표시하다
Py-CI-Park May 22, 2026
d43e7ca
완료 모델 평가 결과를 이해 가능한 대시보드로 연결하다
Py-CI-Park May 22, 2026
88eefb1
조건식 검증 결과로 확장 학습 판단을 보류하다
Py-CI-Park May 22, 2026
dafc7c5
예측 horizon 비교로 다음 학습 방향을 좁히다
Py-CI-Park May 22, 2026
a576ffb
STOM Kronos 실험 경험을 재사용 가능한 문서로 남기다
Py-CI-Park May 22, 2026
8188284
STOM 강화학습 실험실 방향을 독립 설계로 고정하다
Py-CI-Park May 22, 2026
af4c5b1
STOM 독립 강화학습 실험실 문서를 실측·기존 baseline 기준으로 보완하다
Py-CI-Park May 22, 2026
2f19cde
STOM 강화학습 episode 계약을 read-only manifest로 고정하다
Py-CI-Park May 22, 2026
d21ef2b
STOM 강화학습 매매 환경의 첫 행동 계약을 만들다
Py-CI-Park May 22, 2026
544b15a
STOM 강화학습 기준선을 먼저 고정하다
Py-CI-Park May 22, 2026
3878b40
STOM 강화학습 비용 관문을 먼저 세우다
Py-CI-Park May 22, 2026
0ab40e3
STOM 강화학습 첫 모델 사용 흐름을 증명하다
Py-CI-Park May 22, 2026
94b178e
STOM 강화학습 산출물을 웹 API로 연결하다
Py-CI-Park May 22, 2026
dc53d39
STOM 강화학습 결과를 웹 화면에서 해석하게 하다
Py-CI-Park May 22, 2026
5e0edbe
STOM 강화학습 실험실을 검증 가능한 상태로 닫다
Py-CI-Park May 22, 2026
926e1b9
STOM 강화학습 성과 검증 기준을 먼저 고정하다
Py-CI-Park May 23, 2026
64e46f9
STOM 전체 test split 기준선을 빠르게 계산하게 하다
Py-CI-Park May 23, 2026
0d9e52c
STOM contextual bandit의 전체 평가 결과를 기준선과 비교하다
Py-CI-Park May 23, 2026
fd56218
STOM 강화학습 성과를 하나의 리더보드로 합치다
Py-CI-Park May 23, 2026
075cdd5
STOM 성과 리더보드를 웹에서 비교하게 하다
Py-CI-Park May 23, 2026
c62aa88
STOM DQN과 PPO 확장 순서를 먼저 고정하다
Py-CI-Park May 23, 2026
dcd6dbc
STOM 강화학습 성과 모델을 검증 기준으로 닫다
Py-CI-Park May 23, 2026
58fbb9e
STOM SB3 smoke 학습 경로를 실제 검증 루프로 잇다
Py-CI-Park May 23, 2026
097e331
STOM 실시간 강화학습 화면 계획을 고정하다
Py-CI-Park May 23, 2026
5bbb3a8
STOM 강화학습 이벤트를 실시간 화면으로 잇다
Py-CI-Park May 23, 2026
f362b65
STOM RL 페이지 완료율을 실제 학습 결과로 닫다
Py-CI-Park May 24, 2026
a5b92a6
5070 대시보드가 강화학습 화면으로 바로 열리게 하다
Py-CI-Park May 24, 2026
359596d
새 대화에서도 STOM RL 상태를 잃지 않게 하다
Py-CI-Park May 24, 2026
4634501
강화학습 실험실 화면을 실시간처럼 보이게 다듬다
Py-CI-Park May 24, 2026
a0c57cb
재학습 없이 저장 모델을 평가하는 eval-only 모드를 더하다
Py-CI-Park May 24, 2026
78606ba
기간별 walk-forward 검증으로 과적합을 들여다보다
Py-CI-Park May 25, 2026
438fdf2
강화학습 원리를 공부용 문서로 풀어 쓰다
Py-CI-Park May 25, 2026
91030a8
조건식 기반 포트폴리오 RL 설계와 STOM 변수 레퍼런스를 모으다
Py-CI-Park May 25, 2026
1d414a6
포트폴리오 RL 단계별 상세 실행 계획을 보완하다
Py-CI-Park May 25, 2026
06e1038
포트폴리오 RL 1~6단계 골격과 핸드오프 문서 정리를 베이스라인으로 커밋하다
Py-CI-Park May 26, 2026
c18e0e6
feat: 실데이터 STOM RL feature export dry-run 경로를 추가하다 (Page 7)
Py-CI-Park May 26, 2026
843a0f5
feat: 다종목 1초 시간동기화 panel join을 추가하다 (Page 7.5)
Py-CI-Park May 26, 2026
f791e99
feat: 실제 STOM 매수 조건식을 whitelist rule JSON으로 정규화하다 (Page 8)
Py-CI-Park May 26, 2026
21405d3
feat: Page 9 실 candidate 생성과 T+1 체결 계약을 고정하다
Py-CI-Park May 26, 2026
7107d24
feat: 포트폴리오 env 체결을 T+1 가격으로 고치고 실데이터 학습 스모크를 고정하다 (Page 10)
Py-CI-Park May 26, 2026
2464d55
docs: Page 10.5 thin-slice 조기 성능 read 로 비용 반영 알파 go/no-go 를 기록하다
Py-CI-Park May 26, 2026
2709c7c
feat: 포트폴리오 walk-forward 를 확장창 train/test holdout 으로 교체하다
Py-CI-Park May 26, 2026
709d106
feat: Page 12 paper replay 에 blocked-action reason code 로그를 추가하고 read…
Py-CI-Park May 26, 2026
95ff7f8
feat: Page 13 포트폴리오 페이퍼 run 을 기존 /rl 대시보드에 연결하다
Py-CI-Park May 26, 2026
3401730
docs: Page 14 성능 최적화 루프를 실행하고 비용 반영 격차를 문서화하다 (트랙 B)
Py-CI-Park May 26, 2026
7fe3581
fix: 후속 A 종목코드 선행 0 strip 을 공용 정규화 헬퍼로 고치다
Py-CI-Park May 26, 2026
0a9a67e
feat: Page 16 full-universe 실행 게이트를 checkpoint/resume 러너로 구현하다
Py-CI-Park May 26, 2026
b09857f
feat: 비용 인지형 정책 실험을 TRAIN-fit/TEST-eval holdout 으로 구현하다 (Page 17, 트랙 B)
Py-CI-Park May 26, 2026
fca9e85
feat: 포트폴리오 train 에 step 단위 RL live event(NAV=equity)를 추가하고 대시보드 foll…
Py-CI-Park May 26, 2026
fe632cb
docs: Stage C-0 DB 피처 가용성 프로브를 실행하고 등락율/시가총액/고저평균대비등락율/체결강도 추가 가능을 확인…
Py-CI-Park May 27, 2026
3976403
feat: STOM RL 정규 피처를 14→18 로 확장하다 (Stage C, change_rate/market_cap/hi…
Py-CI-Park May 27, 2026
84c91e9
feat: PortfolioEnv 을 SB3 용 Gymnasium 어댑터로 래핑하다 (Stage A)
Py-CI-Park May 27, 2026
d2104cc
feat: Stage B 실 SB3 PPO 학습 + trained_ppo/_fit_policy 연결 + supervised_…
Py-CI-Park May 27, 2026
dd5fd7a
docs: deep-RL 2트랙 정직 평결을 작성하다 — 엔지니어링 완료 / 알파 advisory-negative (Stag…
Py-CI-Park May 27, 2026
ca74c78
feat: ranker-first 비-advisory 시그널 테스트를 n_folds=5 로 실행하고 셔플 테스트를 구현하다 …
Py-CI-Park May 27, 2026
e5a1116
docs: STOM 강화학습 포트폴리오 종합 연구보고서를 정리하다
Py-CI-Park May 27, 2026
8cb470b
docs: 1분 신호 페이지 Stage 1 사전등록(amount=초당거래대금 per-second/SUM, V-COVERAGE…
Py-CI-Park May 27, 2026
20fb0fe
feat: Stage 2 — RL 전용 1분 리샘플러와 freq 라이브 피드 배선, 인과적 추세 피처 4종을 추가하다
Py-CI-Park May 27, 2026
b72ba4e
docs: 1분 호라이즌 선택 알파 비광고 검증을 NO 로 기록하다 (Stage 3-5)
Py-CI-Park May 27, 2026
4c35e73
feat: SB3 학습 루프에 per-rollout 텔레메트리 콜백을 달아 실시간 학습을 대시보드로 흘리다 (Story A)
Py-CI-Park May 27, 2026
9741465
docs: Story B 일봉 horizon 데이터 타당성 판정 — 현 DB는 이벤트트리거 아침30분 스냅샷이라 정규 일봉 …
Py-CI-Park May 27, 2026
b1a414f
feat: Story B1 세션바 일봉 proxy 교차세션 선택신호를 검정하고 CAVEATED NON-ADVISORY NO …
Py-CI-Park May 27, 2026
48bbdef
feat: 시초 갭상승(등락율>=2%) TP/SL/09:25 모멘텀 백테스트를 추가하고 결과를 기록하다
Py-CI-Park May 27, 2026
bf767d7
feat: 시초 갭상승에 현실 비용모델(수수료+매도세)+진입필터(체결강도/호가)+cost sweep을 적용하다 — 필터 시 …
Py-CI-Park May 27, 2026
c80a9c9
feat: 시초 갭상승 필터전략의 레짐 robustness+슬리피지 검증 — 매년·5경계 OOS 양수, 38bp 슬리피지 생존
Py-CI-Park May 27, 2026
d87dd00
docs: 시초 갭상승 실제 체결비용(왕복 23bp) 확정 결과 — 전 필터 양수, ts_imb +0.9%/trade(de-…
Py-CI-Park May 28, 2026
e5d89c2
feat: 시초 갭상승 우상향 곡선을 대시보드 run 으로 발행하고 체결 de-idealization 게이트를 추가하다
Py-CI-Park May 28, 2026
5c56a47
docs: 2022 약세를 다중비교 보정으로 검정해 소표본 변동성(레짐 실패 아님)으로 결론짓다
Py-CI-Park May 28, 2026
13b4162
docs: STOM RL 마스터 재개 핸드오프를 자립형으로 확장하다 — 커밋 문서만으로 전체 작업 재현 가능
Py-CI-Park May 28, 2026
0402208
다음 대화가 STOM RL 랩을 안전하게 이어가게 한다
Py-CI-Park May 28, 2026
4a0937a
feat: STOM 갭상승 룰 Page A 사이징/리스크 설계 + RL 타당성 딥리서치
Py-CI-Park May 29, 2026
dd039c8
feat: R1 oracle-exit 천장 테스트 — 청산 RL 게이트 (RULE NOT RL)
Py-CI-Park May 29, 2026
f082992
feat: R1b 인과적 청산 baseline — 청산 RL 게이트 종결 (RULE NOT RL)
Py-CI-Park May 29, 2026
2b069fa
docs: Page B full universe 재검증 PASS + 세션 핸드오프
Py-CI-Park May 29, 2026
cfa5fd5
feat: Page C 유동성/슬리피지 + gap-through 꼬리 — 둘 다 PASS (RULE NOT RL)
Py-CI-Park May 29, 2026
f159840
feat: Page D 동결정책 paper replay (forward proxy) — 정책 작동 확인 + deadlock …
Py-CI-Park May 29, 2026
e3f0563
docs: 세션 핸드오프 갱신 — A→D 전체 완료 최종 상태
Py-CI-Park May 29, 2026
1495c76
docs: 딥러닝/RL 장초 20분 수익모델 게이트형 실험설계 (ultracode 연구)
Py-CI-Park May 29, 2026
d2fd50b
feat: P0+P1 예측 게이트 — robust ranking 신호 발견(조건부) (RULE NOT RL)
Py-CI-Park May 30, 2026
3948309
feat: P1b baseline-relative de-idealized 타이밍 게이트 — 결정적 NO-GO (RULE NO…
Py-CI-Park May 30, 2026
f8a2c56
docs: P1b bounded 수치를 포그라운드 실측으로 정정 (gbm CI, per-boundary, DSR 설정)
Py-CI-Park May 30, 2026
66933eb
docs: P1b full universe 확정 — 결정적 NO-GO, 룰 엣지는 마켓에이블 체결서 유지(+0.884%)
Py-CI-Park May 30, 2026
c141b5a
docs: 데이터 레이어 정밀 평가 — 1초봉은 알파 닫힘(적대검정), 비용/리스크/체결 진실레이어로 유지 (RULE NOT…
Py-CI-Park May 30, 2026
50ed7cc
feat: 실험2 초당거래대금 정합 재구성 — 용량 ~49배 과대 정정, 조건부 PASS로 강등 (RULE NOT RL)
Py-CI-Park May 30, 2026
717942a
feat: 실험3 SL예측 선행 게이트 — PREDICTABLE(AUC 0.58-0.61), GO로 skip-gate 빌드 …
Py-CI-Park May 30, 2026
e90cf10
docs: 실험3 §3 수치 정정 — summary.json 실측과 일치 (RULE NOT RL)
Py-CI-Park May 30, 2026
7adc190
docs: PPO 100k 전체 2730 episode 정직 재평가 — 소표본 +1.0% 환상 확정 (RULE lab)
Py-CI-Park May 31, 2026
943222b
docs: 2026-06-01 마스터 재개 핸드오프 — 새 세션이 STOM RL 랩 전체를 이어가게 한다
Py-CI-Park Jun 1, 2026
98ed015
Preserve STOM RL dashboard handoff before continuing research
Py-CI-Park Jun 11, 2026
250fe6c
Preserve STOM research guardrails before staging experiment work
Py-CI-Park Jun 11, 2026
d6fcb3c
Make the official dashboard surface evidence without lab/version wording
Py-CI-Park Jun 11, 2026
f27e1a6
Validate opening-thirty-minute hypotheses with cost-aware OOS evidence
Py-CI-Park Jun 11, 2026
d6997f8
Record June STOM research decisions without softening NO-GO results
Py-CI-Park Jun 11, 2026
f663e45
Update official dashboard prebuilt assets
Py-CI-Park Jun 11, 2026
d79966b
Repair held-out STOM research documents
Py-CI-Park Jun 11, 2026
a33878a
Ignore local workflow and generated prediction state
Py-CI-Park Jun 11, 2026
8c63345
feat: add daily ohlcv rl research core
Py-CI-Park Jun 18, 2026
06e70cf
feat: add daily ohlcv dashboard backend api
Py-CI-Park Jun 18, 2026
7c25a44
feat: add daily ohlcv dashboard frontend
Py-CI-Park Jun 18, 2026
6ed5aac
chore: rebuild dashboard frontend dist
Py-CI-Park Jun 18, 2026
e232939
docs: add daily ohlcv research governance ledger
Py-CI-Park Jun 18, 2026
64f2401
Merge PR #2: daily ohlcv rl research core
Py-CI-Park Jun 19, 2026
15dbdb3
Merge PR #3: daily ohlcv dashboard backend api
Py-CI-Park Jun 19, 2026
b107fd8
Merge PR #4: daily ohlcv dashboard frontend
Py-CI-Park Jun 19, 2026
5ea9abf
Merge PR #5: rebuild dashboard frontend dist
Py-CI-Park Jun 19, 2026
34dbe2a
Merge PR #6: daily ohlcv research governance ledger
Py-CI-Park Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,17 @@ __pycache__/
build/
develop-eggs/
dist/
# [REV-7] Vite 빌드 산출물은 prebuilt 정책으로 commit 한다 (위 dist/ 규칙의 예외)
!webui/static/v2/dist/
!webui/static/v2/dist/**
downloads/
eggs/
.eggs/
lib/
lib64/
# Python lib/ 규칙의 예외 — Svelte 소스 디렉터리는 commit 한다
!webui/v2_src/src/lib/
!webui/v2_src/src/lib/**
parts/
sdist/
var/
Expand Down Expand Up @@ -48,16 +54,38 @@ Desktop.ini
*.parquet
*.h5
*.hdf5
_database/
finetune_csv/data/stom_*.csv
finetune_csv/data/stom_*.json
webui/stom_predictions/*.csv
webui/stom_predictions/*.json
webui/stom_predictions/
webui/qlib_backtests/*.json
webui/qlib_backtests/*.csv
webui/rl_runs/
finetune/qlib_exports/
finetune/qlib_backtests/
finetune/outputs/
finetune/data/processed_datasets/
finetune/data/stom_qlib*/
qlib_data/

# Model files (large files)
*.pth
*.pt
*.ckpt
*.bin
finetune_csv/finetuned/

# Logs
*.log
logs/
.omx/
# Local agent/workflow/session state
.codegraph/
.gjc/
.omc/
.omo/

# Environment
.env
Expand Down
135 changes: 135 additions & 0 deletions .omc/skill-candidates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Kronos v2 — 스킬 후보 (session-wrap 2026-05-18 추출)

본 세션에서 7개 탭에 걸쳐 반복적으로 등장한 패턴들. 추후 `/oh-my-claudecode:skillify` 또는 `/oh-my-claudecode:learner` 로 재사용 스킬로 변환 가능.

---

## P1 · 5단 카드 헤더 패턴

**등장**: 7개 탭 전부, ~20곳 이상

```svelte
<div class="card">
<div class="card-header">
<div>
<div class="card-eyebrow">{ENDPOINT_OR_PHASE}</div>
<div class="card-title">{HUMAN_TITLE}</div>
</div>
<span class="pill {STATUS_KIND}"><span class="dot"></span>{STATUS_LABEL}</span>
</div>
<!-- body -->
</div>
```

5층 계층: card → header → eyebrow(작은 라벨) → title(굵은 제목) → 우측 status pill. 데이터 출처 표기(/api/...)는 eyebrow 에, 사람이 읽는 제목은 title 에, 현재 상태는 pill 에.

---

## P2 · KPI 메트릭 스트립 (.metric × N)

**등장**: Live Training, History, System Health, STOM, Artifacts

```svelte
<section class="grid-1-1-1-1">
<div class="metric">
<div class="metric-head">
<span class="metric-label">{LABEL}</span>
<span class="delta {up|down|flat}">▼ {pct}%</span>
</div>
<div class="metric-value tnum">{value}<span class="metric-unit">{unit}</span></div>
<div class="metric-foot">{context_data}</div>
</div>
...
</section>
```

핵심: `tabular-nums` 로 숫자 정렬 + delta 화살표 색상 분기(▼=down=success / ▲=up=danger) + 미니 컨텍스트.

---

## P3 · Status Pill 4-way 분기

**등장**: 모든 탭

```ts
function statusKind(s: string): 'success' | 'danger' | 'accent' | 'warn' | '' {
if (['completed','complete','success','done'].includes(s)) return 'success';
if (['failed','error'].includes(s)) return 'danger';
if (['running','active'].includes(s)) return 'accent';
if (['waiting','pending'].includes(s)) return 'warn';
return '';
}
```

색상 매핑 단일 owner 함수 → CSS `.pill.success / .danger / .accent / .warn` 와 자동 매칭.

---

## P4 · ECharts theme-aware palette 추출

**등장**: W3, W5, SystemHealth, Forecast

```ts
let palette = $derived.by(() => {
void currentTheme; // ← theme store 의존성 강제 등록
if (typeof window === 'undefined') return null;
const cs = getComputedStyle(document.documentElement);
return {
accent: cs.getPropertyValue('--accent').trim(),
grid: cs.getPropertyValue('--border-faint').trim(),
text: cs.getPropertyValue('--fg').trim(),
// ...
};
});
```

light/dark 전환 시 CSS 변수가 자동으로 바뀌고 `theme` store 구독으로 derived 가 재계산 → ECharts option 이 새 palette 로 setOption 호출됨.

---

## P5 · Svelte 5 stores + subscribe 패턴

**등장**: 모든 컴포넌트

```svelte
<script lang="ts">
import { trainingStatus } from '$lib/stores';

let status = $state<any>(null);
trainingStatus.subscribe((v) => (status = v));

let latest = $derived(status?.latest_stage ?? {});
let pct = $derived(latest?.overall_percent ?? 0);
</script>
```

핵심: `$state + subscribe + $derived` 3단 체인으로 store 데이터를 reactive 하게 사용. App.svelte 가 polling 시작 → stores 갱신 → 모든 컴포넌트가 자동 업데이트.

---

## P6 · data-active 속성 기반 토글

**등장**: Sidebar nav, tabs, seg buttons, file rows

```svelte
<button
data-active={current === id ? 'true' : 'false'}
onclick={() => current = id}
>...</button>
```

```css
.nav-item[data-active="true"] { background: var(--accent-soft); border-color: var(--accent); }
.tabs button[data-active="true"] { border-bottom: 2px solid var(--accent); color: var(--accent-strong); }
```

class 분기 대신 data attribute 로 토글 — CSS attribute selector 가 더 가벼우면서 JS 코드 단순화.

---

## 변환 우선순위

가장 가치 큰 순서:
1. **P1 (5단 카드 헤더)** — 새 탭 추가 시 boilerplate 자동화
2. **P4 (ECharts palette 추출)** — 다른 차트 라이브러리 도입 시 동일 패턴 재사용
3. **P3 (Status pill 분기)** — 다른 도메인의 status 표시 통일
98 changes: 98 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Kronos Project Knowledge Base

**Generated:** 2026-06-03 KST
**Last reviewed:** 2026-06-03 KST, init-deep update mode
**Branch observed:** `feature/stom-rl-lab`
**Commit observed:** `943222b`

## Overview

Kronos is now a combined research/operations repo: core Kronos model code, STOM
1-second/tick data pipelines, rule/RL trading research, and the official Flask +
Svelte dashboard for inspection. Treat it as an experimental trading research
platform, not as a live-trading product.

## Current Direction

| Area | Current stance | Reason |
|---|---|---|
| `ts_imb` opening gap-up rule | Main research baseline | Prior docs show the strongest useful curve here; it is a RULE strategy, not RL. |
| Skip-gate / state-exit gates | Deprioritize unless new hypothesis is preregistered | Full-universe docs report `NO-GO`. |
| Plain PPO/DQN RL | Do not present as usable | Existing PPO/DQN/orderbook runs are `NO-GO` or research-only. |
| Orderbook RL | Keep as isolated experiment/falsification tool | Useful for testing action design and dashboard comparison, not live readiness. |
| Dashboard | Continue as evidence viewer | It should expose failure, baselines, costs, and split metadata clearly. |

## Structure

```text
Kronos/
+-- model/ # Kronos model/tokenizer implementation
+-- finetune/ # STOM/Qlib export, training, evaluation CLIs
+-- stom_rl/ # STOM rule/RL experiments, gates, backtests, readiness
+-- webui/ # Flask API and official dashboard adapters
+-- webui/v2_src/ # Svelte/Vite dashboard source (internal path name)
+-- tests/ # pytest coverage for model, STOM, web, dashboard
+-- docs/ # handoff, verdict, preregistration, result documents
+-- _database/ # local data; do not mutate casually
+-- .omx/artifacts/, webui/rl_runs/ # generated experiment artifacts
```

## Where To Look

| Task | Location | Notes |
|---|---|---|
| RL/orderbook environment | `stom_rl/orderbook_rl_env.py` | Marketable-fill, orderbook feature environment. |
| SB3 orderbook smoke | `stom_rl/orderbook_sb3_smoke.py` | Research-only DQN/PPO-style experiments. |
| Gap-up rule baseline | `stom_rl/gap_up_backtest.py` | Main `ts_imb` rule reference. |
| Skip/state gates | `stom_rl/skip_gate.py`, `stom_rl/state_exit_gate.py` | Existing full-universe `NO-GO` results. |
| RL dashboard backend | `webui/rl_dashboard.py`, `webui/app.py` | Read-only artifact/API layer. |
| RL dashboard frontend | `webui/v2_src/src/tabs/RLTradingTab.svelte` | Main RL/trading dashboard tab. |
| Latest direction docs | `docs/stom_rl_resume_commit_2026-05-29.md`, `docs/stom_state_exit_result_2026-06-02.md` | Re-read before changing strategy direction. |

## Trading Honesty Rules

- Do **not** call the gap-up `ts_imb` curve "reinforcement learning". It is a
rule strategy unless a real RL policy produced it.
- Do **not** claim live-trading readiness, profitability, or broker readiness.
Current work is local backtest/research/dashboard evidence only.
- Primary cost assumption is 23bp round trip unless a test/document explicitly
states otherwise.
- For high-frequency/opening work, prefer marketable-fill accounting where
possible (`buy@ask`, `sell@bid`) and label assumptions.
- Preserve leading-zero stock codes. Never coerce codes like `000250` to int.
- Treat local Korean DB columns and generated docs as UTF-8-sensitive.
- Negative/shuffle controls and OOS splits are not optional for alpha claims.
- If a model fails cost gate, baseline comparison, or drawdown gate, surface
`NO-GO` plainly in docs and UI.

## Commands

```powershell
# Core RL/dashboard regression set
py -3.11 -m pytest tests/test_stom_rl_dashboard_api.py tests/test_stom_rl_dashboard_tab.py tests/test_stom_rl_orderbook_env.py tests/test_stom_rl_orderbook_sb3.py -q

# Broader STOM rule/gate checks
py -3.11 -m pytest tests/test_stom_rl_gap_up_backtest.py tests/test_stom_rl_skip_gate.py tests/test_stom_rl_state_exit_gate.py tests/test_stom_rl_marketable_fill.py -q

# Svelte dashboard build/check
cd webui/v2_src
npm run build
```

## Status Hygiene

- Keep source/docs changes separate from generated outputs.
- Treat `.omc/`, `.codegraph/`, `.omx/artifacts/`, `webui/rl_runs/`, and
frontend dist assets as generated/session state unless explicitly requested.
- If committing later, review untracked files carefully before staging.
- `webui/v2_src` expects Node 20 or 22 and npm 9+ per `package.json`.

## Gotchas

- `webui/rl_runs/`, `.omx/artifacts/`, `finetune/outputs/`, and large CSV/DB
directories are generated data. Use them as evidence; do not design from one
cherry-picked artifact.
- `webui/v2_src` is a separate frontend project with its own package scripts.
- `webui/app.py` is broad and central; API changes need targeted tests.
- Existing docs intentionally use `NO-GO` heavily. Treat those as guardrails,
not as failure to hide.
Loading