namespace Application.Features.Api.Stocks.GetBondDetail; public sealed class Response { /// 종목코드 (ISIN) public required string Isin { get; init; } /// 채권 마스터 (getBondStatInfo) — 없으면 null (KRX 일별시세만 있는 경우) public MasterInfo? Master { get; init; } /// 이자지급 정보 (getIntPayInfo) — 없으면 null public InterestInfo? Interest { get; init; } /// KRX 일별매매 최신 시세 (BondDailyTrade) — 없으면 null public MarketInfo? Market { get; init; } public sealed class MasterInfo { public string? Name { get; init; } public int? IssucoCustno { get; init; } /// 종목종류코드 (SECN_KACD) public string? SecnKacd { get; init; } public DateOnly? IssueDate { get; init; } /// 만기일자 (XPIR_DT) public DateOnly? MaturityDate { get; init; } public string? Currency { get; init; } /// 최초발행금액 (FIRST_ISSU_AMT) public decimal? FirstIssueAmount { get; init; } /// 발행잔액 (ISSU_REMA) public decimal? IssueRemaining { get; init; } /// 표면이자율 (COUPON_RATE) public decimal? CouponRate { get; init; } /// 옵션구분코드 (OPTION_TPCD) — 9401CALL 9402PUT … public string? OptionTpcd { get; init; } /// 강제조기상환여부 (FORC_ERLY_RED_YN) public bool? ForcedEarlyRedemption { get; init; } /// 금리변동구분코드 (MR_CHG_TPCD) — 1고정 2변동 … public string? RateChangeTpcd { get; init; } /// 보증구분코드 (GRTY_TPCD) — 1보증 2무보증 … public string? GuaranteeTpcd { get; init; } /// 순위구분코드 (RANK_TPCD) — 1선순위 2후순위 … public string? RankTpcd { get; init; } /// 이자지급방법구분코드 (INT_PAY_WAY_TPCD) public string? IntPayWayTpcd { get; init; } /// 특이채권종류구분코드 (PARTICUL_BOND_KIND_TPCD) — 전환/교환/신주인수권 … public string? ParticularBondKindTpcd { get; init; } /// KIS 신용등급 코드 (발행당시) public string? KisGrade { get; init; } /// NICE 신용등급 코드 public string? NiceGrade { get; init; } /// SCI(서울신용평가) 신용등급 코드 public string? SciGrade { get; init; } /// KR(한국기업평가) 신용등급 코드 public string? KrGrade { get; init; } /// 전자증권여부 (ELTSC_YN) public bool? IsElectronicSecurity { get; init; } } public sealed class InterestInfo { /// 표면이자율 (COUPON_RATE) public decimal? CouponRate { get; init; } /// 이자지급방법구분코드 (INT_PAY_WAY_TPCD) public string? IntPayWayTpcd { get; init; } /// 이자지급주기기간수 (INT_PAY_CYCLE_TERMS) public int? CycleTerms { get; init; } /// 이자지급주기구분코드 (INT_PAY_CYCLE_TPCD) — 23개월 24분기 25반기 26년 public string? CycleTpcd { get; init; } /// 이자지급시기구분코드 (INT_PAY_TIMS_TPCD) — 01후급 02선급 … public string? PayTimingTpcd { get; init; } /// 직전이표일 (BEFORE_DATE) public DateOnly? BeforeCouponDate { get; init; } /// 차기이표일 (AFTER_DATE) public DateOnly? AfterCouponDate { get; init; } } public sealed class MarketInfo { /// 거래일 (BAS_DD) public DateOnly TradeDate { get; init; } /// 종가 (CLSPRC) public decimal Close { get; init; } /// 만기수익률 % (CLSPRC_YD 종가수익률 = YTM) — 미체결 시 null public decimal? YieldToMaturity { get; init; } /// 거래량 (ACC_TRDVOL) public long Volume { get; init; } } }