Selected work

Market research workbook

Market Trend Probability Indicator

I built this workbook to answer one recurring question: when market signals disagree, what does the overall setup actually say?

What I didIndicator selection, scoring logic, and historical testing
Built withMulti-signal scoring, Forward testing, Correlation analysis
What came out of itThe finished workbook gave me one place to compare 15 inputs, see the composite reading, and check how it changed over time.
MTPITotal market cap
Snapshot
Jan 17, 2025
Composite
−0.91, Short
Selected MTPI indicator matrix rows
CategoryIndicatorFrameScoreResult
PerpetualEWMA3D−1.00Bearish
PerpetualSALMA RED K3D−1.00Bearish
PerpetualMichaels EMA2D−1.00Bearish
PerpetualHSMA4D−1.00Bearish
PerpetualT3 Striped [Loxx]4D−1.00Bearish
OscillatorsRegularized MA suite2D−1.00Bearish
OscillatorsNormalized KAMA4D−1.00Bearish
OscillatorsSebastine Trend Catcher2D−1.00Bearish
OscillatorsKalman Hull RSI3D−1.00Bearish
OscillatorsTrend Following MA’s3D−1.00Bearish
BitcoinT3S5D−1.00Bearish
BitcoinMichaels EMA4D−1.00Bearish
EthereumMichaels EMA2D−1.00Bearish
EthereumEWMA4D−1.00Bearish
MacroCorrelation coefficient15-120D0.28Slight bull
Medium-term trend
15 inputs5 categoriesAverage −0.91, Short

Inside the model

A composite score is only useful when I can see what is pulling it.

The matrix shows the raw readings. The gauge and charts show how I combined them and checked the result.
15signal inputs
5research categories
24dated observations
10macro series reviewed
MTPIWhole market trend, total market cap
Updated
Jan 17, 2025
Average
−0.91, Short
MTPI indicator matrix
CategoryIndicatorTimeframeComments / inputsScoreResult
PerpetualEWMA3D8−1.00Bearish
PerpetualSALMA RED K3DLength 10−1.00Bearish
PerpetualMichaels EMA2D8 - 13−1.00Bearish
PerpetualHSMA4D8−1.00Bearish
PerpetualT3 Striped [Loxx]4DPeriod 5−1.00Bearish
OscillatorsRegularized-moving-average oscillator suite2DLength 3 / Reg. length 21−1.00Bearish
OscillatorsNormalized KAMA oscillator4D6 / 19 / 5 / 8−1.00Bearish
OscillatorsSebastine Trend Catcher2D5 / 4−1.00Bearish
OscillatorsKalman Hull RSI3D4 / 0.13 / 4−1.00Bearish
OscillatorsTrend Following MA’s3DEMA 2−1.00Bearish
BitcoinT3S5D4−1.00Bearish
BitcoinMichaels EMA4D4 / 6−1.00Bearish
EthereumMichaels EMA2D5 / 12−1.00Bearish
EthereumEWMA4D4−1.00Bearish
Macro correlationCorrelation coefficient15D / 30D / 90D / 120DN/A0.28Slight bull
MTPI total average score−0.91Short
Medium-term trend

Macro check

BTC correlation table

15D / 30D / 90D / 120D
Historical BTC macro correlations
Series15D30D90D120DAvg.
SPX-0.180.330.870.810.46
NDX0.100.660.890.810.62
DXY-0.220.140.920.870.43
Gold-0.100.280.260.430.22
US10Y-0.01-0.020.800.700.37
VIX0.410.30-0.43-0.31-0.01
MOVE-0.28-0.74-0.49-0.38-0.47
Fed liquidity0.760.710.600.620.67
PBOC liquidity0.750.270.650.650.58
Global liquidity0.05-0.530.050.13-0.08

Score history

Total score

Jan 05 - Feb 05, 2025
1.00.50.0−0.5−1.0Jan 05, 2025: 0.15Jan 06, 2025: 0.59Jan 07, 2025: 0.37Jan 14, 2025: -0.36Jan 15, 2025: 0.07Jan 16, 2025: 0.20Jan 17, 2025: 0.69Jan 20, 2025: 0.69Jan 21, 2025: 0.69Jan 22, 2025: 0.69Jan 23, 2025: 0.69Jan 24, 2025: 0.82Jan 25, 2025: 0.82Jan 26, 2025: 0.82Jan 27, 2025: 0.82Jan 28, 2025: 0.82Jan 29, 2025: 0.82Jan 30, 2025: 0.72Jan 31, 2025: 0.50Feb 01, 2025: 0.12Feb 02, 2025: -0.78Feb 03, 2025: -0.91Feb 04, 2025: -0.91Feb 05, 2025: -0.91
Jan 05Jan 14Jan 22Jan 30Feb 05
Observed high 0.82Observed low −0.91

The line continues past the January 17 matrix. It tracks the model score, not investment performance.

This is an old research snapshot, not a live signal or a trading recommendation.

The question behind it

What I was trying to understand

Trend, momentum, oscillators, and macro correlations rarely line up perfectly. Looking at them one by one made it too easy to give one signal more weight than it deserved.

The standard I set

What a useful answer needed

I wanted one process I could repeat without changing the rules to fit the market view I already had.

My part

Where I did the work.

  • I grouped trend signals, moving averages, oscillators, and macro correlations by what each one was meant to tell me.
  • I created the scoring logic that rolls the individual readings into one market view.
  • I tracked the score through time so I could see how quickly the model changed direction.
  • I added cross-asset correlations to keep the composite reading in context.

Process

How I got to an answer.

Structure the inputs

I grouped the indicators by purpose so a trend signal was not treated the same way as a macro correlation.

Create a scoring layer

I converted the readings to a common scale and averaged them into a directional score.

Evaluate through time

I logged the score by date and compared it with the surrounding market and macro data.

Where judgment entered

  • I separated the signal groups before combining them.
  • I used the history to study the model's behavior, not to claim what markets would do next.
  • I kept proprietary inputs and live readings out of the public version.

Takeaway

What stayed with me

The score only looks objective. Judgment enters when I choose the inputs and decide how to group them. The useful part was making those choices visible.

More work

Read the next projectRelative-Strength Portfolio Research System