feat(ui): 예측 오버레이 캔들화 + 7탭 기간 셀렉터 + 가격 헤로
- 예측 오버레이: 라인 시리즈 3개 (median/q10/q90) 를 단일 캔들 시리즈 하나로 합쳤다. 합성 OHLC: open=직전 close, close=point_close, high=ci_high, low=ci_low. 옅은 색 (up #fda4af / down #93c5fd) 으로 실 캔들과 시각 톤은 같고 명도만 낮춰 "어우러지되 미래"임이 보이게. - 예측 프리셋 단순화: 단기/중기/장기 + 직접입력 다 떼고 15일/30일/1년 3개로. 백엔드 horizon cap 30 → 252 로 확장 (1년 = 240 거래일). - PriceHero: 종목명/현재가/등락 큰 글씨 헤더. KR 관례대로 상승=빨강, 하락=파랑. - PeriodTabs: 1일/1주/1달/3달/1년/5년/최대 7탭. 기존 interval+days 이중 컨트롤 제거. 5년·최대 는 자동으로 주봉/월봉으로 폴백. - 차트 본체 캔들 색조도 KR 관례 (적/청) 로 통일. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -40,8 +40,11 @@ def predict_endpoint(
|
||||
|
||||
try:
|
||||
hs = tuple(int(x) for x in horizons.split(",") if x.strip())
|
||||
if not hs or any(h < 1 or h > 30 for h in hs):
|
||||
raise ValueError("invalid horizons")
|
||||
# cap 을 252 거래일 (대략 1년) 까지 허용. 30 거래일 너머는 모델 학습 범위 밖이라
|
||||
# 신뢰성이 떨어지지만, 프론트가 1년 프리셋을 요청하기 때문에 게이트만 풀어둔다.
|
||||
# 사용자에게는 신뢰구간 폭으로 불확실성이 자연 전달됨.
|
||||
if not hs or any(h < 1 or h > 252 for h in hs):
|
||||
raise ValueError("invalid horizons (1..252)")
|
||||
except ValueError as exc:
|
||||
raise HTTPException(status_code=400, detail=f"bad horizons: {exc}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user