Bulkhead τ Domain

Data Coverage

Ticker Universe · Data Sources · Database Statistics

Ticker Universe

8 tickers tracked across primary subject, OSAT peers, semiconductor customers, and market benchmarks. ASX is the only US-accessible OSAT direct peer — most others (JCET, Powertech, KYEC) are Taiwan/China-listed with no SEC filings.

Ticker Company Role Exchange Filing Standard
AMKR Amkor Technology Primary subject NASDAQ US GAAP XBRL
ASX ASE Technology Holding OSAT direct peer NYSE ADR IFRS-full XBRL (FPI)
ON onsemi IC maker / AMKR customer NASDAQ US GAAP XBRL
QCOM Qualcomm Major packaging customer NASDAQ US GAAP XBRL
MCHP Microchip Technology AMKR customer NASDAQ US GAAP XBRL
TXN Texas Instruments OSAT services user NASDAQ US GAAP XBRL
SMH VanEck Semiconductor ETF Sector benchmark NASDAQ Price only
SPY S&P 500 ETF Broad market benchmark NYSE Arca Price only

Data Sources

SEC EDGAR

Company Facts API — XBRL financial metrics ingested via /api/xbrl/companyfacts/{cik}.json. Covers revenue, gross profit, operating income, net income, PP&E, CapEx proxy for all 6 operating tickers.

Submissions API — Filing index ingested via /submissions/CIK{cik}.json. 10-K, 10-Q, 8-K, 20-F forms tracked. 711 total filings across the ticker universe.

10-K HTML Text — HTM filing documents downloaded and keyword-windowed for segment disclosure analysis (CLM-003 gap mitigation). 20 packaging/segment keywords extracted.

Stooq Price Data

Daily OHLCV price history pulled from Stooq for all 8 tickers. 54,000+ price rows spanning approximately 14 months of history. Used for base-100 trend indexing, relative performance computation, and price event overlay.

Pull script: pull_stooq_prices.py. No API key required. Rate-limit courtesy delays applied.

Google News RSS

News headlines and summaries ingested via Google News RSS feed for AMKR-related queries. Stored in news_events table and synthesized into the events timeline.

Pull script: pull_news_rss.py. Best-effort — no guaranteed coverage; supplemented by manual event seeds for high-signal milestones.

Manual Event Seeds

Six high-signal corporate milestones hand-curated in data/manual/events.csv: Arizona groundbreaking (Feb 2024), Apple partnership (Apr 2024), CHIPS Act funding confirmation (Feb 2025), and three earnings events with explicit AI/packaging commentary.

Manual seeds are merged with SEC filing events and RSS news items at DB initialization time.

Database Population

All data is stored in amkor.db (SQLite). The database is rebuilt from source CSVs and JSON on demand via python scripts/init_db.py. Schema is defined in schema.sql and applied idempotently.

54k+ Price Rows
711 SEC Filings
6,334 Metric Rows
100 News Items
6 Key Events
Table Source Key Fields Notes
vendor_metrics SEC EDGAR XBRL metric_date, ticker, metric_name, metric_value, unit Primary financial time-series; UNIQUE on (metric_date, period, company, metric_name)
prices Stooq trade_date, ticker, open, high, low, close, volume UNIQUE on (trade_date, ticker); all 8 tickers
filings SEC EDGAR Submissions filed_date, ticker, form, accession_number, filing_url UNIQUE on accession_number; includes 20-F for ASX
news_events Google News RSS published_at, title, summary, article_url UNIQUE on (published_at, title); deduplicated at pull time
events Manual + SEC + RSS event_date, event_type, title, summary, source Synthesized from all three sources; manual seeds take priority
job_postings Workday / job APIs posted_date, role_title, location, team, job_url Best-effort; Amkor uses Workday — external endpoint sparsity expected
text_disclosures SEC EDGAR 10-K HTM fiscal_year, ticker, keyword, excerpt, section_label 600-char keyword windows; prerequisite: run pull_sec_10k_text.py
hypothesis_scores HITL input claim_id, score, rationale, reviewer, scored_at Score range 1–5; persists across sessions; most recent score per claim used

Data Refresh

Data is refreshed manually using shell scripts. SEC pulls require a SEC_USER_AGENT environment variable (name email@domain.com format) per SEC fair-access policy. All pull scripts include rate-limit courtesy delays.

export SEC_USER_AGENT="your-name your-email@domain.com" # Pull all sources bash scripts/full_refresh_human.sh # Or step-by-step: python scripts/pull_sec_companyfacts.py # XBRL metrics python scripts/pull_sec_filings.py # Filing index python scripts/pull_stooq_prices.py # Price history python scripts/pull_news_rss.py # Google News RSS python scripts/pull_job_postings.py # Job postings (best-effort) python scripts/pull_sec_10k_text.py # 10-K text for segment disclosure # Rebuild database python scripts/init_db.py