작성일: 2026-03-10
용도: 백엔드 ERD 설계 시 ML 출력 데이터 구조 참조
키 식별자:
(ticker, date)조합으로 모든 테이블 조인 가능
모든 모델은 내부적으로 float64 (소수점 16~17자리)를 출력하지만, 실질적으로 유효한 자릿수는 훨씬 적습니다. 패킷 JSON에서는 round(f, 6)으로 6자리 반올림 적용됩니다.
| 데이터 유형 | 원시 출력 예시 | 유효 자릿수 | ERD 권장 타입 | 이유 |
|---|---|---|---|---|
| 확률값 (0~1) | 0.4129498324862139 |
4자리 | DECIMAL(6,4) |
확률 합=1 제약, 4자리 이후는 노이즈 |
| 변동성 (%) | 32.19986106597954 |
2자리 | DECIMAL(7,2) |
30.70% vs 30.695%는 무의미한 차이 |
| 백분위 (0~100) | 91.26984126984127 |
1자리 | DECIMAL(4,1) |
91.3% 수준의 정밀도면 충분 |
| GARCH 파라미터 | 0.2583477525079521 |
6자리 | DECIMAL(10,6) |
모델 재현성을 위해 보존 |
| 이진 플래그 | 1.0 or 0.0 |
0자리 | BOOLEAN |
0 또는 1만 존재 |
| 모델 | 필드 | 원시 자릿수 | 유효 자릿수 | 근거 |
|---|---|---|---|---|
| LightGBM | prob_up/down/sideways |
16자리 | 4자리 | softmax 확률, 합=1 제약 |
| LightGBM | confidence |
16자리 | 4자리 | max(prob)이므로 동일 |
| LSTM | prob |
16자리 | 4자리 | sigmoid 출력, 0~1 |
| GARCH | vol_1d/3d/5d |
14자리 | 2자리 | 연환산 변동성(%), 소수점 2자리면 충분 |
| GARCH | percentile_vs_1y |
14자리 | 1자리 | 백분위(0~100) |
| GARCH | omega/alpha/beta |
16~17자리 | 6자리 | 모델 파라미터, 재현성 필요 |
| 앙상블 | ensemble_confidence |
16자리 | 4자리 | LogisticRegression 확률 |
| 앙상블 | signal_agreement |
1자리 | 0자리 | 0.0 또는 1.0 (이진) |
| 앙상블 | confidence_gap |
16자리 | 4자리 | 확률 차이값 |
| 패킷 JSON | 모든 float | 6자리 | 6자리 | _safe_float(round(f, 6)) 적용 |
파일: processed/lgbm_features/lgbm_predictions_2021_01.parquet
인덱스: MultiIndex (date, ticker)
갱신 주기: 학습 시 1회 (일별 추론 시 매일)
| 컬럼 | 타입 | 범위 | 유효 소수점 | 설명 |
|---|---|---|---|---|
predicted_class |
int | 0, 1, 2 | - | 예측 클래스 (0=하락, 1=횡보, 2=상승) |
confidence |
float | 0.33~1.0 | 4자리 | 최대 확률값 |
prob_down |
float | 0.0~1.0 | 4자리 | 하락 확률 |
prob_sideways |
float | 0.0~1.0 | 4자리 | 횡보 확률 |
prob_up |
float | 0.0~1.0 | 4자리 | 상승 확률 |
predicted_label |
string | "down", "sideways", "up" | - | 예측 클래스 라벨 |
true_class |
int | 0, 1, 2 | - | 실제 클래스 (검증용) |
true_label |
string | "down", "sideways", "up" | - | 실제 클래스 라벨 (검증용) |
제약:
prob_down + prob_sideways + prob_up = 1.0
CREATE TABLE ml_lgbm_prediction (
id BIGSERIAL PRIMARY KEY,
ticker VARCHAR(10) NOT NULL,
date DATE NOT NULL,
predicted_class INT NOT NULL, -- 0=하락, 1=횡보, 2=상승
confidence DECIMAL(6,4) NOT NULL, -- 0.3300~1.0000
prob_down DECIMAL(6,4) NOT NULL, -- 0.0000~1.0000
prob_sideways DECIMAL(6,4) NOT NULL, -- 0.0000~1.0000
prob_up DECIMAL(6,4) NOT NULL, -- 0.0000~1.0000
created_at TIMESTAMP DEFAULT NOW(),
UNIQUE(ticker, date)
);
파일: processed/lstm_sequences/lstm_predictions_2021_01.parquet