#EQD-6948 国联民生-实现保证金规则(2)追保金额的产生与收盘计算 ETF 子类分档(转债ETF/科创债ETF)

This commit is contained in:
锦麟 王
2026-08-24 18:23:26 +08:00
parent 13e13fa9a3
commit d43e77ee6f
9 changed files with 398 additions and 52 deletions
@@ -10,13 +10,33 @@ namespace YLErp.DBModels
/// <summary>
/// 允许配置期限档(SpanConfig.BondTerm)的标的资产类型标志位。
/// 区间追保结构"按资产类型分类"时,仅这些类型允许设置非空期限档;
/// 本期仅含 利率债(TBonds=1&lt;&lt;4=16,后续按资产分类扩展(转债ETF/科创债ETF 等)时在此补充
/// 本期仅含 利率债(TBonds=1&lt;&lt;4=16ETF 子类分档能力见 TermTierEnabledEtfKinds
/// </summary>
public static readonly UnderlyingTypeEnum[] TermTierEnabledUnderlyingTypes =
{
UnderlyingTypeEnum.TBonds
};
/// <summary>
/// 允许配置期限档的 ETF 子类白名单(来自数据字典"ETF 子类")。
/// 选择这些子类的 ETF 区块按固定4档展开(同利率债);其余子类/不区分的 ETF 区块单套参数、不分档。
/// 取值与 underlying_manager.EtfSubType 字典项一致,由标的维护页维护。
/// 注意:分档 ETF 子类行的 UnderlyingType 仍为 基金(32768),不走 TermTierEnabledUnderlyingTypes 位掩码(§1.2 决策:不再加枚举位)。
/// </summary>
public static readonly List<string> TermTierEnabledEtfKinds = new List<string>
{
"可转债 ETF",
"科创债 ETF"
};
/// <summary>
/// 判断 EtfKind 是否允许分档(在 TermTierEnabledEtfKinds 白名单内)。
/// </summary>
public static bool IsTermTierEnabledEtfKind(string etfKind)
{
return !string.IsNullOrEmpty(etfKind) && TermTierEnabledEtfKinds.Contains(etfKind);
}
/// <summary>
/// 5年以下(同时也是兜底默认期限)
/// </summary>