Response.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using Domain.Entities.Stocks.ValueObject;
  2. namespace Application.Features.Api.Stocks.GetOptions;
  3. public sealed class Response
  4. {
  5. public int Total { get; init; }
  6. public DateOnly? TradeDate { get; init; }
  7. public required IReadOnlyList<Row> List { get; init; }
  8. public sealed class Row
  9. {
  10. public required OptionsKind Kind { get; init; }
  11. /// <summary>매매 세션 (1=정규, 2=야간) — 숫자 직렬화</summary>
  12. public required MarketSession Session { get; init; }
  13. public required string IsuCode { get; init; }
  14. public required string IsuName { get; init; }
  15. public required OptionRightType RightType { get; init; }
  16. /// <summary>행사가 (ISU_NM 파싱) — 추출 실패 시 null</summary>
  17. public decimal? StrikePrice { get; init; }
  18. public required decimal Close { get; init; }
  19. public required decimal ChangeAmount { get; init; }
  20. /// <summary>내재변동성 % (IMP_VOLT) — 미제공 시 null</summary>
  21. public decimal? ImpliedVolatility { get; init; }
  22. public required long Volume { get; init; }
  23. public required long TradeValue { get; init; }
  24. /// <summary>미결제약정 (ACC_OPNINT_QTY) — 미제공 시 null</summary>
  25. public long? OpenInterest { get; init; }
  26. /// <summary>상품구분 (PROD_NM)</summary>
  27. public string? ProductName { get; init; }
  28. }
  29. }