\documentclass[11pt,a4paper]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{geometry}
\usepackage{amsmath,amssymb}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{enumitem}

\geometry{margin=1in}
\hypersetup{
  colorlinks=true,
  linkcolor=black,
  urlcolor=black,
  pdftitle={Replication and Offset Methodology},
  pdfauthor={Replicurve}
}

\title{\textbf{Replication and Offset Methodology}\\[0.4em]
\large A high-level overview for research and engineering teams}
\author{Replicurve}
\date{September 2026}

\begin{document}
\maketitle

\begin{abstract}
Research teams routinely approximate return streams they cannot hold directly---factor
ETFs, fund sleeves, restricted single names, or cross-listed proxies---using liquid
instruments in a candidate basket. Static factor regressions and spreadsheet models
break when correlations shift, universes grow, or rebalance cadence must keep pace
with production research pipelines.

Replicurve is a portfolio replication API. It accepts aligned daily return series
you already maintain and returns time-varying long/short weights plus tracking
metrics on each run. This document explains \emph{why} dynamic replication matters,
\emph{what} the engine computes at a conceptual level, and \emph{how} outputs map
to typical research workflows---with summary statistics and charts from live engine
runs. Proprietary estimation details remain server-side.
\end{abstract}

\section{Who this document is for}

Portfolio engineers, quantitative researchers, and platform teams at systematic funds
and prop shops who:
\begin{itemize}[noitemsep]
  \item maintain in-house replication or proxy logic (Excel, linear regressions, ad-hoc Python);
  \item evaluate whether an API can replace bespoke maintenance without sacrificing tracking quality;
  \item need descriptive methodology before integrating \texttt{POST /v1/replication} or \texttt{POST /v1/offset}.
\end{itemize}

Replicurve is infrastructure, not investment advice. Examples below are \textbf{illustrations} only; tickers and parameters are not recommendations.

\section{The research problem}

\subsection{What teams are trying to compute}

Given a \emph{target} return series $r^T_t$ and a set of \emph{candidate} return
series $\{r^i_t\}_{i=1}^{N}$, the objective is to find portfolio weights
$w_{i,t}$ such that the replicating portfolio return
\begin{equation}
  r^P_t = \sum_{i=1}^{N} w_{i,t-1}\, r^i_t
\end{equation}
tracks $r^T_t$ over an evaluation window. In \emph{offset} mode the same machinery
targets $-r^T_t$: the portfolio is constructed to neutralize exposure to the target
stream rather than replicate it.

Outputs are used in backtests, risk dashboards, and execution research---wherever a
liquid proxy or hedge basket is needed. Replicurve returns weights and diagnostics;
downstream systems decide how outputs are consumed.

\subsection{Why static models fall short}

Many in-house workflows estimate fixed betas once (or refresh them monthly) via
ordinary least squares on a long history:
\begin{equation}
  r^T_t \approx \alpha + \sum_i \beta_i\, r^i_t + \varepsilon_t .
\end{equation}
That works until it does not:
\begin{itemize}[noitemsep]
  \item \textbf{Regime change.} Factor loadings drift; a static basket lags the target after volatility spikes or sector rotations.
  \item \textbf{Universe scale.} Screening 500+ names by hand or in a brittle script does not scale to weekly research batches.
  \item \textbf{Key-person risk.} One senior quant maintains the spreadsheet; turnover or absence stalls the pipeline.
  \item \textbf{Incomplete diagnostics.} Without correlation, tracking error, and slippage on every run, teams cannot compare targets or rebalance policies consistently.
\end{itemize}

Dynamic replication updates weights on a schedule (typically weekly) using only
information available up to each rebalance date---the same constraint production
research faces.

\section{Replicurve approach (conceptual)}

The engine runs server-side from aligned return inputs. You supply daily simple returns
(not prices, not log returns). Each basket series must share the target calendar.

At a high level, every replication run follows four stages:

