Methodology
Under the Hood
How the analytics work, and why the methodology choices matter for your portfolio.
In short: QuantStark reads what you hold, looks through your funds to the companies inside, and measures every holding on six style factors (value, size, momentum, volatility, leverage, growth) built from company filings and market data, plus its industry. A fundamental factor risk model, re-estimated every trading day on point-in-time data, turns those exposures into predicted risk, return attribution and stress scenarios. The answers below cover the choices behind that and where they stop.
Not first. QuantStark starts from what you already own: what your portfolio is actually exposed to, where the risk is concentrated, and how the construction could be improved without changing your investment thesis.
Research comes second, anchored on your book. The Fit check tells you whether a name you are considering adds to a bet you already have. The Screener ranks the US universe by the same factor, sector and size measures, and the Watchlist tracks names you are weighing. All three are built around the question "what would this do to my portfolio?", not "what is trending?".
You bring the holdings. QuantStark tells you what is driving them, where the hidden risks are, and what a more efficient version of the same portfolio looks like. The investment decisions are yours.
Two portfolios with identical returns can have completely different risk profiles. A portfolio that looks diversified across 30 stocks can be almost entirely a single factor bet. A good quarter can come from genuine stock selection or from an incidental tilt toward the factor that happened to work. Without holdings-based analytics, these are indistinguishable.
Institutional managers have answered these questions for decades using holdings-based factor analysis and structural risk models. The methodology isn't controversial. The rest of this page explains how QuantStark implements it.
Most retail tools use returns-based factor analysis. They regress your portfolio's historical returns against academic factor return series and estimate your exposures from the regression coefficients. This tells you what your portfolio behaved like over some past window.
QuantStark uses cross-sectional (holdings-based) factor analysis. We look at every stock you hold right now, compute each stock's factor characteristics (its book-to-price, its 12-month momentum, its leverage, its earnings growth), and aggregate those across your portfolio weights. This tells you what your portfolio actually is today.
Returns-based
Regresses portfolio returns against factor return series.
Backward-looking. Tells you what your portfolio looked like over the past 36 months.
Unstable. Exposures shift depending on the window you choose.
Cannot distinguish between two portfolios that happen to have similar return patterns but very different holdings.
Cross-sectional (QuantStark)
Computes factor characteristics directly from current holdings.
Current-state. Tells you what risks you are exposed to right now.
Stable. Exposures change only when your holdings or the stocks' fundamentals change.
Precisely identifies which stocks are driving which factor tilts.
This is the same methodology used by institutional risk systems worldwide. It requires a full holdings-level factor library, which is why most retail tools don't offer it.
Stock count and sector count are proxies for diversification. They assume that holding different securities means holding different risks. This is often false.
A portfolio of 30 stocks can have almost all of its risk concentrated in one factor exposure. If every holding loads positively on momentum and growth, you don't have 30 independent bets. You have one factor bet expressed through 30 vehicles. When that factor reverses, all 30 positions correlate.
Real diversification operates on two axes:
- Stock-level diversification: holding more stocks reduces specific (idiosyncratic) risk. This is the classic Markowitz logic. Thirty stocks will always have less specific risk than three.
- Factor-level diversification: spreading exposure across independent factor risks. This is the layer standard retail tools miss. Two portfolios with the same stock count can have very different factor risk profiles.
Both matter. Measuring only stocks and sectors is incomplete. It tells you about one layer and leaves the other invisible.
Financial databases are constantly restated. Companies revise earnings, restate filings, and reclassify line items. If you backtest a strategy using today's version of the data, you're using information that wasn't available at the time. A form of look-ahead bias that makes every backtest look better than it would have performed in real time.
Point-in-time (PIT) data preserves the data exactly as it was available on each historical date. When QuantStark runs a backtest to December 2019, it uses the fundamental data that was actually reported and accessible in December 2019, not the restated version available today.
Survivorship bias is the other critical data problem. If your historical universe only includes companies that are still listed today, you're systematically excluding every company that went bankrupt, was acquired, or delisted. This inflates historical returns and hides the real risk of holding small or distressed stocks. QuantStark's universe includes the full US-listed universe (active and delisted) to eliminate this bias.
Data provenance. Fundamentals are taken from SEC filings as originally reported, dated by when each filing became public. Prices, volumes and corporate actions (splits, dividends, spin-offs, delistings) come from the same licensed point-in-time equity data provider.
Together, PIT data and survivorship-bias-free coverage are what separate an honest backtest from a flattering one.
No. Because the 132-factor library and the risk model are two different things doing two different jobs.
The 132 figure is the research library: individual factors spanning value, growth, quality, momentum, volatility, liquidity, size, and technical categories. You use these for backtesting, signal decay analysis, and exploring how any specific factor has behaved historically. Nothing is estimated jointly. Each factor is studied on its own merits.
The risk model is a separate, deliberately compact structure: 18 factors in total, made up of a market factor, 11 industry factors, and 6 composite style factors. Each style composite blends related individual factors. The Value composite, for example, combines earnings yield, book-to-price, sales-to-price, and EBITDA-to-enterprise-value into a single stable signal. This compression is the whole point. It captures the systematic dimensions that drive equity covariance without the instability of a high-dimensional model.
In short: 132 factors for research and exploration. 18 factors for the risk model and portfolio analytics. The library gives you depth; the risk model gives you stability.
Each of the six style composites (Value, Size, Momentum, Volatility, Leverage, Growth) is built from a small set of related descriptors. Every descriptor is first standardized across the universe so that a book-to-price ratio and an earnings yield can be compared on the same scale. The standardized descriptors are then combined into one score per factor, and that score is rescaled so that the market as a whole, weighted by capitalization, sits at zero and the spread across stocks is one. Extreme values are limited so that a single outlier cannot dominate a portfolio's exposure.
The result is a set of composites that are more stable and less noisy than any single descriptor. A Value exposure of +1 means the portfolio is one standard deviation cheaper than the market on the combined measure, and the same reading means the same thing on every date.
The descriptor set behind each composite, the universe used to rescale them and the treatment of missing values are part of QuantStark's methodology. Every composite is a fixed, documented construction: nothing is fitted to recent returns, and nothing is tuned by an automated search.
A risk model answers a question that raw volatility cannot: where is the risk coming from? Knowing your portfolio has 18% annualized volatility tells you nothing about whether that risk is concentrated in a single factor tilt, a few correlated positions, or spread across genuinely independent bets.
QuantStark uses a structural factor risk model built on the same principles that power institutional risk systems. The model decomposes total portfolio risk into two components:
Factor risk: the portion of risk driven by systematic exposures (the six style factors: value, size, momentum, volatility, leverage and growth, plus industry membership and the market). This is the risk you can identify, measure, and choose to hedge or accept.
Specific risk: the portion of risk unique to individual stocks, unexplained by any factor. This is the risk that diversification actually reduces.
How we build it: Every trading day, each stock's return is explained by its exposures to the 18 factors in a cross-sectional regression across the estimation universe: the seasoned, liquid US common stocks that together make up 99% of the market's capitalization. That yields the day's factor returns, which are then applied to every covered stock. The factor covariance matrix is estimated from the history of those returns with exponential weighting, giving volatility a shorter memory than correlation so the model reacts to a regime change without overreacting to a noisy week. Each stock's specific risk is estimated from the part of its return the factors did not explain. All three are re-estimated daily. The estimation details are part of QuantStark's methodology.
This decomposition is what powers attribution ("your underperformance was driven by your momentum tilt"), scenario analysis ("if value reverses, here's your expected drawdown"), and risk-aware optimization.
Most retail optimization tools build a full asset-level covariance matrix directly from historical returns. If you have 50 stocks, that's a 50x50 matrix with 1,275 unique entries, each estimated from noisy return data. The result is unstable: small changes in the estimation window can produce wildly different "optimal" portfolios.
QuantStark uses factor-based covariance estimation. Instead of estimating all 1,275 pairwise correlations directly, we estimate a much smaller factor covariance matrix and derive asset covariances from each stock's factor exposures. This is more stable, structurally grounded, and far better behaved as the number of holdings grows.
Asset-level covariance
Estimates NxN matrix directly from returns.
Requires long history relative to the number of assets. Breaks down when N is large relative to T.
Resulting portfolios are unstable and sensitive to estimation noise.
Factor-based covariance (QuantStark)
Estimates a compact factor covariance matrix and derives asset covariances from factor exposures.
Stable and well-conditioned regardless of portfolio size.
Optimizer produces portfolios with economically interpretable factor tilts, not artifacts of estimation noise.
A counterintuitive point: factor-based covariance matters more for small portfolios, not less. For a 20-stock portfolio, the sample-covariance approach still requires estimating 210 unique parameters. The factor model replaces those 210 noisy sample estimates with a compact factor covariance calibrated from a wide universe. The "I only have 20 stocks so I don't need a factor model" intuition runs backwards.
Connect a brokerage account (read-only, through SnapTrade, and your positions and trades then refresh every night), or upload a holdings file (CSV or Excel, with tickers and share counts), or enter your positions by hand. Nothing to install.
Once the holdings load, you get:
- Factor exposure report: your portfolio's tilts across the 6 composite style factors and 11 industries, shown as z-scores versus the investable universe. Clear flags where exposure is concentrated.
- Risk decomposition: total portfolio risk split into factor risk (by style and industry) and specific risk, with the largest contributors named.
- Stock-level attribution: which holdings are driving which factor tilts, so you know exactly where a given exposure comes from.
- Holdings drill-down: every stock's exposure to the six style factors and its industry, so you can see which names carry which tilt.
What the AI layer does. Factor-model outputs are structured data (z-scores, covariance contributions, attribution values). The AI layer translates these into plain-English descriptions ("your portfolio's value tilt cost you 3.2% this quarter, offset by a growth tilt that added 1.8%"). The analysis is the factor model; the AI is the translation layer. No AI-generated forecasts, no LLM speculation.
You don't need to understand factor models to read the output. Exposures are shown as plain-language tilts ("your portfolio is 1.8σ overweight momentum"), risk is shown as a percentage breakdown, and stock-level drivers are named. The methodology is the professional one; the interface is not.
Different pieces update at different natural cadences:
- Prices and returns: end of every US trading day, after market close. Available the following morning.
- Fundamentals: as companies file with the SEC. Updates flow through within one business day of filing. Factor values using new fundamentals reflect the filing date (point-in-time), not retroactive restatements.
- Factor values and z-scores: recomputed daily using the latest available price and fundamental data.
- Risk model (factor covariance + specific risk): re-estimated daily.
- Universe: new listings and delistings enter the coverage universe daily. The estimation universe the model is fitted on is rebalanced monthly and admits a listing only after about six months of trading history, so a newly listed stock is covered at once (with sector-typical readings standing in for the history it does not yet have) but joins the fit roughly half a year later.
All times are US Eastern. QuantStark is designed for research, portfolio analysis, and end-of-day rebalancing, not for intraday trading decisions.
Every analytical system has trade-offs. Stating them upfront is part of the methodology.
- US stocks and US equity funds only. Coverage includes the full US-listed stock universe (active and delisted) plus US equity ETFs and mutual funds, analyzed through to their underlying holdings. Fixed income, commodities, crypto, non-US markets, and multi-currency portfolios are not supported. Options positions are valued at end-of-day prices but sit outside the factor model, and their figures are labelled approximate.
- Minimum portfolio size for stable risk decomposition. The risk model requires at least roughly 10 holdings for the factor / specific risk split to be statistically meaningful. For smaller portfolios, exposure analysis still works; risk decomposition becomes noisier.
- Daily update cadence, not intraday. Factor values and the risk model refresh at end of day. QuantStark is not a live trading system.
- End-of-day pricing. All analysis uses closing prices from the previous trading day. This has two practical implications:
- Weights reflect last close, not current market. If you upload your portfolio midday, the weights and position values shown are based on yesterday's closing prices, not live intraday prices. Your actual portfolio value may differ.
- Period returns may not match your brokerage statement. QuantStark computes returns assuming positions are held from close to close. If you bought or sold shares during the day, your actual execution price differs from the closing price we use. For example: you buy 100 shares of AAPL at $190 midday on Monday. QuantStark picks up AAPL at Monday's close of $192. Your cost basis is $190, but our starting point is $192. If AAPL closes Tuesday at $195, your brokerage shows +$5/share (+2.6%), while QuantStark shows +$3/share (+1.6%).
These are the boundaries of the current product. They are also the roadmap. Each one exists because of a deliberate prioritization choice, not because of oversight.
Yes, encrypted at rest and associated only with your account. Portfolio holdings you upload are stored securely and used solely to deliver analytics back to you. They are never sold, shared with third parties, or used for any purpose other than providing the Service.
Portfolios that have been inactive for 180 days are automatically deleted. You can manually delete any portfolio at any time from your account. When you delete your account, all portfolio data is hard-deleted within 30 days.
Full details in our Privacy Policy.