Files
QuantEngineByItz/spec/12_field_dictionary.yaml

4446 lines
122 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
meta:
title: 은퇴자산포트폴리오 — LLM 실행용 필드 사전
parent_file: RetirementAssetPortfolio.yaml
version: 2026-05-20-HARNESS_V4
language: ko-KR
timezone: Asia/Seoul
role: canonical
has_code_implementation: true
code_path: spec/14_raw_workbook_mapping.yaml
purpose: 'LLM이 동일 필드를 여러 이름으로 해석하지 않도록 canonical field, alias, 타입, 단위, 누락 정책을 고정한다.
알고리즘 파일은 이 사전의 canonical_name을 사용한다.
'
field_dictionary:
policy:
canonical_name_required: true
alias_resolution_order:
- exact canonical_name
- aliases
- source_column
unknown_field_action: DATA_MISSING으로 처리하고 임의 추정 금지
unit_conflict_action: DATA_CONFLICT. 계산·수량 산출 금지
fields:
ticker:
canonical_name: ticker
type: string
unit: none
aliases:
- Ticker
- 종목코드
- code
name:
canonical_name: name
type: string
unit: none
aliases:
- Name
- 종목명
close_price:
canonical_name: close_price
type: number
unit: KRW_per_share
aliases:
- 현재가
velocity_1d:
canonical_name: velocity_1d
type: number
unit: percent
aliases:
- Velocity_1D
- v1d
note: VELOCITY_V1 산출 — 1일 가격 속도
velocity_5d:
canonical_name: velocity_5d
type: number
unit: percent
aliases:
- Velocity_5D
- v5d
note: VELOCITY_V1 산출 — 5일 가격 속도
open_price:
canonical_name: open_price
type: number
unit: KRW_per_share
aliases:
- Open
- 시가
- open
previous_close_price:
canonical_name: previous_close_price
type: number
unit: KRW_per_share
aliases:
- PrevClose
- 전일종가
- previous_close
volume:
canonical_name: volume
type: number
unit: shares
aliases:
- Volume
- 거래량
- volume_shares
entry_price:
canonical_name: entry_price
type: number
unit: KRW_per_share
aliases:
- 지정가
- 진입가
- entry
- Entry_Price
limit_price:
canonical_name: limit_price
type: number
unit: KRW_per_share
aliases:
- limit
- 주문지정가
stop_price:
canonical_name: stop_price
type: number
unit: KRW_per_share
aliases:
- 손절가
- stop
- stop_loss_price
spsv2_verdict:
canonical_name: spsv2_verdict
type: enum
unit: none
aliases:
- SPSV2 판정
- sell_price_sanity_verdict
target_price:
canonical_name: target_price
type: number
unit: KRW_per_share
aliases:
- 목표가
- 익절가
- take_profit_price
- Target_Price
quantity:
canonical_name: quantity
type: integer
unit: shares
aliases:
- 수량
- 보유수량
- confirmed_holding_quantity
atr20:
canonical_name: atr20
type: number
unit: KRW_per_share
aliases:
- ATR20
- 20일 ATR
- atr_20
total_asset:
canonical_name: total_asset
type: number
unit: KRW
aliases:
- 총자산
- portfolio_value
- account_total_asset
available_cash:
canonical_name: available_cash
type: number
unit: KRW
aliases:
- 주문가능현금
- buy_power_cash
- 예수금
- Cash_Available
avg_trade_value_5d:
canonical_name: avg_trade_value_5d
type: number
unit: KRW
aliases:
- AvgTradeValue_5D_KRW
- AvgTradeValue_5D_M
- 5D평균거래대금
- avg_daily_value_5d
avg_trade_value_20d:
canonical_name: avg_trade_value_20d
type: number
unit: KRW
aliases:
- AvgTradeValue_20D_KRW
- AvgTradeValue_20D_M
- 20D평균거래대금
avg_volume_5d:
canonical_name: avg_volume_5d
type: number
unit: shares
aliases:
- AvgVolume_5D
- AvgVolume_5D_shares
- 5D평균거래량
frg_5d_sh:
canonical_name: frg_5d_sh
type: number
unit: shares
aliases:
- Frg_5D(sh)
- Frg_5D_sh
- 외국인5D
frg_20d_sh:
canonical_name: frg_20d_sh
type: number
unit: shares
aliases:
- Frg_20D(sh)
- Frg_20D
- 외국인20D
inst_5d_sh:
canonical_name: inst_5d_sh
type: number
unit: shares
aliases:
- Inst_5D(sh)
- Inst_5D_sh
- 기관5D
inst_20d_sh:
canonical_name: inst_20d_sh
type: number
unit: shares
aliases:
- Inst_20D(sh)
- 기관20D
beta:
canonical_name: beta
type: number
unit: ratio
aliases:
- Beta
- 종목베타
- stock_beta
flow_rows:
canonical_name: flow_rows
type: integer
unit: rows
aliases:
- Flow_Rows
- 수급행수
flow_ok:
canonical_name: flow_ok
type: boolean
unit: none
aliases:
- Flow_OK
- flow_valid
flow_credit:
canonical_name: flow_credit
type: number
unit: ratio_0_1
aliases:
- Flow_Credit
- 수급점수_가중치
ma20:
canonical_name: ma20
type: number
unit: KRW_per_share
aliases:
- MA20
- 20일선
- moving_average_20
vwap:
canonical_name: vwap
type: number
unit: KRW_per_share
aliases:
- VWAP
- 거래량가중평균가
rsi_15m:
canonical_name: rsi_15m
type: number
unit: points
aliases:
- RSI_15M
- 15분봉RSI
volume_climax:
canonical_name: volume_climax
type: boolean
unit: none
aliases:
- Volume_Climax
- 거래량폭증
total_asset_ma10:
canonical_name: total_asset_ma10
type: number
unit: KRW
aliases:
- 자산MA10
- total_equity_ma10
sea_action_tag:
canonical_name: sea_action_tag
type: string
unit: none
aliases:
- SEA액션태그
equity_curve_status:
canonical_name: equity_curve_status
type: enum
unit: none
aliases:
- 자산곡선상태
relative_strength_1m_percentile:
canonical_name: relative_strength_1m_percentile
type: number
unit: percentile
aliases:
- RS_Pct_20D_Percentile
- 상대강도_백분위
rsi_14:
canonical_name: rsi_14
type: number
unit: points
aliases:
- RSI
- RSI_14
- 상대강도지수
cash_shortfall_krw:
canonical_name: cash_shortfall_krw
type: number
unit: KRW
aliases:
- 현금부족액
- cash_deficit
data_integrity_score:
canonical_name: data_integrity_score
type: number
unit: score_0_100
aliases:
- schema_presence_score
- data_quality_score
data_maturity_score:
canonical_name: data_maturity_score
type: number
unit: score_0_100
aliases:
- data_maturity
- maturity_score
pending_critical_category_count:
canonical_name: pending_critical_category_count
type: integer
unit: count
aliases:
- pending_categories_count
- critical_pending_count
pending_critical_categories:
canonical_name: pending_critical_categories
type: array
unit: none
aliases:
- pending_categories
- missing_critical_categories
stock_close_5d_return:
canonical_name: stock_close_5d_return
type: number
unit: percent
aliases:
- 종목5D수익률
kospi_close_5d_return:
canonical_name: kospi_close_5d_return
type: number
unit: percent
aliases:
- 코스피5D수익률
sector_smartmoney_5d:
canonical_name: sector_smartmoney_5d
type: number
unit: normalized_score
aliases:
- sector_flow.SmartMoney_5D_Norm_Score
- 섹터스마트머니5D
sector_rank:
canonical_name: sector_rank
type: integer
unit: none
aliases:
- sector_flow.Rank
- 섹터순위
sector_top2_names:
canonical_name: sector_top2_names
type: list
unit: none
aliases:
- sector_flow.Top2_Sectors
- 상위2개섹터
alpha_shield_status:
canonical_name: alpha_shield_status
type: enum
unit: none
aliases:
- 알파실드상태
rotation_radar_status:
canonical_name: rotation_radar_status
type: enum
unit: none
aliases:
- 로테이션레이더상태
flow_acceleration_status:
canonical_name: flow_acceleration_status
type: enum
unit: none
aliases:
- 수급가속도상태
oversold_exit_strategy:
canonical_name: oversold_exit_strategy
type: string
unit: none
aliases:
- 과매도탈출전략
divergence_score:
canonical_name: divergence_score
type: number
unit: ratio_0_1
aliases:
- 다이버전스점수
overhang_score:
canonical_name: overhang_score
type: number
unit: ratio_0_1
aliases:
- 오버행점수
rs_ratio:
canonical_name: rs_ratio
type: number
unit: ratio
aliases:
- RS비율
deviation_ratio:
canonical_name: deviation_ratio
type: number
unit: ratio
aliases:
- 이격비율
vix_close:
canonical_name: vix_close
type: number
unit: index_points
aliases:
- VIX_Close
kospi_close:
canonical_name: kospi_close
type: number
unit: index_points
aliases:
- KOSPI
- KOSPI_Close
kospi_ma20:
canonical_name: kospi_ma20
type: number
unit: index_points
aliases:
- KOSPI_MA20
usd_krw:
canonical_name: usd_krw
type: number
unit: KRW_per_USD
aliases:
- USD/KRW
- USDKRW
market_risk_score:
canonical_name: market_risk_score
type: number
unit: points_0_10
aliases:
- MRS
- market_risk_score
- MRS합계
cash_floor_regime_min_pct:
canonical_name: cash_floor_regime_min_pct
type: number
unit: percent
aliases:
- regime_min_cash_pct
usd_jpy_2d_change_pct:
canonical_name: usd_jpy_2d_change_pct
type: number
unit: percent
aliases:
- USD_JPY_2D_Change_Pct
- USD/JPY_2D
credit_stress_status:
canonical_name: credit_stress_status
type: enum
unit: none
aliases:
- credit_stress
- HY_OAS_Status
- CP_CD_Spread_Status
bayesian_confidence_multiplier:
canonical_name: bayesian_confidence_multiplier
type: number
unit: ratio
aliases:
- bayesian_multiplier
- confidence_multiplier
execution_cost_rate:
canonical_name: execution_cost_rate
type: number
unit: ratio
aliases:
- cost_rate
- fee_slippage_rate
base_risk_budget:
canonical_name: base_risk_budget
type: number
unit: ratio
aliases:
- risk_budget
- base_risk
net_return_feedback_multiplier:
canonical_name: net_return_feedback_multiplier
type: number
unit: ratio
aliases:
- net_feedback_multiplier
performance_brake_multiplier:
canonical_name: performance_brake_multiplier
type: number
unit: ratio
aliases:
- performance_multiplier
regime_reset_multiplier:
canonical_name: regime_reset_multiplier
type: number
unit: ratio
aliases:
- regime_multiplier
kelly_brake_multiplier:
canonical_name: kelly_brake_multiplier
type: number
unit: ratio
aliases:
- kelly_multiplier
final_risk_budget:
canonical_name: final_risk_budget
type: number
unit: ratio
aliases:
- effective_risk_budget
current_price:
canonical_name: current_price
type: number
unit: KRW_per_share
aliases:
- CurrentPrice
- last_price
average_cost:
canonical_name: average_cost
type: number
unit: KRW_per_share
aliases:
- 평단
- Avg_Cost
- average_entry_price
highest_price_since_entry:
canonical_name: highest_price_since_entry
type: number
unit: KRW_per_share
aliases:
- highestPriceSinceEntry
- highest_close
note: 진입 후 최고 종가 — L2 ATR 트레일링 기준가. prices_json에 포함
ma60:
canonical_name: ma60
type: number
unit: KRW_per_share
aliases:
- MA60
- 60일선
- moving_average_60
current_weight_pct:
canonical_name: current_weight_pct
type: number
unit: percent
aliases:
- 현재비중
- current_weight
target_band_min_pct:
canonical_name: target_band_min_pct
type: number
unit: percent
aliases:
- 목표밴드하단
target_band_max_pct:
canonical_name: target_band_max_pct
type: number
unit: percent
aliases:
- 목표밴드상단
immediate_cash:
canonical_name: immediate_cash
type: number
unit: KRW
aliases:
- 즉시현금
- 출금가능현금
settlement_cash:
canonical_name: settlement_cash
type: number
unit: KRW
aliases:
- D+2추정현금
- settlement_cash_d2
reserved_order_amount:
canonical_name: reserved_order_amount
type: number
unit: KRW
aliases:
- 예약주문금액
- open_order_amount
planned_buy_amount:
canonical_name: planned_buy_amount
type: number
unit: KRW
aliases:
- 신규매수예상금액
- planned_order_amount
sell_cash_proceeds_d2:
canonical_name: sell_cash_proceeds_d2
type: number
unit: KRW
aliases:
- 매도대금정산분
- sell_cash_proceeds_immediate
- 매도대금즉시반영분
note: '사용자 지침: D+2 정산현금이 현금이다. 매도 후 D+2에 정산될 현금 유입액.'
min_cash_ratio:
canonical_name: min_cash_ratio
type: number
unit: percent
aliases:
- 최소현금비중
trailing_atr_multiplier:
canonical_name: trailing_atr_multiplier
type: number
unit: ratio
aliases:
- trailing_ATR배수
trailing_stop_price:
canonical_name: trailing_stop_price
type: number
unit: KRW_per_share
aliases:
- trailing_stop_가격
- 트레일링스탑가
position_class:
canonical_name: position_class
type: enum
unit: none
aliases:
- 분류
- core_satellite_class
- position_type
take_profit_ladder:
canonical_name: take_profit_ladder
type: object
unit: none
aliases:
- 익절래더
- tiered_ladder_output
cash_ratio_set:
canonical_name: cash_ratio_set
type: object
unit: none
aliases:
- 현금비중세트
portfolio_band_status:
canonical_name: portfolio_band_status
type: enum
unit: none
aliases:
- 버킷밴드상태
- target_band_status
atr_multiplier:
canonical_name: atr_multiplier
type: number
unit: ratio
aliases:
- ATR배수
target_weight_limit_amount:
canonical_name: target_weight_limit_amount
type: number
unit: KRW
aliases:
- 목표비중한도금액
sector_limit_amount:
canonical_name: sector_limit_amount
type: number
unit: KRW
aliases:
- 섹터한도금액
liquidity_limit_amount:
canonical_name: liquidity_limit_amount
type: number
unit: KRW
aliases:
- 유동성상한금액
forward_pe:
canonical_name: forward_pe
type: number
unit: ratio
aliases:
- Forward_PE
- ForwardPER
- 선행PER
- 12M_Forward_PE
pbr:
canonical_name: pbr
type: number
unit: ratio
aliases:
- PBR
- P/B
- 주가순자산비율
eps_revision_status:
canonical_name: eps_revision_status
type: enum
unit: none
aliases:
- EPS_Revision_Status
- eps_revision
- EPS방향
sector_median_forward_pe:
canonical_name: sector_median_forward_pe
type: number
unit: ratio
aliases:
- sector_median_PE
- 섹터중앙값PER
- SectorPE_Median
sector_median_pbr:
canonical_name: sector_median_pbr
type: number
unit: ratio
aliases:
- sector_median_PBR
- 섹터중앙값PBR
eps_growth_3y_cagr_pct:
canonical_name: eps_growth_3y_cagr_pct
type: number
unit: percent
aliases:
- EPS_Growth_3Y
- EPS_CAGR_3Y
- EPS3Y성장률
- EPS_Growth_3Y_CAGR_pct
roe_pct:
canonical_name: roe_pct
type: number
unit: percent
aliases:
- ROE_Pct
- ROE
- 자기자본이익률
- return_on_equity
operating_margin_pct:
canonical_name: operating_margin_pct
type: number
unit: percent
aliases:
- Operating_Margin_Pct
- 영업이익률
- op_margin
debt_to_equity:
canonical_name: debt_to_equity
type: number
unit: ratio
aliases:
- Debt_To_Equity
- D/E
- 부채비율
- debtToEquity
fcf_b:
canonical_name: fcf_b
type: number
unit: KRW_100million
aliases:
- FCF_B
- 잉여현금흐름
- freeCashflow_B
revenue_growth_pct:
canonical_name: revenue_growth_pct
type: number
unit: percent
aliases:
- Revenue_Growth_Pct
- 매출성장률
- revenueGrowth
sector_type:
canonical_name: sector_type
type: enum
unit: none
aliases:
- 업종구분
- Sector_Type
beta_i:
canonical_name: beta_i
type: number
unit: ratio
aliases:
- 개별종목베타
market_value_i:
canonical_name: market_value_i
type: number
unit: KRW
aliases:
- 개별종목시가
total_equity_value:
canonical_name: total_equity_value
type: number
unit: KRW
aliases:
- 총주식가치
take_profit_ladder_v2:
canonical_name: take_profit_ladder_v2
type: object
unit: none
aliases:
- V2익절래더
financial_health_score:
canonical_name: financial_health_score
type: number
unit: points_neg5_to_20
aliases:
- FHS
- 재무점수
portfolio_beta:
canonical_name: portfolio_beta
type: number_or_null
unit: ratio
aliases:
- portfolioBeta
note: M2_PORTFOLIO_BETA_GATE_V1 산출 — 보유 종목 가중평균 베타. null=데이터 부족
tier_completed:
canonical_name: tier_completed
type: enum
unit: none
aliases:
- 완료단계
- 익절완료단계
note: PROFIT_LOCK_RATCHET_V1 입력 — tier_1 또는 tier_2 익절 완료 단계
ratchet_stop_price:
canonical_name: ratchet_stop_price
type: number
unit: KRW_per_share
aliases:
- 래칫손절가
- 보호스탑가격
note: PROFIT_LOCK_RATCHET_V1 출력 — 익절 후 상향된 손절 보호가
raw_price:
canonical_name: raw_price
type: number
unit: KRW_per_share
aliases:
- 정규화전가격
note: TICK_NORMALIZER_V1 입력 — 호가 단위 정규화 전 원시 가격
tick_normalized_price:
canonical_name: tick_normalized_price
type: number
unit: KRW_per_share
aliases:
- 호가정규화가격
- HTS입력가격
note: TICK_NORMALIZER_V1 출력 — KRX 호가 단위 정규화 완료 가격
tp_price:
canonical_name: tp_price
type: number
unit: KRW_per_share
aliases:
- 익절목표가
- take_profit_price_raw
note: TP_VALIDITY_CHECK_V1 입력 — TAKE_PROFIT_LADDER_V2가 산출한 티어별 TP 원시 가격 (tp1
또는 tp2)
tp_validated_price:
canonical_name: tp_validated_price
type: number
unit: KRW_per_share_or_null
aliases:
- 유효익절가
- validated_tp
note: TP_VALIDITY_CHECK_V1 출력 — 현재가 이하 TP는 null. 유효한 경우만 HTS 입력 허용.
market_regime_state:
canonical_name: market_regime_state
type: enum
unit: none
aliases:
- 시장국면단계
- regime_phase
- market_phase
note: REGIME_TRIM_WEIGHT_V1 입력 — spec/11_market_regime.yaml 국면 분류 결과 (ADVANCE/PULLBACK_IN_UPTREND/DISTRIBUTION/BREAKDOWN)
frg_5d_krw:
canonical_name: frg_5d_krw
type: number
unit: KRW
aliases:
- Frg_5D_KRW
- 외국인5D순매수금액
note: 외국인 5일 순매수금액(KRW). 양수=순매수, 음수=순매도
inst_5d_krw:
canonical_name: inst_5d_krw
type: number
unit: KRW
aliases:
- Inst_5D_KRW
- 기관5D순매수금액
note: 기관 5일 순매수금액(KRW). 양수=순매수, 음수=순매도
secular_leader_gate_active:
canonical_name: secular_leader_gate_active
type: boolean
unit: none
aliases:
- 주도주게이트활성
note: SECULAR_LEADER_REGIME_GATE_V1 출력 — 삼성전자·SK하이닉스 secular_leader_profit_lock
발동 여부
secular_leader_gate_status:
canonical_name: secular_leader_gate_status
type: enum
unit: none
aliases:
- 주도주게이트상태
note: SECULAR_LEADER_REGIME_GATE_V1 출력 — ACTIVE/DEACTIVATED/ACTIVATION_FAIL/NOT_APPLICABLE
total_asset_krw:
canonical_name: total_asset_krw
type: number
unit: KRW
aliases:
- totalAsset
- 포트폴리오총자산
note: buildHarnessContext_ 집계값 — 보유종목 평가액 + 현금(D+2 기준) 합계
net_expectancy_30:
canonical_name: net_expectancy_30
type: number_or_null
unit: percent
aliases:
- net_exp_30
- monthly_net_expectancy
note: Bayesian 성과 계산기 출력 — 최근 30거래일 순기대 수익률(%). GOAL_RETIREMENT_V1 ETA 계산 기준.
goal_asset_krw:
canonical_name: goal_asset_krw
type: integer
unit: KRW
aliases:
- 목표자산
- goal_krw
note: GOAL_RETIREMENT_V1 고정값 — 500,000,000 KRW (5억원). LLM 재정의 금지.
goal_current_asset_krw:
canonical_name: goal_current_asset_krw
type: integer
unit: KRW
aliases:
- 현재자산
- current_asset_krw
note: GOAL_RETIREMENT_V1 산출 — 하네스 캡처 시점 총 자산(totalAsset)
goal_achievement_pct:
canonical_name: goal_achievement_pct
type: number
unit: percent
aliases:
- 목표달성률
- achievement_pct
note: GOAL_RETIREMENT_V1 산출 — goal_current_asset_krw / goal_asset_krw * 100.
소수점 1자리.
goal_remaining_krw:
canonical_name: goal_remaining_krw
type: integer
unit: KRW
aliases:
- 목표잔여금
- remaining_krw
note: GOAL_RETIREMENT_V1 산출 — max(0, goal_asset_krw - goal_current_asset_krw)
goal_eta_months:
canonical_name: goal_eta_months
type: integer_or_null
unit: months
aliases:
- 목표달성월수
- eta_months
note: GOAL_RETIREMENT_V1 복리 ETA — null이면 DATA_MISSING(net_expectancy_30 없음).
0이면 ACHIEVED.
goal_eta_label:
canonical_name: goal_eta_label
type: string
unit: none
aliases:
- 목표달성예상월
- eta_label
note: GOAL_RETIREMENT_V1 ETA 연월 — YYYY-MM 또는 ACHIEVED 또는 DATA_MISSING
goal_monthly_growth_pct:
canonical_name: goal_monthly_growth_pct
type: number_or_null
unit: percent
aliases:
- 월간기대수익률
- monthly_growth_pct
note: GOAL_RETIREMENT_V1 ETA 계산 기준 — performance.net_expectancy_30 전달값
goal_status:
canonical_name: goal_status
type: enum
unit: none
aliases:
- 목표상태
- goal_state
values:
- ACHIEVED
- IN_PROGRESS
note: GOAL_RETIREMENT_V1 산출 — goal_current_asset_krw >= goal_asset_krw이면 ACHIEVED
settlement_cash_d2_krw:
canonical_name: settlement_cash_d2_krw
type: integer
unit: KRW
aliases:
- d2_cash_krw
- D2현금
note: D+2 정산 현금 — cash_ledger_basis=D2_ONLY 기준 유일 허용 현금
cash_floor_min_pct:
canonical_name: cash_floor_min_pct
type: number
unit: percent
aliases:
- 최소현금방어선
- min_cash_pct
note: calcCashFloor_() 산출 — MRS 기반 국면별 최소 현금 비율
mrs_score:
canonical_name: mrs_score
type: number
unit: score_0_100
aliases:
- 시장위험점수
note: MARKET_RISK_SCORE_V1 산출값 (0~100). TARGET_CASH_PCT_V1 입력.
sell_candidates_json:
canonical_name: sell_candidates_json
type: json_array
unit: none
aliases:
- 매도후보목록
note: H2 calcSellPriority_() 산출 — sell_priority 기반 정렬 배열
sell_quantities_json:
canonical_name: sell_quantities_json
type: json_array
unit: none
aliases:
- 매도수량목록
- h3_sell_qty
note: H3 calcQuantities_() 산출 — 종목별 매도수량 확정 배열
cash_current_pct_d2:
canonical_name: cash_current_pct_d2
type: number
unit: percent
aliases:
- 현금비중d2
- d2_cash_pct
note: D+2 정산현금 / 총자산 × 100 — GAS 결정론적 산출 (LLM 재계산 금지)
cash_target_pct:
canonical_name: cash_target_pct
type: number
unit: percent
aliases:
- 목표현금비중
- target_cash_pct
note: 'TARGET_CASH_PCT_V1: max(5 + (MRS/10)×15, cash_floor_min_pct)'
cash_shortfall_min_krw:
canonical_name: cash_shortfall_min_krw
type: integer
unit: KRW
aliases:
- 최소현금부족액
- shortfall_min
note: 최소 현금 방어선까지 부족액 — 0이면 방어선 충족. LLM '약 N원' 계산 대체
cash_shortfall_target_krw:
canonical_name: cash_shortfall_target_krw
type: integer
unit: KRW
aliases:
- 목표현금부족액
- shortfall_target
note: 국면별 목표 현금비율까지 부족액 — TARGET_CASH_PCT_V1 기준
trim_plan_to_min_cash_json:
canonical_name: trim_plan_to_min_cash_json
type: json_array
unit: none
aliases:
- 현금회복trim계획
- trim_plan_min
note: H2 매도우선순위 기반 종목별 TRIM 계획 — LLM 임의 종목·순서 선택 금지
external_context_json:
canonical_name: external_context_json
type: json_array
unit: none
aliases:
- 외부시장데이터
- external_data
note: G3 격리 규칙 적용 — used_for=CONTEXT_ONLY 전용. 주문 판단에 사용 금지
required_sub_fields:
- source_name
- fetched_at
- symbol
- value
- used_for
alpha_lead_score:
canonical_name: alpha_lead_score
type: number
unit: score_0_100
note: ALPHA_LEAD_SCORE_V1 산출 — 선행 파일럿 진입 가능성 점수
lead_entry_state:
canonical_name: lead_entry_state
type: string
unit: enum
note: PILOT_ALLOWED | WATCH_ONLY | BLOCKED_LATE_CHASE | DATA_MISSING
follow_through_state:
canonical_name: follow_through_state
type: string
unit: enum
note: FOLLOW_THROUGH_CONFIRM_V1 산출 — CONFIRMED_ADD_ON | WAIT_PULLBACK | FAILED_BREAKOUT
holding_quantity:
canonical_name: holding_quantity
type: integer
unit: shares
aliases:
- 보유수량_k1
note: K1 트랜치 판단용 현재 보유수량
profit_pct:
canonical_name: profit_pct
type: number
unit: percent
note: PROFIT_PRESERVATION_STATE_V1 산출 — (close-avgCost)/avgCost×100
close_vs_ma20_pct:
canonical_name: close_vs_ma20_pct
type: number
unit: percent
note: ALPHA_LEAD_SCORE_V1 산출 — (close/MA20-1)×100, 눌림 판단에 사용
tranche_phase:
canonical_name: tranche_phase
type: string
unit: enum
note: STAGED_ENTRY_TRANCHE_V1 산출 — WAIT_PILOT_SETUP | TRANCHE_1_PILOT | TRANCHE_2_ADD_ON
| TRANCHE_3_PULLBACK_ADD | HOLD_CURRENT
current_tranche_allowed_pct:
canonical_name: current_tranche_allowed_pct
type: number
unit: percent
note: 'K1: 현재 단계에서 허용된 매수 비중 (0 | 30 | 40)'
next_tranche_condition:
canonical_name: next_tranche_condition
type: string
unit: description
note: 'K1: 다음 트랜치 진입 조건 코드'
close:
canonical_name: close
type: number
unit: KRW_per_share
aliases:
- Close
- 종가
note: 당일 종가 — K2 반등 매도 예상금액 계산 기준
base_sell_qty:
canonical_name: base_sell_qty
type: integer
unit: shares
note: 'K2: SELL_QUANTITY_ALLOCATOR_V1(H3) 산출 기준 매도수량'
execution_style:
canonical_name: execution_style
type: string
unit: enum
note: URGENT_LIQUIDITY_TRIM | OVERSOLD_REBOUND_SELL | DISTRIBUTION_EXIT | PROFIT_PROTECT_TRIM
profit_preservation_state:
canonical_name: profit_preservation_state
type: string
unit: enum
note: PROFIT_PRESERVATION_STATE_V1 산출 — NORMAL | BREAKEVEN_RATCHET | PROFIT_LOCK_10/20/30
| APEX_TRAILING
profit_lock_stage:
canonical_name: profit_lock_stage
type: string
unit: enum
aliases:
- profitLockStage
note: PROFIT_LOCK_STAGE_CLASSIFIER_V1 산출 — NORMAL | PROFIT_LOCK_STAGE_10/20/30/50
immediate_sell_qty:
canonical_name: immediate_sell_qty
type: integer
unit: shares
note: 'K2: 즉시 체결 대상 수량 (OVERSOLD_REBOUND_SELL의 경우 floor(base/2))'
rebound_wait_qty:
canonical_name: rebound_wait_qty
type: integer
unit: shares
note: 'K2: 반등 트리거 대기 수량 — 트리거 미충족 시 HTS 주문 금지'
emergency_full_sell:
canonical_name: emergency_full_sell
type: boolean
unit: none
note: 'K2: 비상 전량 매도 플래그 — half_krw×2 < shortfall일 때만 true'
rebound_trigger_price:
canonical_name: rebound_trigger_price
type: integer
unit: KRW_per_share
note: 'K2: 반등 매도 실행 트리거 가격 (prevClose+0.5×ATR20, tick 정규화)'
execution_method_ladder_json:
canonical_name: execution_method_ladder_json
type: json_object
unit: none
note: EXECUTION_METHOD_LADDER_V1 산출 — 매도 실행 방식 계약표
sell_timing_verdict:
canonical_name: sell_timing_verdict
type: string
unit: enum
note: SELL_EXECUTION_TIMING_LOCK_V2 산출 — SELL_READY | TIMING_BLOCKED_INTRADAY
| SELL_BLOCKED_DATA
sell_waterfall_gate:
canonical_name: sell_waterfall_gate
type: string
unit: enum
note: SELL_WATERFALL_ENGINE_V2 산출 — PASS | WARN | FAIL
smart_cash_recovery_gate:
canonical_name: smart_cash_recovery_gate
type: string
unit: enum
note: SMART_CASH_RECOVERY_V7 산출 — PASS | WARN | FAIL
h2_candidates:
canonical_name: h2_candidates
type: json_array
unit: none
note: 'K3 입력: H2 매도후보 배열'
ret5d:
canonical_name: ret5d
type: number
unit: pct
aliases:
- Ret5D
note: 5거래일 수익률.
kospi_ret5d:
canonical_name: kospi_ret5d
type: number
unit: percent
aliases:
- KOSPI_Ret5D
- kospiRet5d
note: 'K3: KOSPI 5일 수익률 — 고베타 판단 기준'
frg_5d:
canonical_name: frg_5d
type: number
unit: KRW
aliases:
- Frg_5D
- frg5d
note: K3/DISTRIBUTION_RISK_SCORE_V1 입력 — 외국인 5일 순매수금액
inst_5d:
canonical_name: inst_5d
type: number
unit: KRW
aliases:
- Inst_5D
- inst5d
note: K3/DISTRIBUTION_RISK_SCORE_V1 입력 — 기관 5일 순매수금액
ac_gate:
canonical_name: ac_gate
type: string
unit: enum
aliases:
- AC_Gate
- acGate
note: 'J2/K3: 안티클라이막스 게이트 상태 — CLIMAX 포함 시 설거지 위험 신호'
regime_adjusted_sell_priority_json:
canonical_name: regime_adjusted_sell_priority_json
type: json_array
unit: none
aliases:
- regime_sell_priority
- k3_priority
note: K3_REGIME_SELL_PRIORITY_V1 산출 — final_regime_rank 기준 매도 순서. sell_priority_lock=true이면
LLM 재정렬 금지
regime_trim_guidance:
canonical_name: regime_trim_guidance
type: json_array
unit: none
aliases:
- regimeTrimGuidance
note: REGIME_TRIM_GUIDANCE_V1 산출 — 국면별 현금확보 TRIM 우선순위
anti_whipsaw_status:
canonical_name: anti_whipsaw_status
type: string
unit: enum
aliases:
- antiWhipsawStatus
note: ANTI_WHIPSAW_GATE_V1 산출 — WHIPSAW_BLOCK/WARN/CLEAR
breakeven_stop_price:
canonical_name: breakeven_stop_price
type: number
unit: KRW_per_share
aliases:
- breakevenStopPrice
note: BREAKEVEN_RATCHET_V1 산출 — 손익분기 래칫 손절가
weight_pct:
canonical_name: weight_pct
type: number
unit: pct
aliases:
- weightPct
- Weight_Pct
note: 보유 비중(%) — M2 베타 가중, M5 섹터 편중 계산 입력
holding_qty:
canonical_name: holding_qty
type: number
unit: shares
aliases:
- holdingQty
note: 현재 보유 수량 — M3 익절 수량 계산 입력
proposed_quantity:
canonical_name: proposed_quantity
type: number_or_null
unit: shares
aliases:
- proposal_qty
note: proposal_reference_json 제안 수량 — 보유수량 부재 시 stop proposal ladder fallback
입력
tp1_price:
canonical_name: tp1_price
type: number_or_null
unit: KRW_per_share
aliases:
- TP1_Price
- tp1Price
note: M3/prices_json 필드 — TP1 목표 가격. null=이미 통과 또는 미계산
tp1_qty:
canonical_name: tp1_qty
type: number
unit: shares
aliases:
- TP1_Qty
- tp1Qty
note: M3 — TP1 도달 시 매도 수량 (수동 입력 또는 AUTO_33PCT)
tp2_price:
canonical_name: tp2_price
type: number_or_null
unit: KRW_per_share
aliases:
- TP2_Price
- tp2Price
note: M3/prices_json 필드 — TP2 목표 가격
tp2_qty:
canonical_name: tp2_qty
type: number
unit: shares
aliases:
- TP2_Qty
- tp2Qty
note: M3 — TP2 도달 시 매도 수량
tp3_qty:
canonical_name: tp3_qty
type: number
unit: shares
aliases:
- TP3_Qty
- tp3Qty
- tp3_quantity
note: M3 — TP3/잔량 수량
proposal_stop_ladder:
canonical_name: proposal_stop_ladder
type: json_object
unit: none
note: STOP_PROPOSAL_LADDER_V1 산출 — proposal_reference_sheet용 손절 1/2/3 가격·수량
묶음
dart_risk:
canonical_name: dart_risk
type: string
unit: text
aliases:
- DART_Risk
note: 공시 리스크 요약.
drawdown_guard_state:
canonical_name: drawdown_guard_state
type: string
unit: enum
aliases:
- drawdownGuardState
note: M1_DRAWDOWN_GUARD_V1 산출 — NO_BUY/REDUCE_BUY/CAUTION_BUY/NORMAL
drawdown_buy_scale:
canonical_name: drawdown_buy_scale
type: number
unit: 0~1
aliases:
- drawdownBuyScale
- buy_scale
note: M1 — atrQty 곱셈 배수. 1.0=정상, 0.5=50% 축소, 0=매수 금지
consecutive_losses:
canonical_name: consecutive_losses
type: number
unit: integer
aliases:
- consecutiveLosses
note: M1 입력 — 최근 연속 손절 횟수 (performance 시트 기준)
portfolio_beta_gate:
canonical_name: portfolio_beta_gate
type: string
unit: enum
aliases:
- portfolioBetaGate
note: M2 — OVER_BETA/WARN_BETA/PASS/INSUFFICIENT_DATA
portfolio_beta_gate_json:
canonical_name: portfolio_beta_gate_json
type: json_object
unit: none
aliases:
- betaGateJson
note: M2 — per-holding beta_proxy 상세 및 포트폴리오 베타 요약
beta_proxy:
canonical_name: beta_proxy
type: number
unit: ratio
aliases:
- betaProxy
note: M2/K3 — ret5d/kospiRet5d 기반 베타 근사값. 비정상 시 1.0 사용
tp_quantity_ladder_json:
canonical_name: tp_quantity_ladder_json
type: json_array
unit: none
aliases:
- tpLadderJson
note: M3_TP_QUANTITY_LADDER_V1 산출 — TP1/2/3 도달 시 매도 수량. tp_quantity_ladder_lock=true이면
LLM 변경 금지
qty_source:
canonical_name: qty_source
type: string
unit: enum
aliases:
- qtySource
note: M3 — MANUAL(수동 입력)/AUTO_33PCT(자동 33%)/NO_HOLDING
event_hold_days:
canonical_name: event_hold_days
type: number_or_null
unit: integer
aliases:
- eventHoldDays
- Event_Hold_Days
note: M4 입력 — 이벤트(실적/공시) 홀드 잔여일. <=5이면 EVENT_HOLD
event_hold_gate:
canonical_name: event_hold_gate
type: string
unit: enum
aliases:
- eventHoldGate
note: M4_EVENT_RISK_HOLD_GATE_V1 산출 — EVENT_HOLD/PASS
event_risk_json:
canonical_name: event_risk_json
type: json_array
unit: none
aliases:
- eventRiskJson
note: M4 — per-holding 이벤트 홀드 게이트 상태 배열
sector_concentration_gate:
canonical_name: sector_concentration_gate
type: string
unit: enum
aliases:
- sectorConcentrationGate
note: M5_SECTOR_CONCENTRATION_LIMIT_V1 산출 — BLOCK_SECTOR/WARN_TOP2/PASS
sector_concentration_json:
canonical_name: sector_concentration_json
type: json_array
unit: none
aliases:
- sectorConcentrationJson
note: M5 — 섹터별 weight_pct 및 gate 상태 배열
sector:
canonical_name: sector
type: string
unit: none
aliases:
- sectorName
- sector_name
- Sector
note: L1/K3 입력 — 섹터명 (TICKER_SECTOR_MAP 기반). sectorFlowRadar key
rank:
canonical_name: rank
type: number
unit: integer
aliases:
- sectorRank
- Rotation_Rank
- Sector_Rank
note: L1 입력 — 현재 주 섹터 로테이션 순위 (낮을수록 우수)
prev_rank_w1:
canonical_name: prev_rank_w1
type: number_or_null
unit: integer
aliases:
- prevRank
- Prev_Rotation_Rank
note: L1 입력 — 1주 전 섹터 순위. 미제공 시 null
prev_rank_w2:
canonical_name: prev_rank_w2
type: number_or_null
unit: integer
aliases:
- prevRankW2
- Prev_Rotation_Rank_W2
note: L1 입력 — 2주 전 섹터 순위. 미제공 시 null
sector_rotation_momentum_json:
canonical_name: sector_rotation_momentum_json
type: json_array
unit: none
aliases:
- sectorMomentumJson
- sector_momentum_json
note: L1_SECTOR_ROTATION_MOMENTUM_V1 산출 — 섹터별 rank_delta/momentum_state. sector_rotation_momentum_lock=true이면
LLM 재산출 금지
rank_delta_w1:
canonical_name: rank_delta_w1
type: number_or_null
unit: integer
aliases:
- rankDeltaW1
note: L1 입력 — 1주 섹터 순위 변화 (양수=순위 하락). prev_rank_w1 미제공 시 null
rank_delta_w2:
canonical_name: rank_delta_w2
type: number_or_null
unit: integer
aliases:
- rankDeltaW2
note: L1 입력 — 2주 섹터 순위 변화. prev_rank_w2 미제공 시 null
momentum_state:
canonical_name: momentum_state
type: string
unit: enum
aliases:
- momentumState
note: L1_SECTOR_ROTATION_MOMENTUM_V1 산출 — RISING/STABLE/TOPPING_OUT/FADING
pre_distribution_warning:
canonical_name: pre_distribution_warning
type: string
unit: enum
aliases:
- preDistributionWarning
- pre_dist_warning
note: L4_PRE_DISTRIBUTION_EARLY_WARNING_V1 산출 — EARLY_WARNING(신고점수축/급등약류)/NONE.
이 값이 EARLY_WARNING이면 신규 매수 신중 재검토
high52w:
canonical_name: high52w
type: number
unit: KRW_per_share
aliases:
- High52W
- high_52w
- 52w_high
note: L4 입력 — 52주 최고가. 데이터 미제공 시 MA20×1.15 대체 판단
auto_trailing_stop:
canonical_name: auto_trailing_stop
type: number_or_null
unit: KRW_per_share
aliases:
- autoTrailingStop
- trailing_stop
note: L2_RATCHET_TRAILING_AUTO_V1 산출 — PROFIT_LOCK_20/30/APEX_TRAILING 구간 ATR
트레일링 손절가. null=비해당. LLM이 이 값보다 낮은 손절가 제시 금지
protected_stop_price:
canonical_name: protected_stop_price
type: number_or_null
unit: KRW_per_share
aliases:
- protectedStopPrice
note: profit_preservation_json 출력 — 수익보전 단계에서 유지해야 하는 보호 손절가
auto_trailing_note:
canonical_name: auto_trailing_note
type: string_or_null
unit: none
aliases:
- autoTrailingNote
note: L2_RATCHET_TRAILING_AUTO_V1 산출 근거 — 'max(ratchet,{highest}-N.N×ATR)' 형식
total_heat_pct:
canonical_name: total_heat_pct
type: number
unit: pct
aliases:
- totalHeatPct
- total_heat
note: 포트폴리오 총 Heat 비율 — DYNAMIC_HEAT_GATE_V1/TOTAL_HEAT_V1 입력. heat_gate_threshold_pct와
비교해 gate 판정
heat_gate_threshold_pct:
canonical_name: heat_gate_threshold_pct
type: number
unit: pct
aliases:
- heatGateThresholdPct
- heat_threshold_pct
note: L3_DYNAMIC_HEAT_GATE_V1 산출 — 현재 국면에서 적용된 BLOCK_NEW_BUY 임계값(%). GAS 결정론적
산출, LLM 재계산 금지
market_regime:
canonical_name: market_regime
type: string
unit: enum
aliases:
- marketRegime
- regime
note: 현재 시장 국면 — DYNAMIC_HEAT_GATE_V1/K3/L3 등 국면 감응 공식의 공통 입력
regime_size_scale:
canonical_name: regime_size_scale
type: number
unit: multiplier
aliases:
- regimeSizeScale
note: N1_POSITION_SIZE_REGIME_SCALE_V1 — 국면별 atrQty 스케일 배수 (0.25~1.2). GAS 결정론적
산출
stop_adequacy_json:
canonical_name: stop_adequacy_json
type: json
unit: array
aliases:
- stopAdequacyJson
note: N3_STOP_PRICE_ADEQUACY_V1 — 보유 종목별 손절가 적정성 검증 결과 배열
absolute_risk_stop_rows:
canonical_name: absolute_risk_stop_rows
type: json
unit: array
aliases:
- absoluteRiskStopRows
note: P3 ABSOLUTE_RISK_STOP_V1 — 절대 리스크 손절 taxonomy 결과 배열
relative_underperf_alert:
canonical_name: relative_underperf_alert
type: json
unit: object
aliases:
- relativeUnderperfAlert
note: P3 RELATIVE_UNDERPERF_ALERT_V1 — 상대약세 경보 taxonomy 객체
stop_action_ladder:
canonical_name: stop_action_ladder
type: json
unit: object
aliases:
- stopActionLadder
note: P3 STOP_ACTION_LADDER_V1 — 최종 손절/익절/시간손절 액션 래더
df_map:
canonical_name: df_map
type: json
unit: object
aliases:
- dfMap
note: P3 taxonomy wrapper 입력용 data feed map
kospi_ret20d:
canonical_name: kospi_ret20d
type: number
unit: percent
aliases:
- kospiRet20d
note: P3 RELATIVE_UNDERPERF_ALERT_V1 입력용 KOSPI 20D 수익률
context:
canonical_name: context
type: json
unit: object
aliases:
- ctx
note: P3 STOP_ACTION_LADDER_V1 입력용 calcSellDecision_ 컨텍스트 객체
stop_gap_pct:
canonical_name: stop_gap_pct
type: number
unit: pct
aliases:
- stopGapPct
note: 'N3: (recommended_stop - manual_stop) / recommended_stop × 100'
adequacy_status:
canonical_name: adequacy_status
type: string
unit: enum
aliases:
- adequacyStatus
note: 'N3: PASS/STOP_WIDE/STOP_CRITICAL/INSUFFICIENT_DATA'
recommended_stop:
canonical_name: recommended_stop
type: number
unit: KRW_per_share
aliases:
- recommendedStop
- recommended_stop_price
note: 'N3: ATR 기반 권고 손절가 — max(avgCost×0.92, avgCost-ATR20×mul), tick 정규화 적용'
candidate_quality_grade:
canonical_name: candidate_quality_grade
type: string
unit: enum
aliases:
- Candidate_Quality_Grade
note: core_satellite 후보 품질 등급. 실행 추천이 아님.
execution_recommendation_state:
canonical_name: execution_recommendation_state
type: string
unit: enum
aliases:
- Execution_Recommendation_State
note: BUY_PILOT_ALLOWED/WATCH/BLOCK 상태. HTS 주문은 order_blueprint PASS만 허용.
expected_edge:
canonical_name: expected_edge
type: number
unit: ratio
aliases:
- Expected_Edge
note: 기대우위. 손절가와 목표가 기반 매수 허용 하한 검증.
entry_mode_gate:
canonical_name: entry_mode_gate
type: string
unit: enum
aliases:
- Entry_Mode_Gate
note: 진입 모드 PASS/PENDING/BLOCK 게이트.
timing_score_entry:
canonical_name: timing_score_entry
type: number
unit: score_0_100
aliases:
- Timing_Score_Entry
note: 진입 타이밍 점수.
timing_score_exit:
canonical_name: timing_score_exit
type: number
unit: score_0_100
aliases:
- Timing_Score_Exit
note: 청산/감축 타이밍 점수.
liquidity_status:
canonical_name: liquidity_status
type: string
unit: enum
aliases:
- Liquidity_Status
note: 거래대금 기반 유동성 상태.
smart_money_flow_signal_v2_json:
canonical_name: smart_money_flow_signal_v2_json
type: json
unit: array
aliases:
- smartMoneyFlowSignalV2Json
note: CAPITAL_STYLE_ALLOCATION_V1 입력 — 스마트머니 흐름 배열
fundamental_multifactor_v3_json:
canonical_name: fundamental_multifactor_v3_json
type: json
unit: array
aliases:
- fundamentalMultifactorV3Json
note: CAPITAL_STYLE_ALLOCATION_V1 입력 — 펀더멘털 멀티팩터 배열
macro_event_ticker_impact_v1_json:
canonical_name: macro_event_ticker_impact_v1_json
type: json
unit: array
aliases:
- macroEventTickerImpactV1Json
note: CAPITAL_STYLE_ALLOCATION_V1 입력 — 거시 이벤트 영향 배열
liquidity_flow_signal_v1_json:
canonical_name: liquidity_flow_signal_v1_json
type: json
unit: array
aliases:
- liquidityFlowSignalV1Json
note: CAPITAL_STYLE_ALLOCATION_V1 입력 — 유동성 흐름 배열
capital_style_conviction:
canonical_name: capital_style_conviction
type: number
unit: score_0_100
aliases:
- capitalStyleConviction
note: CAPITAL_STYLE_ALLOCATION_V1 산출 — 투자성향별 conviction
capital_style_label:
canonical_name: capital_style_label
type: string
unit: enum
aliases:
- capitalStyleLabel
note: CAPITAL_STYLE_ALLOCATION_V1 산출 — 투자성향 라벨
spread_status:
canonical_name: spread_status
type: string
unit: enum
aliases:
- Spread_Status
note: 호가 스프레드 상태.
sell_action:
canonical_name: sell_action
type: string
unit: enum
aliases:
- Sell_Action
note: 하네스 산출 매도/감축 액션.
sell_validation:
canonical_name: sell_validation
type: string
unit: enum
aliases:
- Sell_Validation
note: 매도 신호 검산 상태.
rw_partial:
canonical_name: rw_partial
type: number
unit: count
aliases:
- RW_Partial
note: 상대약세 부분 신호 개수.
distribution_risk_score:
canonical_name: distribution_risk_score
type: number
unit: score_0_100
aliases:
- Distribution_Risk_Score
note: 분산위험 점수.
late_chase_risk_score:
canonical_name: late_chase_risk_score
type: number
unit: score_0_100
aliases:
- Late_Chase_Risk_Score
note: 추격매수 위험 점수.
rsi14:
canonical_name: rsi14
type: number
unit: points
aliases:
- RSI14
note: 14일 RSI.
disparity:
canonical_name: disparity
type: number
unit: pct
aliases:
- Disparity
note: 이격도.
val_surge_pct:
canonical_name: val_surge_pct
type: number
unit: pct
aliases:
- Val_Surge_Pct
note: 거래대금 급증률.
ret_1d:
canonical_name: ret_1d
type: number
unit: percent
aliases:
- Ret_1D
- ret1d
- 1D_Return_Pct
note: 전일 대비 수익률 (%).
ret_3d:
canonical_name: ret_3d
type: number
unit: percent
aliases:
- Ret_3D
- ret3d
- 3D_Return_Pct
note: 3거래일 수익률 (%).
days_since_breakout:
canonical_name: days_since_breakout
type: number
unit: trading_days
aliases:
- Days_Since_Breakout
- daysSinceBreakout
note: 돌파 발생 후 경과 거래일 수.
ret_since_breakout:
canonical_name: ret_since_breakout
type: number
unit: pct
aliases:
- Ret_Since_Breakout
- retSinceBreakout
note: 돌파일 종가 대비 현재 수익률.
follow_through_day_state:
canonical_name: follow_through_day_state
type: string
unit: enum
aliases:
- Follow_Through_Day_State
- followThroughDayState
note: Follow-Through Day 판정 상태.
vol_ratio_vs_breakout_day:
canonical_name: vol_ratio_vs_breakout_day
type: number
unit: ratio
aliases:
- Vol_Ratio_Vs_Breakout_Day
- volRatioVsBreakoutDay
note: 돌파일 대비 거래량 비율.
vol_today:
canonical_name: vol_today
type: number
unit: shares
aliases:
- Vol_Today
- volToday
note: 당일 거래량.
vol_breakout_day:
canonical_name: vol_breakout_day
type: number
unit: shares
aliases:
- Vol_Breakout_Day
- volBreakoutDay
- volumeBreakoutDay
note: 돌파일 거래량.
consecutive_sell_signals_5d:
canonical_name: consecutive_sell_signals_5d
type: number
unit: count
aliases:
- Consecutive_Sell_Signals_5D
- consecutiveSellSignals5d
note: 최근 5일간 연속 매도 신호 수.
vol_surge_pct:
canonical_name: vol_surge_pct
type: number
unit: pct
aliases:
- Vol_Surge_Pct
- volSurgePct
note: 당일 거래량 급증률.
allowed_intraday_actions:
canonical_name: allowed_intraday_actions
type: array
unit: enum_list
aliases:
- Allowed_Intraday_Actions
- allowedIntradayActions
note: 장중 허용 액션 목록.
blocked_intraday_actions:
canonical_name: blocked_intraday_actions
type: array
unit: enum_list
aliases:
- Blocked_Intraday_Actions
- blockedIntradayActions
note: 장중 차단 액션 목록.
execution_quality_score:
canonical_name: execution_quality_score
type: number
unit: score
aliases:
- Execution_Quality_Score
- executionQualityScore
note: 실행 품질 점수.
execution_quality_grade:
canonical_name: execution_quality_grade
type: string
unit: enum
aliases:
- Execution_Quality_Grade
- executionQualityGrade
note: 실행 품질 등급.
execution_quality_outcome:
canonical_name: execution_quality_outcome
type: string
unit: enum
aliases:
- Execution_Quality_Outcome
- executionQualityOutcome
note: 실행 품질 결과 분류.
threshold_adjustment_proposals:
canonical_name: threshold_adjustment_proposals
type: array
unit: json
aliases:
- Threshold_Adjustment_Proposals
- thresholdAdjustmentProposals
note: 임계치 조정 제안 목록.
max_child_qty:
canonical_name: max_child_qty
type: number
unit: count
aliases:
- Max_Child_Qty
- maxChildQty
note: TWAP 분할 최대 자식 주문 수량.
n_slices:
canonical_name: n_slices
type: number
unit: count
aliases:
- N_Slices
- nSlices
note: 분할 주문 횟수.
participation_rate:
canonical_name: participation_rate
type: number
unit: ratio
aliases:
- Participation_Rate
- participationRate
note: 시장 참여율.
twap_required:
canonical_name: twap_required
type: boolean
unit: boolean
aliases:
- Twap_Required
- twapRequired
note: TWAP 필요 여부.
institutional_flow_5d:
canonical_name: institutional_flow_5d
type: number
unit: KRW
aliases:
- Institutional_Flow_5D
- institutionalFlow5d
note: 기관 5일 누적 순매수 금액.
foreign_flow_5d:
canonical_name: foreign_flow_5d
type: number
unit: KRW
aliases:
- Foreign_Flow_5D
- foreignFlow5d
note: 외국인 5일 누적 순매수 금액.
sector_relative_strength_5d:
canonical_name: sector_relative_strength_5d
type: number
unit: ratio
aliases:
- Sector_Relative_Strength_5D
- sectorRelativeStrength5d
note: 섹터 5일 상대강도.
secular_leader_gate:
canonical_name: secular_leader_gate
type: string
unit: enum
aliases:
- secularLeaderGate
note: SECULAR_LEADER_REGIME_GATE_V1 결과 enum.
breakout_quality_gate:
canonical_name: breakout_quality_gate
type: string
unit: enum
aliases:
- breakoutQualityGate
- breakout_quality_gate_state
note: BREAKOUT_QUALITY_GATE_V2 상태 enum.
final_action:
canonical_name: final_action
type: string
unit: enum
aliases:
- Final_Action
note: 하네스 최종 액션.
cash_preserve_style:
canonical_name: cash_preserve_style
type: string
unit: enum
aliases:
- Cash_Preserve_Style
note: 현금확보 매도 스타일.
allowed_action:
canonical_name: allowed_action
type: string
unit: enum
aliases:
- Allowed_Action
note: 내부 허용 액션.
t1_forced_sell_risk_score:
canonical_name: t1_forced_sell_risk_score
type: number
unit: score_0_100
aliases:
- T1_Forced_Sell_Risk_Score
note: 매수 후 다음 거래일 강제 매도 위험 점수.
sell_conflict_score:
canonical_name: sell_conflict_score
type: number
unit: score_0_100
aliases:
- Sell_Conflict_Score
note: 매도/현금확보 게이트와 신규매수 충돌 점수.
holding_stale_json:
canonical_name: holding_stale_json
type: json
unit: array
aliases:
- holdingStaleJson
note: N4_HOLDING_STALE_REVIEW_V1 — 보유 기간 기반 재검토 플래그 배열
holding_days:
canonical_name: holding_days
type: number
unit: integer_days
aliases:
- holdingDays
- Holding_Days
note: 'N4: entry_date 기준 보유 일수'
stale_status:
canonical_name: stale_status
type: string
unit: enum
aliases:
- staleStatus
note: 'N4: STALE_POSITION(>60d)/REVIEW_SOON(>30d)/FRESH(<=30d)/ENTRY_DATE_MISSING'
entry_date:
canonical_name: entry_date
type: string
unit: ISO_date
aliases:
- entryDate
- Entry_Date
- entry_date_iso
note: 'N4: account_snapshot의 진입일 컬럼 — HOLDING_STALE_REVIEW_V1 입력'
regime_cash_uplift_min_pct:
canonical_name: regime_cash_uplift_min_pct
type: number
unit: pct
aliases:
- regimeCashUpliftMinPct
note: N5_REGIME_CASH_UPLIFT_V1 — 국면 상향 적용 후 실제 현금 최소 비율 (%). GAS 결정론적 산출
win_rate_30:
canonical_name: win_rate_30
type: number
unit: ratio_0_to_1
aliases:
- winRate30
- win_rate
note: 'O4 입력: 최근 30거래 승률 (0.0~1.0). readPerformanceSheet_() 산출'
trades_used:
canonical_name: trades_used
type: number
unit: integer
aliases:
- tradesUsed
note: 'O4 입력: 성능 계산에 사용된 거래 수. 10 미만이면 INSUFFICIENT_HISTORY'
single_position_weight_gate:
canonical_name: single_position_weight_gate
type: string
unit: enum
aliases:
- singlePositionWeightGate
note: O1_SINGLE_POSITION_WEIGHT_CAP_V1 — OVERWEIGHT_TRIM/PASS. 개별 종목 비중 상한 초과
여부
single_position_weight_json:
canonical_name: single_position_weight_json
type: json
unit: array
aliases:
- singlePositionWeightJson
note: 'O1: 종목별 weight_pct vs cap_pct 상태 배열'
semiconductor_cluster_gate:
canonical_name: semiconductor_cluster_gate
type: string
unit: enum
aliases:
- semiconductorClusterGate
note: O2_SEMICONDUCTOR_CLUSTER_GATE_V1 — CLUSTER_BLOCK/PASS. 005930+000660 합산
비중의 국면별 상한 초과 여부
semiconductor_cluster_json:
canonical_name: semiconductor_cluster_json
type: json
unit: object
aliases:
- semiconductorClusterJson
note: 'O2: 반도체 클러스터 합산 비중 및 종목별 상세. threshold_pct는 국면별 가변'
portfolio_drawdown_gate:
canonical_name: portfolio_drawdown_gate
type: string
unit: enum
aliases:
- portfolioDrawdownGate
note: O3_PORTFOLIO_DRAWDOWN_GATE_V1 — DRAWDOWN_FORCE_RISK_OFF/DRAWDOWN_CAUTION/PASS/INSUFFICIENT_DATA
portfolio_drawdown_pct:
canonical_name: portfolio_drawdown_pct
type: number
unit: pct
aliases:
- portfolioDrawdownPct
note: 'O3: 고점 대비 낙폭 % (양수=낙폭). GAS 결정론적 산출'
portfolio_peak_krw:
canonical_name: portfolio_peak_krw
type: number
unit: KRW
aliases:
- portfolioPeakKrw
note: 'O3: 역대 총자산 고점 (원). settings 시트 자동 갱신'
win_loss_streak_state:
canonical_name: win_loss_streak_state
type: string
unit: enum
aliases:
- winLossStreakState
note: O4_WIN_LOSS_STREAK_GUARD_V1 — EDGE_OK/EDGE_WEAK/EDGE_DEGRADED/EDGE_CRITICAL/INSUFFICIENT_HISTORY
win_loss_streak_buy_scale:
canonical_name: win_loss_streak_buy_scale
type: number
unit: multiplier
aliases:
- winLossStreakBuyScale
note: 'O4: atrQty에 곱해지는 배수 (0.25~1.0). GAS 결정론적 산출'
win_loss_streak_win_rate_pct:
canonical_name: win_loss_streak_win_rate_pct
type: number
unit: pct
aliases:
- winLossStreakWinRatePct
note: 'O4: 최근 30거래 승률 % (0~100)'
position_count_gate:
canonical_name: position_count_gate
type: string
unit: enum
aliases:
- positionCountGate
note: O5_POSITION_COUNT_LIMIT_V1 — POSITION_COUNT_BLOCK/PASS
position_count:
canonical_name: position_count
type: number
unit: integer
aliases:
- positionCount
note: 'O5: 현재 보유 종목 수 (holdings.length)'
position_count_max:
canonical_name: position_count_max
type: number
unit: integer
aliases:
- positionCountMax
note: 'O5: 국면별 최대 허용 종목 수 (NEUTRAL:8, RISK_OFF:6)'
heat_gate_status:
canonical_name: heat_gate_status
type: string
unit: enum
aliases:
- heatGateStatus
- heat_gate
note: 'P5 입력: BLOCK_NEW_BUY/HALVE_NEW_BUY_QUANTITY/ALLOW_CONTINUE'
cash_floor_status:
canonical_name: cash_floor_status
type: string
unit: enum
aliases:
- cashFloorStatus
note: 'P5 입력: HARD_BLOCK/TRIM_REQUIRED/PASS — cash_floor 게이트 상태'
stop_breach_gate:
canonical_name: stop_breach_gate
type: string
unit: enum
aliases:
- stopBreachGate
note: P1_STOP_BREACH_ALERT_V1 — BREACH/APPROACHING/PASS
stop_breach_alert_json:
canonical_name: stop_breach_alert_json
type: json
unit: array
aliases:
- stopBreachAlertJson
note: 'P1: 종목별 손절가 이탈 경보 상태·gap_pct 배열'
gap_pct:
canonical_name: gap_pct
type: number
unit: pct
aliases:
- gapPct
note: 'P1: (close - stop_price) / stop_price × 100. 양수=여유, 음수=이탈'
tp_trigger_gate:
canonical_name: tp_trigger_gate
type: string
unit: enum
aliases:
- tpTriggerGate
note: P2_TP_TRIGGER_ALERT_V1 — TRIGGERED/PASS
tp_trigger_alert_json:
canonical_name: tp_trigger_alert_json
type: json
unit: array
aliases:
- tpTriggerAlertJson
note: 'P2: 익절가 도달 종목·tp_qty 연계 배열'
heat_concentration_gate:
canonical_name: heat_concentration_gate
type: string
unit: enum
aliases:
- heatConcentrationGate
note: P3_HEAT_CONCENTRATION_ALERT_V1 — HEAT_CONCENTRATED/PASS/INSUFFICIENT_DATA
heat_concentration_json:
canonical_name: heat_concentration_json
type: json
unit: array
aliases:
- heatConcentrationJson
note: 'P3: 종목별 heat_krw·heat_share_pct 배열'
heat_share_pct:
canonical_name: heat_share_pct
type: number
unit: pct
aliases:
- heatSharePct
note: 'P3: 해당 종목 Heat / totalHeatKrw × 100'
regime_transition_type:
canonical_name: regime_transition_type
type: string
unit: enum
aliases:
- regimeTransitionType
note: P4_REGIME_TRANSITION_ALERT_V1 — UPGRADE/DOWNGRADE/LATERAL_SHIFT/NO_CHANGE
regime_transition_json:
canonical_name: regime_transition_json
type: json
unit: object
aliases:
- regimeTransitionJson
note: 'P4: 국면 전환 상세 (prev_regime, current_regime, affected_gates)'
portfolio_health_label:
canonical_name: portfolio_health_label
type: string
unit: enum
aliases:
- portfolioHealthLabel
note: P5_PORTFOLIO_HEALTH_SCORE_V1 — HEALTHY/CAUTION/CRITICAL. 보고서 첫 줄 표시 의무
portfolio_health_score:
canonical_name: portfolio_health_score
type: number
unit: score_0_to_100
aliases:
- portfolioHealthScore
note: 'P5: 0~100 건전성 점수. max(0, 100-critical×30-caution×10)'
portfolio_health_blocked_json:
canonical_name: portfolio_health_blocked_json
type: json
unit: array
aliases:
- portfolioHealthBlockedJson
note: 'P5: 활성화된 게이트별 severity(CRITICAL/CAUTION) 상세 배열'
ss001_grade:
canonical_name: ss001_grade
type: string
unit: enum [A, B, C, D]
aliases:
- SS001_Grade
- ss001Grade
note: SS001_SCORE_V1 종합 등급. A=최우수, D=최하. composite_verdict 입력값.
excess_ret_10d:
canonical_name: excess_ret_10d
type: number
unit: pct
aliases:
- Excess_Ret_10D
- excessRet10D
note: 'RS_VERDICT_V1: 종목 10일 수익률 KOSPI 10일 수익률.'
rs_verdict:
canonical_name: rs_verdict
type: string
unit: enum [LEADER, MARKET, LAGGARD, BROKEN, UNKNOWN]
aliases:
- RS_Verdict
- rsVerdict
note: RS_VERDICT_V1 판정. COMPOSITE_VERDICT_V1 및 RAG_V1 선행 입력.
composite_verdict:
canonical_name: composite_verdict
type: string
unit: enum [PRIME_CANDIDATE, WATCH_CANDIDATE, REDUCE_CANDIDATE, EXIT_REVIEW,
CLOSE_POSITION]
aliases:
- Composite_Verdict
- compositeVerdict
note: 'COMPOSITE_VERDICT_V1: ss001_grade × rs_verdict 매트릭스 판정.'
rag_v1:
canonical_name: rag_v1
type: string
unit: enum [PASS, FAIL, EXEMPT]
aliases:
- RAG_Verdict
- ragV1
note: 'REPLACEMENT_ALPHA_GATE_V1: 위성 신규 BUY 알파 검증 결과. FAIL → HOLD 강제.'
sfg_v1:
canonical_name: sfg_v1
type: string
unit: enum [TRIGGERED, CLEAR]
aliases:
- SFG_V1
- sfgV1
note: 'SATELLITE_FAILURE_GATE_V1: 위성 집단 실패 게이트. TRIGGERED → 모든 위성 BUY 차단.'
stock_drawdown_from_high_pct:
canonical_name: stock_drawdown_from_high_pct
type: number
unit: pct
aliases:
- Stock_Drawdown_From_High_Pct
- stockDrawdownFromHighPct
note: 'BENCHMARK_RELATIVE_TIMESERIES_V1: 종목 52주/가용 고점 대비 낙폭.'
excess_drawdown_pctp:
canonical_name: excess_drawdown_pctp
type: number
unit: pct_points
aliases:
- Excess_Drawdown_PctP
- excessDrawdownPctp
note: 'BENCHMARK_RELATIVE_TIMESERIES_V1: 종목 낙폭 - KOSPI 낙폭. 양수=시장보다 더 빠짐.'
recovery_ratio_5d:
canonical_name: recovery_ratio_5d
type: number
unit: ratio
aliases:
- Recovery_Ratio_5D
- recoveryRatio5d
note: 'BENCHMARK_RELATIVE_TIMESERIES_V1: KOSPI 5D 양수 구간 회복률.'
recovery_ratio_20d:
canonical_name: recovery_ratio_20d
type: number
unit: ratio
aliases:
- Recovery_Ratio_20D
- recoveryRatio20d
note: 'BENCHMARK_RELATIVE_TIMESERIES_V1: KOSPI 20D 양수 구간 회복률.'
downside_beta:
canonical_name: downside_beta
type: number
unit: ratio
aliases:
- Downside_Beta
- downsideBeta
note: 'BENCHMARK_RELATIVE_TIMESERIES_V1: KOSPI 하락 구간 수익률 비율. 프록시 사용 시 brt_method에
표시.'
rs_line_20d_slope:
canonical_name: rs_line_20d_slope
type: number
unit: slope
aliases:
- RS_Line_20D_Slope
- rsLine20dSlope
note: 'BENCHMARK_RELATIVE_TIMESERIES_V1: 20D 상대강도선 기울기.'
rs_line_60d_slope:
canonical_name: rs_line_60d_slope
type: number
unit: slope
aliases:
- RS_Line_60D_Slope
- rsLine60dSlope
note: 'BENCHMARK_RELATIVE_TIMESERIES_V1: 60D 상대강도선 기울기.'
brt_verdict:
canonical_name: brt_verdict
type: string
unit: enum [LEADER, MARKET, LAGGARD, BROKEN, UNKNOWN]
aliases:
- BRT_Verdict
- brtVerdict
note: BENCHMARK_RELATIVE_TIMESERIES_V1 최종 판정. RS_VERDICT_V2 입력.
brt_method:
canonical_name: brt_method
type: string
unit: text
aliases:
- BRT_Method
- brtMethod
note: BRT 산출 방식. 과거 시계열 부재 시 PROXY_FROM_RET20_RET60.
rs_verdict_v1_raw:
canonical_name: rs_verdict_v1_raw
type: string
unit: enum [LEADER, MARKET, LAGGARD, BROKEN, UNKNOWN]
aliases:
- RS_Verdict_V1_Raw
- rsVerdictV1Raw
note: RS_VERDICT_V2 감사용 V1 원본.
saqg_v1:
canonical_name: saqg_v1
type: string
unit: enum [ELIGIBLE, WATCHLIST_ONLY, EXCLUDED, EXEMPT]
aliases:
- SAQG_V1
- saqgV1
note: 'SATELLITE_ALPHA_QUALITY_GATE_V1: 위성 후보 품질 게이트.'
sapg_status:
canonical_name: sapg_status
type: string
unit: enum [PASS, SAPG_ALERT, SAPG_CRITICAL, INSUFFICIENT_DATA]
aliases:
- SAPG_Status
- sapgStatus
note: 'SATELLITE_AGGREGATE_PNL_GATE_V1: 위성 합산 손익 게이트.'
globalKospiRet5D_:
canonical_name: globalKospiRet5D_
type: number
unit: pct
aliases:
- KOSPI_Ret5D_PreRead
note: 'GAS preReads: KOSPI 5D 수익률.'
globalKospiRet20D_:
canonical_name: globalKospiRet20D_
type: number
unit: pct
aliases:
- KOSPI_Ret20D_PreRead
note: 'GAS preReads: KOSPI 20D 수익률.'
globalKospiRet60D_:
canonical_name: globalKospiRet60D_
type: number
unit: pct
aliases:
- KOSPI_Ret60D_PreRead
note: 'GAS preReads: KOSPI 60D 수익률.'
globalKospiDrawdown_:
canonical_name: globalKospiDrawdown_
type: number
unit: pct
aliases:
- KOSPI_Drawdown_PreRead
note: 'GAS preReads: KOSPI 가용 고점 대비 낙폭.'
profit_loss:
canonical_name: profit_loss
type: number
unit: KRW
aliases:
- unrealized_pnl_krw
- profit_loss_krw
note: account_snapshot 평가손익. SATELLITE_AGGREGATE_PNL_GATE_V1 입력.
cash_creation_purpose_lock:
canonical_name: cash_creation_purpose_lock
type: string
unit: enum
aliases:
- Cash_Creation_Purpose_Lock
note: CASH_CREATION_PURPOSE_LOCK_V1 출력 상태.
alpha_evaluation_window_json:
canonical_name: alpha_evaluation_window_json
type: json
unit: array
aliases:
- Alpha_Evaluation_Window_JSON
note: ALPHA_EVALUATION_WINDOW_V1 T+20/T+60 알파 평가 결과.
t20_return_pct:
canonical_name: t20_return_pct
type: number
unit: pct
aliases:
- T20_Return_Pct
note: ALPHA_EVALUATION_WINDOW_V1 입력.
t60_return_pct:
canonical_name: t60_return_pct
type: number
unit: pct
aliases:
- T60_Return_Pct
note: ALPHA_EVALUATION_WINDOW_V1 입력.
benchmark_core_return_pct:
canonical_name: benchmark_core_return_pct
type: number
unit: pct
aliases:
- Benchmark_Core_Return_Pct
note: ALPHA_EVALUATION_WINDOW_V1 벤치마크 코어 수익률.
volume_ratio_5d:
canonical_name: volume_ratio_5d
type: number
unit: ratio
aliases:
- Volume_Ratio_5D
- vol_ratio_5d
note: 최근 당일 거래량 / 5일 평균 거래량. PREDICTIVE_ALPHA_ENGINE_V1 thesis 입력.
distribution_signals_count:
canonical_name: distribution_signals_count
type: number
unit: float
aliases:
- weighted_sum
- Distribution_Signals_Count
note: DISTRIBUTION_SELL_DETECTOR_V1 가중합산 점수. ANTI_LATE_ENTRY_GATE_V2 GATE_3
입력.
foreign_sell_consecutive_days:
canonical_name: foreign_sell_consecutive_days
type: integer
unit: days
aliases:
- foreign_consecutive_sell_days
- Foreign_Sell_Consecutive_Days
note: 외국인 순매도 연속 일수. PREDICTIVE_ALPHA_ENGINE_V1 antithesis 및 MACRO_EVENT_SYNCHRONIZER_V1
입력.
foreign_sell_krw_today:
canonical_name: foreign_sell_krw_today
type: number
unit: KRW
aliases:
- Foreign_Sell_KRW_Today
note: 당일 외국인 순매도 금액(원). mega_sell_alert 판정 기준. macro 시트 _foreignFlow.
days_since_entry:
canonical_name: days_since_entry
type: integer
unit: days
aliases:
- Days_Since_Entry
note: 진입 후 경과 영업일 수. PREDICTIVE_ALPHA_ENGINE_V1 stale_position 판정 입력.
fomc_days_remaining:
canonical_name: fomc_days_remaining
type: integer
unit: days
aliases:
- FOMC_Days_Remaining
note: 다음 FOMC까지 남은 일수. settings 시트 event_calendar. MACRO_EVENT_SYNCHRONIZER_V1
입력.
domestic_cpi:
canonical_name: domestic_cpi
type: number
unit: percent
aliases:
- Domestic_CPI
- cpi_yoy
note: 국내 소비자물가지수 전년비(%). macro 시트. MACRO_EVENT_SYNCHRONIZER_V1 입력.
vix:
canonical_name: vix
type: number
unit: index
aliases:
- VIX
- cboe_vix
note: CBOE VIX 공포지수. macro 시트 _vix. MACRO_EVENT_SYNCHRONIZER_V1 입력.
us500_1w_change:
canonical_name: us500_1w_change
type: number
unit: percent
aliases:
- US500_1W_Change
- sp500_1w_change
note: S&P500 1주일 등락률(%). macro 시트 _us500Close. MACRO_EVENT_SYNCHRONIZER_V1 입력.
base_qty:
canonical_name: base_qty
type: integer
unit: shares
aliases:
- Base_Qty
note: SELL_QUANTITY_ALLOCATOR_V1 산출 기준 매도 수량. CASH_PRESERVATION_SELL_ENGINE_V2
입력.
ce70_net_profit_krw:
canonical_name: ce70_net_profit_krw
type: number_or_null
unit: KRW
aliases:
- CE70_NET_PROFIT_KRW
- ce70_profit
note: forecast_simulation_engine_v1 산출 — 세후비용 차감 손익분포의 30%분위(CE70). 표본 부족 시
null(DATA_MISSING).
tax_fee_slippage_krw:
canonical_name: tax_fee_slippage_krw
type: number
unit: KRW
aliases:
- TAX_FEE_SLIPPAGE_KRW
- tax_fee_slippage
note: sell_waterfall_engine_v4 산출 — 세금·수수료·슬리피지 합산 비용.
cash_repair_benefit_krw:
canonical_name: cash_repair_benefit_krw
type: number
unit: KRW
aliases:
- CASH_REPAIR_BENEFIT_KRW
note: smart_cash_recovery_v9 연동 — 현금방어선 회복으로 인한 효용 가치.
concentration_reduction_benefit_krw:
canonical_name: concentration_reduction_benefit_krw
type: number
unit: KRW
aliases:
- CONCENTRATION_REDUCTION_BENEFIT_KRW
note: portfolio_exposure.concentration_caps_v8_9_supplement 초과 해소로 인한 효용 가치.
turnover_penalty_krw:
canonical_name: turnover_penalty_krw
type: number
unit: KRW
aliases:
- TURNOVER_PENALTY_KRW
note: 회전율 예산 초과분에 대한 페널티. rebalancing_engine_v8_9.turnover_budget 참조.
transition_utility_krw:
canonical_name: transition_utility_krw
type: number_or_null
unit: KRW
aliases:
- TRANSITION_UTILITY_KRW
note: PORTFOLIO_TRANSITION_UTILITY_V1 산출 — 양수일 때만 전환 후보 채택 검토. 입력 결측 시 null(NO_TRADE_AND_QUARANTINE).
avoided_tail_loss_krw:
canonical_name: avoided_tail_loss_krw
type: number
unit: KRW
aliases:
- AVOIDED_TAIL_LOSS_KRW
note: SELL_LOT_PARETO_SELECTOR_V1 입력 — 해당 lot을 매도하지 않았을 때 예상되는 꼬리위험 손실 회피액.
tax_loss_benefit_krw:
canonical_name: tax_loss_benefit_krw
type: number
unit: KRW
aliases:
- TAX_LOSS_BENEFIT_KRW
note: SELL_LOT_PARETO_SELECTOR_V1 입력 — 손실 lot 매도 시 세금 절감 효과. 계좌유형 미확인 시 0(DATA_MISSING
표기).
reentry_cost_krw:
canonical_name: reentry_cost_krw
type: number
unit: KRW
aliases:
- REENTRY_COST_KRW
note: SELL_LOT_PARETO_SELECTOR_V1 입력 — 매도 후 재진입 시 예상 거래비용·스프레드.
missed_upside_penalty_krw:
canonical_name: missed_upside_penalty_krw
type: number
unit: KRW
aliases:
- MISSED_UPSIDE_PENALTY_KRW
note: SELL_LOT_PARETO_SELECTOR_V1 입력 — CE70_NET_PROFIT_KRW 분포 기반 추정 상승분. 분포
없으면 0(보수적 하한).
lot_sell_score_krw:
canonical_name: lot_sell_score_krw
type: number_or_null
unit: KRW
aliases:
- LOT_SELL_SCORE_KRW
note: SELL_LOT_PARETO_SELECTOR_V1 산출 — 동일 hard_precedence 단계 내 lot 우선순위 점수.
ce90_net_profit_krw:
canonical_name: ce90_net_profit_krw
type: number_or_null
unit: KRW
aliases:
- CE90_NET_PROFIT_KRW
note: FORECAST_SIMULATION_ENGINE_V1 산출 — 손익분포 10%분위(CE90). 표본 부족 시 null(WATCH_ONLY).
cvar95_loss_krw:
canonical_name: cvar95_loss_krw
type: number_or_null
unit: KRW
aliases:
- CVAR95_LOSS_KRW
note: FORECAST_SIMULATION_ENGINE_V1 산출 — 95% 신뢰구간 꼬리손실 평균. 표본 부족 시 null(WATCH_ONLY).
sample_count_total:
canonical_name: sample_count_total
type: integer
unit: count
aliases:
- SAMPLE_COUNT_TOTAL
note: FORECAST_SIMULATION_ENGINE_V1 입력 — 전체 손익 표본 수. spec/29_backtest_harness_contract.yaml
연동.
sample_count_same_regime:
canonical_name: sample_count_same_regime
type: integer
unit: count
aliases:
- SAMPLE_COUNT_SAME_REGIME
note: FORECAST_SIMULATION_ENGINE_V1 입력 — 동일 레짐 손익 표본 수.
net_profit_distribution_after_tax_fee_slippage:
canonical_name: net_profit_distribution_after_tax_fee_slippage
type: list_or_null
unit: list_of_KRW
aliases:
- NET_PROFIT_DISTRIBUTION
note: FORECAST_SIMULATION_ENGINE_V1 입력 — 세후·비용 차감 손익 표본 분포. spec/29_backtest_harness_contract.yaml
연동.
execution_mode:
canonical_name: execution_mode
type: string
unit: none
aliases:
- EXECUTION_MODE
- global_execution_gate
note: AUDIT_ONLY | SHADOW | PILOT | LIVE_LIMITED | LIVE_FULL. PORTFOLIO_TRANSITION_UTILITY_V1·FORECAST_SIMULATION_ENGINE_V1
입력.
direct_weight_pct:
canonical_name: direct_weight_pct
type: number
unit: percent
aliases:
- DIRECT_WEIGHT_PCT
note: SECTOR_EXPOSURE_GRAPH_V1 입력 — 종목 직접보유 비중.
etf_constituents_json:
canonical_name: etf_constituents_json
type: list_or_null
unit: json
aliases:
- ETF_CONSTITUENTS_JSON
note: SECTOR_EXPOSURE_GRAPH_V1 입력 — ETF 구성종목 [{ticker, weight_pct, sector_id}].
미확인 시 ETF_BUY_BLOCKED.
etf_weight_pct:
canonical_name: etf_weight_pct
type: number
unit: percent
aliases:
- ETF_WEIGHT_PCT
note: SECTOR_EXPOSURE_GRAPH_V1 입력 — 포트폴리오 내 ETF 비중.
sector_id:
canonical_name: sector_id
type: string
unit: none
aliases:
- SECTOR_ID
note: 'canonical_sector_id_format(L1:L2:L3:L4) 준수. 예: EQ:TECH:SEMIS:HBM.'
peer_sector_betas:
canonical_name: peer_sector_betas
type: list_or_null
unit: list_of_ratio
aliases:
- PEER_SECTOR_BETAS
note: SECTOR_EXPOSURE_GRAPH_V1 입력 — 동일 macro_driver 공유 섹터 베타 목록. 미확인 시 raw beta
사용 + PARTIAL 표기.
sector_family_total_pct:
canonical_name: sector_family_total_pct
type: number_or_null
unit: percent
aliases:
- SECTOR_FAMILY_TOTAL_PCT
note: SECTOR_EXPOSURE_GRAPH_V1 산출 — direct_weight_pct + lookthrough_etf_weight_pct.
relative_strength_leads_sector:
canonical_name: relative_strength_leads_sector
type: boolean
unit: none
aliases:
- RELATIVE_STRENGTH_LEADS_SECTOR
note: LEADER_LIFECYCLE_GATE_V1 입력 — promotion_requires_all 항목.
volume_quality_confirmed:
canonical_name: volume_quality_confirmed
type: boolean
unit: none
aliases:
- VOLUME_QUALITY_CONFIRMED
note: LEADER_LIFECYCLE_GATE_V1 입력 — promotion_requires_all 항목.
above_ma60_or_reclaim_confirmed:
canonical_name: above_ma60_or_reclaim_confirmed
type: boolean
unit: none
aliases:
- ABOVE_MA60_OR_RECLAIM_CONFIRMED
note: LEADER_LIFECYCLE_GATE_V1 입력 — promotion_requires_all 항목, demotion_triggers_any
항목.
earnings_revision_status:
canonical_name: earnings_revision_status
type: string
unit: none
aliases:
- EARNINGS_REVISION_STATUS
note: LEADER_LIFECYCLE_GATE_V1 입력 — positive | neutral | negative.
institutional_flow_status:
canonical_name: institutional_flow_status
type: string
unit: none
aliases:
- INSTITUTIONAL_FLOW_STATUS
note: LEADER_LIFECYCLE_GATE_V1 입력 — accumulation | neutral | distribution.
current_role:
canonical_name: current_role
type: string
unit: none
aliases:
- CURRENT_ROLE
note: LEADER_LIFECYCLE_GATE_V1 입력 — 직전 평가 leader_role. 최초 평가 시 LAGGARD.
leader_role:
canonical_name: leader_role
type: string
unit: none
aliases:
- LEADER_ROLE
note: LEADER_LIFECYCLE_GATE_V1 산출 — CAPTAIN | CORE_LEADER | ENABLER | CYCLICAL_BETA
| LAGGARD | DISTRIBUTION_RISK.
planned_order_amount_krw:
canonical_name: planned_order_amount_krw
type: number
unit: KRW
aliases:
- PLANNED_ORDER_AMOUNT_KRW
note: EXECUTION_CAPACITY_LADDER_V1 입력 — 계획된 주문금액.
avg_trade_value_20d_krw:
canonical_name: avg_trade_value_20d_krw
type: number_or_null
unit: KRW
aliases:
- AVG_TRADE_VALUE_20D_KRW
- AvgTradeValue_20D
note: EXECUTION_CAPACITY_LADDER_V1 입력 — 20일 평균거래대금. 미확인 시 EXECUTION_PLAN_BLOCKED.
intraday_trade_value_krw:
canonical_name: intraday_trade_value_krw
type: number_or_null
unit: KRW
aliases:
- INTRADAY_TRADE_VALUE_KRW
note: EXECUTION_CAPACITY_LADDER_V1 입력 — 당일 누적 거래대금.
orderbook_top3_depth_krw:
canonical_name: orderbook_top3_depth_krw
type: number_or_null
unit: KRW
aliases:
- ORDERBOOK_TOP3_DEPTH_KRW
note: EXECUTION_CAPACITY_LADDER_V1 입력 — 호가창 상위 3단계 누적 깊이.
spread_bps:
canonical_name: spread_bps
type: number_or_null
unit: basis_points
aliases:
- SPREAD_BPS
note: EXECUTION_CAPACITY_LADDER_V1 입력 — 매수/매도 호가 스프레드. spread_widen_cancel_rule
연동.
order_capacity_krw:
canonical_name: order_capacity_krw
type: number_or_null
unit: KRW
aliases:
- ORDER_CAPACITY_KRW
note: EXECUTION_CAPACITY_LADDER_V1 산출 — 체결 가능 용량 상한. 결측 입력 시 null(EXECUTION_PLAN_BLOCKED).
data_quarantine_rate_pct:
canonical_name: data_quarantine_rate_pct
type: number_or_null
unit: percent
aliases:
- DATA_QUARANTINE_RATE_PCT
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — 결측/충돌로 quarantine된 입력 비율. >5%면 kill
switch.
implementation_shortfall_ratio:
canonical_name: implementation_shortfall_ratio
type: number_or_null
unit: ratio
aliases:
- IMPLEMENTATION_SHORTFALL_RATIO
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — 실제/기대 슬리피지 비율. >2.0이면 kill switch.
t5_hit_rate_pct:
canonical_name: t5_hit_rate_pct
type: number_or_null
unit: percent
aliases:
- T5_HIT_RATE_PCT
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — spec/29_backtest_harness_contract.yaml:t5_op_rate
연동.
t5_sample_count:
canonical_name: t5_sample_count
type: integer
unit: count
aliases:
- T5_SAMPLE_COUNT
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — t5_hit_rate_pct 표본 수. 30건 미만이면 hit_rate
kill switch 미적용.
calibration_error:
canonical_name: calibration_error
type: number_or_null
unit: ratio
aliases:
- CALIBRATION_ERROR
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — spec/calibration_registry.yaml 연동.
calibration_error_limit:
canonical_name: calibration_error_limit
type: number
unit: ratio
aliases:
- CALIBRATION_ERROR_LIMIT
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — calibration_error 허용 상한.
account_mdd_pct:
canonical_name: account_mdd_pct
type: number_or_null
unit: percent
aliases:
- ACCOUNT_MDD_PCT
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — 현재 계좌 MDD.
account_mdd_budget_pct:
canonical_name: account_mdd_budget_pct
type: number
unit: percent
aliases:
- ACCOUNT_MDD_BUDGET_PCT
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 입력 — spec/risk/aggregate_risk.yaml MDD
예산.
kill_switch_triggered:
canonical_name: kill_switch_triggered
type: boolean
unit: none
aliases:
- KILL_SWITCH_TRIGGERED
note: MODEL_GOVERNANCE_KILL_SWITCH_V1 산출 — kill_switch_conditions 중 하나 이상 true.
scenario_id:
canonical_name: scenario_id
type: string
unit: none
aliases:
- SCENARIO_ID
note: SCENARIO_SHOCK_MATRIX_V1 입력 — base_case | adverse_case | liquidity_drought_case
| crisis_case | fx_shock_case | tax_cost_case.
scenario_results:
canonical_name: scenario_results
type: list_or_null
unit: list_of_object
aliases:
- SCENARIO_RESULTS
note: SCENARIO_SHOCK_MATRIX_V1 산출 — [{scenario_id, scenario_ce70_krw, scenario_cvar95_krw}].
분포 결측 시 null.
evaluated_candidates:
canonical_name: evaluated_candidates
type: list
unit: list_of_object
aliases:
- EVALUATED_CANDIDATES
note: TRANSITION_SET_ENUMERATOR_V1 입력 — PORTFOLIO_TRANSITION_UTILITY_V1.candidate_actions
산출물.
max_set_size:
canonical_name: max_set_size
type: integer
unit: count
aliases:
- MAX_SET_SIZE
note: TRANSITION_SET_ENUMERATOR_V1 입력 — 조합 폭발 방지 상한. 기본값 3.
selected_transition_set:
canonical_name: selected_transition_set
type: list
unit: list_of_string
aliases:
- SELECTED_TRANSITION_SET
note: TRANSITION_SET_ENUMERATOR_V1 산출 — 최종 선택된 candidate_id 조합. 빈 리스트면 NO_TRADE.
decision_id:
canonical_name: decision_id
type: string
unit: none
aliases:
- DECISION_ID
note: IMMUTABLE_DECISION_LEDGER_V1 입력 — 동일 ID 재기록 시 DUPLICATE_DECISION_ID.
input_hash_bundle:
canonical_name: input_hash_bundle
type: string
unit: none
aliases:
- INPUT_HASH_BUNDLE
note: IMMUTABLE_DECISION_LEDGER_V1 입력 — 의사결정 시점 입력 데이터 해시 묶음.
candidate_ids:
canonical_name: candidate_ids
type: list
unit: list_of_string
aliases:
- CANDIDATE_IDS
note: IMMUTABLE_DECISION_LEDGER_V1 입력 — 평가 대상이 된 candidate_id 목록.
selected_transition_id:
canonical_name: selected_transition_id
type: string_or_null
unit: none
aliases:
- SELECTED_TRANSITION_ID
note: IMMUTABLE_DECISION_LEDGER_V1 입력 — NO_TRADE면 null.
ledger_append_status:
canonical_name: ledger_append_status
type: string
unit: none
aliases:
- LEDGER_APPEND_STATUS
note: IMMUTABLE_DECISION_LEDGER_V1 산출 — APPENDED | DUPLICATE_DECISION_ID | REJECTED_MISSING_FIELDS.
revalidation_snapshot:
canonical_name: revalidation_snapshot
type: object_or_null
unit: json
aliases:
- REVALIDATION_SNAPSHOT
note: EXECUTION_PLAN_COMPILER_V1 입력 — slice 직전 시점 {cash_floor_pct, deployable_cash_krw,
order_capacity_krw, spread_bps}.
baseline_snapshot:
canonical_name: baseline_snapshot
type: object_or_null
unit: json
aliases:
- BASELINE_SNAPSHOT
note: EXECUTION_PLAN_COMPILER_V1 입력 — slice 1 컴파일 시점 스냅샷. cancel_remaining_if
기준값.
compiled_slices:
canonical_name: compiled_slices
type: list_or_null
unit: list_of_object
aliases:
- COMPILED_SLICES
note: EXECUTION_PLAN_COMPILER_V1 산출 — [{slice_index, slice_amount_krw, status}].
cash_ladder:
canonical_name: cash_ladder
type: object_or_null
unit: json
aliases:
- CASH_LADDER
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — spec/formulas/domains/cash.yaml:CASH_RATIOS_V1
산출.
positions:
canonical_name: positions
type: list_or_null
unit: list_of_object
aliases:
- POSITIONS
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — spec/15_account_snapshot_contract.yaml
보유종목 목록.
sector_exposure_graph:
canonical_name: sector_exposure_graph
type: list_or_null
unit: list_of_object
aliases:
- SECTOR_EXPOSURE_GRAPH
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — SECTOR_EXPOSURE_GRAPH_V1.rows 산출.
goal_progress_pct:
canonical_name: goal_progress_pct
type: number_or_null
unit: percent
aliases:
- GOAL_PROGRESS_PCT
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — total_asset_krw / target_asset_krw *
100.
factor_exposures:
canonical_name: factor_exposures
type: list_or_null
unit: list_of_object
aliases:
- FACTOR_EXPOSURES
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — spec/risk/factor_risk.yaml 연동.
tax_lots:
canonical_name: tax_lots
type: list_or_null
unit: list_of_object
aliases:
- TAX_LOTS
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — spec/15_account_snapshot_contract.yaml
연동.
risk_bucket_weights:
canonical_name: risk_bucket_weights
type: object_or_null
unit: json
aliases:
- RISK_BUCKET_WEIGHTS
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — spec/risk/portfolio_exposure.yaml 연동.
macro_regime_probabilities:
canonical_name: macro_regime_probabilities
type: object_or_null
unit: json
aliases:
- MACRO_REGIME_PROBABILITIES
note: STATE_VECTOR_CONSTRUCTOR_V1 입력 — spec/risk/market_risk_cash.yaml 연동.
state_vector:
canonical_name: state_vector
type: object_or_null
unit: json
aliases:
- STATE_VECTOR
note: STATE_VECTOR_CONSTRUCTOR_V1 산출 — 결측 component는 null + missing_components
기록.
missing_components:
canonical_name: missing_components
type: list
unit: list_of_string
aliases:
- MISSING_COMPONENTS
note: STATE_VECTOR_CONSTRUCTOR_V1 산출 — null로 남은 component 이름 목록.
transition_utility_after_tax_cost_krw:
canonical_name: transition_utility_after_tax_cost_krw
type: number_or_null
unit: KRW
aliases:
- TRANSITION_UTILITY_AFTER_TAX_COST_KRW
note: REBALANCE_CADENCE_GATE_V1 입력 — PORTFOLIO_TRANSITION_UTILITY_V1.transition_utility_krw와
동일 출처.
hard_risk_block_active:
canonical_name: hard_risk_block_active
type: boolean_or_null
unit: none
aliases:
- HARD_RISK_BLOCK_ACTIVE
note: REBALANCE_CADENCE_GATE_V1 입력 — spec/risk/aggregate_risk.yaml 연동.
rebalance_execution_allowed:
canonical_name: rebalance_execution_allowed
type: boolean
unit: none
aliases:
- REBALANCE_EXECUTION_ALLOWED
note: REBALANCE_CADENCE_GATE_V1 산출 — true여야 실제 리밸런싱 실행 가능.
historical_returns:
canonical_name: historical_returns
type: list_or_null
unit: list_of_object
aliases:
- HISTORICAL_RETURNS
note: WALK_FORWARD_BOOTSTRAP_V1 입력 — [{date, regime_state, net_return_after_cost_pct}].
spec/29_backtest_harness_contract.yaml 연동.
current_regime_state:
canonical_name: current_regime_state
type: string
unit: none
aliases:
- CURRENT_REGIME_STATE
note: WALK_FORWARD_BOOTSTRAP_V1 입력 — regime_matched 리샘플링 필터 기준.
bootstrap_method:
canonical_name: bootstrap_method
type: string
unit: none
aliases:
- BOOTSTRAP_METHOD
note: WALK_FORWARD_BOOTSTRAP_V1 입력 — walk_forward | regime_matched.
weekly_legacy_to_cma_transfer_plan_krw:
canonical_name: weekly_legacy_to_cma_transfer_plan_krw
type: number
unit: KRW
aliases:
- WEEKLY_LEGACY_TO_CMA_TRANSFER_PLAN_KRW
note: WEEKLY_LEGACY_TRANSFER_PLAN_V1 입력 — spec/risk/portfolio_exposure.yaml
operator_cashflow_config 고정 계획값.
transfer_confirmed:
canonical_name: transfer_confirmed
type: boolean_or_null
unit: none
aliases:
- TRANSFER_CONFIRMED
note: WEEKLY_LEGACY_TRANSFER_PLAN_V1 입력 — null은 false로 간주(보수적).
transfer_confirmed_amount_krw:
canonical_name: transfer_confirmed_amount_krw
type: number_or_null
unit: KRW
aliases:
- TRANSFER_CONFIRMED_AMOUNT_KRW
note: WEEKLY_LEGACY_TRANSFER_PLAN_V1 입력 — transfer_confirmed=true일 때만 값 존재.
ma20_prev:
canonical_name: ma20_prev
type: number_or_null
unit: KRW_per_share
aliases:
- MA20_PREV
note: GOLDEN_CROSS_SIGNAL_V1 입력 — 전일 ma20.
ma60_prev:
canonical_name: ma60_prev
type: number_or_null
unit: KRW_per_share
aliases:
- MA60_PREV
note: GOLDEN_CROSS_SIGNAL_V1 입력 — 전일 ma60.
ma120:
canonical_name: ma120
type: number_or_null
unit: KRW_per_share
aliases:
- MA120
- 120일선
note: TREND_FILTER_GATE_V1 입력 — 120일 이동평균.
ma120_prev:
canonical_name: ma120_prev
type: number_or_null
unit: KRW_per_share
aliases:
- MA120_PREV
note: TREND_FILTER_GATE_V1 입력 — 전일 ma120.
high_price:
canonical_name: high_price
type: number
unit: KRW_per_share
aliases:
- High
- 고가
- high
note: STRONG_CLOSE_SIGNAL_V1 입력 — 당일 고가.
low_price:
canonical_name: low_price
type: number
unit: KRW_per_share
aliases:
- Low
- 저가
- low
note: STRONG_CLOSE_SIGNAL_V1 입력 — 당일 저가.
bb_width:
canonical_name: bb_width
type: number_or_null
unit: percent
aliases:
- BB_WIDTH
note: VOLATILITY_EXPANSION_BREAKOUT_V1 입력 — 20일 볼린저밴드 폭.
bb_width_20d_percentile:
canonical_name: bb_width_20d_percentile
type: number_or_null
unit: percent
aliases:
- BB_WIDTH_20D_PERCENTILE
note: VOLATILITY_EXPANSION_BREAKOUT_V1 입력 — 최근 20일 분포 내 bb_width 백분위. 낮을수록 squeeze.
daily_close_changes:
canonical_name: daily_close_changes
type: list_or_null
unit: list_of_percent
aliases:
- DAILY_CLOSE_CHANGES
note: CONSECUTIVE_STREAK_V1 입력 — 최근 N거래일 일별 종가 변화율(%) 리스트, 최신값이 마지막.
prior_high:
canonical_name: prior_high
type: number_or_null
unit: KRW_per_share
aliases:
- PRIOR_HIGH
note: BREAKOUT_FAILURE_STOP_V1 입력 — 진입 당시 돌파 기준 전고점.
golden_cross_today:
canonical_name: golden_cross_today
type: boolean_or_null
unit: none
aliases:
- GOLDEN_CROSS_TODAY
note: GOLDEN_CROSS_SIGNAL_V1 산출 — STRATEGY_SCORING 보조신호. 단독 BUY 트리거 금지.
strong_close:
canonical_name: strong_close
type: boolean_or_null
unit: none
aliases:
- STRONG_CLOSE
note: STRONG_CLOSE_SIGNAL_V1 산출.
close_position_pct:
canonical_name: close_position_pct
type: number_or_null
unit: percent
aliases:
- CLOSE_POSITION_PCT
note: STRONG_CLOSE_SIGNAL_V1 산출 — (close-low)/(high-low)*100.
volatility_expansion_breakout:
canonical_name: volatility_expansion_breakout
type: boolean_or_null
unit: none
aliases:
- VOLATILITY_EXPANSION_BREAKOUT
note: VOLATILITY_EXPANSION_BREAKOUT_V1 산출 — BREAKOUT_QUALITY_GATE_V2 통과 전제.
fifty_two_week_high_breakout:
canonical_name: fifty_two_week_high_breakout
type: boolean_or_null
unit: none
aliases:
- FIFTY_TWO_WEEK_HIGH_BREAKOUT
note: FIFTY_TWO_WEEK_HIGH_TRIGGER_V1 산출 — BREAKOUT_QUALITY_GATE_V2 입력 전용.
up_streak:
canonical_name: up_streak
type: integer_or_null
unit: count
aliases:
- UP_STREAK
note: CONSECUTIVE_STREAK_V1 산출 — 연속 상승 일수.
trend_filter_pass:
canonical_name: trend_filter_pass
type: boolean_or_null
unit: none
aliases:
- TREND_FILTER_PASS
note: TREND_FILTER_GATE_V1 산출 — close>ma120 AND ma120 상승 중.
breakout_failure:
canonical_name: breakout_failure
type: boolean_or_null
unit: none
aliases:
- BREAKOUT_FAILURE
note: BREAKOUT_FAILURE_STOP_V1 산출 — true이면 SELL_RISK_EXIT_REVIEW.
deployable_cash_contribution_krw:
canonical_name: deployable_cash_contribution_krw
type: number
unit: KRW
aliases:
- DEPLOYABLE_CASH_CONTRIBUTION_KRW
note: WEEKLY_LEGACY_TRANSFER_PLAN_V1 산출 — 확정 전이면 0, 확정 후 transfer_confirmed_amount_krw.
plan_status:
canonical_name: plan_status
type: string
unit: none
aliases:
- PLAN_STATUS
note: WEEKLY_LEGACY_TRANSFER_PLAN_V1 산출 — PLANNED_NOT_DEPLOYABLE | CONFIRMED_DEPLOYABLE.
ac_s1:
canonical_name: ac_s1
type: number
unit: none
aliases:
- AC_S1
ac_s2:
canonical_name: ac_s2
type: number
unit: none
aliases:
- AC_S2
ac_s3:
canonical_name: ac_s3
type: number
unit: none
aliases:
- AC_S3
ac_s4:
canonical_name: ac_s4
type: number
unit: none
aliases:
- AC_S4
ac_s5:
canonical_name: ac_s5
type: number
unit: none
aliases:
- AC_S5
ac_total:
canonical_name: ac_total
type: number
unit: none
aliases:
- AC_Total
atr20_at_entry:
canonical_name: atr20_at_entry
type: number
unit: none
aliases:
- ATR20_At_Entry
aum:
canonical_name: aum
type: number
unit: none
aliases:
- AUM
account:
canonical_name: account
type: integer
unit: shares
aliases:
- Account
- account
account_avg_cost:
canonical_name: account_avg_cost
type: integer
unit: shares
aliases:
- Account_Avg_Cost
account_holding_qty:
canonical_name: account_holding_qty
type: integer
unit: shares
aliases:
- Account_Holding_Qty
account_market_value:
canonical_name: account_market_value
type: integer
unit: shares
aliases:
- Account_Market_Value
account_parse_status:
canonical_name: account_parse_status
type: integer
unit: shares
aliases:
- Account_Parse_Status
action_priority:
canonical_name: action_priority
type: string
unit: none
aliases:
- Action_Priority
alert:
canonical_name: alert
type: number
unit: none
aliases:
- Alert
alert_level:
canonical_name: alert_level
type: number
unit: none
aliases:
- Alert_Level
ask:
canonical_name: ask
type: number
unit: none
aliases:
- Ask
base_ticker:
canonical_name: base_ticker
type: number
unit: none
aliases:
- Base_Ticker
bid:
canonical_name: bid
type: number
unit: none
aliases:
- Bid
breakout_gate:
canonical_name: breakout_gate
type: string
unit: none
aliases:
- Breakout_Gate
breakout_score:
canonical_name: breakout_score
type: number
unit: none
aliases:
- Breakout_Score
c1_price:
canonical_name: c1_price
type: number
unit: KRW_per_share
aliases:
- C1_Price
c2_relstr:
canonical_name: c2_relstr
type: number
unit: none
aliases:
- C2_RelStr
c3_volsurge:
canonical_name: c3_volsurge
type: number
unit: none
aliases:
- C3_VolSurge
c4_flow:
canonical_name: c4_flow
type: number
unit: none
aliases:
- C4_Flow
c5_sector:
canonical_name: c5_sector
type: number
unit: none
aliases:
- C5_Sector
category:
canonical_name: category
type: number
unit: none
aliases:
- Category
chunk_size:
canonical_name: chunk_size
type: number
unit: none
aliases:
- Chunk_Size
close_at_entry:
canonical_name: close_at_entry
type: number
unit: none
aliases:
- Close_At_Entry
constituent_code:
canonical_name: constituent_code
type: number
unit: none
aliases:
- Constituent_Code
constituent_name:
canonical_name: constituent_name
type: number
unit: none
aliases:
- Constituent_Name
coverage_pct:
canonical_name: coverage_pct
type: number
unit: percent
aliases:
- Coverage_Pct
current_ratio:
canonical_name: current_ratio
type: number
unit: percent
aliases:
- Current_Ratio
dps:
canonical_name: dps
type: number
unit: none
aliases:
- DPS
data_quality:
canonical_name: data_quality
type: number
unit: none
aliases:
- Data_Quality
date:
canonical_name: date
type: date_ISO8601
unit: none
aliases:
- Date
days_to_earnings:
canonical_name: days_to_earnings
type: number
unit: none
aliases:
- Days_To_Earnings
days_to_ex_div:
canonical_name: days_to_ex_div
type: number
unit: none
aliases:
- Days_To_Ex_Div
decision_source:
canonical_name: decision_source
type: number
unit: none
aliases:
- Decision_Source
decision_use:
canonical_name: decision_use
type: number
unit: none
aliases:
- Decision_Use
dividendyield:
canonical_name: dividendyield
type: number
unit: none
aliases:
- DividendYield
ee_est:
canonical_name: ee_est
type: number
unit: none
aliases:
- EE_Est
eps_growth_1y_pct:
canonical_name: eps_growth_1y_pct
type: number
unit: percent
aliases:
- EPS_Growth_1Y_Pct
etf_data_status:
canonical_name: etf_data_status
type: string
unit: none
aliases:
- ETF_Data_Status
etf_execution_use:
canonical_name: etf_execution_use
type: number
unit: none
aliases:
- ETF_Execution_Use
etf_frg_5d_krw:
canonical_name: etf_frg_5d_krw
type: number
unit: KRW
aliases:
- ETF_Frg_5D_KRW
etf_inst_5d_krw:
canonical_name: etf_inst_5d_krw
type: number
unit: KRW
aliases:
- ETF_Inst_5D_KRW
etf_liquidity_score:
canonical_name: etf_liquidity_score
type: number
unit: none
aliases:
- ETF_Liquidity_Score
etf_liquidity_status:
canonical_name: etf_liquidity_status
type: string
unit: none
aliases:
- ETF_Liquidity_Status
etf_nav_risk:
canonical_name: etf_nav_risk
type: number
unit: none
aliases:
- ETF_NAV_Risk
etf_name:
canonical_name: etf_name
type: number
unit: none
aliases:
- ETF_Name
etf_ticker:
canonical_name: etf_ticker
type: number
unit: none
aliases:
- ETF_Ticker
earnings_date:
canonical_name: earnings_date
type: date_ISO8601
unit: none
aliases:
- Earnings_Date
effective_date:
canonical_name: effective_date
type: date_ISO8601
unit: none
aliases:
- Effective_Date
enabled:
canonical_name: enabled
type: number
unit: none
aliases:
- Enabled
entry_mode:
canonical_name: entry_mode
type: string
unit: none
aliases:
- Entry_Mode
entry_mode_reason:
canonical_name: entry_mode_reason
type: string
unit: none
aliases:
- Entry_Mode_Reason
entry_stage:
canonical_name: entry_stage
type: number
unit: none
aliases:
- Entry_Stage
- entry_stage
event:
canonical_name: event
type: number
unit: none
aliases:
- Event
ex_dividend_date:
canonical_name: ex_dividend_date
type: date_ISO8601
unit: none
aliases:
- Ex_Dividend_Date
exit_reason:
canonical_name: exit_reason
type: number
unit: none
aliases:
- Exit_Reason
final_rank:
canonical_name: final_rank
type: number
unit: none
aliases:
- Final_Rank
flow_breadth_5d:
canonical_name: flow_breadth_5d
type: number
unit: none
aliases:
- Flow_Breadth_5D
follow_through_score:
canonical_name: follow_through_score
type: number
unit: none
aliases:
- Follow_Through_Score
impact:
canonical_name: impact
type: number
unit: none
aliases:
- Impact
is_etf:
canonical_name: is_etf
type: number
unit: none
aliases:
- Is_ETF
lp_quality_flag:
canonical_name: lp_quality_flag
type: number
unit: none
aliases:
- LP_Quality_Flag
leader_gate:
canonical_name: leader_gate
type: string
unit: none
aliases:
- Leader_Gate
leader_scan_total:
canonical_name: leader_scan_total
type: number
unit: none
aliases:
- Leader_Scan_Total
limit_price_est:
canonical_name: limit_price_est
type: number
unit: KRW_per_share
aliases:
- Limit_Price_Est
low52w:
canonical_name: low52w
type: number
unit: none
aliases:
- Low52W
ma20_at_entry:
canonical_name: ma20_at_entry
type: number
unit: none
aliases:
- MA20_At_Entry
ma60_at_entry:
canonical_name: ma60_at_entry
type: number
unit: none
aliases:
- MA60_At_Entry
mae_pct:
canonical_name: mae_pct
type: number
unit: percent
aliases:
- MAE_Pct
mfe_pct:
canonical_name: mfe_pct
type: number
unit: percent
aliases:
- MFE_Pct
nav:
canonical_name: nav
type: number
unit: none
aliases:
- NAV
nav_source:
canonical_name: nav_source
type: number
unit: none
aliases:
- NAV_Source
nav_source_date:
canonical_name: nav_source_date
type: date_ISO8601
unit: none
aliases:
- NAV_Source_Date
next_chunk_idx:
canonical_name: next_chunk_idx
type: number
unit: none
aliases:
- Next_Chunk_Idx
override_reason:
canonical_name: override_reason
type: number
unit: none
aliases:
- Override_Reason
override_sell_qty:
canonical_name: override_sell_qty
type: integer
unit: shares
aliases:
- Override_Sell_Qty
override_validation:
canonical_name: override_validation
type: number
unit: none
aliases:
- Override_Validation
pct_52w_high:
canonical_name: pct_52w_high
type: number
unit: percent
aliases:
- Pct_52W_High
pct_from_52w_low:
canonical_name: pct_from_52w_low
type: number
unit: percent
aliases:
- Pct_From_52W_Low
pnl_pct:
canonical_name: pnl_pct
type: number
unit: percent
aliases:
- PnL_Pct
pos_size_qty:
canonical_name: pos_size_qty
type: integer
unit: shares
aliases:
- Pos_Size_Qty
premium_discount_pct:
canonical_name: premium_discount_pct
type: integer
unit: shares
aliases:
- Premium_Discount_Pct
priority_score:
canonical_name: priority_score
type: number
unit: none
aliases:
- Priority_Score
processed_count:
canonical_name: processed_count
type: integer
unit: shares
aliases:
- Processed_Count
proxy_name:
canonical_name: proxy_name
type: number
unit: none
aliases:
- Proxy_Name
proxy_ticker:
canonical_name: proxy_ticker
type: number
unit: none
aliases:
- Proxy_Ticker
proxy_type:
canonical_name: proxy_type
type: number
unit: none
aliases:
- Proxy_Type
rsi14_at_entry:
canonical_name: rsi14_at_entry
type: number
unit: none
aliases:
- RSI14_At_Entry
rw1:
canonical_name: rw1
type: number
unit: none
aliases:
- RW1
rw2:
canonical_name: rw2
type: number
unit: none
aliases:
- RW2
rw3:
canonical_name: rw3
type: number
unit: none
aliases:
- RW3
rw4:
canonical_name: rw4
type: number
unit: none
aliases:
- RW4
rw5:
canonical_name: rw5
type: number
unit: none
aliases:
- RW5
rebalance_need_krw:
canonical_name: rebalance_need_krw
type: number
unit: KRW
aliases:
- Rebalance_Need_KRW
rebalance_target_cash_pct:
canonical_name: rebalance_target_cash_pct
type: number
unit: percent
aliases:
- Rebalance_Target_Cash_Pct
rebound_preservation_score:
canonical_name: rebound_preservation_score
type: number
unit: none
aliases:
- Rebound_Preservation_Score
record_date:
canonical_name: record_date
type: date_ISO8601
unit: none
aliases:
- Record_Date
ret10d:
canonical_name: ret10d
type: number
unit: none
aliases:
- Ret10D
ret20d:
canonical_name: ret20d
type: number
unit: none
aliases:
- Ret20D
ret60d:
canonical_name: ret60d
type: number
unit: none
aliases:
- Ret60D
rotation_score:
canonical_name: rotation_score
type: number
unit: none
aliases:
- Rotation_Score
rule_sell_qty:
canonical_name: rule_sell_qty
type: integer
unit: shares
aliases:
- Rule_Sell_Qty
sector_score:
canonical_name: sector_score
type: number
unit: none
aliases:
- Sector_Score
sell_conflict_state:
canonical_name: sell_conflict_state
type: string
unit: none
aliases:
- Sell_Conflict_State
sell_execution_window:
canonical_name: sell_execution_window
type: number
unit: none
aliases:
- Sell_Execution_Window
sell_limit_price:
canonical_name: sell_limit_price
type: number
unit: KRW_per_share
aliases:
- Sell_Limit_Price
sell_order_type:
canonical_name: sell_order_type
type: number
unit: none
aliases:
- Sell_Order_Type
sell_price_basis:
canonical_name: sell_price_basis
type: number
unit: KRW_per_share
aliases:
- Sell_Price_Basis
sell_price_source:
canonical_name: sell_price_source
type: number
unit: KRW_per_share
aliases:
- Sell_Price_Source
sell_qty:
canonical_name: sell_qty
type: integer
unit: shares
aliases:
- Sell_Qty
sell_ratio_pct:
canonical_name: sell_ratio_pct
type: number
unit: percent
aliases:
- Sell_Ratio_Pct
sell_reason:
canonical_name: sell_reason
type: number
unit: none
aliases:
- Sell_Reason
setup_decision:
canonical_name: setup_decision
type: number
unit: none
aliases:
- Setup_Decision
signal_date:
canonical_name: signal_date
type: date_ISO8601
unit: none
aliases:
- Signal_Date
smartmoney_20d_krw:
canonical_name: smartmoney_20d_krw
type: number
unit: KRW
aliases:
- SmartMoney_20D_KRW
smartmoney_5d_krw:
canonical_name: smartmoney_5d_krw
type: number
unit: KRW
aliases:
- SmartMoney_5D_KRW
snapshot_date:
canonical_name: snapshot_date
type: date_ISO8601
unit: none
aliases:
- Snapshot_Date
source:
canonical_name: source
type: number
unit: none
aliases:
- Source
source_date:
canonical_name: source_date
type: date_ISO8601
unit: none
aliases:
- Source_Date
source_origin:
canonical_name: source_origin
type: number
unit: none
aliases:
- Source_Origin
spread_pct:
canonical_name: spread_pct
type: number
unit: percent
aliases:
- Spread_Pct
status:
canonical_name: status
type: string
unit: none
aliases:
- Status
stop_price_est:
canonical_name: stop_price_est
type: number
unit: KRW_per_share
aliases:
- Stop_Price_Est
stop_price_source:
canonical_name: stop_price_source
type: number
unit: KRW_per_share
aliases:
- Stop_Price_Source
symbol:
canonical_name: symbol
type: number
unit: none
aliases:
- Symbol
t1_forced_sell_risk_state:
canonical_name: t1_forced_sell_risk_state
type: string
unit: none
aliases:
- T1_Forced_Sell_Risk_State
timing_action:
canonical_name: timing_action
type: string
unit: none
aliases:
- Timing_Action
timing_block_reason:
canonical_name: timing_block_reason
type: number
unit: none
aliases:
- Timing_Block_Reason
total_chunks:
canonical_name: total_chunks
type: number
unit: none
aliases:
- Total_Chunks
tracking_error:
canonical_name: tracking_error
type: number
unit: none
aliases:
- Tracking_Error
tradevalue_unit:
canonical_name: tradevalue_unit
type: number
unit: KRW
aliases:
- TradeValue_Unit
trade_id:
canonical_name: trade_id
type: number
unit: none
aliases:
- Trade_ID
type:
canonical_name: type
type: number
unit: none
aliases:
- Type
universe_count:
canonical_name: universe_count
type: integer
unit: shares
aliases:
- Universe_Count
updated_at:
canonical_name: updated_at
type: date_ISO8601
unit: none
aliases:
- Updated_At
upside_pct:
canonical_name: upside_pct
type: number
unit: percent
aliases:
- Upside_Pct
weight:
canonical_name: weight
type: number
unit: none
aliases:
- Weight
account_type:
canonical_name: account_type
type: integer
unit: shares
aliases:
- account_type
available_quantity:
canonical_name: available_quantity
type: integer
unit: shares
aliases:
- available_quantity
captured_at:
canonical_name: captured_at
type: number
unit: none
aliases:
- captured_at
country_code:
canonical_name: country_code
type: integer
unit: shares
aliases:
- country_code
estimated_withholding_tax_rate_pct:
canonical_name: estimated_withholding_tax_rate_pct
type: number
unit: percent
aliases:
- estimated_withholding_tax_rate_pct
foreign_currency:
canonical_name: foreign_currency
type: number
unit: none
aliases:
- foreign_currency
foreign_equity_flag:
canonical_name: foreign_equity_flag
type: number
unit: none
aliases:
- foreign_equity_flag
fx_rate_at_capture:
canonical_name: fx_rate_at_capture
type: number
unit: percent
aliases:
- fx_rate_at_capture
inav:
canonical_name: inav
type: number
unit: none
aliases:
- iNAV
krw_estimated_value:
canonical_name: krw_estimated_value
type: number
unit: KRW
aliases:
- krw_estimated_value
last_updated:
canonical_name: last_updated
type: date_ISO8601
unit: none
aliases:
- last_updated
market_value:
canonical_name: market_value
type: number
unit: KRW
aliases:
- market_value
monthly_contribution_limit:
canonical_name: monthly_contribution_limit
type: number
unit: none
aliases:
- monthly_contribution_limit
monthly_contribution_used:
canonical_name: monthly_contribution_used
type: number
unit: none
aliases:
- monthly_contribution_used
open_order_quantity:
canonical_name: open_order_quantity
type: integer
unit: shares
aliases:
- open_order_quantity
order_side:
canonical_name: order_side
type: number
unit: none
aliases:
- order_side
parse_status:
canonical_name: parse_status
type: string
unit: none
aliases:
- parse_status
remaining_contribution_capacity:
canonical_name: remaining_contribution_capacity
type: number
unit: none
aliases:
- remaining_contribution_capacity
return_pct:
canonical_name: return_pct
type: number
unit: percent
aliases:
- return_pct
ticker_or_name:
canonical_name: ticker_or_name
type: number
unit: none
aliases:
- ticker_or_name
total_cost:
canonical_name: total_cost
type: number
unit: none
aliases:
- total_cost
normalization_rules:
- id: FIELD_ALIAS_CANONICALIZATION
rule: 모든 입력은 계산 전 canonical_name으로 변환한다.
- id: KRW_100M_TO_KRW
applies_to:
- avg_trade_value_5d
condition: source field suffix is _M or value labeled 억원
transform: value * 100000000
- id: FLOW_YN_TO_BOOLEAN
applies_to:
- flow_ok
transform: Y=true, N=false
- id: SHARES_INTEGER
applies_to:
- quantity
- flow_rows
transform: must be integer; decimal shares are invalid except final floor in sizing
# WBS-9.3: 데이터 품질 정책 — NULL 처리 및 자동 충전 규칙
data_quality_policy:
version: "2026-06-22"
purpose: "NULL 컬럼별 충전 가능성, 우선순위, 추정 금지 정책을 명시"
null_handling_fields:
# 우선순위 1 (필수, 자동 충전 가능)
atr20:
chargeability: FILLABLE
priority: 1
source: ATR(close, 20) 자동 계산
estimation_forbidden: false
fallback: 입력 거래 제외
rsi_14:
chargeability: FILLABLE
priority: 1
source: RSI(close, 14) 자동 계산
estimation_forbidden: false
fallback: 입력 거래 제외
velocity_1d:
chargeability: FILLABLE
priority: 1
source: (close - previous_close) / previous_close * 100
estimation_forbidden: false
fallback: 입력 거래 제외
# 우선순위 2 (권장, 추정 가능)
stop_price:
chargeability: FILLABLE
priority: 2
source: ATR(close, 20) * 2.0 (기본값)
estimation_forbidden: false
estimation_rule: ATR20 * atr_multiplier
fallback: 입력 거래 제외
target_price:
chargeability: FILLABLE
priority: 2
source: consensus_target 또는 ATR 기반
estimation_forbidden: false
estimation_rule: close * (1 + expectancy_pct)
fallback: 입력 거래 제외
# 우선순위 3 (선택, 추정 불가)
rsi_15m:
chargeability: NOT_FILLABLE
priority: 3
source: 인트라데이 데이터 필요 (HTS 수동 기록)
estimation_forbidden: true
fallback: NA로 처리, 계산 제외
bayesian_confidence_multiplier:
chargeability: COMPUTED
priority: 3
source: spec/17_performance_contract.yaml 기준 자동 계산
estimation_forbidden: true
fallback: 0.5 기본값 (데이터 부족 신호)
kelly_brake_multiplier:
chargeability: COMPUTED
priority: 3
source: 성과 피드백 레이어에서 자동 계산
estimation_forbidden: true
fallback: 1.0 (제약 없음)
ci_gate_rules:
- gate_id: DATA_QUALITY_NULL_CHECK
description: 필수 필드(priority 1) NULL 검증
trigger: GAS runDataFeed() 또는 snapshot_admin API 호출 시
required_fields:
- close_price
- ticker
- entry_price
- stop_price
- velocity_1d
action_on_fail: ERROR 로그 기록, 해당 거래 SKIP
acceptance_criteria: "100% 필드 충전"
- gate_id: DATA_QUALITY_FILLABLE_CHECK
description: 권장 필드(priority 2) 자동 충전
trigger: 데이터 로드 직후
fillable_fields:
- atr20
- rsi_14
- velocity_5d
- stop_price
- target_price
action_on_success: 자동 계산값 삽입
action_on_fail: WARNING 로그, 기존값 유지
acceptance_criteria: ">= 95% 자동 충전율"
- gate_id: DATA_QUALITY_ESTIMATION_BLOCK
description: 추정 금지 필드 검증
trigger: 계산 엔진 전 1회
forbidden_estimation_fields:
- rsi_15m
- kelly_brake_multiplier
- proposal_stop_ladder
action_on_fail: DATA_MISSING 처리, 계산 제외
acceptance_criteria: "0% 추정율"
automated_fill_procedures:
- procedure_id: FILL_ATR20
field: atr20
condition: "atr20 IS NULL AND close_price IS NOT NULL"
implementation: "src/quant_engine/auto_fill_atr20_v1.py"
execution_frequency: "on_data_load"
- procedure_id: FILL_RSI14
field: rsi_14
condition: "rsi_14 IS NULL AND close_price IS NOT NULL"
implementation: "src/quant_engine/auto_fill_rsi14_v1.py"
execution_frequency: "on_data_load"
- procedure_id: FILL_VELOCITY_1D
field: velocity_1d
condition: "velocity_1d IS NULL AND (close_price AND previous_close_price) IS NOT NULL"
implementation: "src/quant_engine/auto_fill_velocity_v1.py"
execution_frequency: "on_data_load"
- procedure_id: FILL_STOP_PRICE
field: stop_price
condition: "stop_price IS NULL AND atr20 IS NOT NULL"
implementation: "src/quant_engine/auto_fill_stop_price_v1.py"
execution_frequency: "on_data_load"
parameters:
multiplier_default: 2.0
fallback_pct: -5.0