Methodology & disclaimers
Published methodology for VWAP consensus, AI analysis, and on-chain metrics.
Methodology & disclaimers
portfolIQ publishes its data methodology in git-versioned documents. Every production run is preceded by a methodology tag — this is required for MAR (Market Abuse Regulation) compliance on derived price data.
VWAP consensus methodology
Document: methodology/vwap-consensus-v1.2.md
Git tag: methodology-vwap-v1.2
Summary of the formula:
- Exchange basket: Binance, Kraken, Coinbase Exchange, Bybit, KuCoin, Gate.io (public endpoints, no auth key required).
- Outlier exclusion: exchanges with a price deviation > 3/5/7% from the median (by tier) are excluded from the VWAP calculation.
- Volume cap (dominant exclusion): no single exchange may represent more than 50% of the total volume weight. An exchange whose raw weight exceeds the cap is excluded, then weights are renormalised.
- Minimum exchanges: if fewer than 3 exchanges remain after exclusions, no VWAP is published for that asset in that window.
The max_source_weight_pct field in the response payload provides auditable proof that the 50% cap was applied.
Stablecoin quote-inversion (v1.2)
Some stablecoins (e.g. USDT) are quote currencies on most venues, so they rarely appear as a base pair. To publish a measured price (never an assumed $1 peg), portfolIQ derives their price from inverse pairs:
- Direct flux:
USDT/USDwhere it exists (Kraken, Coinbase). - Inverse flux:
USDC/USDTandDAI/USDT→price(USDT/USD) = (1 / close(USDC/USDT)) × consensus(USDC/USD), where the anchorUSDC/USDis itself a directly fiat-quoted consensus.
Anti-circularity is guaranteed by configuration: a stablecoin is either a direct fiat pivot (USDC) or derived (USDT), never both. Each intermediate consensus must satisfy the ≥3-exchange rule. The outlier-deviation skip is disabled for stablecoins (a real depeg must surface, not be filtered). Derived prices carry an explicit price_derivation field (direct / inverse_pair) and confidence_flags (derived_inverse_pair, derived_2nd_degree, depeg_suspected); a price sourced 100% from 2nd-degree inversion is capped at medium confidence.
OHLC consensus, daily (ohlcv-consensus-v1.0)
Daily OHLC candles served by /v1/assets/{id}/ohlcv are a multi-exchange consensus over the same filtered basket as the VWAP (post outlier-exclusion, post dominant-exclusion, ≥3 exchanges):
open= volume-weighted average of opens ·close= volume-weighted average of closeshigh= max of highs ·low= min of lows — over the filtered basket only (never the raw feed)
No per-exchange price or name is exposed; exchanges_count is published for MAR verifiability. Candles for the current (not-yet-closed) day fall back to close-only (ohlc_source='vwap_close_only', O/H/L null).
On-chain metrics — BTC
Document: methodology/onchain-realized-metrics-v1.0.md
Git tag: methodology-onchain-btc-v1.0
BTC on-chain metrics are derived from bigquery-public-data.crypto_bitcoin (Google BigQuery public dataset, MIT licence). Metrics computed:
- Realized Cap — sum of UTXOs valued at price at time of last movement
- MVRV — Market Value to Realized Value ratio
- SOPR — Spent Output Profit Ratio
- NUPL — Net Unrealized Profit/Loss
- HODL waves — UTXO age distribution
maximum_bytes_billed is enforced on every BigQuery query to prevent runaway costs.
Active addresses for BTC: approximated from utxoSetChange (proxy — documented limitation).
On-chain metrics — ETH
ETH metrics are sourced from ethereum.publicnode.com (public RPC, no API key required):
eth_tx_count_24h— proxy computed from block transaction count × estimated blocks/dayeth_avg_gas_price_gwei— base fee from the latest blocketh_gas_utilization_pct—gas_used / gas_limitof the latest block (%)
These are approximations documented as such. No Etherscan API is used (confirmed NO-GO, COMITE-001/006/008).
AI analyses
- Prompts are versioned in
prompts/registry.yml(git-controlled). - Every analysis payload includes
prompt_versionandmodelfields. - 13 prescriptive patterns banned (see The AI layer).
- Analyses are append-only — never overwritten.
Global disclaimer
Not financial advice. Not a fatwa. Methodology disclosed.
Data provided by portfolIQ is factual and descriptive. It does not constitute financial advice, investment recommendations, or any form of guidance on buying, selling, or holding any financial instrument.
portfolIQ is not a registered investment advisor. portfolIQ is not subject to MiFID II investment advice regulations. All data is provided for informational and research purposes only.
"Not financial advice. Not a fatwa. Methodology disclosed. Data provided for informational purposes only. portfolIQ is not a registered investment advisor."