NO_SETUP
CFG
Session 2026-10-01 · Knowledge cutoff 2026-10-02T06:27:01.131426Z
Options intelligence for CFG (descriptive options context; scan run 357 is not re-ranked by it) · Monitor CFG (what changed since the previous comparable session)
Structural research evidence. Historical bars observed by this cutoff are reconstructed data, not a claim of historical as-traded availability.
- close
- 63.7
- sma50
- 69.965
- sma150
- 66.0492
- sma200
- 65.1173
- rsi14
- 29.645275
- ema20
- 66.648916
- atr14
- 1.462689
- resistance
- 65.873333
- distance pct
- 3.299261
- extension atr
- -2.016092
- SPY · RS20 fraction
- -0.085602
- QQQ · RS20 fraction
- -0.133364
- distinct touches
- 3
The resistance line is selected at this snapshot. It does not assert that the level was known at every earlier chart date.
Hard requirements
confirmed resistanceMet
- resistance
- 65.87333333333333
Comparison: exists · eligible: true · Unit: comparison
Data status: complete
Exact versioned evidence
{
"name": "confirmed_resistance",
"category": "hard",
"observed": [
[
"resistance",
65.87333333333333
]
],
"operator": "exists",
"threshold": [
[
"eligible",
true
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"structure",
"1"
]
],
"source_evidence": [],
"pivots": [
{
"session": "2026-09-25",
"price": 65.77,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-29",
"confirmation_time": "2026-09-29T20:00:00Z",
"available_at": "2026-10-01T13:50:37.640504Z",
"version": "1"
},
{
"session": "2026-04-28",
"price": 65.85,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-04-30",
"confirmation_time": "2026-04-30T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-05-07",
"price": 66,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-05-11",
"confirmation_time": "2026-05-11T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
}
],
"sessions": [],
"available_at": "2026-10-01T13:50:37.640504Z"
}distance to resistanceNot met
- distance_pct
- 3.2992612083797166
- resistance
- 65.87333333333333
- close
- 63.7
Comparison: inclusive_between · min: 0, max: 3 · Unit: percent
Data status: complete
Exact versioned evidence
{
"name": "distance_to_resistance",
"category": "hard",
"observed": [
[
"distance_pct",
3.2992612083797166
],
[
"resistance",
65.87333333333333
],
[
"close",
63.7
]
],
"operator": "inclusive_between",
"threshold": [
[
"min",
0
],
[
"max",
3
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "percent",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"close",
"1"
]
],
"source_evidence": [
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}intermediate trendNot met
- close
- 63.7
- sma50
- 69.965
Comparison: > · right_operand: sma50 · Unit: comparison
Data status: complete
Exact versioned evidence
{
"name": "intermediate_trend",
"category": "hard",
"observed": [
[
"close",
63.7
],
[
"sma50",
69.965
]
],
"operator": ">",
"threshold": [
[
"right_operand",
"sma50"
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"close",
"1"
],
[
"sma50",
"1"
]
],
"source_evidence": [
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma50",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 69.965,
"parameters": [
[
"required_observations",
50
]
],
"data_status": "complete",
"reason": null,
"observations_used": 50,
"observations_required": 50,
"warmup": false,
"input_start": "2026-07-23",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}long term trendMet
- sma150
- 66.0492
- sma200
- 65.1173
Comparison: >= · right_operand: sma200 · Unit: comparison
Data status: complete
Exact versioned evidence
{
"name": "long_term_trend",
"category": "hard",
"observed": [
[
"sma150",
66.0492
],
[
"sma200",
65.1173
]
],
"operator": ">=",
"threshold": [
[
"right_operand",
"sma200"
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"sma150",
"1"
],
[
"sma200",
"1"
]
],
"source_evidence": [
{
"name": "sma150",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 66.0492,
"parameters": [
[
"required_observations",
150
]
],
"data_status": "complete",
"reason": null,
"observations_used": 150,
"observations_required": 150,
"warmup": false,
"input_start": "2026-02-27",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma200",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 65.1173,
"parameters": [
[
"required_observations",
200
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 200,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}rsi bandNot met
- rsi14
- 29.64527544290945
Comparison: inclusive_between · min: 50, max: 70 · Unit: index
Data status: complete
Exact versioned evidence
{
"name": "rsi_band",
"category": "hard",
"observed": [
[
"rsi14",
29.64527544290945
]
],
"operator": "inclusive_between",
"threshold": [
[
"min",
50
],
[
"max",
70
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "index",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"rsi14",
"1"
]
],
"source_evidence": [
{
"name": "rsi14",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 29.64527544290945,
"parameters": [
[
"required_observations",
15
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 15,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-06",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "index"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}extension atrMet
- extension_atr
- -2.016091783216891
- close
- 63.7
- ema20
- 66.64891599414939
- atr14
- 1.4626893570510344
Comparison: <= · max: 1.5 · Unit: ATR
Data status: complete
Exact versioned evidence
{
"name": "extension_atr",
"category": "hard",
"observed": [
[
"extension_atr",
-2.016091783216891
],
[
"close",
63.7
],
[
"ema20",
66.64891599414939
],
[
"atr14",
1.4626893570510344
]
],
"operator": "<=",
"threshold": [
[
"max",
1.5
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "ATR",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"close",
"1"
],
[
"ema20",
"1"
],
[
"atr14",
"1"
]
],
"source_evidence": [
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "ema20",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 66.64891599414939,
"parameters": [
[
"required_observations",
20
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 20,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-13",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "atr14",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 1.4626893570510344,
"parameters": [
[
"required_observations",
14
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 14,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-05",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}relative strength 20Not met
- SPY
- -0.08560189113508665
- QQQ
- -0.1333635700842397
Comparison: OR > · SPY: 0, QQQ: 0 · Unit: fraction
Data status: complete
Exact versioned evidence
{
"name": "relative_strength_20",
"category": "hard",
"observed": [
[
"SPY",
-0.08560189113508665
],
[
"QQQ",
-0.1333635700842397
]
],
"operator": "OR >",
"threshold": [
[
"SPY",
0
],
[
"QQQ",
0
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"SPY",
"1"
],
[
"QQQ",
"1"
]
],
"source_evidence": [
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.08560189113508665,
"parameters": [
[
"window",
20
],
[
"benchmark",
"SPY"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
},
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.1333635700842397,
"parameters": [
[
"window",
20
],
[
"benchmark",
"QQQ"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}resistance qualityMet
- distinct_touches
- 3
Comparison: policy_and_minimum_touches · min: 2 · Unit: comparison
Data status: complete
Exact versioned evidence
{
"name": "resistance_quality",
"category": "hard",
"observed": [
[
"distinct_touches",
3
]
],
"operator": "policy_and_minimum_touches",
"threshold": [
[
"min",
2
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"structure",
"1"
]
],
"source_evidence": [],
"pivots": [
{
"session": "2026-09-25",
"price": 65.77,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-29",
"confirmation_time": "2026-09-29T20:00:00Z",
"available_at": "2026-10-01T13:50:37.640504Z",
"version": "1"
},
{
"session": "2026-04-28",
"price": 65.85,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-04-30",
"confirmation_time": "2026-04-30T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-05-07",
"price": 66,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-05-11",
"confirmation_time": "2026-05-11T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
}
],
"sessions": [],
"available_at": "2026-10-01T13:50:37.640504Z"
}Supporting evidence
These observations do not change the trigger.
atr compressionNot met
- current_atr_pct
- 0.022962156311633192
- median_previous_60_atr_pct
- 0.022670473485579788
- ratio
- 1.012866199121908
Comparison: < · right_operand: median_previous_60_atr_pct · Unit: fraction
Data status: complete
Exact versioned evidence
{
"name": "atr_compression",
"category": "supporting",
"observed": [
[
"current_atr_pct",
0.022962156311633192
],
[
"median_previous_60_atr_pct",
0.022670473485579788
],
[
"ratio",
1.012866199121908
]
],
"operator": "<",
"threshold": [
[
"right_operand",
"median_previous_60_atr_pct"
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"atr14",
"1"
],
[
"supporting",
"1"
]
],
"source_evidence": [
{
"name": "atr14",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 1.4626893570510344,
"parameters": [
[
"required_observations",
14
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 14,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-05",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "atr_compression_baseline",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 0.022670473485579788,
"parameters": [
[
"baseline_sessions",
60
],
[
"current_excluded",
"true"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 74,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-05",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [
[
"baseline",
[
"2026-07-08",
"2026-07-09",
"2026-07-10",
"2026-07-13",
"2026-07-14",
"2026-07-15",
"2026-07-16",
"2026-07-17",
"2026-07-20",
"2026-07-21",
"2026-07-22",
"2026-07-23",
"2026-07-24",
"2026-07-27",
"2026-07-28",
"2026-07-29",
"2026-07-30",
"2026-07-31",
"2026-08-03",
"2026-08-04",
"2026-08-05",
"2026-08-06",
"2026-08-07",
"2026-08-10",
"2026-08-11",
"2026-08-12",
"2026-08-13",
"2026-08-14",
"2026-08-17",
"2026-08-18",
"2026-08-19",
"2026-08-20",
"2026-08-21",
"2026-08-24",
"2026-08-25",
"2026-08-26",
"2026-08-27",
"2026-08-28",
"2026-08-31",
"2026-09-01",
"2026-09-02",
"2026-09-03",
"2026-09-04",
"2026-09-08",
"2026-09-09",
"2026-09-10",
"2026-09-11",
"2026-09-14",
"2026-09-15",
"2026-09-16",
"2026-09-17",
"2026-09-18",
"2026-09-21",
"2026-09-22",
"2026-09-23",
"2026-09-24",
"2026-09-25",
"2026-09-28",
"2026-09-29",
"2026-09-30"
]
]
],
"available_at": "2026-10-02T06:26:41.439951Z"
}volume contractionNot met
- recent_volume
- 4533022.8703424
- baseline_volume
- 3767540.2517956505
- ratio
- 1.2031783517593242
Comparison: < · max: 0.85 · Unit: ratio
Data status: complete
Exact versioned evidence
{
"name": "volume_contraction",
"category": "supporting",
"observed": [
[
"recent_volume",
4533022.8703424
],
[
"baseline_volume",
3767540.2517956505
],
[
"ratio",
1.2031783517593242
]
],
"operator": "<",
"threshold": [
[
"max",
0.85
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "ratio",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"supporting",
"1"
]
],
"source_evidence": [
{
"name": "volume_contraction",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 1.2031783517593242,
"parameters": [
[
"recent_sessions",
5
],
[
"baseline_sessions",
20
]
],
"data_status": "complete",
"reason": null,
"observations_used": 25,
"observations_required": 25,
"warmup": false,
"input_start": "2026-08-27",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "ratio"
}
],
"pivots": [],
"sessions": [
[
"recent",
[
"2026-09-25",
"2026-09-28",
"2026-09-29",
"2026-09-30",
"2026-10-01"
]
],
[
"baseline",
[
"2026-08-27",
"2026-08-28",
"2026-08-31",
"2026-09-01",
"2026-09-02",
"2026-09-03",
"2026-09-04",
"2026-09-08",
"2026-09-09",
"2026-09-10",
"2026-09-11",
"2026-09-14",
"2026-09-15",
"2026-09-16",
"2026-09-17",
"2026-09-18",
"2026-09-21",
"2026-09-22",
"2026-09-23",
"2026-09-24"
]
]
],
"available_at": "2026-10-02T06:26:41.439951Z"
}higher lowsNot met
- low_1
- 68.4524
- low_2
- 65.66
- low_3
- 63.85
Comparison: low_3 > low_2 > low_1 · required_pivots: 3 · Unit: comparison
Data status: complete
Exact versioned evidence
{
"name": "higher_lows",
"category": "supporting",
"observed": [
[
"low_1",
68.4524
],
[
"low_2",
65.66
],
[
"low_3",
63.85
]
],
"operator": "low_3 > low_2 > low_1",
"threshold": [
[
"required_pivots",
3
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"structure",
"1"
]
],
"source_evidence": [],
"pivots": [
{
"session": "2026-09-09",
"price": 68.4524,
"kind": "low",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-11",
"confirmation_time": "2026-09-11T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-09-16",
"price": 65.66,
"kind": "low",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-18",
"confirmation_time": "2026-09-18T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-09-24",
"price": 63.85,
"kind": "low",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-28",
"confirmation_time": "2026-09-28T20:00:00Z",
"available_at": "2026-09-29T13:14:25.784417Z",
"version": "1"
}
],
"sessions": [],
"available_at": "2026-09-29T13:14:25.784417Z"
}full ma alignmentMet
- sma50
- 69.965
- sma150
- 66.0492
- sma200
- 65.1173
Comparison: sma50 > sma150 > sma200 · · Unit: comparison
Data status: complete
Exact versioned evidence
{
"name": "full_ma_alignment",
"category": "supporting",
"observed": [
[
"sma50",
69.965
],
[
"sma150",
66.0492
],
[
"sma200",
65.1173
]
],
"operator": "sma50 > sma150 > sma200",
"threshold": [],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"sma50",
"1"
],
[
"sma150",
"1"
],
[
"sma200",
"1"
]
],
"source_evidence": [
{
"name": "sma50",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 69.965,
"parameters": [
[
"required_observations",
50
]
],
"data_status": "complete",
"reason": null,
"observations_used": 50,
"observations_required": 50,
"warmup": false,
"input_start": "2026-07-23",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma150",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 66.0492,
"parameters": [
[
"required_observations",
150
]
],
"data_status": "complete",
"reason": null,
"observations_used": 150,
"observations_required": 150,
"warmup": false,
"input_start": "2026-02-27",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma200",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 65.1173,
"parameters": [
[
"required_observations",
200
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 200,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": null
}rs20 spy positiveNot met
- SPY
- -0.08560189113508665
Comparison: > · min: 0 · Unit: fraction
Data status: complete
Exact versioned evidence
{
"name": "rs20_spy_positive",
"category": "supporting",
"observed": [
[
"SPY",
-0.08560189113508665
]
],
"operator": ">",
"threshold": [
[
"min",
0
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"relative_return",
"1"
]
],
"source_evidence": [
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.08560189113508665,
"parameters": [
[
"window",
20
],
[
"benchmark",
"SPY"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}rs20 qqq positiveNot met
- QQQ
- -0.1333635700842397
Comparison: > · min: 0 · Unit: fraction
Data status: complete
Exact versioned evidence
{
"name": "rs20_qqq_positive",
"category": "supporting",
"observed": [
[
"QQQ",
-0.1333635700842397
]
],
"operator": ">",
"threshold": [
[
"min",
0
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"relative_return",
"1"
]
],
"source_evidence": [
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.1333635700842397,
"parameters": [
[
"window",
20
],
[
"benchmark",
"QQQ"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}Structure policy and full stored result
{
"rule_name": "PRE_BREAKOUT",
"rule_version": "PRE_BREAKOUT_V1",
"state": "NO_SETUP",
"triggered": false,
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"structure_policy": {
"version": "1",
"pivot_left": 2,
"pivot_right": 2,
"level_lookback": 126,
"clustering_tolerance": 0.005,
"minimum_touches": 2,
"weighting": "equal"
},
"rule_policy": {
"version": "PRE_BREAKOUT_V1",
"distance_min": 0,
"distance_max": 3,
"rsi_min": 50,
"rsi_max": 70,
"extension_max": 1.5,
"minimum_touches": 2,
"atr_baseline_sessions": 60,
"volume_recent_sessions": 5,
"volume_baseline_sessions": 20,
"volume_ratio_max": 0.85,
"selection": "nearest_at_or_above_else_nearest_below",
"both_benchmarks_valid": true
},
"analysis_version": "1",
"selected_resistance": {
"value": 65.87333333333333,
"kind": "resistance",
"first_session": "2026-04-28",
"first_eligible_session": "2026-05-11",
"available_at": "2026-10-01T13:50:37.640504Z",
"pivots": [
{
"session": "2026-09-25",
"price": 65.77,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-29",
"confirmation_time": "2026-09-29T20:00:00Z",
"available_at": "2026-10-01T13:50:37.640504Z",
"version": "1"
},
{
"session": "2026-04-28",
"price": 65.85,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-04-30",
"confirmation_time": "2026-04-30T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-05-07",
"price": 66,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-05-11",
"confirmation_time": "2026-05-11T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
}
],
"touches": 3,
"tolerance": 0.005,
"min_touches": 2,
"lookback": 126,
"weighting": "equal",
"version": "1"
},
"hard_conditions": [
{
"name": "confirmed_resistance",
"category": "hard",
"observed": [
[
"resistance",
65.87333333333333
]
],
"operator": "exists",
"threshold": [
[
"eligible",
true
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"structure",
"1"
]
],
"source_evidence": [],
"pivots": [
{
"session": "2026-09-25",
"price": 65.77,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-29",
"confirmation_time": "2026-09-29T20:00:00Z",
"available_at": "2026-10-01T13:50:37.640504Z",
"version": "1"
},
{
"session": "2026-04-28",
"price": 65.85,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-04-30",
"confirmation_time": "2026-04-30T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-05-07",
"price": 66,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-05-11",
"confirmation_time": "2026-05-11T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
}
],
"sessions": [],
"available_at": "2026-10-01T13:50:37.640504Z"
},
{
"name": "distance_to_resistance",
"category": "hard",
"observed": [
[
"distance_pct",
3.2992612083797166
],
[
"resistance",
65.87333333333333
],
[
"close",
63.7
]
],
"operator": "inclusive_between",
"threshold": [
[
"min",
0
],
[
"max",
3
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "percent",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"close",
"1"
]
],
"source_evidence": [
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "intermediate_trend",
"category": "hard",
"observed": [
[
"close",
63.7
],
[
"sma50",
69.965
]
],
"operator": ">",
"threshold": [
[
"right_operand",
"sma50"
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"close",
"1"
],
[
"sma50",
"1"
]
],
"source_evidence": [
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma50",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 69.965,
"parameters": [
[
"required_observations",
50
]
],
"data_status": "complete",
"reason": null,
"observations_used": 50,
"observations_required": 50,
"warmup": false,
"input_start": "2026-07-23",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "long_term_trend",
"category": "hard",
"observed": [
[
"sma150",
66.0492
],
[
"sma200",
65.1173
]
],
"operator": ">=",
"threshold": [
[
"right_operand",
"sma200"
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"sma150",
"1"
],
[
"sma200",
"1"
]
],
"source_evidence": [
{
"name": "sma150",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 66.0492,
"parameters": [
[
"required_observations",
150
]
],
"data_status": "complete",
"reason": null,
"observations_used": 150,
"observations_required": 150,
"warmup": false,
"input_start": "2026-02-27",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma200",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 65.1173,
"parameters": [
[
"required_observations",
200
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 200,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "rsi_band",
"category": "hard",
"observed": [
[
"rsi14",
29.64527544290945
]
],
"operator": "inclusive_between",
"threshold": [
[
"min",
50
],
[
"max",
70
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "index",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"rsi14",
"1"
]
],
"source_evidence": [
{
"name": "rsi14",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 29.64527544290945,
"parameters": [
[
"required_observations",
15
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 15,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-06",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "index"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "extension_atr",
"category": "hard",
"observed": [
[
"extension_atr",
-2.016091783216891
],
[
"close",
63.7
],
[
"ema20",
66.64891599414939
],
[
"atr14",
1.4626893570510344
]
],
"operator": "<=",
"threshold": [
[
"max",
1.5
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "ATR",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"close",
"1"
],
[
"ema20",
"1"
],
[
"atr14",
"1"
]
],
"source_evidence": [
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "ema20",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 66.64891599414939,
"parameters": [
[
"required_observations",
20
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 20,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-13",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "atr14",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 1.4626893570510344,
"parameters": [
[
"required_observations",
14
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 14,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-05",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "relative_strength_20",
"category": "hard",
"observed": [
[
"SPY",
-0.08560189113508665
],
[
"QQQ",
-0.1333635700842397
]
],
"operator": "OR >",
"threshold": [
[
"SPY",
0
],
[
"QQQ",
0
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"SPY",
"1"
],
[
"QQQ",
"1"
]
],
"source_evidence": [
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.08560189113508665,
"parameters": [
[
"window",
20
],
[
"benchmark",
"SPY"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
},
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.1333635700842397,
"parameters": [
[
"window",
20
],
[
"benchmark",
"QQQ"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "resistance_quality",
"category": "hard",
"observed": [
[
"distinct_touches",
3
]
],
"operator": "policy_and_minimum_touches",
"threshold": [
[
"min",
2
]
],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"structure",
"1"
]
],
"source_evidence": [],
"pivots": [
{
"session": "2026-09-25",
"price": 65.77,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-29",
"confirmation_time": "2026-09-29T20:00:00Z",
"available_at": "2026-10-01T13:50:37.640504Z",
"version": "1"
},
{
"session": "2026-04-28",
"price": 65.85,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-04-30",
"confirmation_time": "2026-04-30T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-05-07",
"price": 66,
"kind": "high",
"left": 2,
"right": 2,
"confirmation_session": "2026-05-11",
"confirmation_time": "2026-05-11T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
}
],
"sessions": [],
"available_at": "2026-10-01T13:50:37.640504Z"
}
],
"supporting_conditions": [
{
"name": "atr_compression",
"category": "supporting",
"observed": [
[
"current_atr_pct",
0.022962156311633192
],
[
"median_previous_60_atr_pct",
0.022670473485579788
],
[
"ratio",
1.012866199121908
]
],
"operator": "<",
"threshold": [
[
"right_operand",
"median_previous_60_atr_pct"
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"atr14",
"1"
],
[
"supporting",
"1"
]
],
"source_evidence": [
{
"name": "atr14",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 1.4626893570510344,
"parameters": [
[
"required_observations",
14
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 14,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-05",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "close",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 63.7,
"parameters": [],
"data_status": "complete",
"reason": null,
"observations_used": 1,
"observations_required": 1,
"warmup": false,
"input_start": "2026-10-01",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "atr_compression_baseline",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 0.022670473485579788,
"parameters": [
[
"baseline_sessions",
60
],
[
"current_excluded",
"true"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 74,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": "2026-01-05",
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [
[
"baseline",
[
"2026-07-08",
"2026-07-09",
"2026-07-10",
"2026-07-13",
"2026-07-14",
"2026-07-15",
"2026-07-16",
"2026-07-17",
"2026-07-20",
"2026-07-21",
"2026-07-22",
"2026-07-23",
"2026-07-24",
"2026-07-27",
"2026-07-28",
"2026-07-29",
"2026-07-30",
"2026-07-31",
"2026-08-03",
"2026-08-04",
"2026-08-05",
"2026-08-06",
"2026-08-07",
"2026-08-10",
"2026-08-11",
"2026-08-12",
"2026-08-13",
"2026-08-14",
"2026-08-17",
"2026-08-18",
"2026-08-19",
"2026-08-20",
"2026-08-21",
"2026-08-24",
"2026-08-25",
"2026-08-26",
"2026-08-27",
"2026-08-28",
"2026-08-31",
"2026-09-01",
"2026-09-02",
"2026-09-03",
"2026-09-04",
"2026-09-08",
"2026-09-09",
"2026-09-10",
"2026-09-11",
"2026-09-14",
"2026-09-15",
"2026-09-16",
"2026-09-17",
"2026-09-18",
"2026-09-21",
"2026-09-22",
"2026-09-23",
"2026-09-24",
"2026-09-25",
"2026-09-28",
"2026-09-29",
"2026-09-30"
]
]
],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "volume_contraction",
"category": "supporting",
"observed": [
[
"recent_volume",
4533022.8703424
],
[
"baseline_volume",
3767540.2517956505
],
[
"ratio",
1.2031783517593242
]
],
"operator": "<",
"threshold": [
[
"max",
0.85
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "ratio",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"supporting",
"1"
]
],
"source_evidence": [
{
"name": "volume_contraction",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 1.2031783517593242,
"parameters": [
[
"recent_sessions",
5
],
[
"baseline_sessions",
20
]
],
"data_status": "complete",
"reason": null,
"observations_used": 25,
"observations_required": 25,
"warmup": false,
"input_start": "2026-08-27",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "ratio"
}
],
"pivots": [],
"sessions": [
[
"recent",
[
"2026-09-25",
"2026-09-28",
"2026-09-29",
"2026-09-30",
"2026-10-01"
]
],
[
"baseline",
[
"2026-08-27",
"2026-08-28",
"2026-08-31",
"2026-09-01",
"2026-09-02",
"2026-09-03",
"2026-09-04",
"2026-09-08",
"2026-09-09",
"2026-09-10",
"2026-09-11",
"2026-09-14",
"2026-09-15",
"2026-09-16",
"2026-09-17",
"2026-09-18",
"2026-09-21",
"2026-09-22",
"2026-09-23",
"2026-09-24"
]
]
],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "higher_lows",
"category": "supporting",
"observed": [
[
"low_1",
68.4524
],
[
"low_2",
65.66
],
[
"low_3",
63.85
]
],
"operator": "low_3 > low_2 > low_1",
"threshold": [
[
"required_pivots",
3
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"structure",
"1"
]
],
"source_evidence": [],
"pivots": [
{
"session": "2026-09-09",
"price": 68.4524,
"kind": "low",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-11",
"confirmation_time": "2026-09-11T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-09-16",
"price": 65.66,
"kind": "low",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-18",
"confirmation_time": "2026-09-18T20:00:00Z",
"available_at": "2026-09-24T10:53:53.906285Z",
"version": "1"
},
{
"session": "2026-09-24",
"price": 63.85,
"kind": "low",
"left": 2,
"right": 2,
"confirmation_session": "2026-09-28",
"confirmation_time": "2026-09-28T20:00:00Z",
"available_at": "2026-09-29T13:14:25.784417Z",
"version": "1"
}
],
"sessions": [],
"available_at": "2026-09-29T13:14:25.784417Z"
},
{
"name": "full_ma_alignment",
"category": "supporting",
"observed": [
[
"sma50",
69.965
],
[
"sma150",
66.0492
],
[
"sma200",
65.1173
]
],
"operator": "sma50 > sma150 > sma200",
"threshold": [],
"passed": true,
"data_status": "complete",
"reason": null,
"unit": "comparison",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"sma50",
"1"
],
[
"sma150",
"1"
],
[
"sma200",
"1"
]
],
"source_evidence": [
{
"name": "sma50",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 69.965,
"parameters": [
[
"required_observations",
50
]
],
"data_status": "complete",
"reason": null,
"observations_used": 50,
"observations_required": 50,
"warmup": false,
"input_start": "2026-07-23",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma150",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 66.0492,
"parameters": [
[
"required_observations",
150
]
],
"data_status": "complete",
"reason": null,
"observations_used": 150,
"observations_required": 150,
"warmup": false,
"input_start": "2026-02-27",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
},
{
"name": "sma200",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": 65.1173,
"parameters": [
[
"required_observations",
200
]
],
"data_status": "complete",
"reason": null,
"observations_used": 200,
"observations_required": 200,
"warmup": false,
"input_start": "2025-12-15",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "price"
}
],
"pivots": [],
"sessions": [],
"available_at": null
},
{
"name": "rs20_spy_positive",
"category": "supporting",
"observed": [
[
"SPY",
-0.08560189113508665
]
],
"operator": ">",
"threshold": [
[
"min",
0
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"relative_return",
"1"
]
],
"source_evidence": [
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.08560189113508665,
"parameters": [
[
"window",
20
],
[
"benchmark",
"SPY"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
},
{
"name": "rs20_qqq_positive",
"category": "supporting",
"observed": [
[
"QQQ",
-0.1333635700842397
]
],
"operator": ">",
"threshold": [
[
"min",
0
]
],
"passed": false,
"data_status": "complete",
"reason": null,
"unit": "fraction",
"rule_version": "PRE_BREAKOUT_V1",
"feature_versions": [
[
"relative_return",
"1"
]
],
"source_evidence": [
{
"name": "relative_return",
"version": "1",
"symbol": "CFG",
"session": "2026-10-01",
"as_of": "2026-10-02T06:27:01.131426Z",
"value": -0.1333635700842397,
"parameters": [
[
"window",
20
],
[
"benchmark",
"QQQ"
]
],
"data_status": "complete",
"reason": null,
"observations_used": 21,
"observations_required": 21,
"warmup": false,
"input_start": "2026-09-02",
"seed_session": null,
"available_at": "2026-10-02T06:26:41.439951Z",
"missing_sessions": [],
"reset_after_gap": false,
"provider": "massive",
"adjustment": "split_adjusted",
"session_scope": "provider_aggregate",
"calendar": "XNYS",
"calendar_version": "4.13.2",
"unit": "fraction"
}
],
"pivots": [],
"sessions": [],
"available_at": "2026-10-02T06:26:41.439951Z"
}
]
}