strategynet.ai
strategynet.ai — Insights
How to compose registered signals into a factor · Published 2026-07-20
Deep dive

How to compose registered signals into a factor

A composite factor combines several signals into one score for each security. Combining inputs can capture complementary evidence, such as valuation and profitability, while giving researchers a single investment hypothesis to test. The contribution of each input depends on its scale, weight, and relationship to the other signals.

This article builds a weighted composite, calculates a numerical example, and examines how changing the weights affects the ranking. It then explains how StrategyNet records the definition and evaluates the resulting scores.

Mathematical definition

Suppose \(K\) registered signals have been aligned to the same security \(i\) and observation time \(t\). After applying the declared point-in-time normalization to each input, a linear composite is

\[c_{i,t}=\sum_{k=1}^{K}\alpha_k z_{i,t}^{(k)},\]

where \(z_{i,t}^{(k)}\) is the normalized value of input \(k\) and \(\alpha_k\) is its recorded weight. If a larger value of one input represents an adverse condition, its orientation can be reversed before composition or expressed through a negative weight. The choice must remain part of the versioned definition.

The output may then be normalized again across the eligible universe. For example, a percentile-ranked output is

\[p_{i,t} = \frac{\operatorname{rank}_{j\in U_t}(c_{j,t})-1} {|U_t|-1},\]

with an explicit tie method when several securities have the same composite value.

A small numerical example

Consider three hypothetical inputs: earnings-revision breadth, residual momentum, and short-interest pressure. The values below have already been standardized within one eligible cross-section. We assign weights of \(0.45\), \(0.35\), and \(-0.20\) respectively.

Illustrative composite calculation

SecurityRevisionsMomentumShort pressureCompositeRank
A+1.20+0.40−0.30+0.7401
B+0.40+1.10+0.50+0.4652
C−0.20+0.30−0.60+0.1353
D−0.80−0.50+0.20−0.5754

For security A, the calculation is

\[0.45(1.20)+0.35(0.40)-0.20(-0.30)=0.740.\]

The negative short-pressure observation helps A because the definition assigns an adverse orientation to that input. B receives strong support from momentum, but its positive short-pressure value reduces the combined score.

Python calculation

import pandas as pd

inputs = pd.DataFrame(
    {
        "revision_breadth": [1.20, 0.40, -0.20, -0.80],
        "residual_momentum": [0.40, 1.10, 0.30, -0.50],
        "short_pressure": [-0.30, 0.50, -0.60, 0.20],
    },
    index=["A", "B", "C", "D"],
)

weights = pd.Series(
    {
        "revision_breadth": 0.45,
        "residual_momentum": 0.35,
        "short_pressure": -0.20,
    }
)

eligible = inputs.notna().all(axis=1)
composite = inputs.loc[eligible].mul(weights).sum(axis=1)
percentile_rank = composite.rank(method="average", pct=True)

result = pd.DataFrame(
    {"composite": composite, "percentile_rank": percentile_rank}
).sort_values("composite", ascending=False)

This short example uses a complete-case rule. A production definition should state whether an absent input makes the security ineligible, permits a renormalized partial score, or invokes a recorded fallback.

Interpreting positive, zero, and negative scores

When the inputs are cross-sectionally centered, a positive composite indicates that the weighted evidence lies above the cross-sectional centre in the declared direction. A negative value indicates the reverse. A value near zero places the security near the balance of the included inputs.

These signs are relative scores rather than promised returns. Their meaning depends on the orientation of every input, the selected universe, the normalization, and the observation time. A zero can also arise because strong positive and negative components offset one another, which is different from having little data or little exposure to every component.

A weight-sensitivity check

The short-pressure penalty below is varied while the other inputs remain fixed. This is a deliberately small perturbation exercise, but it reveals a useful fact: the ordering of B and C eventually changes because their exposure to short pressure is very different.

Composite scores as the short-pressure penalty changes

Short-pressure weightABCDMiddle ordering
−0.05+0.695+0.540+0.045−0.545B above C
−0.20+0.740+0.465+0.135−0.575B above C
−0.60+0.860+0.265+0.375−0.655C above B
Line chart of four illustrative security scores as the short-pressure penalty increases from 0.05 to 0.60; security C moves above security B at the largest penaltyLine chart of four illustrative security scores as the short-pressure penalty increases from 0.05 to 0.60; security C moves above security B at the largest penalty
Changing one input weight can alter the cross-sectional order even when every underlying observation remains fixed.

