db4322006d
fix(stock-lab): screener DB connection WAL 모드 + busy_timeout 30s
...
snapshot/refresh 직후 /run mode=auto가 'database is locked'으로 500
실패하던 증상 fix. SQLite 기본 rollback journal 모드 + busy_timeout=0
조합에서 long write transaction과 read가 겹치면 즉시 OperationalError.
PRAGMA journal_mode=WAL: reader가 writer를 block 안 함
PRAGMA busy_timeout=30000: 30초 대기 후 timeout (즉시 실패 X)
sqlite3.connect timeout=30: connection 획득 자체에도 대기 적용
agent-office 자동 잡 16:30 KST 흐름 안정화.
2026-05-13 16:50:25 +09:00
a05e6ba8ca
feat(stock-lab): 텔레그램 노드 풀 라벨 + 원 단위 표기
...
- 아이콘(👤 외/🆙 고/...) 제거하고 풀 한글 라벨로 변경
(외국인/거래량급증/20일모멘텀/52주신고가/RS레이팅/이평선정배열/VCP수축)
- 가격은 "103,917원" 형태로 원 단위 명시
- 활성 노드 없을 때 fallback 문구
- 테스트도 새 포맷으로 갱신 + 원 단위 검증 신규 케이스
2026-05-13 07:52:17 +09:00
c4cb18a25c
feat(stock-lab): /run mode=auto 공휴일·주말 skipped_holiday 처리
2026-05-12 13:49:45 +09:00
50e811c5dd
feat(stock-lab): /snapshot/refresh + /runs 리스트·상세 라우터
2026-05-12 13:47:16 +09:00
5ec7c2461b
feat(stock-lab): /run 엔드포인트 — preview/manual_save/auto 모드 매트릭스
2026-05-12 13:44:21 +09:00
5f0fed7f13
feat(stock-lab): /nodes + /settings 라우터 + main.py include
...
- screener/router.py: APIRouter prefix=/api/stock/screener
- GET /nodes: NODE_REGISTRY + GATE_REGISTRY 메타 노출 (7 score + 1 gate)
- GET /settings: screener_settings 싱글톤 row 조회
- PUT /settings: 가중치/노드/게이트 파라미터 round-trip
- main.py: screener_router include (FastAPI 생성 직후)
- db.py: STOCK_DB_PATH 환경변수 지원 (테스트 격리, 기본값 /app/data/stock.db 유지)
- test_screener_router.py: 3 tests (nodes list, settings GET, PUT round-trip)
2026-05-12 13:41:24 +09:00
070f2de3f1
feat(stock-lab): screener Pydantic 스키마
2026-05-12 13:37:23 +09:00
01ebd2e7d9
feat(stock-lab): telegram.py 메시지 빌더 (Top10 + 아이콘 + 페이지 링크)
2026-05-12 09:34:53 +09:00
7db9869722
feat(stock-lab): Screener 엔진 + combine + ScreenerResult + 노드 레지스트리
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 09:29:10 +09:00
97cb38ca7f
feat(stock-lab): position_sizer — ATR Wilder + entry/stop/target
2026-05-12 09:25:49 +09:00
90c408aa77
feat(stock-lab): VcpLite 노드 — 변동성 수축률 백분위
2026-05-12 09:07:59 +09:00
55f2fa9cff
feat(stock-lab): MaAlignment 노드 — 이평선 정배열 5조건 룰 점수
2026-05-12 09:06:45 +09:00
3ded781059
feat(stock-lab): RsRating 노드 — IBD 가중 시장초과수익 백분위
2026-05-12 09:02:28 +09:00
4eaeea9833
feat(stock-lab): High52WProximity 노드 — 신고가 대비 근접도 룰 점수
2026-05-12 08:59:55 +09:00
9709e5b019
feat(stock-lab): Momentum20 노드 — N일 수익률 백분위
2026-05-12 08:58:43 +09:00
94d6a39ce8
feat(stock-lab): VolumeSurge 노드 — log(최근/평균) 거래량 급증
2026-05-12 08:54:47 +09:00
804fdcba26
feat(stock-lab): ForeignBuy 노드 — 외국인 N일 누적 순매수 강도
2026-05-12 08:19:44 +09:00
779e78405e
feat(stock-lab): HygieneGate — 위생 필터 (시총/거래대금/우선주/관리종목)
2026-05-12 07:59:32 +09:00
16a651f670
feat(stock-lab): ScoreNode/GateNode 추상 + percentile_rank 유틸
2026-05-12 07:52:01 +09:00
e508b7dc35
feat(stock-lab): ScreenContext.load/restrict + 합성 픽스쳐
2026-05-12 07:49:15 +09:00
6c5481971b
feat(stock-lab): FDR 종목 마스터+일봉 + naver 외국인 수급 (snapshot)
2026-05-12 07:41:40 +09:00
d7e235c008
feat(stock-lab): screener 스키마 7테이블 + 디폴트 설정 시드
2026-05-12 04:10:36 +09:00
8707d322e4
chore(stock-lab): FDR/네이버 데이터 의존성 + screener 패키지 골격
2026-05-12 04:07:52 +09:00