{
    "metadata": {
        "total_configured": 76,
        "valid_scanned": 28,
        "coverage_pct": 36.8,
        "unavailable_symbols": [],
        "market_regime": "TRENDING_BEARISH",
        "timestamp": "2026-11-02 14:51:36 IST",
        "data_source": "FYERS_API_V3_LIVE_NSE"
    },
    "breadth": {
        "advances": 2,
        "declines": 25,
        "unchanged": 1,
        "ad_ratio": 0.08,
        "bullish_count": 0,
        "bearish_count": 1,
        "neutral_count": 27,
        "long_buildup_count": 0,
        "short_buildup_count": 0,
        "short_covering_count": 0,
        "long_unwinding_count": 0,
        "vol_expansion_count": 0,
        "unusual_activity_count": 4
    },
    "buyer_seller_battle": {
        "buyer_pct": 63.5,
        "seller_pct": 36.5,
        "dominant_side": "BUYERS",
        "battle_status": "BULLS IN COMPLETE DOMINATION",
        "battle_subtitle": "Aggressive Long accumulation across sectors. Favor buying pullbacks to VWAP."
    },
    "quadrant_groups": {
        "long_buildup": [],
        "short_buildup": [],
        "short_covering": [],
        "long_unwinding": [],
        "cash_bulls": [],
        "cash_bears": [],
        "neutral": [
            {
                "symbol": "NSE:INDIAVIX-INDEX",
                "display_name": "INDIA VIX",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": false,
                "ltp": 15.56,
                "change_abs": -0.02,
                "change_pct": -0.13,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "BEARISH",
                "classification": "CASH_EQUITY_NO_OI",
                "classification_label": "Cash Equity Flow",
                "classification_desc": "Downward slip on routine volume.",
                "buyer_pct": 34.4,
                "seller_pct": 65.6,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 75,
                "vwap": 15.57,
                "vwap_deviation_pct": -0.06,
                "rsi": 37.3,
                "adx": 23,
                "atr": 0.07,
                "supertrend": 15.37,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 15.34,
                    "r1": 16.14,
                    "s1": 14.77,
                    "dist_r1_pct": 3.73,
                    "dist_s1_pct": 5.08
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "TRIGGER_CONFIRMED",
                    "type": "VWAP_BREAKDOWN_SHORT",
                    "entry_trigger": 15.56,
                    "stop_loss": 15.63,
                    "target_1": 14.06,
                    "target_2": 13.06,
                    "risk_reward": "1.5:1",
                    "invalidation": "Price crossing opposite of VWAP (15.57)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTYPHARMA-INDEX",
                "display_name": "NIFTY PHARMA",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 27069,
                "change_abs": -10.5,
                "change_pct": -0.04,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 27.1,
                "seller_pct": 72.9,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 27072.23,
                "vwap_deviation_pct": -0.01,
                "rsi": 53.2,
                "adx": 21.2,
                "atr": 24.85,
                "supertrend": 27142.46,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 27089.7,
                    "r1": 27241.05,
                    "s1": 26917.65,
                    "dist_r1_pct": 0.64,
                    "dist_s1_pct": 0.56
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (27072.23)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTY50-INDEX",
                "display_name": "NIFTY 50",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 23315.45,
                "change_abs": -10,
                "change_pct": -0.04,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 53.8,
                "seller_pct": 46.2,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 23318.95,
                "vwap_deviation_pct": -0.02,
                "rsi": 62.2,
                "adx": 26.2,
                "atr": 21.16,
                "supertrend": 23259.97,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 23225.43,
                    "r1": 23450.22,
                    "s1": 23090.67,
                    "dist_r1_pct": 0.58,
                    "dist_s1_pct": 0.96
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (23318.95)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:MIDCPNIFTY-INDEX",
                "display_name": "NIFTY MIDCAP SELECT",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 16685.5,
                "change_abs": -9.95,
                "change_pct": -0.06,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 47,
                "seller_pct": 53,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 16688.98,
                "vwap_deviation_pct": -0.02,
                "rsi": 53.3,
                "adx": 17,
                "atr": 13.5,
                "supertrend": 16654.49,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 16641.55,
                    "r1": 16795.65,
                    "s1": 16531.4,
                    "dist_r1_pct": 0.66,
                    "dist_s1_pct": 0.92
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (16688.98)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTYAUTO-INDEX",
                "display_name": "NIFTY AUTO",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 25688.75,
                "change_abs": -6.45,
                "change_pct": -0.03,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 68.2,
                "seller_pct": 31.8,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 25687.5,
                "vwap_deviation_pct": 0,
                "rsi": 41.3,
                "adx": 26,
                "atr": 29.95,
                "supertrend": 25598.52,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 25648.13,
                    "r1": 25873.57,
                    "s1": 25463.32,
                    "dist_r1_pct": 0.72,
                    "dist_s1_pct": 0.88
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (25687.5)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTYIT-INDEX",
                "display_name": "NIFTY IT",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 32390.5,
                "change_abs": -9.95,
                "change_pct": -0.03,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 20,
                "seller_pct": 80,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 32395.35,
                "vwap_deviation_pct": -0.01,
                "rsi": 43.6,
                "adx": 30.4,
                "atr": 34.38,
                "supertrend": 32491.22,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 32533.75,
                    "r1": 32735.5,
                    "s1": 32188.75,
                    "dist_r1_pct": 1.07,
                    "dist_s1_pct": 0.62
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (32395.35)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:FINNIFTY-INDEX",
                "display_name": "NIFTY FINANCIAL",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 26586.15,
                "change_abs": -14.45,
                "change_pct": -0.05,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 55.7,
                "seller_pct": 44.3,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 26591.17,
                "vwap_deviation_pct": -0.02,
                "rsi": 64.8,
                "adx": 27.7,
                "atr": 27.6,
                "supertrend": 26513.63,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 26537.78,
                    "r1": 26686.57,
                    "s1": 26437.37,
                    "dist_r1_pct": 0.38,
                    "dist_s1_pct": 0.56
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (26591.17)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTYNEXT50-INDEX",
                "display_name": "NIFTY NEXT 50",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 68757.2,
                "change_abs": -25.1,
                "change_pct": -0.04,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 48.9,
                "seller_pct": 51.1,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 68765.87,
                "vwap_deviation_pct": -0.01,
                "rsi": 55.6,
                "adx": 18.2,
                "atr": 50.42,
                "supertrend": 68638.02,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 68423.77,
                    "r1": 69273.53,
                    "s1": 67907.43,
                    "dist_r1_pct": 0.75,
                    "dist_s1_pct": 1.24
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (68765.87)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTYMETAL-INDEX",
                "display_name": "NIFTY METAL",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 12111.8,
                "change_abs": -6.95,
                "change_pct": -0.06,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 52.9,
                "seller_pct": 47.1,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 12114.08,
                "vwap_deviation_pct": -0.02,
                "rsi": 61.2,
                "adx": 34.4,
                "atr": 13.58,
                "supertrend": 12077.2,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 12001.17,
                    "r1": 12234.13,
                    "s1": 11878.83,
                    "dist_r1_pct": 1.01,
                    "dist_s1_pct": 1.92
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (12114.08)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTYFMCG-INDEX",
                "display_name": "NIFTY FMCG",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 43817.6,
                "change_abs": -3.1,
                "change_pct": -0.01,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 52.3,
                "seller_pct": 47.7,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 43818.12,
                "vwap_deviation_pct": -0,
                "rsi": 59.8,
                "adx": 23.8,
                "atr": 50.71,
                "supertrend": 43676.07,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 43815.43,
                    "r1": 44093.17,
                    "s1": 43539.87,
                    "dist_r1_pct": 0.63,
                    "dist_s1_pct": 0.63
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (43818.12)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:NIFTYENERGY-INDEX",
                "display_name": "NIFTY ENERGY",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 36112,
                "change_abs": -12.45,
                "change_pct": -0.03,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 53.6,
                "seller_pct": 46.4,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 36116.05,
                "vwap_deviation_pct": -0.01,
                "rsi": 61.8,
                "adx": 25.3,
                "atr": 31.77,
                "supertrend": 36036.12,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 35712.25,
                    "r1": 36550.55,
                    "s1": 35273.7,
                    "dist_r1_pct": 1.21,
                    "dist_s1_pct": 2.32
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (36116.05)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:BANKNIFTY-INDEX",
                "display_name": "BANK NIFTY",
                "segment": "INDEX",
                "sector": "INDEX",
                "is_fo": true,
                "ltp": 54865.75,
                "change_abs": -44.65,
                "change_pct": -0.08,
                "volume": 0,
                "rvol": 1,
                "vol_acceleration": 1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 52.9,
                "seller_pct": 47.1,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 54880.83,
                "vwap_deviation_pct": -0.03,
                "rsi": 61.4,
                "adx": 24.9,
                "atr": 61.59,
                "supertrend": 54721.21,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 54831.18,
                    "r1": 55080.37,
                    "s1": 54616.57,
                    "dist_r1_pct": 0.39,
                    "dist_s1_pct": 0.45
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (54880.83)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:MARUTI-EQ",
                "display_name": "MARUTI SUZUKI",
                "segment": "EQUITY",
                "sector": "AUTO",
                "is_fo": true,
                "ltp": 11601,
                "change_abs": -1,
                "change_pct": -0.01,
                "volume": 2094,
                "rvol": 0.7950489786620092,
                "vol_acceleration": 0.67,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 65.2,
                "seller_pct": 34.8,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 11590.34,
                "vwap_deviation_pct": 0.09,
                "rsi": 37.1,
                "adx": 32.9,
                "atr": 17.19,
                "supertrend": 11555.93,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 11576.67,
                    "r1": 11792.33,
                    "s1": 11385.33,
                    "dist_r1_pct": 1.65,
                    "dist_s1_pct": 1.86
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "BULLISH_SELLING_EXHAUSTION",
                "is_unusual": true,
                "unusual_reasons": [
                    "BULLISH_SELLING_EXHAUSTION"
                ],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (11590.34)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:M&M-EQ",
                "display_name": "MAHINDRA & MAHINDRA",
                "segment": "EQUITY",
                "sector": "AUTO",
                "is_fo": true,
                "ltp": 2869,
                "change_abs": -1.1,
                "change_pct": -0.04,
                "volume": 11437,
                "rvol": 0.3776806176565771,
                "vol_acceleration": 0.11,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 14.7,
                "seller_pct": 85.3,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 2872.51,
                "vwap_deviation_pct": -0.12,
                "rsi": 36.7,
                "adx": 23.3,
                "atr": 7.31,
                "supertrend": 2891.12,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 2868.67,
                    "r1": 2898.33,
                    "s1": 2839.33,
                    "dist_r1_pct": 1.02,
                    "dist_s1_pct": 1.03
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (2872.51)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:ICICIBANK-EQ",
                "display_name": "ICICI BANK",
                "segment": "EQUITY",
                "sector": "BANKING",
                "is_fo": true,
                "ltp": 1381.1,
                "change_abs": -1,
                "change_pct": -0.07,
                "volume": 38752,
                "rvol": 0.36220258276836537,
                "vol_acceleration": 0.31,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 26.5,
                "seller_pct": 73.5,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 1390.64,
                "vwap_deviation_pct": -0.69,
                "rsi": 52.7,
                "adx": 34.8,
                "atr": 1.77,
                "supertrend": 1386.98,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 1386.1,
                    "r1": 1397,
                    "s1": 1370.2,
                    "dist_r1_pct": 1.15,
                    "dist_s1_pct": 0.79
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "BEARISH_VOLUME_EXHAUSTION",
                "is_unusual": true,
                "unusual_reasons": [
                    "BEARISH_VOLUME_EXHAUSTION"
                ],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (1390.64)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:RELIANCE-EQ",
                "display_name": "RELIANCE INDUSTRIES",
                "segment": "EQUITY",
                "sector": "ENERGY",
                "is_fo": true,
                "ltp": 1262.1,
                "change_abs": 0.8,
                "change_pct": 0.06,
                "volume": 132764,
                "rvol": 0.34796688857755,
                "vol_acceleration": 0.23,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 85.1,
                "seller_pct": 14.9,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 1230.06,
                "vwap_deviation_pct": 2.6,
                "rsi": 62.8,
                "adx": 30.6,
                "atr": 3.02,
                "supertrend": 1252.99,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 1228.43,
                    "r1": 1298.47,
                    "s1": 1192.07,
                    "dist_r1_pct": 2.88,
                    "dist_s1_pct": 5.55
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (1230.06)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:ITC-EQ",
                "display_name": "ITC LIMITED",
                "segment": "EQUITY",
                "sector": "FMCG",
                "is_fo": true,
                "ltp": 265.95,
                "change_abs": 0,
                "change_pct": 0,
                "volume": 41720,
                "rvol": 0.3398328123568163,
                "vol_acceleration": 0.34,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 31.3,
                "seller_pct": 68.7,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 266.11,
                "vwap_deviation_pct": -0.06,
                "rsi": 58.4,
                "adx": 22.2,
                "atr": 0.42,
                "supertrend": 267.13,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 266.38,
                    "r1": 268.77,
                    "s1": 263.57,
                    "dist_r1_pct": 1.06,
                    "dist_s1_pct": 0.89
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (266.11)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:INFY-EQ",
                "display_name": "INFOSYS",
                "segment": "EQUITY",
                "sector": "IT",
                "is_fo": true,
                "ltp": 1156.3,
                "change_abs": -0.2,
                "change_pct": -0.02,
                "volume": 35152,
                "rvol": 0.3214964143528321,
                "vol_acceleration": 0.29,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 45,
                "seller_pct": 55,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 1172.44,
                "vwap_deviation_pct": -1.38,
                "rsi": 50.2,
                "adx": 43.8,
                "atr": 1.9,
                "supertrend": 1151.21,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 1166,
                    "r1": 1181,
                    "s1": 1141.3,
                    "dist_r1_pct": 2.14,
                    "dist_s1_pct": 1.3
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (1172.44)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:INDUSINDBK-EQ",
                "display_name": "INDUSIND BANK LIMITED",
                "segment": "EQUITY",
                "sector": "BANKING",
                "is_fo": true,
                "ltp": 835,
                "change_abs": -0.7,
                "change_pct": -0.08,
                "volume": 4999,
                "rvol": 0.29387990252993035,
                "vol_acceleration": 0.17,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 43.3,
                "seller_pct": 56.7,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 838.01,
                "vwap_deviation_pct": -0.36,
                "rsi": 48.6,
                "adx": 11.7,
                "atr": 1.33,
                "supertrend": 832.06,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 836.12,
                    "r1": 844.53,
                    "s1": 826.58,
                    "dist_r1_pct": 1.14,
                    "dist_s1_pct": 1.01
                },
                "squeeze_state": "COMPRESSION",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (838.01)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:AXISBANK-EQ",
                "display_name": "AXIS BANK",
                "segment": "EQUITY",
                "sector": "BANKING",
                "is_fo": true,
                "ltp": 1204.2,
                "change_abs": -0.8,
                "change_pct": -0.07,
                "volume": 12250,
                "rvol": 0.27048450951774267,
                "vol_acceleration": 0.18,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 20.6,
                "seller_pct": 79.4,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 1211.11,
                "vwap_deviation_pct": -0.57,
                "rsi": 44.9,
                "adx": 25.3,
                "atr": 1.71,
                "supertrend": 1209.25,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 1208.73,
                    "r1": 1215.97,
                    "s1": 1196.97,
                    "dist_r1_pct": 0.98,
                    "dist_s1_pct": 0.6
                },
                "squeeze_state": "COMPRESSION",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (1211.11)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:HDFCBANK-EQ",
                "display_name": "HDFC BANK",
                "segment": "EQUITY",
                "sector": "BANKING",
                "is_fo": true,
                "ltp": 698.3,
                "change_abs": -0.95,
                "change_pct": -0.14,
                "volume": 64041,
                "rvol": 0.2660958133568954,
                "vol_acceleration": 0.09,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 88.9,
                "seller_pct": 11.1,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 692.74,
                "vwap_deviation_pct": 0.8,
                "rsi": 76.8,
                "adx": 33.4,
                "atr": 1.5,
                "supertrend": 694.28,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 695.92,
                    "r1": 703.13,
                    "s1": 691.08,
                    "dist_r1_pct": 0.69,
                    "dist_s1_pct": 1.03
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (692.74)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:ONGC-EQ",
                "display_name": "OIL & NATURAL GAS CORP",
                "segment": "EQUITY",
                "sector": "ENERGY",
                "is_fo": true,
                "ltp": 233.55,
                "change_abs": -0.15,
                "change_pct": -0.06,
                "volume": 35747,
                "rvol": 0.26495863333614994,
                "vol_acceleration": 0.22,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 89.5,
                "seller_pct": 10.5,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 229.01,
                "vwap_deviation_pct": 1.98,
                "rsi": 75.2,
                "adx": 53.9,
                "atr": 0.42,
                "supertrend": 232.36,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 230.89,
                    "r1": 236.4,
                    "s1": 228.05,
                    "dist_r1_pct": 1.22,
                    "dist_s1_pct": 2.35
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (229.01)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:TCS-EQ",
                "display_name": "TATA CONSULTANCY SERVICES",
                "segment": "EQUITY",
                "sector": "IT",
                "is_fo": true,
                "ltp": 2502.5,
                "change_abs": -0.7,
                "change_pct": -0.03,
                "volume": 3477,
                "rvol": 0.1926374487865281,
                "vol_acceleration": 0.14,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 33.4,
                "seller_pct": 66.6,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 2522.09,
                "vwap_deviation_pct": -0.78,
                "rsi": 34.8,
                "adx": 43,
                "atr": 2.99,
                "supertrend": 2495,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 2518.2,
                    "r1": 2534.2,
                    "s1": 2486.5,
                    "dist_r1_pct": 1.27,
                    "dist_s1_pct": 0.64
                },
                "squeeze_state": "COMPRESSION",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (2522.09)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:SUNPHARMA-EQ",
                "display_name": "SUN PHARMACEUTICALS",
                "segment": "EQUITY",
                "sector": "PHARMA",
                "is_fo": true,
                "ltp": 1760.7,
                "change_abs": 0.4,
                "change_pct": 0.02,
                "volume": 8436,
                "rvol": 0.1925374616140418,
                "vol_acceleration": 0.25,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 29.4,
                "seller_pct": 70.6,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 1786.35,
                "vwap_deviation_pct": -1.44,
                "rsi": 55.7,
                "adx": 18.3,
                "atr": 3.73,
                "supertrend": 1770.88,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 1778.7,
                    "r1": 1822.7,
                    "s1": 1716.7,
                    "dist_r1_pct": 3.52,
                    "dist_s1_pct": 2.5
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "BEARISH_VOLUME_EXHAUSTION",
                "is_unusual": true,
                "unusual_reasons": [
                    "BEARISH_VOLUME_EXHAUSTION"
                ],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (1786.35)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:TATASTEEL-EQ",
                "display_name": "TATA STEEL",
                "segment": "EQUITY",
                "sector": "METALS",
                "is_fo": true,
                "ltp": 176.46,
                "change_abs": -0.02,
                "change_pct": -0.01,
                "volume": 55452,
                "rvol": 0.19157047751494552,
                "vol_acceleration": 0.26,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 81.6,
                "seller_pct": 18.4,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 173.08,
                "vwap_deviation_pct": 1.95,
                "rsi": 58.9,
                "adx": 33,
                "atr": 0.28,
                "supertrend": 175.69,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 173.64,
                    "r1": 179.68,
                    "s1": 170.42,
                    "dist_r1_pct": 1.82,
                    "dist_s1_pct": 3.42
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "BULLISH_SELLING_EXHAUSTION",
                "is_unusual": true,
                "unusual_reasons": [
                    "BULLISH_SELLING_EXHAUSTION"
                ],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (173.08)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:KOTAKBANK-EQ",
                "display_name": "KOTAK MAHINDRA BANK",
                "segment": "EQUITY",
                "sector": "BANKING",
                "is_fo": true,
                "ltp": 457.7,
                "change_abs": -0.3,
                "change_pct": -0.07,
                "volume": 29143,
                "rvol": 0.1639027561680061,
                "vol_acceleration": 0.12,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 17.2,
                "seller_pct": 82.8,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 461.67,
                "vwap_deviation_pct": -0.86,
                "rsi": 40.4,
                "adx": 36.5,
                "atr": 0.76,
                "supertrend": 460.05,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 460.18,
                    "r1": 463.42,
                    "s1": 454.47,
                    "dist_r1_pct": 1.25,
                    "dist_s1_pct": 0.71
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (461.67)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:WIPRO-EQ",
                "display_name": "WIPRO",
                "segment": "EQUITY",
                "sector": "IT",
                "is_fo": true,
                "ltp": 196.35,
                "change_abs": -0.02,
                "change_pct": -0.01,
                "volume": 14655,
                "rvol": 0.1548516757635202,
                "vol_acceleration": 0.06,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 23.4,
                "seller_pct": 76.6,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 197.04,
                "vwap_deviation_pct": -0.35,
                "rsi": 48,
                "adx": 14.2,
                "atr": 0.22,
                "supertrend": 196.94,
                "supertrend_direction": "BEARISH",
                "pivots": {
                    "pp": 197.1,
                    "r1": 199.15,
                    "s1": 194.3,
                    "dist_r1_pct": 1.43,
                    "dist_s1_pct": 1.04
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (197.04)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            },
            {
                "symbol": "NSE:SBIN-EQ",
                "display_name": "STATE BANK OF INDIA",
                "segment": "EQUITY",
                "sector": "BANKING",
                "is_fo": true,
                "ltp": 983.15,
                "change_abs": -0.15,
                "change_pct": -0.02,
                "volume": 22350,
                "rvol": 0.1532928644743615,
                "vol_acceleration": 0.1,
                "oi": 0,
                "oi_change": 0,
                "oi_change_pct": 0,
                "bias": "NEUTRAL",
                "classification": "OI_NEUTRAL",
                "classification_label": "OI Neutral",
                "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
                "buyer_pct": 85.2,
                "seller_pct": 14.8,
                "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
                "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
                "quadrant_tag": "CONSOLIDATION",
                "signal_score": 50,
                "vwap": 972.86,
                "vwap_deviation_pct": 1.06,
                "rsi": 63.8,
                "adx": 32.4,
                "atr": 2.18,
                "supertrend": 976.85,
                "supertrend_direction": "BULLISH",
                "pivots": {
                    "pp": 976.88,
                    "r1": 994.02,
                    "s1": 966.02,
                    "dist_r1_pct": 1.11,
                    "dist_s1_pct": 1.74
                },
                "squeeze_state": "NORMAL",
                "volume_divergence": "CONGRUENT",
                "is_unusual": false,
                "unusual_reasons": [],
                "setup": {
                    "state": "WATCHLIST",
                    "type": "NONE",
                    "entry_trigger": null,
                    "stop_loss": null,
                    "target_1": null,
                    "target_2": null,
                    "risk_reward": null,
                    "invalidation": "Price crossing opposite of VWAP (972.86)"
                },
                "timestamp": 1793611200,
                "timestamp_formatted": "14:50:00 IST",
                "data_freshness": "LIVE",
                "data_source": "EXCHANGE_FEED"
            }
        ]
    },
    "sectors": [
        {
            "sector": "PHARMA",
            "total_stocks": 1,
            "avg_change_pct": 0.02,
            "avg_rvol": 0.19,
            "advances": 1,
            "declines": 0,
            "breadth_pct": 100,
            "bias": "NEUTRAL"
        },
        {
            "sector": "ENERGY",
            "total_stocks": 2,
            "avg_change_pct": 0,
            "avg_rvol": 0.31,
            "advances": 1,
            "declines": 1,
            "breadth_pct": 50,
            "bias": "NEUTRAL"
        },
        {
            "sector": "FMCG",
            "total_stocks": 1,
            "avg_change_pct": 0,
            "avg_rvol": 0.34,
            "advances": 0,
            "declines": 0,
            "breadth_pct": 0,
            "bias": "NEUTRAL"
        },
        {
            "sector": "METALS",
            "total_stocks": 1,
            "avg_change_pct": -0.01,
            "avg_rvol": 0.19,
            "advances": 0,
            "declines": 1,
            "breadth_pct": 0,
            "bias": "NEUTRAL"
        },
        {
            "sector": "IT",
            "total_stocks": 3,
            "avg_change_pct": -0.02,
            "avg_rvol": 0.22,
            "advances": 0,
            "declines": 3,
            "breadth_pct": 0,
            "bias": "NEUTRAL"
        },
        {
            "sector": "AUTO",
            "total_stocks": 2,
            "avg_change_pct": -0.03,
            "avg_rvol": 0.59,
            "advances": 0,
            "declines": 2,
            "breadth_pct": 0,
            "bias": "NEUTRAL"
        },
        {
            "sector": "INDEX",
            "total_stocks": 12,
            "avg_change_pct": -0.05,
            "avg_rvol": 1,
            "advances": 0,
            "declines": 12,
            "breadth_pct": 0,
            "bias": "NEUTRAL"
        },
        {
            "sector": "BANKING",
            "total_stocks": 6,
            "avg_change_pct": -0.08,
            "avg_rvol": 0.25,
            "advances": 0,
            "declines": 6,
            "breadth_pct": 0,
            "bias": "NEUTRAL"
        }
    ],
    "flow_graph": {
        "nodes": [
            {
                "id": "hub_market_core",
                "label": "MARKET CORE (NSE)",
                "type": "CORE_HUB",
                "radius": 32,
                "color": "#3b82f6",
                "metric": "28 Active Assets"
            },
            {
                "id": "hub_long_buildup",
                "label": "LONG BUILD-UP",
                "type": "DERIVATIVE_STATE",
                "radius": 24,
                "color": "#10b981",
                "description": "Bullish Fresh Longs"
            },
            {
                "id": "hub_short_buildup",
                "label": "SHORT BUILD-UP",
                "type": "DERIVATIVE_STATE",
                "radius": 24,
                "color": "#ef4444",
                "description": "Bearish Fresh Shorts"
            },
            {
                "id": "hub_short_covering",
                "label": "SHORT COVERING",
                "type": "DERIVATIVE_STATE",
                "radius": 24,
                "color": "#f59e0b",
                "description": "Short Liquidation Rally"
            },
            {
                "id": "hub_long_unwinding",
                "label": "LONG UNWINDING",
                "type": "DERIVATIVE_STATE",
                "radius": 24,
                "color": "#8b5cf6",
                "description": "Long Liquidation Dip"
            },
            {
                "id": "hub_consolidation",
                "label": "CONSOLIDATION \/ NEUTRAL",
                "type": "DERIVATIVE_STATE",
                "radius": 24,
                "color": "#64748b",
                "description": "Rangebound Churn"
            },
            {
                "id": "sec_pharma",
                "label": "PHARMA SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#10b981",
                "metric": "+0.02%"
            },
            {
                "id": "sec_energy",
                "label": "ENERGY SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#ef4444",
                "metric": "+0.00%"
            },
            {
                "id": "sec_fmcg",
                "label": "FMCG SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#ef4444",
                "metric": "+0.00%"
            },
            {
                "id": "sec_metals",
                "label": "METALS SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#ef4444",
                "metric": "-0.01%"
            },
            {
                "id": "sec_it",
                "label": "IT SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#ef4444",
                "metric": "-0.02%"
            },
            {
                "id": "sec_auto",
                "label": "AUTO SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#ef4444",
                "metric": "-0.03%"
            },
            {
                "id": "sec_index",
                "label": "INDEX SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#ef4444",
                "metric": "-0.05%"
            },
            {
                "id": "sec_banking",
                "label": "BANKING SECTOR",
                "type": "SECTOR_HUB",
                "radius": 18,
                "color": "#ef4444",
                "metric": "-0.08%"
            },
            {
                "id": "stock_NSE_INDIAVIX_INDEX",
                "label": "INDIA VIX",
                "symbol": "NSE:INDIAVIX-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#ef4444",
                "ltp": 15.56,
                "change_pct": -0.13,
                "rvol": 1,
                "classification": "Cash Equity Flow",
                "signal_score": 75
            },
            {
                "id": "stock_NSE_NIFTYPHARMA_INDEX",
                "label": "NIFTY PHARMA",
                "symbol": "NSE:NIFTYPHARMA-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 27069,
                "change_pct": -0.04,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_NIFTY50_INDEX",
                "label": "NIFTY 50",
                "symbol": "NSE:NIFTY50-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 23315.45,
                "change_pct": -0.04,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_MIDCPNIFTY_INDEX",
                "label": "NIFTY MIDCAP SELECT",
                "symbol": "NSE:MIDCPNIFTY-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 16685.5,
                "change_pct": -0.06,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_NIFTYAUTO_INDEX",
                "label": "NIFTY AUTO",
                "symbol": "NSE:NIFTYAUTO-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 25688.75,
                "change_pct": -0.03,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_NIFTYIT_INDEX",
                "label": "NIFTY IT",
                "symbol": "NSE:NIFTYIT-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 32390.5,
                "change_pct": -0.03,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_FINNIFTY_INDEX",
                "label": "NIFTY FINANCIAL",
                "symbol": "NSE:FINNIFTY-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 26586.15,
                "change_pct": -0.05,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_NIFTYNEXT50_INDEX",
                "label": "NIFTY NEXT 50",
                "symbol": "NSE:NIFTYNEXT50-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 68757.2,
                "change_pct": -0.04,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_NIFTYMETAL_INDEX",
                "label": "NIFTY METAL",
                "symbol": "NSE:NIFTYMETAL-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 12111.8,
                "change_pct": -0.06,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_NIFTYFMCG_INDEX",
                "label": "NIFTY FMCG",
                "symbol": "NSE:NIFTYFMCG-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 43817.6,
                "change_pct": -0.01,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_NIFTYENERGY_INDEX",
                "label": "NIFTY ENERGY",
                "symbol": "NSE:NIFTYENERGY-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 36112,
                "change_pct": -0.03,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_BANKNIFTY_INDEX",
                "label": "BANK NIFTY",
                "symbol": "NSE:BANKNIFTY-INDEX",
                "type": "STOCK_LEAF",
                "radius": 15,
                "color": "#94a3b8",
                "ltp": 54865.75,
                "change_pct": -0.08,
                "rvol": 1,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_MARUTI_EQ",
                "label": "MARUTI SUZUKI",
                "symbol": "NSE:MARUTI-EQ",
                "type": "STOCK_LEAF",
                "radius": 14,
                "color": "#94a3b8",
                "ltp": 11601,
                "change_pct": -0.01,
                "rvol": 0.7950489786620092,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_M&M_EQ",
                "label": "MAHINDRA & MAHINDRA",
                "symbol": "NSE:M&M-EQ",
                "type": "STOCK_LEAF",
                "radius": 13,
                "color": "#94a3b8",
                "ltp": 2869,
                "change_pct": -0.04,
                "rvol": 0.3776806176565771,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_ICICIBANK_EQ",
                "label": "ICICI BANK",
                "symbol": "NSE:ICICIBANK-EQ",
                "type": "STOCK_LEAF",
                "radius": 13,
                "color": "#94a3b8",
                "ltp": 1381.1,
                "change_pct": -0.07,
                "rvol": 0.36220258276836537,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_RELIANCE_EQ",
                "label": "RELIANCE INDUSTRIES",
                "symbol": "NSE:RELIANCE-EQ",
                "type": "STOCK_LEAF",
                "radius": 13,
                "color": "#94a3b8",
                "ltp": 1262.1,
                "change_pct": 0.06,
                "rvol": 0.34796688857755,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_ITC_EQ",
                "label": "ITC LIMITED",
                "symbol": "NSE:ITC-EQ",
                "type": "STOCK_LEAF",
                "radius": 13,
                "color": "#94a3b8",
                "ltp": 265.95,
                "change_pct": 0,
                "rvol": 0.3398328123568163,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_INFY_EQ",
                "label": "INFOSYS",
                "symbol": "NSE:INFY-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 1156.3,
                "change_pct": -0.02,
                "rvol": 0.3214964143528321,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_INDUSINDBK_EQ",
                "label": "INDUSIND BANK LIMITED",
                "symbol": "NSE:INDUSINDBK-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 835,
                "change_pct": -0.08,
                "rvol": 0.29387990252993035,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_AXISBANK_EQ",
                "label": "AXIS BANK",
                "symbol": "NSE:AXISBANK-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 1204.2,
                "change_pct": -0.07,
                "rvol": 0.27048450951774267,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_HDFCBANK_EQ",
                "label": "HDFC BANK",
                "symbol": "NSE:HDFCBANK-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 698.3,
                "change_pct": -0.14,
                "rvol": 0.2660958133568954,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_ONGC_EQ",
                "label": "OIL & NATURAL GAS CORP",
                "symbol": "NSE:ONGC-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 233.55,
                "change_pct": -0.06,
                "rvol": 0.26495863333614994,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_TCS_EQ",
                "label": "TATA CONSULTANCY SERVICES",
                "symbol": "NSE:TCS-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 2502.5,
                "change_pct": -0.03,
                "rvol": 0.1926374487865281,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_SUNPHARMA_EQ",
                "label": "SUN PHARMACEUTICALS",
                "symbol": "NSE:SUNPHARMA-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 1760.7,
                "change_pct": 0.02,
                "rvol": 0.1925374616140418,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_TATASTEEL_EQ",
                "label": "TATA STEEL",
                "symbol": "NSE:TATASTEEL-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 176.46,
                "change_pct": -0.01,
                "rvol": 0.19157047751494552,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_KOTAKBANK_EQ",
                "label": "KOTAK MAHINDRA BANK",
                "symbol": "NSE:KOTAKBANK-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 457.7,
                "change_pct": -0.07,
                "rvol": 0.1639027561680061,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_WIPRO_EQ",
                "label": "WIPRO",
                "symbol": "NSE:WIPRO-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 196.35,
                "change_pct": -0.01,
                "rvol": 0.1548516757635202,
                "classification": "OI Neutral",
                "signal_score": 50
            },
            {
                "id": "stock_NSE_SBIN_EQ",
                "label": "STATE BANK OF INDIA",
                "symbol": "NSE:SBIN-EQ",
                "type": "STOCK_LEAF",
                "radius": 12,
                "color": "#94a3b8",
                "ltp": 983.15,
                "change_pct": -0.02,
                "rvol": 0.1532928644743615,
                "classification": "OI Neutral",
                "signal_score": 50
            }
        ],
        "links": [
            {
                "source": "hub_market_core",
                "target": "hub_long_buildup",
                "color": "#10b981",
                "width": 2.5,
                "direction": "OUTWARD"
            },
            {
                "source": "hub_market_core",
                "target": "hub_short_buildup",
                "color": "#ef4444",
                "width": 2.5,
                "direction": "OUTWARD"
            },
            {
                "source": "hub_market_core",
                "target": "hub_short_covering",
                "color": "#f59e0b",
                "width": 2.5,
                "direction": "OUTWARD"
            },
            {
                "source": "hub_market_core",
                "target": "hub_long_unwinding",
                "color": "#8b5cf6",
                "width": 2.5,
                "direction": "OUTWARD"
            },
            {
                "source": "hub_market_core",
                "target": "hub_consolidation",
                "color": "#64748b",
                "width": 2.5,
                "direction": "OUTWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_pharma",
                "color": "#10b981",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_energy",
                "color": "#ef4444",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_fmcg",
                "color": "#ef4444",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_metals",
                "color": "#ef4444",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_it",
                "color": "#ef4444",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_auto",
                "color": "#ef4444",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_index",
                "color": "#ef4444",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "hub_market_core",
                "target": "sec_banking",
                "color": "#ef4444",
                "width": 1.5,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_INDIAVIX_INDEX",
                "target": "sec_index",
                "color": "#ef4444",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_INDIAVIX_INDEX",
                "target": "hub_short_buildup",
                "color": "#ef4444",
                "width": 3,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTYPHARMA_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTYPHARMA_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTY50_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTY50_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_MIDCPNIFTY_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_MIDCPNIFTY_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTYAUTO_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTYAUTO_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTYIT_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTYIT_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_FINNIFTY_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_FINNIFTY_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTYNEXT50_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTYNEXT50_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTYMETAL_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTYMETAL_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTYFMCG_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTYFMCG_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_NIFTYENERGY_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_NIFTYENERGY_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_BANKNIFTY_INDEX",
                "target": "sec_index",
                "color": "#94a3b8",
                "width": 1.5,
                "particle_speed": 2,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_BANKNIFTY_INDEX",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_MARUTI_EQ",
                "target": "sec_auto",
                "color": "#94a3b8",
                "width": 1.1925734679930138,
                "particle_speed": 1.34,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_MARUTI_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_M&M_EQ",
                "target": "sec_auto",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_M&M_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_ICICIBANK_EQ",
                "target": "sec_banking",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_ICICIBANK_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_RELIANCE_EQ",
                "target": "sec_energy",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_RELIANCE_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_ITC_EQ",
                "target": "sec_fmcg",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_ITC_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_INFY_EQ",
                "target": "sec_it",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_INFY_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_INDUSINDBK_EQ",
                "target": "sec_banking",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_INDUSINDBK_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_AXISBANK_EQ",
                "target": "sec_banking",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_AXISBANK_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_HDFCBANK_EQ",
                "target": "sec_banking",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_HDFCBANK_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_ONGC_EQ",
                "target": "sec_energy",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_ONGC_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_TCS_EQ",
                "target": "sec_it",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_TCS_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_SUNPHARMA_EQ",
                "target": "sec_pharma",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_SUNPHARMA_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_TATASTEEL_EQ",
                "target": "sec_metals",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_TATASTEEL_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_KOTAKBANK_EQ",
                "target": "sec_banking",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_KOTAKBANK_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_WIPRO_EQ",
                "target": "sec_it",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_WIPRO_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            },
            {
                "source": "stock_NSE_SBIN_EQ",
                "target": "sec_banking",
                "color": "#94a3b8",
                "width": 1,
                "particle_speed": 1,
                "direction": "INWARD"
            },
            {
                "source": "stock_NSE_SBIN_EQ",
                "target": "hub_consolidation",
                "color": "#94a3b8",
                "width": 2,
                "particle_speed": 1,
                "direction": "OUTWARD"
            }
        ],
        "total_nodes": 42,
        "total_links": 69
    },
    "stocks": [
        {
            "symbol": "NSE:INDIAVIX-INDEX",
            "display_name": "INDIA VIX",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": false,
            "ltp": 15.56,
            "change_abs": -0.02,
            "change_pct": -0.13,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "BEARISH",
            "classification": "CASH_EQUITY_NO_OI",
            "classification_label": "Cash Equity Flow",
            "classification_desc": "Downward slip on routine volume.",
            "buyer_pct": 34.4,
            "seller_pct": 65.6,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 75,
            "vwap": 15.57,
            "vwap_deviation_pct": -0.06,
            "rsi": 37.3,
            "adx": 23,
            "atr": 0.07,
            "supertrend": 15.37,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 15.34,
                "r1": 16.14,
                "s1": 14.77,
                "dist_r1_pct": 3.73,
                "dist_s1_pct": 5.08
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "TRIGGER_CONFIRMED",
                "type": "VWAP_BREAKDOWN_SHORT",
                "entry_trigger": 15.56,
                "stop_loss": 15.63,
                "target_1": 14.06,
                "target_2": 13.06,
                "risk_reward": "1.5:1",
                "invalidation": "Price crossing opposite of VWAP (15.57)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTYPHARMA-INDEX",
            "display_name": "NIFTY PHARMA",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 27069,
            "change_abs": -10.5,
            "change_pct": -0.04,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 27.1,
            "seller_pct": 72.9,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 27072.23,
            "vwap_deviation_pct": -0.01,
            "rsi": 53.2,
            "adx": 21.2,
            "atr": 24.85,
            "supertrend": 27142.46,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 27089.7,
                "r1": 27241.05,
                "s1": 26917.65,
                "dist_r1_pct": 0.64,
                "dist_s1_pct": 0.56
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (27072.23)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTY50-INDEX",
            "display_name": "NIFTY 50",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 23315.45,
            "change_abs": -10,
            "change_pct": -0.04,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 53.8,
            "seller_pct": 46.2,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 23318.95,
            "vwap_deviation_pct": -0.02,
            "rsi": 62.2,
            "adx": 26.2,
            "atr": 21.16,
            "supertrend": 23259.97,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 23225.43,
                "r1": 23450.22,
                "s1": 23090.67,
                "dist_r1_pct": 0.58,
                "dist_s1_pct": 0.96
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (23318.95)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:MIDCPNIFTY-INDEX",
            "display_name": "NIFTY MIDCAP SELECT",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 16685.5,
            "change_abs": -9.95,
            "change_pct": -0.06,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 47,
            "seller_pct": 53,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 16688.98,
            "vwap_deviation_pct": -0.02,
            "rsi": 53.3,
            "adx": 17,
            "atr": 13.5,
            "supertrend": 16654.49,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 16641.55,
                "r1": 16795.65,
                "s1": 16531.4,
                "dist_r1_pct": 0.66,
                "dist_s1_pct": 0.92
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (16688.98)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTYAUTO-INDEX",
            "display_name": "NIFTY AUTO",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 25688.75,
            "change_abs": -6.45,
            "change_pct": -0.03,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 68.2,
            "seller_pct": 31.8,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 25687.5,
            "vwap_deviation_pct": 0,
            "rsi": 41.3,
            "adx": 26,
            "atr": 29.95,
            "supertrend": 25598.52,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 25648.13,
                "r1": 25873.57,
                "s1": 25463.32,
                "dist_r1_pct": 0.72,
                "dist_s1_pct": 0.88
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (25687.5)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTYIT-INDEX",
            "display_name": "NIFTY IT",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 32390.5,
            "change_abs": -9.95,
            "change_pct": -0.03,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 20,
            "seller_pct": 80,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 32395.35,
            "vwap_deviation_pct": -0.01,
            "rsi": 43.6,
            "adx": 30.4,
            "atr": 34.38,
            "supertrend": 32491.22,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 32533.75,
                "r1": 32735.5,
                "s1": 32188.75,
                "dist_r1_pct": 1.07,
                "dist_s1_pct": 0.62
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (32395.35)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:FINNIFTY-INDEX",
            "display_name": "NIFTY FINANCIAL",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 26586.15,
            "change_abs": -14.45,
            "change_pct": -0.05,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 55.7,
            "seller_pct": 44.3,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 26591.17,
            "vwap_deviation_pct": -0.02,
            "rsi": 64.8,
            "adx": 27.7,
            "atr": 27.6,
            "supertrend": 26513.63,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 26537.78,
                "r1": 26686.57,
                "s1": 26437.37,
                "dist_r1_pct": 0.38,
                "dist_s1_pct": 0.56
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (26591.17)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTYNEXT50-INDEX",
            "display_name": "NIFTY NEXT 50",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 68757.2,
            "change_abs": -25.1,
            "change_pct": -0.04,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 48.9,
            "seller_pct": 51.1,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 68765.87,
            "vwap_deviation_pct": -0.01,
            "rsi": 55.6,
            "adx": 18.2,
            "atr": 50.42,
            "supertrend": 68638.02,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 68423.77,
                "r1": 69273.53,
                "s1": 67907.43,
                "dist_r1_pct": 0.75,
                "dist_s1_pct": 1.24
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (68765.87)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTYMETAL-INDEX",
            "display_name": "NIFTY METAL",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 12111.8,
            "change_abs": -6.95,
            "change_pct": -0.06,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 52.9,
            "seller_pct": 47.1,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 12114.08,
            "vwap_deviation_pct": -0.02,
            "rsi": 61.2,
            "adx": 34.4,
            "atr": 13.58,
            "supertrend": 12077.2,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 12001.17,
                "r1": 12234.13,
                "s1": 11878.83,
                "dist_r1_pct": 1.01,
                "dist_s1_pct": 1.92
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (12114.08)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTYFMCG-INDEX",
            "display_name": "NIFTY FMCG",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 43817.6,
            "change_abs": -3.1,
            "change_pct": -0.01,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 52.3,
            "seller_pct": 47.7,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 43818.12,
            "vwap_deviation_pct": -0,
            "rsi": 59.8,
            "adx": 23.8,
            "atr": 50.71,
            "supertrend": 43676.07,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 43815.43,
                "r1": 44093.17,
                "s1": 43539.87,
                "dist_r1_pct": 0.63,
                "dist_s1_pct": 0.63
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (43818.12)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:NIFTYENERGY-INDEX",
            "display_name": "NIFTY ENERGY",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 36112,
            "change_abs": -12.45,
            "change_pct": -0.03,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 53.6,
            "seller_pct": 46.4,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 36116.05,
            "vwap_deviation_pct": -0.01,
            "rsi": 61.8,
            "adx": 25.3,
            "atr": 31.77,
            "supertrend": 36036.12,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 35712.25,
                "r1": 36550.55,
                "s1": 35273.7,
                "dist_r1_pct": 1.21,
                "dist_s1_pct": 2.32
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (36116.05)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:BANKNIFTY-INDEX",
            "display_name": "BANK NIFTY",
            "segment": "INDEX",
            "sector": "INDEX",
            "is_fo": true,
            "ltp": 54865.75,
            "change_abs": -44.65,
            "change_pct": -0.08,
            "volume": 0,
            "rvol": 1,
            "vol_acceleration": 1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 52.9,
            "seller_pct": 47.1,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 54880.83,
            "vwap_deviation_pct": -0.03,
            "rsi": 61.4,
            "adx": 24.9,
            "atr": 61.59,
            "supertrend": 54721.21,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 54831.18,
                "r1": 55080.37,
                "s1": 54616.57,
                "dist_r1_pct": 0.39,
                "dist_s1_pct": 0.45
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (54880.83)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:MARUTI-EQ",
            "display_name": "MARUTI SUZUKI",
            "segment": "EQUITY",
            "sector": "AUTO",
            "is_fo": true,
            "ltp": 11601,
            "change_abs": -1,
            "change_pct": -0.01,
            "volume": 2094,
            "rvol": 0.7950489786620092,
            "vol_acceleration": 0.67,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 65.2,
            "seller_pct": 34.8,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 11590.34,
            "vwap_deviation_pct": 0.09,
            "rsi": 37.1,
            "adx": 32.9,
            "atr": 17.19,
            "supertrend": 11555.93,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 11576.67,
                "r1": 11792.33,
                "s1": 11385.33,
                "dist_r1_pct": 1.65,
                "dist_s1_pct": 1.86
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "BULLISH_SELLING_EXHAUSTION",
            "is_unusual": true,
            "unusual_reasons": [
                "BULLISH_SELLING_EXHAUSTION"
            ],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (11590.34)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:M&M-EQ",
            "display_name": "MAHINDRA & MAHINDRA",
            "segment": "EQUITY",
            "sector": "AUTO",
            "is_fo": true,
            "ltp": 2869,
            "change_abs": -1.1,
            "change_pct": -0.04,
            "volume": 11437,
            "rvol": 0.3776806176565771,
            "vol_acceleration": 0.11,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 14.7,
            "seller_pct": 85.3,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 2872.51,
            "vwap_deviation_pct": -0.12,
            "rsi": 36.7,
            "adx": 23.3,
            "atr": 7.31,
            "supertrend": 2891.12,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 2868.67,
                "r1": 2898.33,
                "s1": 2839.33,
                "dist_r1_pct": 1.02,
                "dist_s1_pct": 1.03
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (2872.51)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:ICICIBANK-EQ",
            "display_name": "ICICI BANK",
            "segment": "EQUITY",
            "sector": "BANKING",
            "is_fo": true,
            "ltp": 1381.1,
            "change_abs": -1,
            "change_pct": -0.07,
            "volume": 38752,
            "rvol": 0.36220258276836537,
            "vol_acceleration": 0.31,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 26.5,
            "seller_pct": 73.5,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 1390.64,
            "vwap_deviation_pct": -0.69,
            "rsi": 52.7,
            "adx": 34.8,
            "atr": 1.77,
            "supertrend": 1386.98,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 1386.1,
                "r1": 1397,
                "s1": 1370.2,
                "dist_r1_pct": 1.15,
                "dist_s1_pct": 0.79
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "BEARISH_VOLUME_EXHAUSTION",
            "is_unusual": true,
            "unusual_reasons": [
                "BEARISH_VOLUME_EXHAUSTION"
            ],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (1390.64)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:RELIANCE-EQ",
            "display_name": "RELIANCE INDUSTRIES",
            "segment": "EQUITY",
            "sector": "ENERGY",
            "is_fo": true,
            "ltp": 1262.1,
            "change_abs": 0.8,
            "change_pct": 0.06,
            "volume": 132764,
            "rvol": 0.34796688857755,
            "vol_acceleration": 0.23,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 85.1,
            "seller_pct": 14.9,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 1230.06,
            "vwap_deviation_pct": 2.6,
            "rsi": 62.8,
            "adx": 30.6,
            "atr": 3.02,
            "supertrend": 1252.99,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 1228.43,
                "r1": 1298.47,
                "s1": 1192.07,
                "dist_r1_pct": 2.88,
                "dist_s1_pct": 5.55
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (1230.06)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:ITC-EQ",
            "display_name": "ITC LIMITED",
            "segment": "EQUITY",
            "sector": "FMCG",
            "is_fo": true,
            "ltp": 265.95,
            "change_abs": 0,
            "change_pct": 0,
            "volume": 41720,
            "rvol": 0.3398328123568163,
            "vol_acceleration": 0.34,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 31.3,
            "seller_pct": 68.7,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 266.11,
            "vwap_deviation_pct": -0.06,
            "rsi": 58.4,
            "adx": 22.2,
            "atr": 0.42,
            "supertrend": 267.13,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 266.38,
                "r1": 268.77,
                "s1": 263.57,
                "dist_r1_pct": 1.06,
                "dist_s1_pct": 0.89
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (266.11)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:INFY-EQ",
            "display_name": "INFOSYS",
            "segment": "EQUITY",
            "sector": "IT",
            "is_fo": true,
            "ltp": 1156.3,
            "change_abs": -0.2,
            "change_pct": -0.02,
            "volume": 35152,
            "rvol": 0.3214964143528321,
            "vol_acceleration": 0.29,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 45,
            "seller_pct": 55,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 1172.44,
            "vwap_deviation_pct": -1.38,
            "rsi": 50.2,
            "adx": 43.8,
            "atr": 1.9,
            "supertrend": 1151.21,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 1166,
                "r1": 1181,
                "s1": 1141.3,
                "dist_r1_pct": 2.14,
                "dist_s1_pct": 1.3
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (1172.44)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:INDUSINDBK-EQ",
            "display_name": "INDUSIND BANK LIMITED",
            "segment": "EQUITY",
            "sector": "BANKING",
            "is_fo": true,
            "ltp": 835,
            "change_abs": -0.7,
            "change_pct": -0.08,
            "volume": 4999,
            "rvol": 0.29387990252993035,
            "vol_acceleration": 0.17,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 43.3,
            "seller_pct": 56.7,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 838.01,
            "vwap_deviation_pct": -0.36,
            "rsi": 48.6,
            "adx": 11.7,
            "atr": 1.33,
            "supertrend": 832.06,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 836.12,
                "r1": 844.53,
                "s1": 826.58,
                "dist_r1_pct": 1.14,
                "dist_s1_pct": 1.01
            },
            "squeeze_state": "COMPRESSION",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (838.01)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:AXISBANK-EQ",
            "display_name": "AXIS BANK",
            "segment": "EQUITY",
            "sector": "BANKING",
            "is_fo": true,
            "ltp": 1204.2,
            "change_abs": -0.8,
            "change_pct": -0.07,
            "volume": 12250,
            "rvol": 0.27048450951774267,
            "vol_acceleration": 0.18,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 20.6,
            "seller_pct": 79.4,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 1211.11,
            "vwap_deviation_pct": -0.57,
            "rsi": 44.9,
            "adx": 25.3,
            "atr": 1.71,
            "supertrend": 1209.25,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 1208.73,
                "r1": 1215.97,
                "s1": 1196.97,
                "dist_r1_pct": 0.98,
                "dist_s1_pct": 0.6
            },
            "squeeze_state": "COMPRESSION",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (1211.11)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:HDFCBANK-EQ",
            "display_name": "HDFC BANK",
            "segment": "EQUITY",
            "sector": "BANKING",
            "is_fo": true,
            "ltp": 698.3,
            "change_abs": -0.95,
            "change_pct": -0.14,
            "volume": 64041,
            "rvol": 0.2660958133568954,
            "vol_acceleration": 0.09,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 88.9,
            "seller_pct": 11.1,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 692.74,
            "vwap_deviation_pct": 0.8,
            "rsi": 76.8,
            "adx": 33.4,
            "atr": 1.5,
            "supertrend": 694.28,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 695.92,
                "r1": 703.13,
                "s1": 691.08,
                "dist_r1_pct": 0.69,
                "dist_s1_pct": 1.03
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (692.74)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:ONGC-EQ",
            "display_name": "OIL & NATURAL GAS CORP",
            "segment": "EQUITY",
            "sector": "ENERGY",
            "is_fo": true,
            "ltp": 233.55,
            "change_abs": -0.15,
            "change_pct": -0.06,
            "volume": 35747,
            "rvol": 0.26495863333614994,
            "vol_acceleration": 0.22,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 89.5,
            "seller_pct": 10.5,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 229.01,
            "vwap_deviation_pct": 1.98,
            "rsi": 75.2,
            "adx": 53.9,
            "atr": 0.42,
            "supertrend": 232.36,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 230.89,
                "r1": 236.4,
                "s1": 228.05,
                "dist_r1_pct": 1.22,
                "dist_s1_pct": 2.35
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (229.01)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:TCS-EQ",
            "display_name": "TATA CONSULTANCY SERVICES",
            "segment": "EQUITY",
            "sector": "IT",
            "is_fo": true,
            "ltp": 2502.5,
            "change_abs": -0.7,
            "change_pct": -0.03,
            "volume": 3477,
            "rvol": 0.1926374487865281,
            "vol_acceleration": 0.14,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 33.4,
            "seller_pct": 66.6,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 2522.09,
            "vwap_deviation_pct": -0.78,
            "rsi": 34.8,
            "adx": 43,
            "atr": 2.99,
            "supertrend": 2495,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 2518.2,
                "r1": 2534.2,
                "s1": 2486.5,
                "dist_r1_pct": 1.27,
                "dist_s1_pct": 0.64
            },
            "squeeze_state": "COMPRESSION",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (2522.09)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:SUNPHARMA-EQ",
            "display_name": "SUN PHARMACEUTICALS",
            "segment": "EQUITY",
            "sector": "PHARMA",
            "is_fo": true,
            "ltp": 1760.7,
            "change_abs": 0.4,
            "change_pct": 0.02,
            "volume": 8436,
            "rvol": 0.1925374616140418,
            "vol_acceleration": 0.25,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 29.4,
            "seller_pct": 70.6,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 1786.35,
            "vwap_deviation_pct": -1.44,
            "rsi": 55.7,
            "adx": 18.3,
            "atr": 3.73,
            "supertrend": 1770.88,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 1778.7,
                "r1": 1822.7,
                "s1": 1716.7,
                "dist_r1_pct": 3.52,
                "dist_s1_pct": 2.5
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "BEARISH_VOLUME_EXHAUSTION",
            "is_unusual": true,
            "unusual_reasons": [
                "BEARISH_VOLUME_EXHAUSTION"
            ],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (1786.35)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:TATASTEEL-EQ",
            "display_name": "TATA STEEL",
            "segment": "EQUITY",
            "sector": "METALS",
            "is_fo": true,
            "ltp": 176.46,
            "change_abs": -0.02,
            "change_pct": -0.01,
            "volume": 55452,
            "rvol": 0.19157047751494552,
            "vol_acceleration": 0.26,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 81.6,
            "seller_pct": 18.4,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 173.08,
            "vwap_deviation_pct": 1.95,
            "rsi": 58.9,
            "adx": 33,
            "atr": 0.28,
            "supertrend": 175.69,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 173.64,
                "r1": 179.68,
                "s1": 170.42,
                "dist_r1_pct": 1.82,
                "dist_s1_pct": 3.42
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "BULLISH_SELLING_EXHAUSTION",
            "is_unusual": true,
            "unusual_reasons": [
                "BULLISH_SELLING_EXHAUSTION"
            ],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (173.08)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:KOTAKBANK-EQ",
            "display_name": "KOTAK MAHINDRA BANK",
            "segment": "EQUITY",
            "sector": "BANKING",
            "is_fo": true,
            "ltp": 457.7,
            "change_abs": -0.3,
            "change_pct": -0.07,
            "volume": 29143,
            "rvol": 0.1639027561680061,
            "vol_acceleration": 0.12,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 17.2,
            "seller_pct": 82.8,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 461.67,
            "vwap_deviation_pct": -0.86,
            "rsi": 40.4,
            "adx": 36.5,
            "atr": 0.76,
            "supertrend": 460.05,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 460.18,
                "r1": 463.42,
                "s1": 454.47,
                "dist_r1_pct": 1.25,
                "dist_s1_pct": 0.71
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (461.67)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:WIPRO-EQ",
            "display_name": "WIPRO",
            "segment": "EQUITY",
            "sector": "IT",
            "is_fo": true,
            "ltp": 196.35,
            "change_abs": -0.02,
            "change_pct": -0.01,
            "volume": 14655,
            "rvol": 0.1548516757635202,
            "vol_acceleration": 0.06,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 23.4,
            "seller_pct": 76.6,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 197.04,
            "vwap_deviation_pct": -0.35,
            "rsi": 48,
            "adx": 14.2,
            "atr": 0.22,
            "supertrend": 196.94,
            "supertrend_direction": "BEARISH",
            "pivots": {
                "pp": 197.1,
                "r1": 199.15,
                "s1": 194.3,
                "dist_r1_pct": 1.43,
                "dist_s1_pct": 1.04
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (197.04)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        },
        {
            "symbol": "NSE:SBIN-EQ",
            "display_name": "STATE BANK OF INDIA",
            "segment": "EQUITY",
            "sector": "BANKING",
            "is_fo": true,
            "ltp": 983.15,
            "change_abs": -0.15,
            "change_pct": -0.02,
            "volume": 22350,
            "rvol": 0.1532928644743615,
            "vol_acceleration": 0.1,
            "oi": 0,
            "oi_change": 0,
            "oi_change_pct": 0,
            "bias": "NEUTRAL",
            "classification": "OI_NEUTRAL",
            "classification_label": "OI Neutral",
            "classification_desc": "Price and Open Interest movements are within neutral fluctuation threshold.",
            "buyer_pct": 85.2,
            "seller_pct": 14.8,
            "buyer_seller_action": "Equilibrium balance. Buyers and sellers absorbing orders in a narrow consolidation band.",
            "trader_guidance": "No high-conviction trade. Wait for clean range expansion above R1 or below S1.",
            "quadrant_tag": "CONSOLIDATION",
            "signal_score": 50,
            "vwap": 972.86,
            "vwap_deviation_pct": 1.06,
            "rsi": 63.8,
            "adx": 32.4,
            "atr": 2.18,
            "supertrend": 976.85,
            "supertrend_direction": "BULLISH",
            "pivots": {
                "pp": 976.88,
                "r1": 994.02,
                "s1": 966.02,
                "dist_r1_pct": 1.11,
                "dist_s1_pct": 1.74
            },
            "squeeze_state": "NORMAL",
            "volume_divergence": "CONGRUENT",
            "is_unusual": false,
            "unusual_reasons": [],
            "setup": {
                "state": "WATCHLIST",
                "type": "NONE",
                "entry_trigger": null,
                "stop_loss": null,
                "target_1": null,
                "target_2": null,
                "risk_reward": null,
                "invalidation": "Price crossing opposite of VWAP (972.86)"
            },
            "timestamp": 1793611200,
            "timestamp_formatted": "14:50:00 IST",
            "data_freshness": "LIVE",
            "data_source": "EXCHANGE_FEED"
        }
    ],
    "ai_interpretation": {
        "executive_summary": "Market is currently in TRENDING_BEARISH mode with 2 advances and 25 declines. Participation is concentrated in leading sectors.",
        "sector_flow_dynamics": "Banking and IT are displaying the most significant relative strength, dictating overall index direction.",
        "trap_warning": "Avoid chasing breakout candles without volume confirmation; verify that price sustains above session VWAP.",
        "hinglish_mentor_voice": "Market me flow ko follow karo. Jin stocks me fresh Long Build-up dikh raha hai unhi me setup dhoondo. Rangebound stocks me trade mat karo taaki capital bacha rahe.",
        "pro_trader_rule": "Trade the flow, not your opinion. Wait for confirmed candle close before entry.",
        "model_name": "quant-rules-fallback"
    }
}