kyu
a9e805be05
feat: 자동매매 자본금 설정값 분리 (하드코딩 ₩1천만 제거)
...
trading/pipeline/head This commit looks good
손실%·포지션사이즈 기준 자본금을 .env TRADE_DEFAULT_CAPITAL로 설정 가능하게 분리.
- TRADE_SETTINGS['default_capital']을 env에서 로드(미설정 시 1천만)
- /trade/propose·/trade/scan의 하드코딩 Query default 제거 → 설정값 폴백
- docker-compose score-engine에 TRADE_DEFAULT_CAPITAL 전달
- 런타임 변경은 기존 POST /trade/settings 그대로 (재시작 시 env로 복귀)
- /performance/simulation의 capital은 what-if 입력값이라 유지
검증: 컨테이너 env 인식·/trade/settings 반영·런타임 override(5천만)·healthy 확인.
실잔고(키움) 자동연동은 계좌번호 미설정으로 별도 과제.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 15:45:46 +09:00
kyu
b3c5032f72
fix: 트레이딩 로직/AI 정확도 8종 수정 (Altman 과발생·CV누수·MACD·손절역전)
...
트레이딩 전문가 관점 로직 감사 후 라이브 추천·자동매매 영향 8종 수정.
[명백한 버그]
- MACD 시그널선: macd_line[-9:] 9개만 EMA→평활 거의 안 됨. 전체 시리즈로 수정 (ta-engine)
- 매수 손절가 역전: 하락추세(price<MA60)서 ma60*0.95가 진입가 위로 올라가 RR 역전·즉시손절
→ [-10%,-4%] 밴드로 클램프. 매도(숏)도 대칭 수정 (ta-engine)
- 12-1 모멘텀: closes[-1]은 보유데이터 길이(200~259)따라 룩백 가변→closes[min(251,len-1)] 12개월 고정
[모델 품질]
- Ridge 무스케일 학습: 피처 -100~수천 혼재로 L2 왜곡. StandardScaler 파이프라인 +
계수 원본공간 역변환 저장(predict-price 무변경, 재구성 오차 3.5e-15)
- CV 패널 누수: 인덱스 분할이 같은 score_date를 train/test로 가르고 +30일 라벨윈도가
test 피처와 겹침. 날짜분할 + 임바고(7d→12일/30d→39일)로 차단→정직한 IC/r2
[캘리브레이션·리스크]
- Altman Z: 2항 변형에 원본 4항 임계값(2.6/1.1) 적용→전시장 31%가 '부도위험' 오발생.
실측분포(중앙값1.98/p10 0.51) 기준 부도0.7/안전3.0 재보정
- 일일 -3% halt: realized_pnl만 봐서 평가손실·무매도일 누락. 미실현손익 합산으로 수정
빌드·재기동·라이브 스모크 검증 완료. 자동매매 capital 실잔고 연동은 향후 과제(paper모드 무관).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 13:41:52 +09:00
kyu
0c8724a542
feat: 추천 정확도 측정 신뢰화 (median 집계 + 30일 verdict + OHLCV 이상치 감지)
...
- /accuracy 집계를 AVG→중앙값(percentile_cont): 동전주·불량데이터 이상치가
평균을 왜곡해 강력매도가 +12% 띄던 가짜 역전 제거 (중앙값은 정상 변별)
- verdict를 7일→30일 기준 3티어로(양호/부분유효/교정필요) + 30일 표본부족 폴백.
응답에 buy_alpha30/sell_alpha30/spread30/basis 추가
- data-health에 OHLCV 이상치 감지룰 추가: KRX ±30% 일일제한 초과(>0.35)는
정의상 불량(스케일버그·권리락). YELLOW 경고, 급증시 RED
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 00:27:31 +09:00
kyu
3eab710dce
feat: 개인 수급 컨트래리언 점수 반영 (기관+개인 수급 시그널 ±15)
...
inst_daily_flow.individual_net 5일 합산 추가. calc_inst_flow_signal에 개인
컨트래리언 로직: 개인 순매수=감점(과열), 개인이탈+큰손매집=가점, 개인매수+큰손매도=분산 감점.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 22:45:15 +09:00
kyu
05682a8a3e
feat: 공매도 점수 양방향화 (과매도+공매도과다 → 숏스퀴즈 반등 가산)
...
calc_short_score에 RSI 전달, 거래비중≥5% + RSI≤35면 숏커버링 반등 기대로
최대 +35 가산해 단방향 패널티 상쇄. 기관/외국인 수급은 기존대로 반영 중
(외국인 calc_foreign_score 14%, 기관 flow_sig ±10 aux_total).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 22:12:11 +09:00
kyu
04ab01a166
fix: 주간 자동학습 lambda async 버그 수정 (learn_weights/learn_pricing)
...
일요일 가중치·가격모델 학습이 lambda:coro()로 등록돼 APScheduler가 await 못해
실제로 안 돌던 버그(weight_config 05-24 이후 스케줄 갱신 0) → 명명 코루틴 함수
(_learn_weights_job/_learn_pricing_job)로 교체. learn_weights 수동검증 OK(표본10,683).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 19:47:17 +09:00
kyu
cacdeb7bda
fix: 브리핑 중복발송 쓰로틀 + 람다 async 스케줄러 버그
...
- send_briefing에 30분 쓰로틀(_last_briefing_sent) — n8n 중복/재시도로 /briefing/send가
분당 수십 회 호출돼 같은 브리핑이 3~4건+씩 발송되던 폭주를 원천 차단.
- 스케줄러 lambda:coro() → 명명 코루틴 함수(_daily_score_notify/_ta_intraday/_ta_close).
APScheduler가 lambda 반환 코루틴을 await 안 해 16:30 일간리포트·TA 장마감분석이
'coroutine never awaited'로 실행 안 되던 버그 수정.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 16:41:26 +09:00
kyu
c5ef30b2be
feat: 모의 자동매매 자동체결 + 손익/이력 조회
...
- score-engine: TRADE_SETTINGS.auto_execute(기본 True) — auto_trade_scan_job이 제안한
pending 주문을 즉시 자동 체결(모의). 체결로직을 _fill_order로 추출(수동버튼/자동 공용).
/trade/history: 체결이력+일별 실현/평가손익+보유 평가손익. (전부 DB 시뮬레이션, 실제 브로커 전송 없음)
- dashboard-api: /api/trade-history 프록시.
- 가드 그대로: 종목당10%·일일손실-3% halt·강력매수+두LLM일치+확신도4·손절-8%·익절+15%.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 13:16:30 +09:00
kyu
0cb1b736a9
feat: CIO 매도 결정안 + 결정안 성과추적 + 대시보드 표시
...
- score-engine: run_cio_decisions에 보유종목(user_portfolio) 매도 결정안(등급악화/손절)
추가, 모든 결정안에 entry_price 기록. verify_decisions_job(매일18:10)이 7일 실측
수익·알파·정답여부 채점 → /decisions/accuracy (자동실행 게이트, "회사 결정이 실제 맞았나").
- dashboard-api: /api/data-health·accuracy·hot-validate·decisions·decisions-accuracy 프록시.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 12:42:12 +09:00
kyu
84fd3833ff
feat: CIO 종합 에이전트 — 오늘의 결정안 (dry-run)
...
/decisions/generate + /decisions: 점수+보팅+핫검증+시장레짐 종합해 매수 결정안
(확신도1~5·제안비중·논거·리스크노트) 생성→daily_decisions 저장. 약세장 사이즈 축소,
분식의심/이익품질/핫검증 통과를 리스크노트로. 평일 09:20 텔레그램 보고(자동실행 OFF).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 12:34:43 +09:00
kyu
e33dffb0e1
feat: 핫종목 검증팀 — 키움 핫 × 가치/품질 노이즈필터 (dry-run)
...
/hot/validate: 키움 거래량급증(ka10023) 종목을 ETF/파생·초소형(작전)·영업적자·
분식의심(Beneish≥50)·음수점수로 걸러 '검증통과'만 추림. 평일 09:35 통과분 1회 보고.
현재 핫 30개 중 77%가 ETF/파생 노이즈로 확인.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 12:32:16 +09:00
kyu
5c721e6b70
feat: 데이터 토대 + 정확도 검증 (AI 투자조직 Phase 0~1)
...
- score-engine: 일간리포트 텔레그램을 notify=True(16:30 1회)로 게이팅 → 호출마다
발신되던 폭주 제거. 데이터 무결성 모니터(/data-health + 평일 매시간 경고).
정확도 검증 하베스트(/accuracy + 주간 리포트) — 추천 등급별 실측 알파/적중률.
- ta-engine: job_analyze가 is_active=true 전 활성종목 시총순 커버(장중 상위500·
장마감 전종목). 기존 LIMIT 500·무필터로 LS 등 누락되던 버그 수정.
- docs/ai_org.md: 데이터우선 마스터 기획(데이터→검증→지능→실행).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 12:29:02 +09:00
kyu
97cf5aecb0
chore: 누적 미커밋 작업분 일괄 커밋
...
trading/pipeline/head This commit looks good
이번 세션 외 그간 쌓인 변경 일괄 저장:
- bareunaapi: finance_dict 금융용어 / stock_loader 종목 로더 보강
- kis-api: 키움 토큰·수집 로직
- us-market / dart-collector: 수집 보강
- docker-compose: GEMINI_API_KEY 등 환경변수 추가
- score-engine/news-collector requirements, CLAUDE.md
- 신규: PROJECT.md, news-collector/sentiment_rules.py
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 01:24:16 +09:00
kyu
8b200e6cc6
feat: 핫종목 렌즈 + 뉴스 파서 견고화 + 텔레그램 알림 2회 축소
...
- news-collector: EXAONE JSON 파서 견고화(max_tokens 800 + 관대 파싱 → 파싱실패율 9.3%→3.3%),
평일 18:30 종목뉴스 스위프(중형주 신선도 사각지대 해소), /process/raw reprocess 플래그,
파싱실패→Gemini 폴백 라우팅(일일캡 1→50 상수화)
- score-engine: /hot 모멘텀 렌즈(뉴스+거래량, 백테스트로 가격 제외) + /hot/backtest,
텔레그램 정기 브리핑 2회로 축소(중복 send_briefing 자동스케줄 제거)
- dashboard-api: /api/hot 프록시 + 🔥 지금뜨는 탭
- telegram-bot: /hot 명령 + 한글(뜨는/핫/급등) 라우팅
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 01:22:23 +09:00
kyu
da36454e21
score-engine: 백필 모드로 가중치 학습 표본 87 → 15,287 (175배)
...
calculate_daily_scores가 today 하드코딩이라 과거 시점 score 재계산 불가, 결과적으로
가중치 학습이 18일치 빈약 표본(87건)으로만 돌아 10공식 중 7개 가중치=0,
백테스트 평균 -5.59%·승률 12.6%로 시스템이 거짓 패턴 학습 중이었음.
as_of: date 매개변수로 백필 모드 도입, look-ahead bias 차단:
- 헬퍼 7개(_load_insider/consensus/macro/inst_flow, calc_market_regime,
calc_trend_score, calc_momentum/amihud/beta) 시점 매개변수화
- weight_config는 config_date <= as_of 필터
- reliability/credibility 캐시는 백필 모드 비활성화
- DART 재무는 보고서 종류별 표준 공시일 추정으로 시점 필터
- analyst_consensus는 이력 미보존이라 백필 모드 제외
POST /score/backfill, GET /score/backfill/status 엔드포인트 추가.
96일치 백필 결과: GP/A(Novy-Marx 2013)가 진짜 알파 공식으로 학습됨,
강력매수 등급 평균 +2.96%·승률 66.7%·시장 알파 -0.31%로 거의 시장 따라잡음.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-25 00:48:39 +09:00
kyu
47e7a5fb66
감성평가 정확성 강화 (A+B+C+D+E)
...
score-engine/main.py:
A) 시간감쇠: exp 3일 반감기 (3d→0.5, 7d→0.2)
A) 유사뉴스 중복 보정: sqrt(similar_count) cap 2.5x
C) catalyst 패턴 매칭: "영업이익 급증" 등 세분 라벨을 실적/수주/배당/리스크/
M&A/신제품/규제/정책/모멘텀 9개 그룹으로 통합
B) calc_sentiment_momentum: 최근 3일 vs 이전 4일 변화율 (-50~+50)
D) calc_market_sentiment_baseline + per-stock sentiment_alpha
(-100~+100, 시장 평균 대비 고유 edge)
E) calc_news_surge_and_attention: 7d/28d 비율 + log 관심도(0~100)
종합점수 통합:
- news_score (0.18)는 A+C로 직접 정확도 향상
- sentiment_momentum * 0.06 + sentiment_alpha * 0.03 → max ±5 보너스
- surge≥3 AND news_score>10 → +2 (강한 호재 attention 가산)
stock_scores 스키마: 4컬럼 추가
- sentiment_momentum, sentiment_alpha, attention_score, news_surge_ratio
dashboard-api:
- /api/formulas/matrix: 5컬럼(news_score + 4신규) 추가 노출
- index.html: 10공식 매트릭스에 뉴스/M/α/관심/× 5컬럼 추가
검증: 1464종목 재산출 완료. attention >0 종목 1294(88%), 모멘텀 변동 259종목.
추천 분포 안정 (강력매수 19 / 매수관심 104 / 관망 1249 / 매도관심 73 / 강력매도 22).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 22:54:17 +09:00
kyu
6d3b0bacc0
Initial commit: Korean stock value-investing AI pipeline
...
- 19개 마이크로서비스 (news-collector, score-engine, ta-engine, dart-collector,
aux-signal, us-market, graph-engine, telegram-bot, dashboard-api, kis-api 등)
- 가치투자 스코어링 + 10공식 앙상블 보팅 (매직포뮬러/F-Score/Altman/PEG/
모멘텀/Beneish/GP-A/G-Score/Amihud/BAB)
- 뉴스 수집→형태소→임베딩→중복제거→AI분석 파이프라인
- 기술적분석 + GAT 그래프신경망 + 미증시 동조 시그널
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 21:33:56 +09:00