\begin{enumerate}[label=\textbf{\arabic*.}, leftmargin=*]
  \item \textbf{Alignment and validation.} Dates are intersected; missing observations are handled consistently before any estimation begins. Payload validation (\texttt{/v1/validate}) checks structure before a full run.
  \item \textbf{Candidate screening.} From the full basket universe, the engine ranks names by recent co-movement with the target and retains a workable subset. This keeps estimation stable when $N$ is large (e.g.\ S\&P~500 or Nasdaq-100 constituents).
  \item \textbf{Dynamic weight estimation.} Weights are time-varying and estimated with an adaptive, state-space-style procedure that responds to changing correlations while penalizing unnecessary turnover. Long, short, and long/short constructions are supported; gross exposure is normalized according to internal policy. \emph{Specific regularization, selection rules, and filter parameters are proprietary and not exposed on the public API.}
  \item \textbf{Scheduled rebalance with lag.} Weights update on a configurable cadence (\texttt{daily} or \texttt{weekly}). A one-day implementation lag separates signal formation from the return period applied---matching realistic research assumptions.
\end{enumerate}

The public request surface exposes only \texttt{mode}, \texttt{rebalance\_freq}, and
\texttt{max\_allocation} (cap on names with material weight). Fixed engine parameters
(e.g.\ lookback length, internal thresholds) are versioned server-side so methodology
improvements do not require client changes.

\section{Replication and offset modes}

\begin{table}[h]
  \centering
  \small
  \begin{tabular}{@{}llp{7.5cm}@{}}
    \toprule
    Mode & Endpoint & Intended output \\
    \midrule
    Replication & \texttt{POST /v1/replication} &
      Portfolio return tracks target return; weights approximate the target stream. \\
    Offset & \texttt{POST /v1/offset} &
      Portfolio return offsets target exposure; same request body, sign flipped internally. \\
    \bottomrule
  \end{tabular}
  \caption{API modes share one request schema.}
\end{table}

\textbf{Replication} is the usual entry point: proxy an ETF, fund sleeve, or synthetic
series with a liquid basket (preset universe or custom tickers on Professional plans).

\textbf{Offset} applies when the research question is exposure neutralization---for
example a concentrated single name or sector ETF whose return stream must be hedged
in simulation without unwinding the underlying holding.

\section{Illustration scenarios}

