using System.Text.Json.Serialization; namespace QuantEngine.Core.Models; /// /// 종목별 수집 데이터 스냅샷 — Python kis_data_collection_v1.py _collect_one() 반환값 대응 /// public class CollectionSnapshot { /// 종목 코드 (6자리 숫자) [JsonPropertyName("ticker")] public string Ticker { get; set; } = string.Empty; /// 종목명 [JsonPropertyName("name")] public string? Name { get; set; } /// 업종 [JsonPropertyName("sector")] public string? Sector { get; set; } /// 현재가 [JsonPropertyName("current_price")] public double? CurrentPrice { get; set; } /// 시가 [JsonPropertyName("open")] public double? Open { get; set; } /// 고가 [JsonPropertyName("high")] public double? High { get; set; } /// 저가 [JsonPropertyName("low")] public double? Low { get; set; } /// 이전 종가 [JsonPropertyName("prev_close")] public double? PrevClose { get; set; } /// 거래량 [JsonPropertyName("volume")] public double? Volume { get; set; } /// 등락률 (%) [JsonPropertyName("change_pct")] public double? ChangePct { get; set; } /// 매도호가 [JsonPropertyName("ask_1")] public double? Ask1 { get; set; } /// 매수호가 [JsonPropertyName("bid_1")] public double? Bid1 { get; set; } /// 장중 강도 (주문량 불균형) [JsonPropertyName("microstructure_pressure")] public double? MicrostructurePressure { get; set; } /// 공매도 주식 수 [JsonPropertyName("short_turnover_share")] public double? ShortTurnoverShare { get; set; } /// 가격 조회 상태 (OK, ERROR) [JsonPropertyName("price_status")] public string PriceStatus { get; set; } = "OK"; /// 호가 조회 상태 (OK, ERROR) [JsonPropertyName("orderbook_status")] public string OrderbookStatus { get; set; } = "OK"; /// 공매도 조회 상태 (OK, ERROR) [JsonPropertyName("short_sale_status")] public string ShortSaleStatus { get; set; } = "OK"; /// 수집 시각 (ISO 8601 KST) [JsonPropertyName("collection_as_of")] public string? CollectionAsOf { get; set; } /// 가격 조회 에러 메시지 [JsonPropertyName("price_error")] public string? PriceError { get; set; } /// 호가 조회 에러 메시지 [JsonPropertyName("orderbook_error")] public string? OrderbookError { get; set; } /// 공매도 조회 에러 메시지 [JsonPropertyName("short_sale_error")] public string? ShortSaleError { get; set; } /// 상대 수익률 (20일) [JsonPropertyName("relative_return_20d")] public double? RelativeReturn20D { get; set; } /// 거래량 비율 (5일) [JsonPropertyName("volume_ratio_5d")] public double? VolumeRatio5D { get; set; } /// 수집 날짜 (기초 데이터) [JsonPropertyName("Price_Date")] public string? PriceDate { get; set; } }