+
VectorFin

Connect Snowflake to VectorFin Financial Iceberg Data

Mount VectorFin as a native Iceberg catalog via Apache Polaris — query with standard SQL, no data movement.

10 min
Setup time
7
Iceberg tables
5K+
US tickers
Nightly
Updates

Prerequisites

📋VectorFin Pro plan
🔑API key from app.vectorfinancials.com
☁️Snowflake account

Connection Guide

1

Create external volume for GCS

Set up a Snowflake external volume pointing to the VectorFin GCS warehouse bucket.

sql
CREATE OR REPLACE EXTERNAL VOLUME vf_gcs_volume
  STORAGE_LOCATIONS = (
    (
      NAME = 'vf-gcs-us'
      STORAGE_PROVIDER = 'GCS'
      STORAGE_BASE_URL = 'gcs://vectorfinancials-data/warehouse/'
    )
  );

-- Get the GCS service account to grant access
DESC EXTERNAL VOLUME vf_gcs_volume;
2

Register Polaris REST catalog

Connect Snowflake to the VectorFin Polaris catalog (provided with Pro/Enterprise tier).

sql
CREATE OR REPLACE CATALOG INTEGRATION vectorfin_polaris
  CATALOG_SOURCE = POLARIS
  TABLE_FORMAT = ICEBERG
  CATALOG_NAMESPACE = 'vectorfin'
  REST_CONFIG = (
    CATALOG_URI = 'https://catalog.vectorfinancials.com'
    WAREHOUSE = 'vectorfin_warehouse'
  )
  REST_AUTHENTICATION = (
    TYPE = OAUTH
    OAUTH_CLIENT_ID = '<your_client_id>'
    OAUTH_CLIENT_SECRET = '<your_client_secret>'
    OAUTH_ALLOWED_SCOPES = ('PRINCIPAL_ROLE:ALL')
  )
  ENABLED = TRUE;
3

Create Iceberg tables from catalog

Mount individual VectorFin tables into your Snowflake database.

sql
-- Transcript embeddings
CREATE OR REPLACE ICEBERG TABLE vf_transcripts
  CATALOG = 'vectorfin_polaris'
  EXTERNAL_VOLUME = 'vf_gcs_volume'
  CATALOG_TABLE_NAME = 'embeddings.transcripts';

-- Quant signals
CREATE OR REPLACE ICEBERG TABLE vf_whystock_score
  CATALOG = 'vectorfin_polaris'
  EXTERNAL_VOLUME = 'vf_gcs_volume'
  CATALOG_TABLE_NAME = 'signals.whystock_score';

-- Or query directly without catalog (GCS path)
CREATE OR REPLACE ICEBERG TABLE vf_signals_direct
  BASE_LOCATION = 'warehouse/signals/whystock_score/'
  EXTERNAL_VOLUME = 'vf_gcs_volume';
4

Query financial signals

Run your first Snowflake query on VectorFin data.

sql
-- Top signals by quant score
SELECT ticker, date, score,
       components:regime_score::FLOAT as regime,
       components:volatility_score::FLOAT as vol_score
FROM vf_whystock_score
WHERE date >= '2024-01-01'
ORDER BY score DESC
LIMIT 20;

-- NVDA earnings embeddings
SELECT ticker, fiscal_period, chunk_idx,
       VECTOR_COSINE_SIMILARITY(embedding, query_vector) as similarity
FROM vf_transcripts
WHERE ticker = 'NVDA'
ORDER BY similarity DESC
LIMIT 5;

Available Tables

All 7 VectorFin data tables — bitemporal (effective_ts + knowledge_ts), append-only, nightly updates.

embeddings.transcriptsEarnings call chunk embeddings (768-dim)
sql
SELECT ticker, fiscal_period, chunk_idx FROM vf_transcripts WHERE ticker = 'AAPL' LIMIT 10
embeddings.filingsSEC filing section embeddings
sql
SELECT ticker, filing_type, section FROM vf_filings WHERE filing_type = '10-K'
signals.whystock_scoreComposite quant score (0–100)
sql
SELECT ticker, date, score FROM vf_whystock_score ORDER BY score DESC LIMIT 20
signals.regimeMarket regime classification
sql
SELECT ticker, date, regime, confidence FROM vf_regime WHERE confidence > 0.8
signals.volatilityGARCH volatility forecasts
sql
SELECT ticker, date, garch_vol_1d, garch_vol_5d, garch_vol_21d FROM vf_volatility
signals.sentiment_driftEarnings sentiment drift
sql
SELECT ticker, fiscal_period, drift_vector FROM vf_sentiment_drift
signals.anomalyAnomaly detection scores
sql
SELECT ticker, date, anomaly_score, flags FROM vf_anomaly WHERE anomaly_score > 0.75

Start querying in 10 minutes

Sign up for VectorFin and get immediate API access.