\section{The Multi-Resolution Patch Transformer} \label{sec:model} \subsection{Inputs and tokenisation} Branch~A reads the last 390 one-minute bars ending at the origin (crossing session boundaries, with boundary and gap flags), tokenised in patches of five bars (78 tokens). Branch~B reads the last 390 completed 5-minute buckets (about five trading days; bucket $j$ of the current session is complete only if slot $5j+4\le m$), in patches of three (130 tokens). Branch~C reads the last 260 completed 30-minute buckets (twenty days), in patches of two (130 tokens). No unfinished aggregate ever enters a window. Each patch is flattened, concatenated with its fraction of present bars and its maximal log gap, and projected through a gated linear unit \citep{dauphin2017glu} to $d_{\text{model}}$; a learned resolution embedding, a sinusoidal position measured as the distance to the origin in patch units, and a sinusoidal temporal-gap embedding are added. A global token projects the nine history-only statistics. Patches without any present bar remain tokens but are masked in attention. \subsection{Backbone, fusion and regime conditioning} The default backbone is a shared pre-norm Transformer encoder \citep{vaswani2017attention, ba2016layernorm} over the concatenated token sequence (339 tokens with the global token), with GELU activations \citep{hendrycks2016gelu} and key-padding masks. The alternative fusion keeps a small encoder per resolution and lets the one-minute stream cross-attend to the two coarser streams before a final encoder. A regime embedding maps the global statistics through a two-layer MLP (``stats''), through a soft codebook of eight learned regimes (``learned''), or is disabled (``none''); it is added to the decoder queries. The core model carries no ticker identity; a ticker embedding exists only as an ablation. \subsection{Direct decoder and Student-$t$ head (Stage A)} Sixty learned future-position queries, each augmented with the known future calendar position (minute fraction, time to close, weekday, early-close flag) and the regime embedding, pass through a two-layer Transformer decoder that cross-attends to the encoder memory. A linear head yields three numbers per future minute, parametrised in a scale-equivariant way: \begin{equation} \mu_h=\sigma_t\,a_h/10,\qquad s_h=\sigma_t\,\mathrm{softplus}(b_h+0.5413)+10^{-7},\qquad \nu_h=2.05+\mathrm{softplus}(c_h+1.5), \end{equation} so that the scale starts at $\sigma_t$ and the degrees of freedom start near $3.75$ with finite variance. The loss is the masked Student-$t$ negative log-likelihood averaged over present target minutes, computed in single precision regardless of the device. Gaussian and quantile (pinball) heads are ablations. These are marginal predictions per minute; the cumulative-return distribution at $H$ is obtained by Monte Carlo (256 draws) with independent minutes. \subsection{Dependence-aware paths (Stage B)} With the marginals frozen, a copula head produces, from the same decoder states, factor loadings $\Lambda\in\mathbb{R}^{H\times k}$ ($k=4$) and a positive diagonal $\psi$, defining a correlation matrix $R=D^{-1/2}(\Lambda\Lambda\tr+\mathrm{diag}\,\psi)D^{-1/2}$ over the $H$ future minutes. Training maximises the Gaussian-copula log-likelihood of $z_h=\Phi^{-1}(F_{t_{\nu_h}}((y_h-\mu_h)/s_h))$, with missing minutes marginalised exactly by replacing their rows and columns of $R$ by the identity. Sampling draws $z=\Lambda\varepsilon+\psi^{1/2}\eta$, standardises, maps through $\Phi$ and the Student-$t$ quantile function, and never needs a Cholesky factor. Joint samples give cumulative paths, maximum drawdown, realised volatility and interval coverage, scored against independent sampling of the same marginals. \subsection{Sizes and training} Three presets are measured, not assumed: Small ($d=192$, 4 layers, 6 heads, FFN 768), the brief's specification ($d=256$, 6 layers, 8 heads, FFN 1024) and Base ($d=384$, 8 layers, 8 heads, FFN 1536), each with a two-layer decoder. Trainable parameter counts appear in Table~\ref{tab:benchmark}. Optimisation uses AdamW \citep{loshchilov2019adamw} with $\beta=(0.9,0.98)$, linear warm-up and cosine decay to 10\,\% of the peak rate, gradient clipping at~1, early stopping on the validation likelihood, fixed seeds and crash-safe checkpoints with resume. Mixed precision is not used in this version. \input{tables/benchmark}