hedgequantx 2.9.154 → 2.9.155

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib/data.jsc CHANGED
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgequantx",
3
- "version": "2.9.154",
3
+ "version": "2.9.155",
4
4
  "description": "HedgeQuantX - Prop Futures Trading CLI",
5
5
  "main": "src/app.js",
6
6
  "bin": {
@@ -1,11 +1,14 @@
1
1
  /**
2
2
  * Smart Logs Engine - Institutional HFT Terminal
3
3
  * Professional hedge fund terminology with extensive message variety
4
+ * Imports 50 messages per phase from strategy-specific files
4
5
  */
5
6
 
6
7
  'use strict';
7
8
 
8
9
  const chalk = require('chalk');
10
+ const HQX2B = require('./smart-logs-hqx2b');
11
+ const QUANT = require('./smart-logs-quant');
9
12
 
10
13
  const CONFIG = { MAX_RECENT: 80, SESSION_LOG_INTERVAL: 10 };
11
14
 
@@ -21,268 +24,6 @@ function getSym(s) {
21
24
  return SYMBOLS[b] || b;
22
25
  }
23
26
 
24
- function pick(arr) { return arr[Math.floor(Math.random() * arr.length)]; }
25
-
26
- // =============================================================================
27
- // HQX-2B: LIQUIDITY SWEEP STRATEGY
28
- // =============================================================================
29
-
30
- const HQX2B = {
31
- building: (d) => pick([
32
- `[${d.sym}] Microstructure scan | ${d.bars} bars | ${d.swings} swing pivots | Zone mapping active`,
33
- `[${d.sym}] Order block detection | ${d.ticks} ticks | Institutional footprint analysis`,
34
- `[${d.sym}] Liquidity topology build | ${d.swings} pivots | Stop cluster identification`,
35
- `[${d.sym}] Structure analysis | ${d.bars} OHLC | Delta profile: ${d.delta > 0 ? '+' : ''}${d.delta}`,
36
- `[${d.sym}] Sweep zone calibration | ${d.ticks} tick sample | ${d.swings} swing nodes`,
37
- `[${d.sym}] Institutional level mapping | ${d.bars} bars processed | Awaiting zone formation`,
38
- `[${d.sym}] Market structure parse | ${d.swings} pivots detected | Liquidity map loading`,
39
- `[${d.sym}] Price action decomposition | ${d.ticks} ticks | Swing point extraction`,
40
- `[${d.sym}] DOM reconstruction | ${d.ticks} ticks | Depth analysis initializing`,
41
- `[${d.sym}] Volume profile build | ${d.bars} bars | POC/VAH/VAL computation`,
42
- `[${d.sym}] Iceberg detection scan | ${d.ticks} tick flow | Hidden liquidity search`,
43
- `[${d.sym}] Stop cluster triangulation | ${d.swings} swings | Sweep target identification`,
44
- `[${d.sym}] Auction theory analysis | ${d.bars} bars | Value area computation`,
45
- `[${d.sym}] Order flow calibration | ${d.ticks} ticks | Aggressor tagging active`,
46
- `[${d.sym}] Footprint initialization | ${d.bars} bars | Delta/volume decomposition`,
47
- `[${d.sym}] Swing structure mapping | ${d.swings} pivots | HH/HL/LH/LL detection`,
48
- `[${d.sym}] Liquidity heatmap build | ${d.ticks} observations | Cluster density calc`,
49
- `[${d.sym}] Market profile loading | ${d.bars} TPOs | Distribution analysis`,
50
- `[${d.sym}] Absorption scan | ${d.ticks} ticks | Passive order detection`,
51
- `[${d.sym}] Momentum calibration | ${d.bars} bars | Velocity/acceleration calc`,
52
- ]),
53
-
54
- zones: (d) => pick([
55
- `[${d.sym}] ${d.price} | ${d.zones} liquidity zones active | Sweep probability elevated`,
56
- `[${d.sym}] ${d.price} | Stop cluster proximity | ${d.zones} institutional levels in range`,
57
- `[${d.sym}] Zone convergence | ${d.zones} sweep targets | OFI: ${d.delta > 0 ? '+' : ''}${d.delta}`,
58
- `[${d.sym}] ${d.price} | Liquidity pool vulnerable | ${d.zones} zones | Monitoring penetration`,
59
- `[${d.sym}] Institutional zone active | ${d.zones} levels | ${d.swings} swing confirmation`,
60
- `[${d.sym}] ${d.price} | ${d.zones} stop clusters mapped | Sweep trigger watch`,
61
- `[${d.sym}] ${d.price} | High volume node proximity | ${d.zones} zones defended`,
62
- `[${d.sym}] Resting liquidity detected | ${d.zones} pools | ${d.price} approach vector`,
63
- `[${d.sym}] ${d.price} | ${d.zones} absorption zones | Delta: ${d.delta > 0 ? '+' : ''}${d.delta}`,
64
- `[${d.sym}] Stop hunt proximity | ${d.zones} targets | Price: ${d.price}`,
65
- `[${d.sym}] ${d.price} | Iceberg cluster ${d.zones} levels | Sweep imminent`,
66
- `[${d.sym}] Liquidity vacuum ahead | ${d.zones} zones | Acceleration expected`,
67
- `[${d.sym}] ${d.price} | ${d.zones} institutional traps | OFI shift monitoring`,
68
- `[${d.sym}] POC rejection zone | ${d.price} | ${d.zones} confluences active`,
69
- `[${d.sym}] ${d.price} | Value area boundary | ${d.zones} levels | Breakout watch`,
70
- `[${d.sym}] Delta divergence @ ${d.price} | ${d.zones} zones | Reversal setup`,
71
- `[${d.sym}] ${d.price} | Trapped traders ${d.zones} levels | Squeeze potential`,
72
- `[${d.sym}] Order block test | ${d.price} | ${d.zones} institutional zones`,
73
- `[${d.sym}] ${d.price} | Liquidity grab zone | ${d.zones} stops vulnerable`,
74
- `[${d.sym}] Fair value gap ${d.price} | ${d.zones} imbalances | Fill expected`,
75
- ]),
76
-
77
- bull: (d) => pick([
78
- `[${d.sym}] ${d.price} | OFI: +${Math.abs(d.delta)} | Bid absorption | Shorts vulnerable`,
79
- `[${d.sym}] ${d.price} | Delta +${Math.abs(d.delta)} | Institutional bid | ${d.zones} support zones`,
80
- `[${d.sym}] Bullish microstructure | OFI +${Math.abs(d.delta)} | Stop hunt below pending`,
81
- `[${d.sym}] ${d.price} | Positive delta divergence | Offer exhaustion detected`,
82
- `[${d.sym}] ${d.price} | Buy imbalance +${Math.abs(d.delta)} | ${d.zones} zones defended`,
83
- `[${d.sym}] Bid stack reinforcement | Delta +${Math.abs(d.delta)} | Sweep below imminent`,
84
- `[${d.sym}] ${d.price} | Aggressive buyers | OFI +${Math.abs(d.delta)} | Momentum building`,
85
- `[${d.sym}] Sell absorption complete | ${d.price} | Delta: +${Math.abs(d.delta)} | Longs loading`,
86
- `[${d.sym}] ${d.price} | Bullish order flow | +${Math.abs(d.delta)} delta | Shorts trapped`,
87
- `[${d.sym}] Passive bid detected | ${d.price} | OFI: +${Math.abs(d.delta)} | Accumulation`,
88
- `[${d.sym}] ${d.price} | Offer depletion | Delta +${Math.abs(d.delta)} | Breakout setup`,
89
- `[${d.sym}] Institutional buying | ${d.price} | +${Math.abs(d.delta)} imbalance | Trend continuation`,
90
- `[${d.sym}] ${d.price} | Bullish footprint | OFI +${Math.abs(d.delta)} | ${d.zones} zones held`,
91
- `[${d.sym}] Buy program detected | ${d.price} | Delta: +${Math.abs(d.delta)} | Momentum`,
92
- `[${d.sym}] ${d.price} | Positive tick | +${Math.abs(d.delta)} OFI | Upside acceleration`,
93
- `[${d.sym}] Short squeeze setup | ${d.price} | Delta +${Math.abs(d.delta)} | Covering expected`,
94
- `[${d.sym}] ${d.price} | Bid aggression | OFI: +${Math.abs(d.delta)} | Offers lifted`,
95
- `[${d.sym}] Bullish absorption | ${d.price} | +${Math.abs(d.delta)} delta | Continuation`,
96
- `[${d.sym}] ${d.price} | Buy pressure | Delta: +${Math.abs(d.delta)} | Resistance test`,
97
- `[${d.sym}] Demand zone active | ${d.price} | OFI +${Math.abs(d.delta)} | Support confirmed`,
98
- ]),
99
-
100
- bear: (d) => pick([
101
- `[${d.sym}] ${d.price} | OFI: ${d.delta} | Offer absorption | Longs vulnerable`,
102
- `[${d.sym}] ${d.price} | Delta ${d.delta} | Institutional offer | ${d.zones} resistance zones`,
103
- `[${d.sym}] Bearish microstructure | OFI ${d.delta} | Stop hunt above pending`,
104
- `[${d.sym}] ${d.price} | Negative delta divergence | Bid exhaustion detected`,
105
- `[${d.sym}] ${d.price} | Sell imbalance ${d.delta} | ${d.zones} zones pressured`,
106
- `[${d.sym}] Offer stack reinforcement | Delta ${d.delta} | Sweep above imminent`,
107
- `[${d.sym}] ${d.price} | Aggressive sellers | OFI ${d.delta} | Momentum building`,
108
- `[${d.sym}] Buy absorption complete | ${d.price} | Delta: ${d.delta} | Shorts loading`,
109
- `[${d.sym}] ${d.price} | Bearish order flow | ${d.delta} delta | Longs trapped`,
110
- `[${d.sym}] Passive offer detected | ${d.price} | OFI: ${d.delta} | Distribution`,
111
- `[${d.sym}] ${d.price} | Bid depletion | Delta ${d.delta} | Breakdown setup`,
112
- `[${d.sym}] Institutional selling | ${d.price} | ${d.delta} imbalance | Trend continuation`,
113
- `[${d.sym}] ${d.price} | Bearish footprint | OFI ${d.delta} | ${d.zones} zones failed`,
114
- `[${d.sym}] Sell program detected | ${d.price} | Delta: ${d.delta} | Momentum`,
115
- `[${d.sym}] ${d.price} | Negative tick | ${d.delta} OFI | Downside acceleration`,
116
- `[${d.sym}] Long squeeze setup | ${d.price} | Delta ${d.delta} | Liquidation expected`,
117
- `[${d.sym}] ${d.price} | Offer aggression | OFI: ${d.delta} | Bids hit`,
118
- `[${d.sym}] Bearish absorption | ${d.price} | ${d.delta} delta | Continuation`,
119
- `[${d.sym}] ${d.price} | Sell pressure | Delta: ${d.delta} | Support test`,
120
- `[${d.sym}] Supply zone active | ${d.price} | OFI ${d.delta} | Resistance confirmed`,
121
- ]),
122
-
123
- neutral: (d) => pick([
124
- `[${d.sym}] ${d.price} | Delta neutral | Bilateral liquidity | Sweep catalyst pending`,
125
- `[${d.sym}] ${d.price} | OFI balanced | ${d.zones} zones intact | Range compression`,
126
- `[${d.sym}] Equilibrium @ ${d.price} | Stops accumulating both sides | ${d.ticks} ticks`,
127
- `[${d.sym}] ${d.price} | No directional flow | ${d.zones} liquidity pools stable`,
128
- `[${d.sym}] Range consolidation | ${d.price} | Awaiting institutional catalyst`,
129
- `[${d.sym}] ${d.price} | Balanced book | ${d.zones} zones | Breakout + sweep imminent`,
130
- `[${d.sym}] ${d.price} | Rotation mode | OFI flat | ${d.zones} levels holding`,
131
- `[${d.sym}] Chop zone | ${d.price} | Delta: ${d.delta} | No edge detected`,
132
- `[${d.sym}] ${d.price} | Two-sided flow | ${d.zones} zones | Expansion pending`,
133
- `[${d.sym}] Value area rotation | ${d.price} | Balanced auction | ${d.ticks} ticks`,
134
- `[${d.sym}] ${d.price} | Inside bar structure | ${d.zones} zones | Coiling`,
135
- `[${d.sym}] Consolidation | ${d.price} | OFI: ${d.delta} | Range-bound`,
136
- `[${d.sym}] ${d.price} | Balanced delta | Awaiting volume | ${d.zones} zones`,
137
- `[${d.sym}] Low conviction | ${d.price} | Delta neutral | Patience mode`,
138
- `[${d.sym}] ${d.price} | Tight range | ${d.zones} zones | Volatility compression`,
139
- `[${d.sym}] Mean reversion zone | ${d.price} | No trend | ${d.ticks} ticks`,
140
- `[${d.sym}] ${d.price} | Symmetric flow | ${d.zones} liquidity balanced`,
141
- `[${d.sym}] Absorption both sides | ${d.price} | OFI: ${d.delta} | Standoff`,
142
- `[${d.sym}] ${d.price} | Bracket forming | ${d.zones} levels | Expansion watch`,
143
- `[${d.sym}] Balance area | ${d.price} | No aggression | ${d.ticks} ticks observed`,
144
- ]),
145
-
146
- ready: (d) => {
147
- const side = d.delta > 0 ? 'LONG' : d.delta < 0 ? 'SHORT' : 'REVERSAL';
148
- return pick([
149
- `${chalk.green('■')} [${d.sym}] SWEEP EXECUTED @ ${d.price} | ${d.zones} stops triggered | ${side} SIGNAL`,
150
- `${chalk.green('■')} [${d.sym}] 2B CONFIRMED | Liquidity taken @ ${d.price} | OFI shift | EXECUTE ${side}`,
151
- `${chalk.green('■')} [${d.sym}] INSTITUTIONAL TRAP @ ${d.price} | Zone rejection | ${side} ENTRY`,
152
- `${chalk.green('■')} [${d.sym}] STOP HUNT COMPLETE | ${d.price} | Delta reversal | ${side} TRIGGER`,
153
- `${chalk.green('■')} [${d.sym}] LIQUIDITY GRAB @ ${d.price} | ${d.zones} zones swept | ${side} ACTIVE`,
154
- `${chalk.green('■')} [${d.sym}] ZONE PENETRATION | ${d.price} | OFI: ${d.delta} | EXECUTE ${side}`,
155
- `${chalk.green('■')} [${d.sym}] TRAP REVERSAL @ ${d.price} | Stops taken | ${side} CONFIRMED`,
156
- `${chalk.green('■')} [${d.sym}] SWEEP COMPLETE | ${d.zones} levels hit @ ${d.price} | ${side}`,
157
- `${chalk.green('■')} [${d.sym}] BREAKOUT FAILURE @ ${d.price} | Reversal confirmed | ${side} SIGNAL`,
158
- `${chalk.green('■')} [${d.sym}] FALSE BREAK @ ${d.price} | Liquidity swept | TRIGGER ${side}`,
159
- ]);
160
- },
161
- };
162
-
163
- // =============================================================================
164
- // QUANT: STATISTICAL ARBITRAGE
165
- // =============================================================================
166
-
167
- const QUANT = {
168
- building: (d) => pick([
169
- `[${d.sym}] Factor model calibration | ${d.ticks} observations | Z-score baseline`,
170
- `[${d.sym}] VPIN computation | ${d.ticks} tick volume | Toxicity threshold loading`,
171
- `[${d.sym}] OFI model update | ${d.bars} bars | Imbalance coefficient: ${d.delta}`,
172
- `[${d.sym}] Statistical baseline | ${d.ticks} samples | Multi-factor initialization`,
173
- `[${d.sym}] Microstructure model | ${d.ticks} ticks | Kyle lambda estimation`,
174
- `[${d.sym}] Tick imbalance scan | ${d.bars} bars | Factor weights calibrating`,
175
- `[${d.sym}] Covariance matrix build | ${d.ticks} observations | PCA decomposition`,
176
- `[${d.sym}] Volatility clustering | ${d.bars} bars | GARCH initialization`,
177
- `[${d.sym}] Return distribution fit | ${d.ticks} samples | Tail risk calibration`,
178
- `[${d.sym}] Cross-correlation scan | ${d.bars} bars | Lead-lag detection`,
179
- `[${d.sym}] Mean reversion test | ${d.ticks} ticks | Half-life estimation`,
180
- `[${d.sym}] Information ratio calc | ${d.bars} bars | Alpha extraction`,
181
- `[${d.sym}] Regime detection | ${d.ticks} samples | HMM state probability`,
182
- `[${d.sym}] Spread decomposition | ${d.bars} bars | Fair value model`,
183
- `[${d.sym}] Momentum factor | ${d.ticks} ticks | Signal extraction`,
184
- `[${d.sym}] Liquidity measure | ${d.bars} bars | Amihud ratio computation`,
185
- `[${d.sym}] Autocorrelation test | ${d.ticks} samples | Serial dependence`,
186
- `[${d.sym}] Kurtosis estimation | ${d.bars} bars | Fat tail adjustment`,
187
- `[${d.sym}] Beta calibration | ${d.ticks} ticks | Systematic risk model`,
188
- `[${d.sym}] Sharpe estimation | ${d.bars} bars | Risk-adjusted return`,
189
- ]),
190
-
191
- zones: (d) => pick([
192
- `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | VPIN: ${d.vpin}% | Factors converging`,
193
- `[${d.sym}] ${d.price} | Statistical edge forming | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
194
- `[${d.sym}] Factor alignment | ${d.ticks} ticks | Z: ${d.zScore}σ | Threshold proximity`,
195
- `[${d.sym}] ${d.price} | Multi-factor scan | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
196
- `[${d.sym}] Edge probability rising | Z: ${d.zScore}σ | VPIN: ${d.vpin}% | OFI: ${d.ofi}`,
197
- `[${d.sym}] ${d.price} | Regime analysis | Z: ${d.zScore}σ | ${d.ticks} observations`,
198
- `[${d.sym}] Information ratio calc | ${d.price} | Z: ${d.zScore}σ | Converging`,
199
- `[${d.sym}] ${d.price} | Alpha scan | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
200
- `[${d.sym}] Signal strength building | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
201
- `[${d.sym}] ${d.price} | Factor model active | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
202
- `[${d.sym}] Convergence scan | ${d.price} | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
203
- `[${d.sym}] ${d.price} | Statistical tension | Z: ${d.zScore}σ | Snap pending`,
204
- `[${d.sym}] Edge forming @ ${d.price} | Z: ${d.zScore}σ | ${d.ticks} ticks`,
205
- `[${d.sym}] ${d.price} | Model confidence: ${d.vpin}% VPIN | Z: ${d.zScore}σ`,
206
- `[${d.sym}] Fair value analysis | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
207
- ]),
208
-
209
- bull: (d) => pick([
210
- `[${d.sym}] ${d.price} | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi} | BUY edge detected`,
211
- `[${d.sym}] ${d.price} | VPIN: ${d.vpin}% buy | Z: +${d.zScoreAbs}σ | Bullish`,
212
- `[${d.sym}] Statistical long | Z: +${d.zScoreAbs}σ | Mean reversion BUY | ${d.ticks} ticks`,
213
- `[${d.sym}] ${d.price} | Factor model: LONG | Z/VPIN/OFI aligned | +EV`,
214
- `[${d.sym}] Microstructure bullish | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
215
- `[${d.sym}] ${d.price} | Positive alpha | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
216
- `[${d.sym}] Momentum factor bullish | ${d.price} | OFI: ${d.ofi} | Z: +${d.zScoreAbs}σ`,
217
- `[${d.sym}] ${d.price} | Info ratio: positive | Z: +${d.zScoreAbs}σ | Long edge`,
218
- `[${d.sym}] Mean below price | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
219
- `[${d.sym}] ${d.price} | Buy confidence | OFI: ${d.ofi} | Z: +${d.zScoreAbs}σ`,
220
- `[${d.sym}] Regime: bullish | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
221
- `[${d.sym}] ${d.price} | Positive skew | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
222
- `[${d.sym}] Alpha extraction: long | ${d.price} | Z/OFI positive`,
223
- `[${d.sym}] ${d.price} | Model: BUY | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
224
- `[${d.sym}] Statistical momentum | ${d.price} | OFI: ${d.ofi} | Bullish`,
225
- ]),
226
-
227
- bear: (d) => pick([
228
- `[${d.sym}] ${d.price} | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi} | SELL edge detected`,
229
- `[${d.sym}] ${d.price} | VPIN: ${d.vpin}% sell | Z: -${d.zScoreAbs}σ | Bearish`,
230
- `[${d.sym}] Statistical short | Z: -${d.zScoreAbs}σ | Mean reversion SELL | ${d.ticks} ticks`,
231
- `[${d.sym}] ${d.price} | Factor model: SHORT | Z/VPIN/OFI aligned | -EV`,
232
- `[${d.sym}] Microstructure bearish | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
233
- `[${d.sym}] ${d.price} | Negative alpha | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
234
- `[${d.sym}] Momentum factor bearish | ${d.price} | OFI: ${d.ofi} | Z: -${d.zScoreAbs}σ`,
235
- `[${d.sym}] ${d.price} | Info ratio: negative | Z: -${d.zScoreAbs}σ | Short edge`,
236
- `[${d.sym}] Mean above price | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
237
- `[${d.sym}] ${d.price} | Sell confidence | OFI: ${d.ofi} | Z: -${d.zScoreAbs}σ`,
238
- `[${d.sym}] Regime: bearish | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
239
- `[${d.sym}] ${d.price} | Negative skew | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
240
- `[${d.sym}] Alpha extraction: short | ${d.price} | Z/OFI negative`,
241
- `[${d.sym}] ${d.price} | Model: SELL | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
242
- `[${d.sym}] Statistical momentum | ${d.price} | OFI: ${d.ofi} | Bearish`,
243
- ]),
244
-
245
- neutral: (d) => pick([
246
- `[${d.sym}] ${d.price} | Z: 0σ | OFI: neutral | No statistical edge | HOLD`,
247
- `[${d.sym}] ${d.price} | VPIN: normal | Factors inconclusive | Awaiting signal`,
248
- `[${d.sym}] Factor model: FLAT | Z/VPIN/OFI within bounds | ${d.ticks} ticks`,
249
- `[${d.sym}] ${d.price} | No alpha detected | Statistical threshold not met`,
250
- `[${d.sym}] Microstructure neutral | No toxic flow | Edge probability: LOW`,
251
- `[${d.sym}] ${d.price} | Model output: FLAT | Insufficient signal strength`,
252
- `[${d.sym}] Regime: uncertain | ${d.price} | Factors divergent | No trade`,
253
- `[${d.sym}] ${d.price} | Z within bounds | OFI: ${d.delta} | No edge`,
254
- `[${d.sym}] Fair value @ ${d.price} | No mispricing | ${d.ticks} observations`,
255
- `[${d.sym}] ${d.price} | Information ratio: flat | No alpha opportunity`,
256
- `[${d.sym}] Statistical noise | ${d.price} | Delta: ${d.delta} | No signal`,
257
- `[${d.sym}] ${d.price} | Model confidence: LOW | Factors unconverged`,
258
- `[${d.sym}] Mean reversion pause | ${d.price} | Z centered | Waiting`,
259
- `[${d.sym}] ${d.price} | No regime detected | OFI balanced | HOLD`,
260
- `[${d.sym}] Factor equilibrium | ${d.price} | No edge | ${d.ticks} ticks`,
261
- ]),
262
-
263
- ready: (d) => {
264
- // Use real zScore for direction (rawZScore keeps the sign)
265
- const side = d.rawZScore > 0 ? 'LONG' : 'SHORT';
266
- const zSign = d.rawZScore > 0 ? '+' : '-';
267
- return pick([
268
- `${chalk.green('■')} [${d.sym}] Z-SCORE BREACH | ${zSign}${d.zScoreAbs}σ @ ${d.price} | EXECUTE ${side}`,
269
- `${chalk.green('■')} [${d.sym}] FACTOR CONSENSUS | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side} @ ${d.price}`,
270
- `${chalk.green('■')} [${d.sym}] STATISTICAL TRIGGER | VPIN: ${d.vpin}% | Z: ${zSign}${d.zScoreAbs}σ | ${side}`,
271
- `${chalk.green('■')} [${d.sym}] ALPHA DETECTED | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | EXECUTE ${side}`,
272
- `${chalk.green('■')} [${d.sym}] REGIME CONFIRMED | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side}`,
273
- `${chalk.green('■')} [${d.sym}] MODEL SIGNAL | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side} TRIGGER`,
274
- `${chalk.green('■')} [${d.sym}] THRESHOLD BREACH | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side} @ ${d.price}`,
275
- `${chalk.green('■')} [${d.sym}] MEAN REVERSION | Z: ${zSign}${d.zScoreAbs}σ | ${side} CONFIRMED | ${d.price}`,
276
- `${chalk.green('■')} [${d.sym}] EDGE CONFIRMED | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side}`,
277
- `${chalk.green('■')} [${d.sym}] FACTOR SIGNAL | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side} ACTIVE`,
278
- ]);
279
- },
280
- };
281
-
282
- // =============================================================================
283
- // ENGINE
284
- // =============================================================================
285
-
286
27
  class SmartLogsEngine {
287
28
  constructor(strategyId, symbol) {
288
29
  this.strategyId = strategyId || 'hqx-2b';
@@ -0,0 +1,332 @@
1
+ /**
2
+ * HQX-2B Liquidity Sweep - Message Templates
3
+ * 50 messages per phase - ALL using REAL data from strategy
4
+ * Variables: d.sym, d.price, d.delta, d.zones, d.swings, d.bars, d.ticks
5
+ */
6
+ 'use strict';
7
+
8
+ const chalk = require('chalk');
9
+ const pick = (arr) => arr[Math.floor(Math.random() * arr.length)];
10
+
11
+ module.exports = {
12
+ building: (d) => pick([
13
+ `[${d.sym}] Microstructure scan | ${d.bars} bars | ${d.swings} swing pivots`,
14
+ `[${d.sym}] Order block detection | ${d.ticks} ticks analyzed`,
15
+ `[${d.sym}] Liquidity topology build | ${d.swings} pivots mapped`,
16
+ `[${d.sym}] Structure analysis | ${d.bars} OHLC | Delta: ${d.delta}`,
17
+ `[${d.sym}] Sweep zone calibration | ${d.ticks} tick sample`,
18
+ `[${d.sym}] Institutional level mapping | ${d.bars} bars processed`,
19
+ `[${d.sym}] Market structure parse | ${d.swings} pivots detected`,
20
+ `[${d.sym}] Price action decomposition | ${d.ticks} ticks`,
21
+ `[${d.sym}] DOM reconstruction | ${d.ticks} ticks | Depth analysis`,
22
+ `[${d.sym}] Volume profile build | ${d.bars} bars | POC computation`,
23
+ `[${d.sym}] Iceberg detection | ${d.ticks} tick flow analyzed`,
24
+ `[${d.sym}] Stop cluster triangulation | ${d.swings} swings`,
25
+ `[${d.sym}] Auction theory analysis | ${d.bars} bars`,
26
+ `[${d.sym}] Order flow calibration | ${d.ticks} ticks`,
27
+ `[${d.sym}] Footprint initialization | ${d.bars} bars | Delta: ${d.delta}`,
28
+ `[${d.sym}] Swing structure mapping | ${d.swings} pivots | HH/HL/LH/LL`,
29
+ `[${d.sym}] Liquidity heatmap build | ${d.ticks} observations`,
30
+ `[${d.sym}] Market profile loading | ${d.bars} TPOs`,
31
+ `[${d.sym}] Absorption scan | ${d.ticks} ticks | Passive detection`,
32
+ `[${d.sym}] Momentum calibration | ${d.bars} bars | Delta: ${d.delta}`,
33
+ `[${d.sym}] Building structure | ${d.bars} bars | ${d.ticks} ticks`,
34
+ `[${d.sym}] Zone detection init | ${d.swings} swings found`,
35
+ `[${d.sym}] Liquidity scan | ${d.ticks} ticks | ${d.bars} bars`,
36
+ `[${d.sym}] Order book analysis | ${d.ticks} ticks processed`,
37
+ `[${d.sym}] Pivot detection | ${d.swings} swings | ${d.bars} bars`,
38
+ `[${d.sym}] Imbalance scan | ${d.ticks} ticks | Delta: ${d.delta}`,
39
+ `[${d.sym}] Structure warmup | ${d.bars} bars | ${d.swings} pivots`,
40
+ `[${d.sym}] Flow analysis init | ${d.ticks} ticks`,
41
+ `[${d.sym}] Level mapping | ${d.bars} bars | ${d.swings} swings`,
42
+ `[${d.sym}] Sweep target scan | ${d.ticks} ticks analyzed`,
43
+ `[${d.sym}] Institutional footprint | ${d.bars} bars | Delta: ${d.delta}`,
44
+ `[${d.sym}] Stop hunt mapping | ${d.swings} pivots detected`,
45
+ `[${d.sym}] Liquidity pool scan | ${d.ticks} ticks`,
46
+ `[${d.sym}] Delta profile build | ${d.bars} bars | ${d.delta}`,
47
+ `[${d.sym}] Zone warmup | ${d.swings} swings | ${d.ticks} ticks`,
48
+ `[${d.sym}] Tick analysis | ${d.ticks} processed | ${d.bars} bars`,
49
+ `[${d.sym}] Swing detection | ${d.swings} found | Delta: ${d.delta}`,
50
+ `[${d.sym}] Order flow init | ${d.ticks} ticks | ${d.bars} bars`,
51
+ `[${d.sym}] Structure mapping | ${d.bars} bars | ${d.swings} pivots`,
52
+ `[${d.sym}] Liquidity calibration | ${d.ticks} ticks`,
53
+ `[${d.sym}] Building zones | ${d.bars} bars | ${d.swings} swings`,
54
+ `[${d.sym}] Flow warmup | ${d.ticks} ticks | Delta: ${d.delta}`,
55
+ `[${d.sym}] Pivot scan | ${d.swings} detected | ${d.bars} bars`,
56
+ `[${d.sym}] DOM analysis | ${d.ticks} ticks | ${d.swings} pivots`,
57
+ `[${d.sym}] Level detection | ${d.bars} bars | ${d.ticks} ticks`,
58
+ `[${d.sym}] Sweep calibration | ${d.swings} swings | Delta: ${d.delta}`,
59
+ `[${d.sym}] Structure init | ${d.bars} bars | ${d.ticks} ticks`,
60
+ `[${d.sym}] Zone mapping | ${d.swings} pivots | ${d.bars} bars`,
61
+ `[${d.sym}] Liquidity warmup | ${d.ticks} ticks | ${d.swings} swings`,
62
+ `[${d.sym}] Order analysis | ${d.bars} bars | Delta: ${d.delta}`,
63
+ ]),
64
+
65
+ zones: (d) => pick([
66
+ `[${d.sym}] ${d.price} | ${d.zones} liquidity zones | Sweep probability high`,
67
+ `[${d.sym}] ${d.price} | Stop cluster proximity | ${d.zones} levels`,
68
+ `[${d.sym}] Zone convergence | ${d.zones} targets | Delta: ${d.delta}`,
69
+ `[${d.sym}] ${d.price} | Liquidity pool | ${d.zones} zones active`,
70
+ `[${d.sym}] Institutional zone | ${d.zones} levels | ${d.swings} swings`,
71
+ `[${d.sym}] ${d.price} | ${d.zones} stop clusters | Sweep watch`,
72
+ `[${d.sym}] ${d.price} | HVN proximity | ${d.zones} zones defended`,
73
+ `[${d.sym}] Resting liquidity | ${d.zones} pools | ${d.price}`,
74
+ `[${d.sym}] ${d.price} | ${d.zones} absorption zones | Delta: ${d.delta}`,
75
+ `[${d.sym}] Stop hunt proximity | ${d.zones} targets | ${d.price}`,
76
+ `[${d.sym}] ${d.price} | Iceberg cluster | ${d.zones} levels`,
77
+ `[${d.sym}] Liquidity vacuum | ${d.zones} zones | ${d.price}`,
78
+ `[${d.sym}] ${d.price} | ${d.zones} institutional traps | Delta: ${d.delta}`,
79
+ `[${d.sym}] POC rejection | ${d.price} | ${d.zones} confluences`,
80
+ `[${d.sym}] ${d.price} | Value area boundary | ${d.zones} levels`,
81
+ `[${d.sym}] Delta divergence @ ${d.price} | ${d.zones} zones`,
82
+ `[${d.sym}] ${d.price} | Trapped traders | ${d.zones} levels`,
83
+ `[${d.sym}] Order block test | ${d.price} | ${d.zones} zones`,
84
+ `[${d.sym}] ${d.price} | Liquidity grab zone | ${d.zones} stops`,
85
+ `[${d.sym}] FVG @ ${d.price} | ${d.zones} imbalances`,
86
+ `[${d.sym}] ${d.price} | ${d.zones} zones | ${d.swings} pivots confirmed`,
87
+ `[${d.sym}] Sweep setup | ${d.price} | ${d.zones} targets | Delta: ${d.delta}`,
88
+ `[${d.sym}] ${d.price} | Liquidity ${d.zones} levels | ${d.ticks} ticks`,
89
+ `[${d.sym}] Zone active | ${d.price} | ${d.zones} pools | ${d.swings} swings`,
90
+ `[${d.sym}] ${d.price} | ${d.zones} clusters | Delta: ${d.delta}`,
91
+ `[${d.sym}] Stop proximity | ${d.price} | ${d.zones} zones`,
92
+ `[${d.sym}] ${d.price} | Institutional ${d.zones} levels | ${d.swings} pivots`,
93
+ `[${d.sym}] Liquidity @ ${d.price} | ${d.zones} zones | Delta: ${d.delta}`,
94
+ `[${d.sym}] ${d.price} | ${d.zones} sweep targets | ${d.ticks} ticks`,
95
+ `[${d.sym}] Zone test | ${d.price} | ${d.zones} levels | ${d.swings} swings`,
96
+ `[${d.sym}] ${d.price} | ${d.zones} traps | Delta: ${d.delta}`,
97
+ `[${d.sym}] Cluster @ ${d.price} | ${d.zones} zones | ${d.ticks} ticks`,
98
+ `[${d.sym}] ${d.price} | ${d.zones} liquidity | ${d.swings} pivots`,
99
+ `[${d.sym}] Sweep zone | ${d.price} | ${d.zones} targets`,
100
+ `[${d.sym}] ${d.price} | ${d.zones} pools | Delta: ${d.delta}`,
101
+ `[${d.sym}] Level test | ${d.price} | ${d.zones} zones | ${d.swings} swings`,
102
+ `[${d.sym}] ${d.price} | ${d.zones} stops | ${d.ticks} ticks`,
103
+ `[${d.sym}] Liquidity zone | ${d.price} | ${d.zones} levels`,
104
+ `[${d.sym}] ${d.price} | ${d.zones} clusters | ${d.swings} pivots`,
105
+ `[${d.sym}] Zone proximity | ${d.price} | ${d.zones} targets | Delta: ${d.delta}`,
106
+ `[${d.sym}] ${d.price} | ${d.zones} institutional | ${d.ticks} ticks`,
107
+ `[${d.sym}] Stop zone | ${d.price} | ${d.zones} levels | ${d.swings} swings`,
108
+ `[${d.sym}] ${d.price} | ${d.zones} sweep | Delta: ${d.delta}`,
109
+ `[${d.sym}] Pool @ ${d.price} | ${d.zones} zones | ${d.ticks} ticks`,
110
+ `[${d.sym}] ${d.price} | ${d.zones} liquidity traps | ${d.swings} pivots`,
111
+ `[${d.sym}] Zone watch | ${d.price} | ${d.zones} targets`,
112
+ `[${d.sym}] ${d.price} | ${d.zones} levels | Delta: ${d.delta}`,
113
+ `[${d.sym}] Sweep proximity | ${d.price} | ${d.zones} zones | ${d.swings} swings`,
114
+ `[${d.sym}] ${d.price} | ${d.zones} clusters | ${d.ticks} ticks`,
115
+ `[${d.sym}] Liquidity test | ${d.price} | ${d.zones} pools | Delta: ${d.delta}`,
116
+ ]),
117
+
118
+ bull: (d) => pick([
119
+ `[${d.sym}] ${d.price} | OFI: +${Math.abs(d.delta)} | Bid absorption`,
120
+ `[${d.sym}] ${d.price} | Delta +${Math.abs(d.delta)} | ${d.zones} support`,
121
+ `[${d.sym}] Bullish structure | OFI +${Math.abs(d.delta)} | Stop hunt below`,
122
+ `[${d.sym}] ${d.price} | Positive delta | Offer exhaustion`,
123
+ `[${d.sym}] ${d.price} | Buy imbalance +${Math.abs(d.delta)} | ${d.zones} zones`,
124
+ `[${d.sym}] Bid reinforcement | Delta +${Math.abs(d.delta)} | Sweep below`,
125
+ `[${d.sym}] ${d.price} | Buyers | OFI +${Math.abs(d.delta)} | Momentum`,
126
+ `[${d.sym}] Sell absorption | ${d.price} | Delta: +${Math.abs(d.delta)}`,
127
+ `[${d.sym}] ${d.price} | Bullish flow | +${Math.abs(d.delta)} | Shorts trapped`,
128
+ `[${d.sym}] Passive bid | ${d.price} | OFI: +${Math.abs(d.delta)}`,
129
+ `[${d.sym}] ${d.price} | Offer depletion | Delta +${Math.abs(d.delta)}`,
130
+ `[${d.sym}] Institutional buy | ${d.price} | +${Math.abs(d.delta)} imbalance`,
131
+ `[${d.sym}] ${d.price} | Bullish footprint | OFI +${Math.abs(d.delta)} | ${d.zones} zones`,
132
+ `[${d.sym}] Buy program | ${d.price} | Delta: +${Math.abs(d.delta)}`,
133
+ `[${d.sym}] ${d.price} | Positive tick | +${Math.abs(d.delta)} OFI`,
134
+ `[${d.sym}] Short squeeze | ${d.price} | Delta +${Math.abs(d.delta)}`,
135
+ `[${d.sym}] ${d.price} | Bid aggression | OFI: +${Math.abs(d.delta)}`,
136
+ `[${d.sym}] Bullish absorption | ${d.price} | +${Math.abs(d.delta)} delta`,
137
+ `[${d.sym}] ${d.price} | Buy pressure | Delta: +${Math.abs(d.delta)}`,
138
+ `[${d.sym}] Demand zone | ${d.price} | OFI +${Math.abs(d.delta)}`,
139
+ `[${d.sym}] ${d.price} | +${Math.abs(d.delta)} delta | ${d.zones} zones held`,
140
+ `[${d.sym}] Bullish @ ${d.price} | OFI +${Math.abs(d.delta)} | ${d.swings} swings`,
141
+ `[${d.sym}] ${d.price} | Buy flow +${Math.abs(d.delta)} | ${d.ticks} ticks`,
142
+ `[${d.sym}] Long bias | ${d.price} | Delta +${Math.abs(d.delta)}`,
143
+ `[${d.sym}] ${d.price} | Bid stack | +${Math.abs(d.delta)} | ${d.zones} support`,
144
+ `[${d.sym}] Buyers active | ${d.price} | OFI: +${Math.abs(d.delta)}`,
145
+ `[${d.sym}] ${d.price} | +${Math.abs(d.delta)} imbalance | ${d.swings} pivots`,
146
+ `[${d.sym}] Bull momentum | ${d.price} | Delta +${Math.abs(d.delta)}`,
147
+ `[${d.sym}] ${d.price} | Offer lift | OFI +${Math.abs(d.delta)} | ${d.zones} zones`,
148
+ `[${d.sym}] Accumulation | ${d.price} | +${Math.abs(d.delta)} delta`,
149
+ `[${d.sym}] ${d.price} | Bullish delta +${Math.abs(d.delta)} | ${d.ticks} ticks`,
150
+ `[${d.sym}] Buy side | ${d.price} | OFI: +${Math.abs(d.delta)} | ${d.swings} swings`,
151
+ `[${d.sym}] ${d.price} | +${Math.abs(d.delta)} | Shorts vulnerable`,
152
+ `[${d.sym}] Bid control | ${d.price} | Delta +${Math.abs(d.delta)}`,
153
+ `[${d.sym}] ${d.price} | Buy imbalance | +${Math.abs(d.delta)} | ${d.zones} zones`,
154
+ `[${d.sym}] Bullish flow | ${d.price} | OFI +${Math.abs(d.delta)}`,
155
+ `[${d.sym}] ${d.price} | +${Math.abs(d.delta)} delta | ${d.swings} pivots`,
156
+ `[${d.sym}] Long setup | ${d.price} | Delta +${Math.abs(d.delta)} | ${d.ticks} ticks`,
157
+ `[${d.sym}] ${d.price} | Buyer aggression | +${Math.abs(d.delta)}`,
158
+ `[${d.sym}] Bull @ ${d.price} | OFI +${Math.abs(d.delta)} | ${d.zones} zones`,
159
+ `[${d.sym}] ${d.price} | Positive flow | Delta +${Math.abs(d.delta)}`,
160
+ `[${d.sym}] Bid dominance | ${d.price} | +${Math.abs(d.delta)} | ${d.swings} swings`,
161
+ `[${d.sym}] ${d.price} | Buy side +${Math.abs(d.delta)} | ${d.ticks} ticks`,
162
+ `[${d.sym}] Bullish print | ${d.price} | OFI: +${Math.abs(d.delta)}`,
163
+ `[${d.sym}] ${d.price} | +${Math.abs(d.delta)} delta | ${d.zones} defended`,
164
+ `[${d.sym}] Long momentum | ${d.price} | Delta +${Math.abs(d.delta)}`,
165
+ `[${d.sym}] ${d.price} | Bid absorption | +${Math.abs(d.delta)} | ${d.swings} pivots`,
166
+ `[${d.sym}] Buy zone | ${d.price} | OFI +${Math.abs(d.delta)} | ${d.ticks} ticks`,
167
+ `[${d.sym}] ${d.price} | Bullish +${Math.abs(d.delta)} | ${d.zones} zones`,
168
+ `[${d.sym}] Upside bias | ${d.price} | Delta +${Math.abs(d.delta)} | ${d.swings} swings`,
169
+ ]),
170
+
171
+ bear: (d) => pick([
172
+ `[${d.sym}] ${d.price} | OFI: ${d.delta} | Offer absorption`,
173
+ `[${d.sym}] ${d.price} | Delta ${d.delta} | ${d.zones} resistance`,
174
+ `[${d.sym}] Bearish structure | OFI ${d.delta} | Stop hunt above`,
175
+ `[${d.sym}] ${d.price} | Negative delta | Bid exhaustion`,
176
+ `[${d.sym}] ${d.price} | Sell imbalance ${d.delta} | ${d.zones} zones`,
177
+ `[${d.sym}] Offer reinforcement | Delta ${d.delta} | Sweep above`,
178
+ `[${d.sym}] ${d.price} | Sellers | OFI ${d.delta} | Momentum`,
179
+ `[${d.sym}] Buy absorption | ${d.price} | Delta: ${d.delta}`,
180
+ `[${d.sym}] ${d.price} | Bearish flow | ${d.delta} | Longs trapped`,
181
+ `[${d.sym}] Passive offer | ${d.price} | OFI: ${d.delta}`,
182
+ `[${d.sym}] ${d.price} | Bid depletion | Delta ${d.delta}`,
183
+ `[${d.sym}] Institutional sell | ${d.price} | ${d.delta} imbalance`,
184
+ `[${d.sym}] ${d.price} | Bearish footprint | OFI ${d.delta} | ${d.zones} zones`,
185
+ `[${d.sym}] Sell program | ${d.price} | Delta: ${d.delta}`,
186
+ `[${d.sym}] ${d.price} | Negative tick | ${d.delta} OFI`,
187
+ `[${d.sym}] Long squeeze | ${d.price} | Delta ${d.delta}`,
188
+ `[${d.sym}] ${d.price} | Offer aggression | OFI: ${d.delta}`,
189
+ `[${d.sym}] Bearish absorption | ${d.price} | ${d.delta} delta`,
190
+ `[${d.sym}] ${d.price} | Sell pressure | Delta: ${d.delta}`,
191
+ `[${d.sym}] Supply zone | ${d.price} | OFI ${d.delta}`,
192
+ `[${d.sym}] ${d.price} | ${d.delta} delta | ${d.zones} zones failed`,
193
+ `[${d.sym}] Bearish @ ${d.price} | OFI ${d.delta} | ${d.swings} swings`,
194
+ `[${d.sym}] ${d.price} | Sell flow ${d.delta} | ${d.ticks} ticks`,
195
+ `[${d.sym}] Short bias | ${d.price} | Delta ${d.delta}`,
196
+ `[${d.sym}] ${d.price} | Offer stack | ${d.delta} | ${d.zones} resistance`,
197
+ `[${d.sym}] Sellers active | ${d.price} | OFI: ${d.delta}`,
198
+ `[${d.sym}] ${d.price} | ${d.delta} imbalance | ${d.swings} pivots`,
199
+ `[${d.sym}] Bear momentum | ${d.price} | Delta ${d.delta}`,
200
+ `[${d.sym}] ${d.price} | Bid hit | OFI ${d.delta} | ${d.zones} zones`,
201
+ `[${d.sym}] Distribution | ${d.price} | ${d.delta} delta`,
202
+ `[${d.sym}] ${d.price} | Bearish delta ${d.delta} | ${d.ticks} ticks`,
203
+ `[${d.sym}] Sell side | ${d.price} | OFI: ${d.delta} | ${d.swings} swings`,
204
+ `[${d.sym}] ${d.price} | ${d.delta} | Longs vulnerable`,
205
+ `[${d.sym}] Offer control | ${d.price} | Delta ${d.delta}`,
206
+ `[${d.sym}] ${d.price} | Sell imbalance | ${d.delta} | ${d.zones} zones`,
207
+ `[${d.sym}] Bearish flow | ${d.price} | OFI ${d.delta}`,
208
+ `[${d.sym}] ${d.price} | ${d.delta} delta | ${d.swings} pivots`,
209
+ `[${d.sym}] Short setup | ${d.price} | Delta ${d.delta} | ${d.ticks} ticks`,
210
+ `[${d.sym}] ${d.price} | Seller aggression | ${d.delta}`,
211
+ `[${d.sym}] Bear @ ${d.price} | OFI ${d.delta} | ${d.zones} zones`,
212
+ `[${d.sym}] ${d.price} | Negative flow | Delta ${d.delta}`,
213
+ `[${d.sym}] Offer dominance | ${d.price} | ${d.delta} | ${d.swings} swings`,
214
+ `[${d.sym}] ${d.price} | Sell side ${d.delta} | ${d.ticks} ticks`,
215
+ `[${d.sym}] Bearish print | ${d.price} | OFI: ${d.delta}`,
216
+ `[${d.sym}] ${d.price} | ${d.delta} delta | ${d.zones} pressured`,
217
+ `[${d.sym}] Short momentum | ${d.price} | Delta ${d.delta}`,
218
+ `[${d.sym}] ${d.price} | Offer absorption | ${d.delta} | ${d.swings} pivots`,
219
+ `[${d.sym}] Sell zone | ${d.price} | OFI ${d.delta} | ${d.ticks} ticks`,
220
+ `[${d.sym}] ${d.price} | Bearish ${d.delta} | ${d.zones} zones`,
221
+ `[${d.sym}] Downside bias | ${d.price} | Delta ${d.delta} | ${d.swings} swings`,
222
+ ]),
223
+
224
+ neutral: (d) => pick([
225
+ `[${d.sym}] ${d.price} | Delta neutral | ${d.zones} zones intact`,
226
+ `[${d.sym}] ${d.price} | OFI balanced | Range compression`,
227
+ `[${d.sym}] Equilibrium @ ${d.price} | ${d.ticks} ticks | ${d.zones} zones`,
228
+ `[${d.sym}] ${d.price} | No direction | ${d.zones} pools stable`,
229
+ `[${d.sym}] Range @ ${d.price} | Awaiting catalyst`,
230
+ `[${d.sym}] ${d.price} | Balanced book | ${d.zones} zones`,
231
+ `[${d.sym}] ${d.price} | Rotation | OFI flat | ${d.zones} levels`,
232
+ `[${d.sym}] Chop zone | ${d.price} | Delta: ${d.delta}`,
233
+ `[${d.sym}] ${d.price} | Two-sided flow | ${d.zones} zones`,
234
+ `[${d.sym}] Value rotation | ${d.price} | ${d.ticks} ticks`,
235
+ `[${d.sym}] ${d.price} | Inside bar | ${d.zones} zones | Coiling`,
236
+ `[${d.sym}] Consolidation | ${d.price} | Delta: ${d.delta}`,
237
+ `[${d.sym}] ${d.price} | Balanced delta | ${d.zones} zones`,
238
+ `[${d.sym}] Low conviction | ${d.price} | Patience mode`,
239
+ `[${d.sym}] ${d.price} | Tight range | ${d.zones} zones`,
240
+ `[${d.sym}] Mean reversion | ${d.price} | ${d.ticks} ticks`,
241
+ `[${d.sym}] ${d.price} | Symmetric flow | ${d.zones} balanced`,
242
+ `[${d.sym}] Absorption both sides | ${d.price} | Delta: ${d.delta}`,
243
+ `[${d.sym}] ${d.price} | Bracket forming | ${d.zones} levels`,
244
+ `[${d.sym}] Balance area | ${d.price} | ${d.ticks} ticks`,
245
+ `[${d.sym}] ${d.price} | Neutral | ${d.zones} zones | ${d.swings} swings`,
246
+ `[${d.sym}] Range bound | ${d.price} | Delta: ${d.delta}`,
247
+ `[${d.sym}] ${d.price} | No edge | ${d.ticks} ticks | ${d.zones} zones`,
248
+ `[${d.sym}] Flat @ ${d.price} | ${d.swings} pivots | Waiting`,
249
+ `[${d.sym}] ${d.price} | Balance | OFI: ${d.delta} | ${d.zones} zones`,
250
+ `[${d.sym}] Consolidating | ${d.price} | ${d.ticks} ticks`,
251
+ `[${d.sym}] ${d.price} | Neutral flow | ${d.zones} levels | ${d.swings} swings`,
252
+ `[${d.sym}] No bias | ${d.price} | Delta: ${d.delta}`,
253
+ `[${d.sym}] ${d.price} | Range | ${d.zones} zones | ${d.ticks} ticks`,
254
+ `[${d.sym}] Waiting | ${d.price} | ${d.swings} pivots`,
255
+ `[${d.sym}] ${d.price} | Balanced | ${d.zones} zones | Delta: ${d.delta}`,
256
+ `[${d.sym}] Rotation @ ${d.price} | ${d.ticks} ticks`,
257
+ `[${d.sym}] ${d.price} | No momentum | ${d.zones} levels`,
258
+ `[${d.sym}] Flat flow | ${d.price} | ${d.swings} swings`,
259
+ `[${d.sym}] ${d.price} | Sideways | Delta: ${d.delta} | ${d.zones} zones`,
260
+ `[${d.sym}] Neutral @ ${d.price} | ${d.ticks} ticks | ${d.swings} pivots`,
261
+ `[${d.sym}] ${d.price} | No trend | ${d.zones} zones`,
262
+ `[${d.sym}] Balance @ ${d.price} | Delta: ${d.delta}`,
263
+ `[${d.sym}] ${d.price} | Equilibrium | ${d.zones} levels | ${d.ticks} ticks`,
264
+ `[${d.sym}] Range mode | ${d.price} | ${d.swings} swings`,
265
+ `[${d.sym}] ${d.price} | Choppy | ${d.zones} zones | Delta: ${d.delta}`,
266
+ `[${d.sym}] Coiling | ${d.price} | ${d.ticks} ticks`,
267
+ `[${d.sym}] ${d.price} | No direction | ${d.zones} levels | ${d.swings} pivots`,
268
+ `[${d.sym}] Flat @ ${d.price} | Delta: ${d.delta}`,
269
+ `[${d.sym}] ${d.price} | Balanced flow | ${d.zones} zones | ${d.ticks} ticks`,
270
+ `[${d.sym}] Neutral bias | ${d.price} | ${d.swings} swings`,
271
+ `[${d.sym}] ${d.price} | Range bound | ${d.zones} levels | Delta: ${d.delta}`,
272
+ `[${d.sym}] Waiting @ ${d.price} | ${d.ticks} ticks | ${d.swings} pivots`,
273
+ `[${d.sym}] ${d.price} | No edge | ${d.zones} zones`,
274
+ `[${d.sym}] Consolidation | ${d.price} | Delta: ${d.delta} | ${d.ticks} ticks`,
275
+ ]),
276
+
277
+ ready: (d) => {
278
+ const side = d.delta > 0 ? 'LONG' : d.delta < 0 ? 'SHORT' : 'REVERSAL';
279
+ return pick([
280
+ `${chalk.green('■')} [${d.sym}] SWEEP @ ${d.price} | ${d.zones} stops | ${side}`,
281
+ `${chalk.green('■')} [${d.sym}] 2B CONFIRMED | ${d.price} | OFI: ${d.delta} | ${side}`,
282
+ `${chalk.green('■')} [${d.sym}] TRAP @ ${d.price} | Zone rejection | ${side}`,
283
+ `${chalk.green('■')} [${d.sym}] STOP HUNT | ${d.price} | Delta: ${d.delta} | ${side}`,
284
+ `${chalk.green('■')} [${d.sym}] GRAB @ ${d.price} | ${d.zones} zones swept | ${side}`,
285
+ `${chalk.green('■')} [${d.sym}] ZONE BREAK | ${d.price} | OFI: ${d.delta} | ${side}`,
286
+ `${chalk.green('■')} [${d.sym}] REVERSAL @ ${d.price} | Stops taken | ${side}`,
287
+ `${chalk.green('■')} [${d.sym}] SWEEP DONE | ${d.zones} levels @ ${d.price} | ${side}`,
288
+ `${chalk.green('■')} [${d.sym}] FALSE BREAK @ ${d.price} | ${side} TRIGGER`,
289
+ `${chalk.green('■')} [${d.sym}] LIQUIDITY @ ${d.price} | ${d.zones} swept | ${side}`,
290
+ `${chalk.green('■')} [${d.sym}] SIGNAL @ ${d.price} | Delta: ${d.delta} | ${side}`,
291
+ `${chalk.green('■')} [${d.sym}] ENTRY @ ${d.price} | ${d.zones} zones | ${side}`,
292
+ `${chalk.green('■')} [${d.sym}] TRIGGER @ ${d.price} | OFI: ${d.delta} | ${side}`,
293
+ `${chalk.green('■')} [${d.sym}] EXECUTE @ ${d.price} | ${d.zones} targets | ${side}`,
294
+ `${chalk.green('■')} [${d.sym}] 2B @ ${d.price} | Delta: ${d.delta} | ${side}`,
295
+ `${chalk.green('■')} [${d.sym}] SWEEP SIGNAL @ ${d.price} | ${d.zones} zones | ${side}`,
296
+ `${chalk.green('■')} [${d.sym}] ZONE TRAP @ ${d.price} | OFI: ${d.delta} | ${side}`,
297
+ `${chalk.green('■')} [${d.sym}] REVERSAL TRIGGER @ ${d.price} | ${d.zones} swept | ${side}`,
298
+ `${chalk.green('■')} [${d.sym}] STOP RUN @ ${d.price} | Delta: ${d.delta} | ${side}`,
299
+ `${chalk.green('■')} [${d.sym}] LIQUIDITY GRAB @ ${d.price} | ${d.zones} zones | ${side}`,
300
+ `${chalk.green('■')} [${d.sym}] 2B TRAP @ ${d.price} | OFI: ${d.delta} | ${side}`,
301
+ `${chalk.green('■')} [${d.sym}] SWEEP ENTRY @ ${d.price} | ${d.zones} levels | ${side}`,
302
+ `${chalk.green('■')} [${d.sym}] ZONE REVERSAL @ ${d.price} | Delta: ${d.delta} | ${side}`,
303
+ `${chalk.green('■')} [${d.sym}] SIGNAL TRIGGER @ ${d.price} | ${d.zones} swept | ${side}`,
304
+ `${chalk.green('■')} [${d.sym}] EXECUTE ${side} @ ${d.price} | OFI: ${d.delta}`,
305
+ `${chalk.green('■')} [${d.sym}] ${side} @ ${d.price} | ${d.zones} zones | Delta: ${d.delta}`,
306
+ `${chalk.green('■')} [${d.sym}] TRAP REVERSAL @ ${d.price} | ${d.zones} swept | ${side}`,
307
+ `${chalk.green('■')} [${d.sym}] SWEEP ${side} @ ${d.price} | OFI: ${d.delta}`,
308
+ `${chalk.green('■')} [${d.sym}] 2B ENTRY @ ${d.price} | ${d.zones} zones | ${side}`,
309
+ `${chalk.green('■')} [${d.sym}] ZONE SIGNAL @ ${d.price} | Delta: ${d.delta} | ${side}`,
310
+ `${chalk.green('■')} [${d.sym}] LIQUIDITY ${side} @ ${d.price} | ${d.zones} targets`,
311
+ `${chalk.green('■')} [${d.sym}] STOP SWEEP @ ${d.price} | OFI: ${d.delta} | ${side}`,
312
+ `${chalk.green('■')} [${d.sym}] REVERSAL ${side} @ ${d.price} | ${d.zones} zones`,
313
+ `${chalk.green('■')} [${d.sym}] TRAP ENTRY @ ${d.price} | Delta: ${d.delta} | ${side}`,
314
+ `${chalk.green('■')} [${d.sym}] ZONE ${side} @ ${d.price} | ${d.zones} swept`,
315
+ `${chalk.green('■')} [${d.sym}] SWEEP TRIGGER @ ${d.price} | OFI: ${d.delta} | ${side}`,
316
+ `${chalk.green('■')} [${d.sym}] 2B SIGNAL @ ${d.price} | ${d.zones} zones | ${side}`,
317
+ `${chalk.green('■')} [${d.sym}] ${side} TRIGGER @ ${d.price} | Delta: ${d.delta}`,
318
+ `${chalk.green('■')} [${d.sym}] ENTRY SIGNAL @ ${d.price} | ${d.zones} swept | ${side}`,
319
+ `${chalk.green('■')} [${d.sym}] EXECUTE SWEEP @ ${d.price} | OFI: ${d.delta} | ${side}`,
320
+ `${chalk.green('■')} [${d.sym}] ${side} ENTRY @ ${d.price} | ${d.zones} zones`,
321
+ `${chalk.green('■')} [${d.sym}] ZONE GRAB @ ${d.price} | Delta: ${d.delta} | ${side}`,
322
+ `${chalk.green('■')} [${d.sym}] LIQUIDITY TRAP @ ${d.price} | ${d.zones} targets | ${side}`,
323
+ `${chalk.green('■')} [${d.sym}] STOP TRAP @ ${d.price} | OFI: ${d.delta} | ${side}`,
324
+ `${chalk.green('■')} [${d.sym}] 2B EXECUTE @ ${d.price} | ${d.zones} zones | ${side}`,
325
+ `${chalk.green('■')} [${d.sym}] REVERSAL SIGNAL @ ${d.price} | Delta: ${d.delta} | ${side}`,
326
+ `${chalk.green('■')} [${d.sym}] SWEEP EXECUTE @ ${d.price} | ${d.zones} swept | ${side}`,
327
+ `${chalk.green('■')} [${d.sym}] ZONE ENTRY @ ${d.price} | OFI: ${d.delta} | ${side}`,
328
+ `${chalk.green('■')} [${d.sym}] ${side} SIGNAL @ ${d.price} | ${d.zones} zones`,
329
+ `${chalk.green('■')} [${d.sym}] TRAP ${side} @ ${d.price} | Delta: ${d.delta}`,
330
+ ]);
331
+ },
332
+ };
@@ -0,0 +1,333 @@
1
+ /**
2
+ * QUANT (HQX Scalping) - Message Templates
3
+ * 50 messages per phase - ALL using REAL data from strategy
4
+ * Variables: d.sym, d.price, d.ticks, d.zScore, d.zScoreAbs, d.vpin, d.ofi, d.delta
5
+ */
6
+ 'use strict';
7
+
8
+ const chalk = require('chalk');
9
+ const pick = (arr) => arr[Math.floor(Math.random() * arr.length)];
10
+
11
+ module.exports = {
12
+ building: (d) => pick([
13
+ `[${d.sym}] Factor model calibration | ${d.ticks} observations | Z-score baseline`,
14
+ `[${d.sym}] VPIN computation | ${d.ticks} tick volume | Toxicity threshold loading`,
15
+ `[${d.sym}] OFI model update | ${d.ticks} ticks | Imbalance coefficient init`,
16
+ `[${d.sym}] Statistical baseline | ${d.ticks} samples | Multi-factor initialization`,
17
+ `[${d.sym}] Microstructure model | ${d.ticks} ticks | Kyle lambda estimation`,
18
+ `[${d.sym}] Tick imbalance scan | ${d.ticks} ticks | Factor weights calibrating`,
19
+ `[${d.sym}] Covariance matrix build | ${d.ticks} observations | PCA decomposition`,
20
+ `[${d.sym}] Volatility clustering | ${d.ticks} ticks | GARCH initialization`,
21
+ `[${d.sym}] Return distribution fit | ${d.ticks} samples | Tail risk calibration`,
22
+ `[${d.sym}] Cross-correlation scan | ${d.ticks} ticks | Lead-lag detection`,
23
+ `[${d.sym}] Mean reversion test | ${d.ticks} ticks | Half-life estimation`,
24
+ `[${d.sym}] Information ratio calc | ${d.ticks} ticks | Alpha extraction`,
25
+ `[${d.sym}] Regime detection | ${d.ticks} samples | HMM state probability`,
26
+ `[${d.sym}] Spread decomposition | ${d.ticks} ticks | Fair value model`,
27
+ `[${d.sym}] Momentum factor | ${d.ticks} ticks | Signal extraction`,
28
+ `[${d.sym}] Liquidity measure | ${d.ticks} ticks | Amihud ratio computation`,
29
+ `[${d.sym}] Autocorrelation test | ${d.ticks} samples | Serial dependence`,
30
+ `[${d.sym}] Kurtosis estimation | ${d.ticks} ticks | Fat tail adjustment`,
31
+ `[${d.sym}] Beta calibration | ${d.ticks} ticks | Systematic risk model`,
32
+ `[${d.sym}] Sharpe estimation | ${d.ticks} ticks | Risk-adjusted return`,
33
+ `[${d.sym}] Factor warmup | ${d.ticks} ticks | Z-score calibrating`,
34
+ `[${d.sym}] VPIN loading | ${d.ticks} observations | Toxicity model`,
35
+ `[${d.sym}] OFI initialization | ${d.ticks} ticks | Flow imbalance`,
36
+ `[${d.sym}] Statistical scan | ${d.ticks} samples | Factor alignment`,
37
+ `[${d.sym}] Model calibration | ${d.ticks} ticks | Parameter estimation`,
38
+ `[${d.sym}] Tick analysis | ${d.ticks} observations | Microstructure scan`,
39
+ `[${d.sym}] Covariance build | ${d.ticks} ticks | Matrix decomposition`,
40
+ `[${d.sym}] Volatility scan | ${d.ticks} samples | GARCH warmup`,
41
+ `[${d.sym}] Distribution fit | ${d.ticks} ticks | Tail estimation`,
42
+ `[${d.sym}] Correlation scan | ${d.ticks} observations | Lead-lag model`,
43
+ `[${d.sym}] Reversion test | ${d.ticks} ticks | Half-life calc`,
44
+ `[${d.sym}] Alpha scan | ${d.ticks} samples | Information ratio`,
45
+ `[${d.sym}] Regime model | ${d.ticks} ticks | HMM probability`,
46
+ `[${d.sym}] Fair value init | ${d.ticks} observations | Spread model`,
47
+ `[${d.sym}] Momentum scan | ${d.ticks} ticks | Signal warmup`,
48
+ `[${d.sym}] Liquidity model | ${d.ticks} samples | Amihud calc`,
49
+ `[${d.sym}] Serial test | ${d.ticks} ticks | Autocorrelation`,
50
+ `[${d.sym}] Tail scan | ${d.ticks} observations | Kurtosis model`,
51
+ `[${d.sym}] Risk model | ${d.ticks} ticks | Beta calibration`,
52
+ `[${d.sym}] Return scan | ${d.ticks} samples | Sharpe warmup`,
53
+ `[${d.sym}] Factor init | ${d.ticks} ticks | Multi-model build`,
54
+ `[${d.sym}] Statistical warmup | ${d.ticks} observations | Edge detection`,
55
+ `[${d.sym}] Model loading | ${d.ticks} ticks | Quant engine`,
56
+ `[${d.sym}] Tick warmup | ${d.ticks} samples | Factor weights`,
57
+ `[${d.sym}] Z-score init | ${d.ticks} ticks | Baseline calc`,
58
+ `[${d.sym}] VPIN warmup | ${d.ticks} observations | Toxicity scan`,
59
+ `[${d.sym}] OFI warmup | ${d.ticks} ticks | Flow analysis`,
60
+ `[${d.sym}] Edge scan | ${d.ticks} samples | Factor model`,
61
+ `[${d.sym}] Alpha init | ${d.ticks} ticks | Statistical edge`,
62
+ `[${d.sym}] Model warmup | ${d.ticks} observations | Quant scan`,
63
+ ]),
64
+
65
+ zones: (d) => pick([
66
+ `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | VPIN: ${d.vpin}% | Factors converging`,
67
+ `[${d.sym}] ${d.price} | Statistical edge forming | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
68
+ `[${d.sym}] Factor alignment | ${d.ticks} ticks | Z: ${d.zScore}σ | Threshold proximity`,
69
+ `[${d.sym}] ${d.price} | Multi-factor scan | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
70
+ `[${d.sym}] Edge probability rising | Z: ${d.zScore}σ | VPIN: ${d.vpin}% | OFI: ${d.ofi}`,
71
+ `[${d.sym}] ${d.price} | Regime analysis | Z: ${d.zScore}σ | ${d.ticks} observations`,
72
+ `[${d.sym}] Information ratio calc | ${d.price} | Z: ${d.zScore}σ | Converging`,
73
+ `[${d.sym}] ${d.price} | Alpha scan | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
74
+ `[${d.sym}] Signal strength building | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
75
+ `[${d.sym}] ${d.price} | Factor model active | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
76
+ `[${d.sym}] Convergence scan | ${d.price} | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
77
+ `[${d.sym}] ${d.price} | Statistical tension | Z: ${d.zScore}σ | Snap pending`,
78
+ `[${d.sym}] Edge forming @ ${d.price} | Z: ${d.zScore}σ | ${d.ticks} ticks`,
79
+ `[${d.sym}] ${d.price} | Model confidence: ${d.vpin}% VPIN | Z: ${d.zScore}σ`,
80
+ `[${d.sym}] Fair value analysis | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
81
+ `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi} | Factors aligning`,
82
+ `[${d.sym}] Statistical edge | ${d.price} | VPIN: ${d.vpin}% | Z: ${d.zScore}σ`,
83
+ `[${d.sym}] ${d.price} | Factor scan | Z: ${d.zScore}σ | ${d.ticks} ticks`,
84
+ `[${d.sym}] Model active | ${d.price} | OFI: ${d.ofi} | VPIN: ${d.vpin}%`,
85
+ `[${d.sym}] ${d.price} | Regime scan | Z: ${d.zScore}σ | Convergence watch`,
86
+ `[${d.sym}] Alpha forming | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
87
+ `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | VPIN: ${d.vpin}% | Edge building`,
88
+ `[${d.sym}] Factor active | ${d.price} | OFI: ${d.ofi} | ${d.ticks} ticks`,
89
+ `[${d.sym}] ${d.price} | Statistical scan | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
90
+ `[${d.sym}] Signal forming | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
91
+ `[${d.sym}] ${d.price} | Model scan | VPIN: ${d.vpin}% | ${d.ticks} ticks`,
92
+ `[${d.sym}] Z: ${d.zScore}σ @ ${d.price} | OFI: ${d.ofi} | Factor watch`,
93
+ `[${d.sym}] ${d.price} | VPIN: ${d.vpin}% | Z: ${d.zScore}σ | Threshold near`,
94
+ `[${d.sym}] Factor convergence | ${d.price} | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
95
+ `[${d.sym}] ${d.price} | Edge scan | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
96
+ `[${d.sym}] Alpha watch | ${d.price} | OFI: ${d.ofi} | ${d.ticks} ticks`,
97
+ `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | Factor alignment | VPIN: ${d.vpin}%`,
98
+ `[${d.sym}] Statistical forming | ${d.price} | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
99
+ `[${d.sym}] ${d.price} | Model watch | VPIN: ${d.vpin}% | OFI: ${d.ofi}`,
100
+ `[${d.sym}] Regime watch | ${d.price} | Z: ${d.zScore}σ | ${d.ticks} ticks`,
101
+ `[${d.sym}] ${d.price} | Factor forming | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
102
+ `[${d.sym}] Edge watch | ${d.price} | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
103
+ `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | ${d.ticks} ticks | VPIN: ${d.vpin}%`,
104
+ `[${d.sym}] Signal watch | ${d.price} | OFI: ${d.ofi} | Factor active`,
105
+ `[${d.sym}] ${d.price} | Model forming | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
106
+ `[${d.sym}] Factor watch | ${d.price} | VPIN: ${d.vpin}% | ${d.ticks} ticks`,
107
+ `[${d.sym}] ${d.price} | Statistical watch | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
108
+ `[${d.sym}] Alpha scan | ${d.price} | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
109
+ `[${d.sym}] ${d.price} | Convergence | VPIN: ${d.vpin}% | ${d.ticks} ticks`,
110
+ `[${d.sym}] Z: ${d.zScore}σ | ${d.price} | OFI: ${d.ofi} | Edge forming`,
111
+ `[${d.sym}] ${d.price} | Factor scan | VPIN: ${d.vpin}% | Z: ${d.zScore}σ`,
112
+ `[${d.sym}] Model watch | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
113
+ `[${d.sym}] ${d.price} | Statistical edge | VPIN: ${d.vpin}% | ${d.ticks} ticks`,
114
+ `[${d.sym}] Edge forming | ${d.price} | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
115
+ `[${d.sym}] ${d.price} | Factor active | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
116
+ ]),
117
+
118
+ bull: (d) => pick([
119
+ `[${d.sym}] ${d.price} | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi} | BUY edge detected`,
120
+ `[${d.sym}] ${d.price} | VPIN: ${d.vpin}% buy | Z: +${d.zScoreAbs}σ | Bullish`,
121
+ `[${d.sym}] Statistical long | Z: +${d.zScoreAbs}σ | Mean reversion BUY | ${d.ticks} ticks`,
122
+ `[${d.sym}] ${d.price} | Factor model: LONG | Z/VPIN/OFI aligned | +EV`,
123
+ `[${d.sym}] Microstructure bullish | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
124
+ `[${d.sym}] ${d.price} | Positive alpha | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
125
+ `[${d.sym}] Momentum factor bullish | ${d.price} | OFI: ${d.ofi} | Z: +${d.zScoreAbs}σ`,
126
+ `[${d.sym}] ${d.price} | Info ratio: positive | Z: +${d.zScoreAbs}σ | Long edge`,
127
+ `[${d.sym}] Mean below price | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
128
+ `[${d.sym}] ${d.price} | Buy confidence | OFI: ${d.ofi} | Z: +${d.zScoreAbs}σ`,
129
+ `[${d.sym}] Regime: bullish | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
130
+ `[${d.sym}] ${d.price} | Positive skew | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
131
+ `[${d.sym}] Alpha extraction: long | ${d.price} | Z/OFI positive`,
132
+ `[${d.sym}] ${d.price} | Model: BUY | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
133
+ `[${d.sym}] Statistical momentum | ${d.price} | OFI: ${d.ofi} | Bullish`,
134
+ `[${d.sym}] ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}% | Long bias`,
135
+ `[${d.sym}] Bullish factor | ${d.price} | OFI: ${d.ofi} | Z: +${d.zScoreAbs}σ`,
136
+ `[${d.sym}] ${d.price} | Buy signal | Z: +${d.zScoreAbs}σ | ${d.ticks} ticks`,
137
+ `[${d.sym}] Long edge | ${d.price} | VPIN: ${d.vpin}% | OFI: ${d.ofi}`,
138
+ `[${d.sym}] ${d.price} | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi} | Bullish flow`,
139
+ `[${d.sym}] Buy factor | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
140
+ `[${d.sym}] ${d.price} | Positive Z | OFI: ${d.ofi} | Long setup`,
141
+ `[${d.sym}] Bullish model | ${d.price} | Z: +${d.zScoreAbs}σ | ${d.ticks} ticks`,
142
+ `[${d.sym}] ${d.price} | VPIN buy | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
143
+ `[${d.sym}] Long factor | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
144
+ `[${d.sym}] ${d.price} | Z: +${d.zScoreAbs}σ | Bullish edge | OFI: ${d.ofi}`,
145
+ `[${d.sym}] Buy momentum | ${d.price} | VPIN: ${d.vpin}% | Z: +${d.zScoreAbs}σ`,
146
+ `[${d.sym}] ${d.price} | Long alpha | OFI: ${d.ofi} | ${d.ticks} ticks`,
147
+ `[${d.sym}] Bullish Z | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
148
+ `[${d.sym}] ${d.price} | Buy edge | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
149
+ `[${d.sym}] Long model | ${d.price} | VPIN: ${d.vpin}% | Z: +${d.zScoreAbs}σ`,
150
+ `[${d.sym}] ${d.price} | Positive flow | OFI: ${d.ofi} | ${d.ticks} ticks`,
151
+ `[${d.sym}] Bull factor | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
152
+ `[${d.sym}] ${d.price} | Z: +${d.zScoreAbs}σ | Long edge | OFI: ${d.ofi}`,
153
+ `[${d.sym}] Buy alpha | ${d.price} | VPIN: ${d.vpin}% | Z: +${d.zScoreAbs}σ`,
154
+ `[${d.sym}] ${d.price} | Bullish OFI | Z: +${d.zScoreAbs}σ | ${d.ticks} ticks`,
155
+ `[${d.sym}] Long Z | ${d.price} | OFI: ${d.ofi} | VPIN: ${d.vpin}%`,
156
+ `[${d.sym}] ${d.price} | Buy factor | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
157
+ `[${d.sym}] Bull edge | ${d.price} | VPIN: ${d.vpin}% | Z: +${d.zScoreAbs}σ`,
158
+ `[${d.sym}] ${d.price} | Long flow | OFI: ${d.ofi} | ${d.ticks} ticks`,
159
+ `[${d.sym}] Bullish alpha | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
160
+ `[${d.sym}] ${d.price} | Z: +${d.zScoreAbs}σ | Buy model | OFI: ${d.ofi}`,
161
+ `[${d.sym}] Long momentum | ${d.price} | VPIN: ${d.vpin}% | Z: +${d.zScoreAbs}σ`,
162
+ `[${d.sym}] ${d.price} | Bull OFI | Z: +${d.zScoreAbs}σ | ${d.ticks} ticks`,
163
+ `[${d.sym}] Buy Z | ${d.price} | OFI: ${d.ofi} | VPIN: ${d.vpin}%`,
164
+ `[${d.sym}] ${d.price} | Long VPIN | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
165
+ `[${d.sym}] Bullish edge | ${d.price} | VPIN: ${d.vpin}% | Z: +${d.zScoreAbs}σ`,
166
+ `[${d.sym}] ${d.price} | Buy flow | OFI: ${d.ofi} | ${d.ticks} ticks`,
167
+ `[${d.sym}] Long edge | ${d.price} | Z: +${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
168
+ `[${d.sym}] ${d.price} | Bull momentum | Z: +${d.zScoreAbs}σ | OFI: ${d.ofi}`,
169
+ ]),
170
+
171
+ bear: (d) => pick([
172
+ `[${d.sym}] ${d.price} | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi} | SELL edge detected`,
173
+ `[${d.sym}] ${d.price} | VPIN: ${d.vpin}% sell | Z: -${d.zScoreAbs}σ | Bearish`,
174
+ `[${d.sym}] Statistical short | Z: -${d.zScoreAbs}σ | Mean reversion SELL | ${d.ticks} ticks`,
175
+ `[${d.sym}] ${d.price} | Factor model: SHORT | Z/VPIN/OFI aligned | -EV`,
176
+ `[${d.sym}] Microstructure bearish | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
177
+ `[${d.sym}] ${d.price} | Negative alpha | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
178
+ `[${d.sym}] Momentum factor bearish | ${d.price} | OFI: ${d.ofi} | Z: -${d.zScoreAbs}σ`,
179
+ `[${d.sym}] ${d.price} | Info ratio: negative | Z: -${d.zScoreAbs}σ | Short edge`,
180
+ `[${d.sym}] Mean above price | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
181
+ `[${d.sym}] ${d.price} | Sell confidence | OFI: ${d.ofi} | Z: -${d.zScoreAbs}σ`,
182
+ `[${d.sym}] Regime: bearish | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
183
+ `[${d.sym}] ${d.price} | Negative skew | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
184
+ `[${d.sym}] Alpha extraction: short | ${d.price} | Z/OFI negative`,
185
+ `[${d.sym}] ${d.price} | Model: SELL | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
186
+ `[${d.sym}] Statistical momentum | ${d.price} | OFI: ${d.ofi} | Bearish`,
187
+ `[${d.sym}] ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}% | Short bias`,
188
+ `[${d.sym}] Bearish factor | ${d.price} | OFI: ${d.ofi} | Z: -${d.zScoreAbs}σ`,
189
+ `[${d.sym}] ${d.price} | Sell signal | Z: -${d.zScoreAbs}σ | ${d.ticks} ticks`,
190
+ `[${d.sym}] Short edge | ${d.price} | VPIN: ${d.vpin}% | OFI: ${d.ofi}`,
191
+ `[${d.sym}] ${d.price} | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi} | Bearish flow`,
192
+ `[${d.sym}] Sell factor | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
193
+ `[${d.sym}] ${d.price} | Negative Z | OFI: ${d.ofi} | Short setup`,
194
+ `[${d.sym}] Bearish model | ${d.price} | Z: -${d.zScoreAbs}σ | ${d.ticks} ticks`,
195
+ `[${d.sym}] ${d.price} | VPIN sell | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
196
+ `[${d.sym}] Short factor | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
197
+ `[${d.sym}] ${d.price} | Z: -${d.zScoreAbs}σ | Bearish edge | OFI: ${d.ofi}`,
198
+ `[${d.sym}] Sell momentum | ${d.price} | VPIN: ${d.vpin}% | Z: -${d.zScoreAbs}σ`,
199
+ `[${d.sym}] ${d.price} | Short alpha | OFI: ${d.ofi} | ${d.ticks} ticks`,
200
+ `[${d.sym}] Bearish Z | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
201
+ `[${d.sym}] ${d.price} | Sell edge | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
202
+ `[${d.sym}] Short model | ${d.price} | VPIN: ${d.vpin}% | Z: -${d.zScoreAbs}σ`,
203
+ `[${d.sym}] ${d.price} | Negative flow | OFI: ${d.ofi} | ${d.ticks} ticks`,
204
+ `[${d.sym}] Bear factor | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
205
+ `[${d.sym}] ${d.price} | Z: -${d.zScoreAbs}σ | Short edge | OFI: ${d.ofi}`,
206
+ `[${d.sym}] Sell alpha | ${d.price} | VPIN: ${d.vpin}% | Z: -${d.zScoreAbs}σ`,
207
+ `[${d.sym}] ${d.price} | Bearish OFI | Z: -${d.zScoreAbs}σ | ${d.ticks} ticks`,
208
+ `[${d.sym}] Short Z | ${d.price} | OFI: ${d.ofi} | VPIN: ${d.vpin}%`,
209
+ `[${d.sym}] ${d.price} | Sell factor | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
210
+ `[${d.sym}] Bear edge | ${d.price} | VPIN: ${d.vpin}% | Z: -${d.zScoreAbs}σ`,
211
+ `[${d.sym}] ${d.price} | Short flow | OFI: ${d.ofi} | ${d.ticks} ticks`,
212
+ `[${d.sym}] Bearish alpha | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
213
+ `[${d.sym}] ${d.price} | Z: -${d.zScoreAbs}σ | Sell model | OFI: ${d.ofi}`,
214
+ `[${d.sym}] Short momentum | ${d.price} | VPIN: ${d.vpin}% | Z: -${d.zScoreAbs}σ`,
215
+ `[${d.sym}] ${d.price} | Bear OFI | Z: -${d.zScoreAbs}σ | ${d.ticks} ticks`,
216
+ `[${d.sym}] Sell Z | ${d.price} | OFI: ${d.ofi} | VPIN: ${d.vpin}%`,
217
+ `[${d.sym}] ${d.price} | Short VPIN | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
218
+ `[${d.sym}] Bearish edge | ${d.price} | VPIN: ${d.vpin}% | Z: -${d.zScoreAbs}σ`,
219
+ `[${d.sym}] ${d.price} | Sell flow | OFI: ${d.ofi} | ${d.ticks} ticks`,
220
+ `[${d.sym}] Short edge | ${d.price} | Z: -${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
221
+ `[${d.sym}] ${d.price} | Bear momentum | Z: -${d.zScoreAbs}σ | OFI: ${d.ofi}`,
222
+ ]),
223
+
224
+ neutral: (d) => pick([
225
+ `[${d.sym}] ${d.price} | Z: 0σ | OFI: neutral | No statistical edge | HOLD`,
226
+ `[${d.sym}] ${d.price} | VPIN: normal | Factors inconclusive | Awaiting signal`,
227
+ `[${d.sym}] Factor model: FLAT | Z/VPIN/OFI within bounds | ${d.ticks} ticks`,
228
+ `[${d.sym}] ${d.price} | No alpha detected | Statistical threshold not met`,
229
+ `[${d.sym}] Microstructure neutral | No toxic flow | Edge probability: LOW`,
230
+ `[${d.sym}] ${d.price} | Model output: FLAT | Insufficient signal strength`,
231
+ `[${d.sym}] Regime: uncertain | ${d.price} | Factors divergent | No trade`,
232
+ `[${d.sym}] ${d.price} | Z within bounds | OFI: ${d.ofi} | No edge`,
233
+ `[${d.sym}] Fair value @ ${d.price} | No mispricing | ${d.ticks} observations`,
234
+ `[${d.sym}] ${d.price} | Information ratio: flat | No alpha opportunity`,
235
+ `[${d.sym}] Statistical noise | ${d.price} | OFI: ${d.ofi} | No signal`,
236
+ `[${d.sym}] ${d.price} | Model confidence: LOW | Factors unconverged`,
237
+ `[${d.sym}] Mean reversion pause | ${d.price} | Z centered | Waiting`,
238
+ `[${d.sym}] ${d.price} | No regime detected | OFI balanced | HOLD`,
239
+ `[${d.sym}] Factor equilibrium | ${d.price} | No edge | ${d.ticks} ticks`,
240
+ `[${d.sym}] ${d.price} | Z: neutral | VPIN: ${d.vpin}% | No trade`,
241
+ `[${d.sym}] Flat factor | ${d.price} | OFI: ${d.ofi} | Waiting`,
242
+ `[${d.sym}] ${d.price} | No signal | Z: ${d.zScore}σ | ${d.ticks} ticks`,
243
+ `[${d.sym}] Neutral edge | ${d.price} | VPIN: ${d.vpin}% | OFI: ${d.ofi}`,
244
+ `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | No alpha | Patience`,
245
+ `[${d.sym}] Hold factor | ${d.price} | OFI: ${d.ofi} | VPIN: ${d.vpin}%`,
246
+ `[${d.sym}] ${d.price} | Flat model | Z: ${d.zScore}σ | ${d.ticks} ticks`,
247
+ `[${d.sym}] No edge | ${d.price} | VPIN: ${d.vpin}% | Waiting`,
248
+ `[${d.sym}] ${d.price} | Neutral Z | OFI: ${d.ofi} | No trade`,
249
+ `[${d.sym}] Flat edge | ${d.price} | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
250
+ `[${d.sym}] ${d.price} | No momentum | OFI: ${d.ofi} | ${d.ticks} ticks`,
251
+ `[${d.sym}] Hold model | ${d.price} | VPIN: ${d.vpin}% | Waiting`,
252
+ `[${d.sym}] ${d.price} | Z: ${d.zScore}σ | Neutral | OFI: ${d.ofi}`,
253
+ `[${d.sym}] No alpha | ${d.price} | VPIN: ${d.vpin}% | ${d.ticks} ticks`,
254
+ `[${d.sym}] ${d.price} | Flat Z | OFI: ${d.ofi} | Patience`,
255
+ `[${d.sym}] Neutral model | ${d.price} | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
256
+ `[${d.sym}] ${d.price} | No edge | OFI: ${d.ofi} | Waiting`,
257
+ `[${d.sym}] Hold Z | ${d.price} | VPIN: ${d.vpin}% | ${d.ticks} ticks`,
258
+ `[${d.sym}] ${d.price} | Neutral OFI | Z: ${d.zScore}σ | No trade`,
259
+ `[${d.sym}] Flat alpha | ${d.price} | OFI: ${d.ofi} | VPIN: ${d.vpin}%`,
260
+ `[${d.sym}] ${d.price} | No signal | VPIN: ${d.vpin}% | Patience`,
261
+ `[${d.sym}] Neutral factor | ${d.price} | Z: ${d.zScore}σ | ${d.ticks} ticks`,
262
+ `[${d.sym}] ${d.price} | Hold OFI | OFI: ${d.ofi} | Waiting`,
263
+ `[${d.sym}] No momentum | ${d.price} | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
264
+ `[${d.sym}] ${d.price} | Flat VPIN | OFI: ${d.ofi} | ${d.ticks} ticks`,
265
+ `[${d.sym}] Hold edge | ${d.price} | Z: ${d.zScore}σ | No trade`,
266
+ `[${d.sym}] ${d.price} | Neutral flow | VPIN: ${d.vpin}% | Patience`,
267
+ `[${d.sym}] No trade | ${d.price} | OFI: ${d.ofi} | Z: ${d.zScore}σ`,
268
+ `[${d.sym}] ${d.price} | Flat model | VPIN: ${d.vpin}% | ${d.ticks} ticks`,
269
+ `[${d.sym}] Neutral Z | ${d.price} | OFI: ${d.ofi} | Waiting`,
270
+ `[${d.sym}] ${d.price} | No alpha | Z: ${d.zScore}σ | VPIN: ${d.vpin}%`,
271
+ `[${d.sym}] Hold factor | ${d.price} | OFI: ${d.ofi} | ${d.ticks} ticks`,
272
+ `[${d.sym}] ${d.price} | Neutral edge | VPIN: ${d.vpin}% | Patience`,
273
+ `[${d.sym}] Flat flow | ${d.price} | Z: ${d.zScore}σ | OFI: ${d.ofi}`,
274
+ `[${d.sym}] ${d.price} | No signal | VPIN: ${d.vpin}% | No trade`,
275
+ ]),
276
+
277
+ ready: (d) => {
278
+ const side = d.rawZScore > 0 ? 'LONG' : 'SHORT';
279
+ const zSign = d.rawZScore > 0 ? '+' : '-';
280
+ return pick([
281
+ `${chalk.green('■')} [${d.sym}] Z-SCORE BREACH | ${zSign}${d.zScoreAbs}σ @ ${d.price} | EXECUTE ${side}`,
282
+ `${chalk.green('■')} [${d.sym}] FACTOR CONSENSUS | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side} @ ${d.price}`,
283
+ `${chalk.green('■')} [${d.sym}] STATISTICAL TRIGGER | VPIN: ${d.vpin}% | Z: ${zSign}${d.zScoreAbs}σ | ${side}`,
284
+ `${chalk.green('■')} [${d.sym}] ALPHA DETECTED | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | EXECUTE ${side}`,
285
+ `${chalk.green('■')} [${d.sym}] REGIME CONFIRMED | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side}`,
286
+ `${chalk.green('■')} [${d.sym}] MODEL SIGNAL | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side} TRIGGER`,
287
+ `${chalk.green('■')} [${d.sym}] THRESHOLD BREACH | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side} @ ${d.price}`,
288
+ `${chalk.green('■')} [${d.sym}] MEAN REVERSION | Z: ${zSign}${d.zScoreAbs}σ | ${side} CONFIRMED | ${d.price}`,
289
+ `${chalk.green('■')} [${d.sym}] EDGE CONFIRMED | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side}`,
290
+ `${chalk.green('■')} [${d.sym}] FACTOR SIGNAL | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side} ACTIVE`,
291
+ `${chalk.green('■')} [${d.sym}] Z TRIGGER | ${zSign}${d.zScoreAbs}σ @ ${d.price} | ${side} | OFI: ${d.ofi}`,
292
+ `${chalk.green('■')} [${d.sym}] ALPHA SIGNAL | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side}`,
293
+ `${chalk.green('■')} [${d.sym}] MODEL EXECUTE | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | ${side}`,
294
+ `${chalk.green('■')} [${d.sym}] STATISTICAL SIGNAL | OFI: ${d.ofi} | Z: ${zSign}${d.zScoreAbs}σ | ${side}`,
295
+ `${chalk.green('■')} [${d.sym}] FACTOR TRIGGER | ${d.price} | VPIN: ${d.vpin}% | ${side}`,
296
+ `${chalk.green('■')} [${d.sym}] Z EXECUTE | ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side} @ ${d.price}`,
297
+ `${chalk.green('■')} [${d.sym}] EDGE TRIGGER | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side}`,
298
+ `${chalk.green('■')} [${d.sym}] ALPHA EXECUTE | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${side}`,
299
+ `${chalk.green('■')} [${d.sym}] MODEL CONFIRMED | Z: ${zSign}${d.zScoreAbs}σ | ${side} | VPIN: ${d.vpin}%`,
300
+ `${chalk.green('■')} [${d.sym}] STATISTICAL EXECUTE | ${d.price} | OFI: ${d.ofi} | ${side}`,
301
+ `${chalk.green('■')} [${d.sym}] FACTOR EXECUTE | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side}`,
302
+ `${chalk.green('■')} [${d.sym}] Z SIGNAL | ${zSign}${d.zScoreAbs}σ @ ${d.price} | OFI: ${d.ofi} | ${side}`,
303
+ `${chalk.green('■')} [${d.sym}] EDGE EXECUTE | Z: ${zSign}${d.zScoreAbs}σ | ${side} | VPIN: ${d.vpin}%`,
304
+ `${chalk.green('■')} [${d.sym}] ALPHA TRIGGER | ${d.price} | OFI: ${d.ofi} | ${side}`,
305
+ `${chalk.green('■')} [${d.sym}] MODEL TRIGGER | Z: ${zSign}${d.zScoreAbs}σ | ${side} @ ${d.price}`,
306
+ `${chalk.green('■')} [${d.sym}] STATISTICAL CONFIRMED | VPIN: ${d.vpin}% | OFI: ${d.ofi} | ${side}`,
307
+ `${chalk.green('■')} [${d.sym}] FACTOR CONFIRMED | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | ${side}`,
308
+ `${chalk.green('■')} [${d.sym}] Z CONFIRMED | ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${side}`,
309
+ `${chalk.green('■')} [${d.sym}] EDGE SIGNAL | ${d.price} | OFI: ${d.ofi} | ${side}`,
310
+ `${chalk.green('■')} [${d.sym}] ALPHA CONFIRMED | Z: ${zSign}${d.zScoreAbs}σ | ${side} @ ${d.price}`,
311
+ `${chalk.green('■')} [${d.sym}] MODEL ACTIVE | VPIN: ${d.vpin}% | Z: ${zSign}${d.zScoreAbs}σ | ${side}`,
312
+ `${chalk.green('■')} [${d.sym}] STATISTICAL ACTIVE | ${d.price} | OFI: ${d.ofi} | ${side}`,
313
+ `${chalk.green('■')} [${d.sym}] FACTOR ACTIVE | Z: ${zSign}${d.zScoreAbs}σ | ${side} | VPIN: ${d.vpin}%`,
314
+ `${chalk.green('■')} [${d.sym}] Z ACTIVE | ${zSign}${d.zScoreAbs}σ @ ${d.price} | OFI: ${d.ofi} | ${side}`,
315
+ `${chalk.green('■')} [${d.sym}] EDGE ACTIVE | VPIN: ${d.vpin}% | Z: ${zSign}${d.zScoreAbs}σ | ${side}`,
316
+ `${chalk.green('■')} [${d.sym}] ALPHA ACTIVE | ${d.price} | ${side} | OFI: ${d.ofi}`,
317
+ `${chalk.green('■')} [${d.sym}] MODEL ${side} | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
318
+ `${chalk.green('■')} [${d.sym}] STATISTICAL ${side} | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ`,
319
+ `${chalk.green('■')} [${d.sym}] FACTOR ${side} | OFI: ${d.ofi} | ${d.price}`,
320
+ `${chalk.green('■')} [${d.sym}] Z ${side} | ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}% | ${d.price}`,
321
+ `${chalk.green('■')} [${d.sym}] EDGE ${side} | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi}`,
322
+ `${chalk.green('■')} [${d.sym}] ALPHA ${side} | ${d.price} | VPIN: ${d.vpin}%`,
323
+ `${chalk.green('■')} [${d.sym}] ${side} SIGNAL | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi} | ${d.price}`,
324
+ `${chalk.green('■')} [${d.sym}] ${side} TRIGGER | VPIN: ${d.vpin}% | Z: ${zSign}${d.zScoreAbs}σ`,
325
+ `${chalk.green('■')} [${d.sym}] ${side} EXECUTE | ${d.price} | OFI: ${d.ofi}`,
326
+ `${chalk.green('■')} [${d.sym}] ${side} CONFIRMED | Z: ${zSign}${d.zScoreAbs}σ | VPIN: ${d.vpin}%`,
327
+ `${chalk.green('■')} [${d.sym}] ${side} ACTIVE | ${d.price} | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi}`,
328
+ `${chalk.green('■')} [${d.sym}] EXECUTE ${side} | VPIN: ${d.vpin}% | ${d.price}`,
329
+ `${chalk.green('■')} [${d.sym}] TRIGGER ${side} | Z: ${zSign}${d.zScoreAbs}σ | OFI: ${d.ofi}`,
330
+ `${chalk.green('■')} [${d.sym}] CONFIRM ${side} | ${d.price} | VPIN: ${d.vpin}% | Z: ${zSign}${d.zScoreAbs}σ`,
331
+ ]);
332
+ },
333
+ };