Problem
The Opinion normalizer hardcodes volume24h: 0 for child markets (outcomes within categorical/multi-outcome events), even when the parent market is actively traded.
core/src/exchanges/opinion/normalizer.ts:303:
volume24h: 0, // child markets do not have volume24h
The Opinion API only returns volume24h on parent markets, not on children. But since children inherit the parent's trading activity, they shouldn't be marked as zero.
Impact
Downstream consumers (e.g. matching pipelines) that filter on volume24h > 0 skip these markets entirely. This contributes to Opinion's near-zero embedding coverage in the matching engine (0.4%).
Suggested fix
Distribute the parent's volume24h across child markets, either evenly or proportionally by price/volume. Alternatively, copy the parent's volume24h to each child so they aren't filtered out.
Problem
The Opinion normalizer hardcodes
volume24h: 0for child markets (outcomes within categorical/multi-outcome events), even when the parent market is actively traded.core/src/exchanges/opinion/normalizer.ts:303:The Opinion API only returns
volume24hon parent markets, not on children. But since children inherit the parent's trading activity, they shouldn't be marked as zero.Impact
Downstream consumers (e.g. matching pipelines) that filter on
volume24h > 0skip these markets entirely. This contributes to Opinion's near-zero embedding coverage in the matching engine (0.4%).Suggested fix
Distribute the parent's
volume24hacross child markets, either evenly or proportionally by price/volume. Alternatively, copy the parent'svolume24hto each child so they aren't filtered out.