Fund liquidity — fund_liquidity_YYYYMMDD.txt.gz

One file of the SQXray data dictionary. Field list (.csv)

Fund liquidity — fund_liquidity_YYYYMMDD.txt.gz

A daily compressed file that shows, for each fund share class, how it would be sold, how long it takes to fully exit at normal size, the estimated cost of exiting at various position sizes, and the identifier linking it back to the holdings data.

FieldTypeNullableDescriptionExample
analysis_dateDATEnever blankThe date for which the row was computed.2026-08-13
fund_isinVARCHAR(12)never blank (key)The share class's ISIN and this file's key: one row per fund_isin. The JOIN key for the fund reference file and every other share-class file.US31635T5424
portfolio_idBIGINT UNSIGNEDnever blankThe identifier for the portfolio the holdings attach to. The JOIN key for the portfolio holdings and fund reference files.20834
net_assetsDECIMAL(22,2)may be blankNet assets from the fund's newest N-PORT Part A or sponsor file, in the currency beside it. A portfolio figure repeated on every share class of the portfolio: deduplicate by portfolio_id before summing.895915673.56
monthly_salesDECIMAL(22,2)may be blankShares sold in the newest filed month (N-PORT Part B or the sponsor's flow record), in the currency beside it. A portfolio figure repeated on every share class. Blank where no monthly flow is filed.500000000.00
monthly_redemptionsDECIMAL(22,2)may be blankShares redeemed in the newest filed month, in the currency beside it; over 21 trading days it is the fund's daily redemption capacity. A portfolio figure repeated on every share class. Blank where unfiled.400000000.00
net_flowDECIMAL(22,2)may be blankmonthly_sales less monthly_redemptions for the same month, in the currency beside it. Negative is a net outflow. Blank where either side is unfiled.100000000.00
currencyCHAR(3)may be blankISO 4217 code of the currency net_assets, monthly_sales, monthly_redemptions and net_flow are stated in: the filing's reporting currency, not the class's trading currency. Blank where the row has no filing behind it.USD
fx_rateDECIMAL(18,9)may be blankUnits of currency per 1 U.S. dollar, the rate behind this row's *_usd columns. A native figure divided by it is dollars. Blank where currency is blank or USD, and where no rate was found.159.085000000
exit_channelENUMnever blankHow this holder exits: on the exchange, at NAV, into a sponsor's bid, through a tender window, or at termination.nav_redemption
liquidity_tierENUMnever blankThe liquidity bucket for this exit channel.thin
exit_days_typicalDECIMAL(12,2)may be blankDays to be flat where size does not bind. Empty on the exchange and terminal channels.1.00
exit_capacity_usd_per_dayDECIMAL(22,2)may be blankDollars of exit the venue absorbs per trading day: mean daily volume over the class's trailing 90 venue days on its own venue, times the price, in U.S. dollars. Exchange channel only; a wider net than stress_adv_usd.852793.37
exit_cost_statusENUMmay be blankWhether a cost curve could be built, else which input was missing, in precedence order. no_composite_tape: no U.S. composite print; awaiting_adv_history: volume history too short; fx_unavailable fires on no row today.no_curve
stress_adv_usdDECIMAL(22,2)may be blankStressed dollar ADV: p20 of trailing composite-tape daily dollar volume (~90 trading days); the curve conditioning.318571.00
daily_return_volDECIMAL(10,6)may be blankRealized daily close-close log-return stdev over the same window (fraction, not %).0.009003
exit_cost_bps_10kDECIMAL(10,2)may be blankCost to liquidate a $10,000 position under stress, in basis points. Exchange channel only, where exit_dtl_10k is a day count. Never above 10,000 bps: past the position's own value the cell censors.0.00
exit_dtl_10kVARCHAR(24)may be blankTrading days to liquidate a $10,000 position under stress. A day count, '>250d', 'n/a: exceeds fund size', or 'n/a: cost exceeds value'.1
exit_cost_bps_100kDECIMAL(10,2)may be blankCost to liquidate a $100,000 position under stress, in basis points. Exchange channel only, where exit_dtl_100k is a day count. Never above 10,000 bps: past the position's own value the cell censors.0.00
exit_dtl_100kVARCHAR(24)may be blankTrading days to liquidate a $100,000 position under stress. A day count, '>250d', 'n/a: exceeds fund size', or 'n/a: cost exceeds value'.1
exit_cost_bps_1mDECIMAL(10,2)may be blankCost to liquidate a $1 million position under stress, in basis points. Exchange channel only, where exit_dtl_1m is a day count. Never above 10,000 bps: past the position's own value the cell censors.0.00
exit_dtl_1mVARCHAR(24)may be blankTrading days to liquidate a $1 million position under stress. A day count, '>250d', 'n/a: exceeds fund size', or 'n/a: cost exceeds value'.1
exit_cost_bps_10mDECIMAL(10,2)may be blankCost to liquidate a $10 million position under stress, in basis points. Exchange channel only, where exit_dtl_10m is a day count. Never above 10,000 bps: past the position's own value the cell censors.0.00
exit_dtl_10mVARCHAR(24)may be blankTrading days to liquidate a $10 million position under stress. A day count, '>250d', 'n/a: exceeds fund size', or 'n/a: cost exceeds value'.1
exit_cost_bps_100mDECIMAL(10,2)may be blankCost to liquidate a $100 million position under stress, in basis points. Exchange channel only, where exit_dtl_100m is a day count. Never above 10,000 bps: past the position's own value the cell censors.0.00
exit_dtl_100mVARCHAR(24)may be blankTrading days to liquidate a $100 million position under stress. A day count, '>250d', 'n/a: exceeds fund size', or 'n/a: cost exceeds value'.1
exit_cost_bps_1bDECIMAL(10,2)may be blankCost to liquidate a $1 billion position under stress, in basis points. Exchange channel only, where exit_dtl_1b is a day count. Never above 10,000 bps: past the position's own value the cell censors.0.00
exit_dtl_1bVARCHAR(24)may be blankTrading days to liquidate a $1 billion position under stress. A day count, '>250d', 'n/a: exceeds fund size', or 'n/a: cost exceeds value'.n/a: exceeds fund size
next_liquidity_window_dateDATEmay be blankThe date the next repurchase window is expected to open.2026-09-30
per_window_capacity_pctDECIMAL(8,4)may be blankShare of net assets that has cleared per repurchase window, averaged over recent windows.2.2168
capacity_cadenceVARCHAR(13)may be blankHow often the exit channel delivers capacity.monthly
sponsor_bid_observedTINYINT(1)may be blank1 where a sponsor bid was seen in the mark window, 0 where none was.0
days_to_terminationINTmay be blankDays to the fund's scheduled termination. Negative once it has passed.-252
data_sourceVARCHAR(32)may be blankWhere the holdings behind this row came from: SEC for a filing, edinet for a Japanese filing, structural for a book derived from the product's structure, or a sponsor file (web:ishares). Same value as the holdings file.web:ishares
data_source_dateDATEmay be blankThe date the source is as of.2026-06-30
staleness_daysSMALLINTmay be blankHow old the newest holdings filing behind this row is, in days: the age of data_source_date. Blank where no filing exists; never published without data_source. No maximum age is applied; a client gates on it.194
liquidity_statusVARCHAR(32)may be blankThe state of the liquidity measures, one slot in precedence order (the worst applicable value); read exit_cost_status too. net_assets_unknown, negative_flow and fx_unavailable are defined but fire on no row today.no_filing

Appendix: canonical values

FieldValues
liquidity_tierdeep, normal, thin, impaired, active, stressed, dormant, n/a, unrated
capacity_cadencedaily, monthly, quarterly, discretionary, terminal
exit_channelexchange, nav_redemption, periodic_tender, sponsor_market, terminal
exit_cost_statusno_curve, net_assets_unknown, fx_unavailable, no_composite_tape, awaiting_adv_history, awaiting_vol_history, ok
liquidity_statusmatured, no_filing, net_assets_unknown, awaiting_adv_history, no_flow_data, negative_flow, fx_unavailable, no_current_mark, sponsor_priced, ok

Send your fund list. We return the underlying data: holdings, exposure, cost, liquidity, management.

Talk about coverage

Get the SQXray data dictionary

Tell us where to send it. A work address gets the file straight away.

Your address is used to send the file and to see which channel brought you in — never sold, never shared.