The empirical section below reproduces every live example on
\url{https://replicurve.com/examples}. Narrative groupings:

\begin{itemize}[noitemsep]
  \item \textbf{Factor ETFs} --- MTUM, VLUE, USMV, QUAL replicated with Nasdaq-100 or S\&P~500 baskets.
  \item \textbf{UCITS proxy} --- VFMF target with \texttt{ucits\_etfs} basket.
  \item \textbf{Liquidity proxy} --- IJR small-cap target with S\&P~500 basket.
  \item \textbf{Single-name offset} --- AAPL, GOOG (Nasdaq-100) and JPM (S\&P~500).
  \item \textbf{ETF sleeve offset} --- EFA with US listed ETF basket.
\end{itemize}

\IfFileExists{generated/content.tex}{\input{generated/content}}{%
  \textbf{Build required.} Run \texttt{make} in \texttt{site/docs/methodology} after
  \texttt{scripts/build-site.py --examples-only}.}

\section{Tracking and quality metrics}

Every successful run returns a \texttt{metrics} object alongside weight history.
Table~\ref{tab:summary} and the chart captions summarize the fields most teams review first:

\begin{itemize}[noitemsep]
  \item \textbf{correlation} --- Pearson correlation between target and portfolio returns over the sample.
  \item \textbf{tracking\_error} --- annualized standard deviation of $(r^P_t - r^T_t)$.
  \item \textbf{information\_ratio} --- mean active return per unit of tracking error (annualized).
  \item \textbf{hit\_rate} --- fraction of periods where target and portfolio share the same sign.
  \item \textbf{slippage} --- cumulative return difference between portfolio and target.
  \item \textbf{beta}, \textbf{alpha\_annual}, \textbf{r\_squared} --- linear association statistics on aligned returns.
  \item \textbf{avg\_assets}, \textbf{turnover}, \textbf{gross\_exposure} --- portfolio structure summaries.
\end{itemize}

These metrics support side-by-side comparison against in-house models on identical
return inputs---the fastest path to evaluate fit before committing integration effort.

\section{Typical integration path}

\begin{enumerate}[noitemsep]
  \item Align target and basket returns to a common daily calendar (your data warehouse or research store).
  \item Call \texttt{POST /v1/validate} to check payload shape and date coverage.
  \item Run \texttt{POST /v1/replication} with a preset universe (\texttt{sp500}, \texttt{nasdaq100}, \texttt{ucits\_etfs}, etc.) or a custom basket (Professional tier).
  \item Persist weights and metrics into your existing backtest or risk stack.
  \item Schedule batch reruns when targets, universes, or rebalance policies change.
\end{enumerate}

Authentication uses Bearer tokens. Plan tiers differ by call volume and basket flexibility; see the pricing page on the Replicurve site.

\section{Scope, limitations, and what we do not disclose}

\begin{itemize}[noitemsep]
  \item \textbf{No market data licensing.} You provide returns; Replicurve estimates weights.
  \item \textbf{No execution or advisory services.} Outputs are descriptive quantities for research systems.
  \item \textbf{Past tracking does not guarantee future tracking.} Structural breaks, corporate actions handled differently in your inputs, and liquidity frictions can widen error.
  \item \textbf{Proprietary estimation.} Candidate ranking rules, adaptive filter internals, stability checks, and numerical thresholds are intentionally omitted from this document and from the public API schema. They may evolve in server releases without client migration.
\end{itemize}

\section{Summary}

Dynamic replication and offset are recurring research maintenance tasks: targets change,
regimes shift, and static regressions do not scale. Replicurve centralizes the
estimation loop behind a REST API---aligned returns in, time-varying weights and
tracking metrics out---so engineering teams can focus on data and downstream systems
rather than reimplementing adaptive replication and offset math.

For interactive charts, OpenAPI reference, and API access: \url{https://replicurve.com}.

\clearpage
\small
\section*{Important disclaimers}

\noindent\textbf{Regulatory status.}
Replicurve provides a portfolio replication API. Replicurve is \emph{not} a
registered investment adviser, broker-dealer, bank, or tax adviser, and does not
solicit or recommend the purchase or sale of any security or financial instrument.
Nothing in this document constitutes investment, legal, tax, or accounting advice.

\medskip
\noindent\textbf{Purpose of this document.}
This whitepaper describes what the Replicurve API computes and returns---time-varying
weights, aligned return series, and tracking metrics---for integration into
\emph{your} research, risk, or backtest systems. It explains methodology at a high
level only. Outputs are descriptive quantities; how they are used downstream is
entirely the customer's responsibility.

\medskip
\noindent\textbf{Illustrations and hypothetical results.}
All tickers, universes, and pairings shown (including tables and charts) are
\textbf{illustrations only}. They are not recommendations to replicate, offset, buy,
sell, or hold any instrument. Statistics and charts are produced from historical
return data over the periods stated in each caption. \textbf{Past tracking quality
does not predict future tracking quality.} Correlation, tracking error, slippage,
and related metrics can change materially with market conditions, input data errors,
corporate actions, liquidity, and parameter choices.

\medskip
\noindent\textbf{Model and estimation risk.}
Replicurve outputs are \emph{estimates} from a statistical engine, not guaranteed
replications of live fund NAV, ETF intraday prices, or executable fills. The engine
does not model transaction costs, market impact, borrow availability, short constraints,
regulatory limits, or tax treatment unless you supply that logic separately. Proprietary
estimation details may change between server releases without notice.

\medskip
\noindent\textbf{Data and third-party content.}
You supply return series; Replicurve does not license market data on your behalf.
Accuracy of outputs depends on the quality, alignment, and timeliness of inputs you
provide. Replicurve makes no representation regarding withholding tax, UCITS eligibility,
listing rules, or cross-border investability---those questions require your own counsel
and compliance review.

\medskip
\noindent\textbf{No warranty.}
This document and any cited metrics are provided ``as is'' without warranty of any
kind, express or implied, including fitness for a particular purpose. To the fullest
extent permitted by law, Replicurve disclaims liability for decisions made or actions
taken based on this document or on API outputs.

\medskip
\noindent\textbf{Terms.}
Use of the Replicurve API is subject to the applicable service terms at
\url{https://replicurve.com/terms}. In the event of conflict, those terms govern.

\vspace{0.5em}
\noindent\textit{Document version: September 2026. For questions: \url{mailto:api@replicurve.com}.}

\end{document}
