Signature Methods for Path-Dependent Trading
A return over a fixed interval loses the order in which the market travelled. For execution, barriers, drawdowns, and intraday flow, that order matters: a 1% gain after a 3% drawdown is not operationally equivalent to a smooth 1% gain. Path signatures provide a principled feature map for sequential data, built from iterated integrals of a path.
The signature is attractive because, under suitable conditions, it characterizes a path up to tree-like equivalence and interacts naturally with linear models. It is not a shortcut around data limitations. Its feature count grows rapidly with dimension and truncation depth, and careless construction can leak a target interval into features.
What a path signature records
For a path X:[0,T] -> R^d, its level-one signature is the increment. Level two records ordered interactions:
S^1_i(X) = integral dX_i
S^2_(i,j)(X) = integral_(0<t1<t2<T) dX_i(t1) dX_j(t2)
Higher levels preserve increasingly detailed ordering. For two channels, the antisymmetric part of level two distinguishes a path that moves in channel one then two from one that moves in the reverse order. This can capture relationships between price, volume, imbalance, and realized volatility that a static snapshot cannot.
| Design choice | Effect | Trading implication |
|---|---|---|
| Channels | defines observed path | include only as-of information |
| Time augmentation | distinguishes speed/timing | can encode session effects |
| Depth | increases path detail | raises dimensionality sharply |
| Window | defines memory | affects turnover and leakage risk |
The number of raw terms is roughly d + d^2 + ... + d^m at depth m. A four-channel path at depth five already has 1,364 nonconstant terms. Use log-signatures, channel selection, and regularization before trying deeper truncations.
Building causal market paths
Resample data to a clock that matches the decision. A one-minute execution classifier might use midprice changes, signed volume, spread, and elapsed time; a daily model could use return, realized volatility, and volume surprise. Normalize channels with transformations learned only from prior data. Then construct each signature window ending strictly before the label’s information cut.
import iisignature
import numpy as np
def signature_features(path, depth=3):
# path: shape (time_steps, channels), already time-augmented if required
return iisignature.sig(np.asarray(path, dtype=np.float64), depth)
# For each decision t, features use [t-window, t], label begins after fill delay.
X_t = signature_features(causal_window)
The library returns a feature vector, not a guarantee of a valid experiment. The current bar may be partly unavailable at the order decision. Quote updates, trade prints, and bar close timestamps need explicit event-time rules. Apply the same point-in-time discipline used in feature engineering for trading.
Lead-lag and cross-channel information
Signatures can represent lead-lag interactions without manually choosing every lag. For example, the signed area between price and order imbalance can summarize whether imbalance preceded or followed a move. This is descriptive, not causal. Latency, exchange sequencing, and common news can create apparent lead-lag.
| Observation | Plausible interpretation | Required test |
|---|---|---|
| price-volume area predicts return | persistent flow pressure | delay and venue test |
| time channel dominates | intraday seasonality | compare calendar baseline |
| deep terms improve train score only | overfit path detail | nested temporal validation |
| feature changes with resampling | sampling artifact | test multiple clocks |
For a strategy, compare to lagged linear features, rolling moments, and a simple sequence baseline such as LSTM time-series trading. A signature model is useful only if it adds stable incremental value after those alternatives.
Model fitting and regularization
Start with elastic-net logistic or ridge regression on standardized signature terms. Linear readouts are interpretable enough to diagnose scale and sparsity, while nonlinear learners can be considered after a robust baseline. Fit scaling, feature selection, and hyperparameters inside each training fold. Do not standardize across the full sample.
Signature terms can be highly collinear. Use group regularization by level, principal components fitted in-fold, or log-signatures that remove algebraic redundancy. Report out-of-sample calibration as well as classification metrics. A high AUC can still yield an untradeable score if confidence is poorly calibrated or changes too quickly.
Applications and realistic limits
Potential applications include predicting short-horizon adverse selection, classifying volatility path regimes, estimating barrier-hit probability, and summarizing a portfolio’s recent P&L path for risk allocation. In each case, define the loss in economic units. For execution, that may be implementation shortfall conditional on taking a trade; for risk, it may be tail-probability calibration.
Use purged chronological folds for overlapping windows and labels. Charge for turnover at the decision frequency. Monitor feature distributions after deployment because changes in tick size, venue mix, or feed normalization alter a path representation even when the economic process is unchanged.
Key takeaways
- Signatures encode the ordered structure of multichannel paths, not just endpoints.
- Channel, time, window, and depth choices are high-impact hyperparameters.
- Preserve event-time causality and compare against simpler lagged-feature baselines.
- Control dimensionality and validate incremental, net-of-cost trading value.
