Skip to content

[QL-9.x][DEFER] MC remainder: Brownian bridge, control variates and TimeGrid accessor #453

Open
4 of 4 issues completed

Description

@benbenbang

Audited 2026-09-27 against released v0.29.0. Deferred remainder, under #71. The original MultiPath/LSM/Sobol backlog is mostly delivered; do not reimplement those components.

Delivered

Remaining

  • Implement scalar BrownianBridge and the bridge-enabled PathGenerator path. The released PathGenerator explicitly rejects it.
  • Add control-variate accumulation and simulation/engine plumbing. Released McSimulation still rejects control_variate=true.
  • Add the original TimeGrid::closest_time convenience accessor, which is still absent; preserve existing index/closest_index behavior.

Activation and acceptance

Activate with a named scalar pricing consumer and a bounded bridge or control-variate slice. Verify bridge endpoint/distribution behavior on nonuniform time grids, deterministic draw ordering, forward/antithetic reuse, estimator weighting and a reference control-variate price. Preserve all existing seeded MC and Heston regressions without widening tolerances. Pair newly exposed pricing controls with Python/C/Go tests and document unsupported combinations.

MultiPath bridge remains explicitly unsupported in both this port and the referenced QuantLib generator; any implementation needs a separately agreed extension contract rather than an assumed parity requirement. Multi-asset LSM and Sobol LSM are outside this refreshed original remainder. Keep this ticket open until the checklist is delivered or its scope is explicitly superseded.

Activity

  1. benbenbang commented on Jul 22, 2026

    @benbenbang
    MemberAuthor

    Carve-out: MultiPath + MultiPathGenerator (+ antithetic) is now scoped as #476 (Batch HMC 2/4), and the generic multi-variate MC spine as #477 (HMC 3/4). This tracker retains BrownianBridge, Longstaff-Schwartz (LSM), Sobol RSG, and the remaining variance-reduction methods.

  2. benbenbang commented on Aug 5, 2026

    @benbenbang
    MemberAuthor

    Scope shrink: single-factor antithetic path generation (pathgenerator.hpp:110-154) is implemented as of #762 (negated cached last sequence; antithetic-before-next Errs per D4), including MonteCarloModel antithetic averaging over the single-factor generator. This issue's remaining MC-advanced scope: MultiPath/multi-asset LSM, BrownianBridge, control variate. Sobol stays on #454; MC-American depth (grid/Gauss families/Bermudan) is #763.

  3. changed the title [-][QL-9.x][DEFER] MC advanced: MultiPath + BrownianBridge + variance reduction + LSM + Sobol RSG[/-] [+][QL-9.x][DEFER] MC remainder: Brownian bridge, control variates and TimeGrid accessor[/+] on Sep 27, 2026
  4. benbenbang commented on Nov 3, 2026

    @benbenbang
    MemberAuthor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions