Interactive exploration
Use notebooks and SQL warehouses to examine filing deltas, ownership changes, financial facts, and price context.
Apache Iceberg lakehouse
Query normalized Sage financial intelligence through Apache Iceberg storage and the Iceberg REST Catalog from AWS, Azure, or Google Cloud—using the engine your team already operates.
# One catalog, open across clouds and engines spark.sql.catalog.j79 = "org.apache.iceberg.spark.SparkCatalog" spark.sql.catalog.j79.type = "rest" spark.sql.catalog.j79.uri = "https://catalog.j79.example/v1" filings = spark.table("j79.sec.filing_changes") signals = ( filings .where("form in ('10-K', '10-Q')") .where("materiality_score >= 0.80") .join( spark.table("j79.market.securities"), "issuer_id" ) ) display(signals.orderBy("filed_at"))
Ask the Sage lakehouse
Natural-language portfolio questions become governed queries across point-in-time fundamentals, J79 Security Scores, risk factors, market histories, and portfolio analytics.
Illustrative model output, not personalized investment advice. Return targets are assumptions, not guarantees.
Run the question to build an illustrative allocation.
“Diversification is protection against ignorance.”— Warren Buffett
The productive tension
Famous investors often built fortunes through concentrated conviction. J79’s job is not to maximize the number of holdings—it is to make each concentration explicit, evidence-backed, and appropriate for the investor’s risk budget.
One layer, many workloads
Explore filings interactively, engineer factors in batch, join portfolio positions, and operationalize models against stable, documented tables.
Use notebooks and SQL warehouses to examine filing deltas, ownership changes, financial facts, and price context.
Build reproducible training sets from point-in-time facts, disclosure signals, institutional positioning, and market histories.
Join J79 identifiers to internal positions and calculate issuer, sector, factor, filing-event, and liquidity concentrations.
Run incremental transforms against new partitions while preserving schema and observation timestamps.
Monitor freshness, row counts, keys, null behavior, and schema revisions before downstream publication.
Carry accession numbers, reporting periods, data provenance, and derivation metadata into downstream outputs.