{
  "report_id": "theme_ai_capex_node_memory_storage_screen",
  "report_type": "theme_value_chain_node",
  "site_path": "themes/ai-capex-cycle/nodes/memory-storage-screen/index.html",
  "title": "Memory and storage screen",
  "as_of": "2026-06-07",
  "generated_at": "2026-06-13T13:28:46-07:00",
  "freshness": {
    "price_data_as_of": "2026-06-12",
    "setup_as_of": "2026-06-05",
    "daily_ohlc_latest": "2026-06-12",
    "chart_interval": "weekly",
    "knowledge_reviewed_as_of": "2026-06-08",
    "official_sources_reviewed_as_of": "2026-06-13",
    "earnings_dates_reviewed_as_of": "2026-06-13",
    "active_common_stocks": 5274,
    "filtered_coverage_count": 4991,
    "limitations": [
      "No maintained local security lanes exist for MU, SNDK, STX, or WDC, so this node is an operating screen rather than a company underwriting page.",
      "SNDK public discovery history starts on 2025-02-24 and does not yet support a 100-week EMA or full three-year chart window.",
      "Static setup labels use completed weekly bars through 2026-06-05; local daily_ohlc has stored rows through 2026-06-12, so static thresholds must be refreshed before use as current trading evidence.",
      "Ticker-specific daily_ohlc lineage shows May 11, 2026 runs with source freshness of 2026-05-08 even though the canonical daily_ohlc table has rows through 2026-06-12; refresh lineage before using this page for a new market session.",
      "Representative selected-security API validation for MU succeeded on June 13, 2026 after starting the local report API; the response resolved weekly chart data through 2026-06-12.",
      "Micron has a company-confirmed June 24, 2026 earnings call; no company-confirmed next earnings dates were found for SNDK, STX, or WDC in bounded June 13 checks, so those cards use Not confirmed.",
      "RMBS, NTAP, SIMO, FORM, and PSTG/P were reviewed as tails but were not promoted into the ranked basket because of node ownership, missing local chart coverage, or weaker direct memory/storage-media economics."
    ]
  },
  "revision": {
    "version": 3,
    "updated_label": "Reformatted node page with visual setup, basket cards, evidence board, earnings-source caveats, and stale setup disclosure",
    "metadata_path": "themes/ai-capex-cycle/nodes/memory-storage-screen/report.json",
    "curation_source": "reports-value-chain-node-pages skill, parent AI capex report, local knowledge routes, bounded official/company earnings checks, SEC filings, and read-only discovery daily_ohlc"
  },
  "node": {
    "slug": "memory-storage-screen",
    "order": 6,
    "level": "L2 investable operating node",
    "role": "Screens HBM, DRAM, NAND, SSD, and mass-capacity storage routes that can validate or strain the AI capex chain through allocation, pricing, shipment timing, and downstream margin absorption.",
    "description": "Memory and storage screen covers MU, SNDK, STX, and WDC as operating routes for AI memory and storage economics. The node gets paid when supplier pricing, volume, gross margin, and cash improve without choking server, cloud, EMS, or device economics."
  },
  "ticker_baskets": {
    "core": [
      "MU",
      "SNDK",
      "STX",
      "WDC"
    ],
    "option": [],
    "watch": []
  },
  "basket_statistics": {
    "sessions_5": {
      "average_pct": -6.6,
      "median_pct": -5.8
    },
    "sessions_21": {
      "average_pct": 13.5,
      "median_pct": 9.2
    },
    "sessions_63": {
      "average_pct": 144.5,
      "median_pct": 136.8
    }
  },
  "technical_setups": [
    {
      "ticker": "MU",
      "label": "overextension; volume confirmation",
      "zone": "Weekly close $864.01, +54.2% above the 20W EMA $560.35 and +216.7% above the 100W EMA $272.82 after a +133.3% 63-session move.",
      "trigger": "Weekly close above $981.00 would reclaim the recent high.",
      "invalidation": "Weekly close below $652.21; deeper failure below the 20W EMA at $560.35 breaks the intermediate trend.",
      "comment": "MU has the cleanest direct memory role and completed-week volume was +22.6% versus its 20W average, but the chart is stretched after a large 63-session move. Watch whether official ASP, HBM, gross-margin, inventory, and cash-flow evidence keep pace with the price."
    },
    {
      "ticker": "SNDK",
      "label": "overextension; short-history caveat",
      "zone": "Weekly close $1,559.32, +54.5% above the 20W EMA $1,009.50 after a +195.7% 63-session move. The public discovery series starts on 2025-02-24, so there is no 100W EMA yet.",
      "trigger": "Weekly close above $1,708.83 would reclaim the recent high.",
      "invalidation": "Weekly close below $1,277.33; deeper failure below the 20W EMA at $1,009.50 breaks the intermediate trend.",
      "comment": "SNDK is the clean NAND/flash route after the WDC separation, but the chart has only 324 daily rows and no 100W EMA. Treat price strength as a watch signal until post-separation filings build more history."
    },
    {
      "ticker": "STX",
      "label": "overextension; volume divergence",
      "zone": "Weekly close $847.47, +43.9% above the 20W EMA $588.90 and +192.8% above the 100W EMA $289.44 after a +140.2% 63-session move.",
      "trigger": "Weekly close above $905.39 would reclaim the recent high.",
      "invalidation": "Weekly close below $695.14; deeper failure below the 20W EMA at $588.90 breaks the intermediate trend.",
      "comment": "STX has the mass-capacity HDD route and official releases show strong storage economics, but completed-week volume was -25.5% versus its 20W average. Watch Data Center mix, nearline exabytes, pricing, gross margin, and free cash flow."
    },
    {
      "ticker": "WDC",
      "label": "overextension; volume divergence",
      "zone": "Weekly close $511.72, +38.0% above the 20W EMA $370.84 and +184.3% above the 100W EMA $179.98 after a +108.7% 63-session move.",
      "trigger": "Weekly close above $553.50 would reclaim the recent high.",
      "invalidation": "Weekly close below $434.00; deeper failure below the 20W EMA at $370.84 breaks the intermediate trend.",
      "comment": "WDC is the post-separation HDD/storage route. The setup is extended while completed-week volume was -17.9% versus its 20W average; confirmation needs cloud/storage revenue, pricing, gross margin, and customer concentration to remain supportive."
    }
  ],
  "chart_artifacts": [
    {
      "chart_id": "chart-mu",
      "ticker": "MU",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "weekly_volume",
        "20w_average_volume",
        "100w_ema"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-06-12",
      "setup_as_of": "2026-06-05",
      "visible_years": 3,
      "visible_start_date": "2023-06-09",
      "visible_end_date": "2026-06-12",
      "rendering": "api_right_rail",
      "api_route": "/api/securities/MU/chart?frequency=weekly&window=3y&as_of=latest",
      "fallback_table": false,
      "limitations": [
        "Static setup label and thresholds remain based on completed weekly bars through 2026-06-05; refresh before using as current trading evidence."
      ]
    },
    {
      "chart_id": "chart-sndk",
      "ticker": "SNDK",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "weekly_volume",
        "20w_average_volume"
      ],
      "indicator_method": "20-week exponential moving average computed from weekly closes using full available public history before visible-window clipping; 100-week EMA omitted because SNDK does not have enough post-separation public history; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-06-12",
      "setup_as_of": "2026-06-05",
      "visible_years": 3,
      "visible_start_date": "2025-02-28",
      "visible_end_date": "2026-06-12",
      "rendering": "api_right_rail",
      "api_route": "/api/securities/SNDK/chart?frequency=weekly&window=3y&as_of=latest",
      "fallback_table": false,
      "limitations": [
        "Short public discovery history; no 100w_ema/full three-year window yet.",
        "Static setup label and thresholds remain based on completed weekly bars through 2026-06-05; refresh before using as current trading evidence."
      ]
    },
    {
      "chart_id": "chart-stx",
      "ticker": "STX",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "weekly_volume",
        "20w_average_volume",
        "100w_ema"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-06-12",
      "setup_as_of": "2026-06-05",
      "visible_years": 3,
      "visible_start_date": "2023-06-09",
      "visible_end_date": "2026-06-12",
      "rendering": "api_right_rail",
      "api_route": "/api/securities/STX/chart?frequency=weekly&window=3y&as_of=latest",
      "fallback_table": false,
      "limitations": [
        "Static setup label and thresholds remain based on completed weekly bars through 2026-06-05; refresh before using as current trading evidence."
      ]
    },
    {
      "chart_id": "chart-wdc",
      "ticker": "WDC",
      "source_table": "daily_ohlc",
      "chart_interval": "weekly",
      "aggregation": "weekly bars grouped from daily rows by calendar week; open is first row, high is weekly max, low is weekly min, close is final row, volume is summed",
      "indicators": [
        "20w_ema",
        "weekly_volume",
        "20w_average_volume",
        "100w_ema"
      ],
      "indicator_method": "20-week and 100-week exponential moving averages computed from weekly closes using full available weekly history before visible-window clipping; weekly volume bars shown with a 20-week average volume line",
      "price_data_as_of": "2026-06-12",
      "setup_as_of": "2026-06-05",
      "visible_years": 3,
      "visible_start_date": "2023-06-09",
      "visible_end_date": "2026-06-12",
      "rendering": "api_right_rail",
      "api_route": "/api/securities/WDC/chart?frequency=weekly&window=3y&as_of=latest",
      "fallback_table": false,
      "limitations": [
        "Static setup label and thresholds remain based on completed weekly bars through 2026-06-05; refresh before using as current trading evidence."
      ]
    }
  ],
  "basket_detail_sources": [
    {
      "ticker": "MU",
      "rank": 1,
      "market_cap_source": "discovery:duckdb:daily_ohlc_close_times_weighted_shares_outstanding:2026-06-12",
      "market_cap": "$1.107T",
      "next_earnings": "June 24, 2026",
      "next_earnings_source": "Micron Investor Relations events page, checked 2026-06-13",
      "next_earnings_status": "company_confirmed",
      "latest_quarter_revenue": "$23.86B",
      "latest_quarter_period": "Q2 FY2026, quarter ended 2026-02-26",
      "latest_quarter_revenue_source": "Micron Q2 FY2026 earnings release, 2026-03-18"
    },
    {
      "ticker": "SNDK",
      "rank": 2,
      "market_cap_source": "discovery:duckdb:daily_ohlc_close_times_weighted_shares_outstanding:2026-06-12",
      "market_cap": "$293.2B",
      "next_earnings": "Not confirmed",
      "next_earnings_source": "Bounded company IR/release/Nasdaq checks, checked 2026-06-13",
      "next_earnings_status": "not_confirmed",
      "latest_quarter_revenue": "$5.950B",
      "latest_quarter_period": "Q3 FY2026",
      "latest_quarter_revenue_source": "Sandisk Q3 FY2026 earnings release, 2026-04-30"
    },
    {
      "ticker": "STX",
      "rank": 3,
      "market_cap_source": "discovery:duckdb:daily_ohlc_close_times_weighted_shares_outstanding:2026-06-12",
      "market_cap": "$208.8B",
      "next_earnings": "Not confirmed",
      "next_earnings_source": "Bounded company IR/release/Nasdaq checks, checked 2026-06-13",
      "next_earnings_status": "not_confirmed",
      "latest_quarter_revenue": "$3.112B",
      "latest_quarter_period": "Q3 FY2026, quarter ended 2026-04-03",
      "latest_quarter_revenue_source": "Seagate Q3 FY2026 earnings release, 2026-04-28"
    },
    {
      "ticker": "WDC",
      "rank": 4,
      "market_cap_source": "discovery:duckdb:daily_ohlc_close_times_weighted_shares_outstanding:2026-06-12",
      "market_cap": "$194.0B",
      "next_earnings": "Not confirmed",
      "next_earnings_source": "Bounded company IR/release/Nasdaq checks, checked 2026-06-13",
      "next_earnings_status": "not_confirmed",
      "latest_quarter_revenue": "$3.337B",
      "latest_quarter_period": "Q3 FY2026",
      "latest_quarter_revenue_source": "WD Q3 FY2026 earnings release, 2026-04-30"
    }
  ],
  "links_out": [
    "theme_ai_capex_cycle",
    "theme_memory_and_component_scarcity",
    "sector_information_technology",
    "theme_trade_tariff_sourcing_geography"
  ],
  "knowledge_sources": [
    "../../../../../knowledge/wiki/concepts/themes/ai-capex-cycle.md",
    "../../../../../knowledge/wiki/concepts/themes/memory-and-component-scarcity.md",
    "../../../../../knowledge/wiki/lanes/sector/information-technology.md",
    "../../../../../knowledge/wiki/concepts/themes/funding-dependency-and-duration-tolerance.md",
    "../../../../../knowledge/wiki/concepts/themes/trade-tariff-sourcing-geography.md"
  ],
  "external_sources": [
    {
      "kind": "official_company_release",
      "label": "Micron Q2 FY2026 earnings release",
      "published_date": "2026-03-18",
      "url": "https://micron.gcs-web.com/news-releases/news-release-details/micron-technology-inc-reports-results-second-quarter-fiscal-2026",
      "use": "Q2 revenue, Cloud Memory revenue, Core Data Center revenue, gross margin, operating cash flow, and Q3 revenue guidance."
    },
    {
      "kind": "official_company_release",
      "label": "Sandisk Q3 FY2026 earnings release",
      "published_date": "2026-04-30",
      "url": "https://investor.sandisk.com/news-releases/news-release-details/sandisk-reports-fiscal-third-quarter-2026-financial-results",
      "use": "Post-separation revenue, Datacenter/Edge/Consumer mix, gross margin, and Q4 revenue guidance."
    },
    {
      "kind": "official_company_release",
      "label": "Seagate Q3 FY2026 earnings release",
      "published_date": "2026-04-28",
      "url": "https://investors.seagate.com/news/news-details/2026/Seagate-Technology-Reports-Fiscal-Third-Quarter-2026-Financial-Results/default.aspx",
      "use": "Revenue, gross margin, operating cash flow, free cash flow, and Q4 revenue guidance."
    },
    {
      "kind": "sec_filing",
      "label": "Seagate Q3 FY2026 Form 10-Q",
      "published_date": "2026-05-01",
      "url": "https://www.sec.gov/Archives/edgar/data/1137789/000113778926000088/stx-20260403.htm",
      "use": "Data Center revenue share and nearline HDD exabytes."
    },
    {
      "kind": "official_company_release",
      "label": "Western Digital Q3 FY2026 earnings release",
      "published_date": "2026-04-30",
      "url": "https://www.westerndigital.com/en-sg/company/newsroom/press-releases/2026/2026-04-30-wd-reports-fiscal-third-quarter-2026-financial-results",
      "use": "Revenue, gross margin, free cash flow, Q4 gross-margin guidance, and separation basis."
    },
    {
      "kind": "sec_filing",
      "label": "Western Digital Q3 FY2026 Form 10-Q",
      "published_date": "2026-05-01",
      "url": "https://www.sec.gov/Archives/edgar/data/0000106040/000162828026029054/wdc-20260403.htm",
      "use": "Cloud revenue, revenue mix, and customer concentration context."
    },
    {
      "kind": "official_company_events",
      "label": "Micron Investor Relations events page",
      "published_date": "2026-06-13",
      "url": "https://investors.micron.com/events-and-presentations",
      "use": "Company-confirmed June 24, 2026 Micron Third Quarter 2026 Financial Call date."
    },
    {
      "kind": "earnings_date_search",
      "label": "Bounded SNDK/STX/WDC next-earnings date checks",
      "published_date": "2026-06-13",
      "url": "https://www.nasdaq.com/market-activity/stocks/mu/earnings",
      "use": "Nasdaq earnings pages and company IR/release searches did not provide company-confirmed next earnings dates for SNDK, STX, or WDC; Basket cards use Not confirmed."
    }
  ],
  "discovery_sources": [
    {
      "kind": "status",
      "label": "MU local coverage",
      "query_ref": "discovery:status:MU"
    },
    {
      "kind": "status",
      "label": "SNDK local coverage",
      "query_ref": "discovery:status:SNDK"
    },
    {
      "kind": "status",
      "label": "STX local coverage",
      "query_ref": "discovery:status:STX"
    },
    {
      "kind": "status",
      "label": "WDC local coverage",
      "query_ref": "discovery:status:WDC"
    },
    {
      "kind": "duckdb_readonly_query",
      "label": "Memory and storage screen weekly OHLC and EMA chart inputs",
      "query_ref": "discovery:duckdb:daily_ohlc_weekly_aggregation_20w_100w_ema:memory-storage-screen:2026-06-05"
    },
    {
      "kind": "lineage-status",
      "label": "Ticker-level daily_ohlc lineage caveat",
      "query_ref": "discovery:lineage-status:MU_SNDK_STX_WDC:daily_ohlc:source_freshness_can_lag_grouped_table_2026-06-12"
    },
    {
      "kind": "duckdb_readonly_query",
      "label": "Reviewed tail coverage check",
      "query_ref": "discovery:duckdb:daily_ohlc_tail_coverage:RMBS_NTAP_FORM_chartable:PSTG_SIMO_missing:2026-06-08"
    }
  ]
}
