模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading Agent 核心运行时/量化金融数学原语库(quantlib)/估值模型与可审计结果工件(DCF 可比公司 三张表)/编码规范
- 所有模型入口使用
contracts.require_inputs 显式声明必填字段,缺失即抛 MissingInputError,绝不静默填充默认值。
- 业务参数以受限枚举常量(如
CAPITAL_STRUCTURE_BASES、DISCOUNTING_CONVENTIONS、CALENDARISATION_POLICIES、MULTIPLE_NAMES)约束取值,不在运行时接受任意字符串。
- 调用方判断假设通过
contracts.Assumption 携带 name/value/basis/source,终端增长与退出倍数等关键假设拒绝裸浮点数。
- 结果对象统一使用
@dataclass(frozen=True) 定义,并通过 __post_init__ 执行字段级校验(如 fiscal_year_end_month 范围、正数检查)。
- 工件构建中通过
_flatten 递归扁平化输入/结果为 {dotted.path: value} 映射,并用 _normalize_number 将 int/float/-0.0/NaN/Inf 归一化为固定精度科学计数后做 SHA-256 哈希。
- 时间戳由调用方传入且必须带时区(
_require_generated_at 拒绝 naive datetime),模块内部不调用任何时钟源以保证工件可复现。