Repeating the sensitivity check across dates, universes, and market regimes shows how consistently the ranking survives changes in the weights. The same check should cover other parameters that materially affect the calculation, with portfolio behavior evaluated alongside the score ordering.

What Signal Designer records

The registered definition should identify each input by its exact catalog ID and version, while its name and description explain the economic idea. The record also needs the input aliases, graph edges, transformation parameters, required-input rules, normalization, availability time, publication lag, forecast horizon, eligible universe, author, and output identifier.

Signal Designer can draw source-feature lineage, stored input weights, warm-up and coverage gates, normalization, and output nodes. Some of these nodes currently preserve research intent as graph metadata. The saved executable contract supports one selected expression score and can apply an optional gate threshold and fallback value. Executing a visual composite therefore requires its calculation to be represented by that expression contract or by a supported backend capability. The interface reports design and materialization status separately.

Validating the composite definition

Align each component to the composite's decision time using its release and availability timestamps. Then specify how it is oriented, winsorized, normalized, and treated when coverage is incomplete. These choices determine which observations enter the calculation and the influence their units have on the resulting score.

Weight estimation follows the same timing discipline. Declare fixed weights before the test; for adaptive weights, record the training cutoff and the coefficient set used at each rebalance. Review input dependence and marginal contribution as well as individual predictive value. Removing each input in turn helps reveal how much information it adds to the composite.

The registry supplies the exact definition and version used in these checks. Materialized observations, evaluation statistics, candidate backtests, and portfolio holdings each retain their corresponding backend result, allowing researchers to follow the calculation from design through execution.

Relationship to adjacent terms

A composite factor is a new signal definition built from other registered signals or source features. Cross-sectional rankingCross-sectional rankingOrdering securities against one another at the same observation time using a signal or characteristic.Open glossary entry → determines relative order when rank-based normalization is used. Information coefficientInformation coefficient (IC)The cross-sectional correlation between a signal score and a subsequent return. Rank IC uses ranked values and measures whether the signal orders securities correctly.Open glossary entry → evaluates the completed composite against its stated forward-return label, while rolling ICIR summarizes the stability of that relationship through time.

Factor exposureFactor exposureThe sensitivity of a security or portfolio to a specified factor, estimated from holdings, characteristics, or a return model.Open glossary entry → measures how strongly a security or portfolio responds to a factor. The input coefficients above set the composition of the score; portfolio optimization later uses evaluated candidates, risk estimates, constraints, and costs to determine an allocation.

How the composite enters evaluation

After materialization, the composite receives the same point-in-time controls as any other registered signal. Date-level IC, rolling ICIR, hit rate, spread, coverage, and stability are calculated under a fixed universe, horizon, lag, and missing-value rule. Comparisons with the component signals should use the same eligible observations so that the test measures the effect of composition rather than a difference in coverage.

A candidate-strategy test can then apply a stated construction method, execution convention, rebalance schedule, costs, and risk controls. Portfolio holdings appear only after a separate optimizer run has returned them. This sequence preserves the difference between a useful composite score, a tradable construction rule, and a constrained allocation.

Frequently asked questions

Must the weights sum to one?

A normalization such as \(\sum_k|\alpha_k|=1\) makes versions easier to compare. Subsequent cross-sectional normalization can remove a common scale factor, so the choice depends on how the composite will be used. Record the orientation, relative input weights, and any constraints with the definition.

Can ICIR determine the input weights?

ICIR can inform a declared weighting method, provided that its estimation window ends before the composite observation being tested. Correlation among the inputs, turnover, coverage, and estimation noise still require attention.

Can daily and intraday signals be combined?

They can share a definition only when the timing contract specifies which observation from each input is eligible at the decision time. Their refresh rates remain different, and a missing or stale intraday value needs an explicit rule.

What role does the AI Workbench play?

It can retrieve catalog context and propose definitions or tool calls using registered IDs and available capabilities. The analyst reviews mutations, and the application should claim a materialization, backtest, or optimizer result only after the relevant API has returned one.

Next reading

This walkthrough is for research and educational purposes. It illustrates how strategynet.ai organizes signal evidence into factors and scenarios. It provides no recommendation, investment advice, or instruction to trade any security.

Back to Insights