● Engineering moat · composition
What's defensible
The individual building blocks in Framler's stack are all public. Every factor family traces to a peer-reviewed paper. BOCPD is an open algorithm; copula tail-dependence is standard risk-management textbook material; Shapley attribution is 70 years old.
The moat is composition. Getting all these layers to feed each other coherently — so one Bayesian posterior drives weights, covariance, intervals, and dynamic exposures simultaneously, and then interpreting the output with a literature-effect-size pattern engine — is months of engineering, not weeks of library integration.
Engineering cost
Why this is hard to replicate
The five integrations above each carry a non-obvious engineering cost that compounds when they sit in the same pipeline. A team starting from public papers can ship one or two of these in a quarter; getting all five coherent in the same codebase took ~6 engineer-months and a long tail of numerical-stability fixes most quant teams underestimate. Specifically:
- Kalman + BOCPD numerical stability under simultaneous update. Driving Qt from the changepoint posterior (item 3) is straightforward in textbook form, brittle in production. Maintaining the joint posterior covariance positive-definite requires per-step diag-floor projection and condition-number guards. Published DLM code (e.g. R's
dlm package) does not solve this — running the AQR-style implementation against our regime data crashes within a quarter. - Mondrian taxonomy is empirical, not theoretical. Conditioning on (tail-alignment × regime) wasn't the first thing we tried. We tested ~20 partitioning schemes against historical residual histograms — sector, quality decile, volatility decile, factor-magnitude decile, regime-only, etc. The 2D taxonomy outperformed every alternative on coverage and interval tightness. That knowledge lives in the cron, but a new team would need 3 months of residual analysis to rediscover it.
- Confluence pattern calibration against ~5 years of factor co-occurrences. Each pattern in the library carries a priority rank and a tail-alignment adjustment calibrated against historical co-occurrence frequencies. The adjustment values are not available in the literature — they emerge from running the engine over historical factor cross-sections and measuring which patterns survived their published effect sizes. Replicating the calibration alone is a 2-month project.
- Tail-dependence reused in three pipeline stages. Schmidt-Stadtmüller (2006) is one estimator, but plumbing the same per-pair λ into Confluence, Markowitz, and Mondrian halfwidth requires per-stage caching, regime conditioning, and a unified update cadence. Most production quant stacks have one consumer of tail-dep; we have three, all driven by the same physical quantity.
Bottom line: a top quant team with Bloomberg-tier data could rebuild this in 6 months. A retail-targeted competitor without that depth — i.e. the realistic adversary — needs 12-18 months and would still ship a different (probably worse) calibration. The moat is not algorithmic novelty; it is the cost of correctness across a five-layer pipeline.