模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading Agent 核心运行时/量化金融数学原语库(quantlib)/固定收益、期权与私募基金数学库/编码规范
- 所有利率、收益率、波动率均以小数形式(0.05 表示 5%),时间以年为单位,并在函数签名与文档中显式声明单位。
- 通过顶层常量元组(如
DAY_COUNT_CONVENTIONS、COMPOUNDING_CONVENTIONS、VALUATION_POLICIES)枚举受支持的约定,并提供对应的 DEFAULT_* 默认值,函数内部对未知约定抛出 ValueError。
- 数值求解优先使用有界方法:YTM 用
brentq 配合用户提供的 bracket,XIRR 先用 log-spaced 网格扫描符号变化再用 brentq 闭合,隐含波动率先 Newton 后回退到 brentq。
- 对退化输入采取“静默降级”策略:期权在 T≤0 或 σ≤0 时返回内在价值与极限希腊字母,而不是抛错,以保证回测遍历路径不断裂。
- 公开接口一律拒绝裸浮点序列,强制要求
CashFlowSeries 并抛出 TypeError,以避免丢失日期、币种与 flow kind 等关键语义。
- 复杂计算结果封装为
@dataclass(frozen=True) 不可变对象(CurveFit、FundMultiples、WaterfallTier、AmericanWaterfallResult、ClawbackResult),并通过 __call__ 或字段暴露后续用法。