Beta is not one number
The same 517 stocks, the same benchmark, the same year. Measured daily and weekly, the two betas correlate only 0.757.
Two numbers, one name
We compute beta for every stock in our universe against a single index benchmark over a trailing year. Computed on daily returns and on weekly returns, over the same period and the same 517 symbols, the two series correlate just 0.757 and differ by 0.242 on average.
Update, 4 November 2026. The product now publishes the daily figure only, measured against the NIFTY 50. The finding below is what settled that: two numbers under one name is a choice a reader has to make, and asking it of them on a filter bar bought nothing we could measure. The frequency is still stored beside every figure, for the reason this piece gives.
The ranges are not the same either. Daily beta spans −0.14 to 1.96 over roughly 248 observations; weekly spans −0.35 to 2.78 over about 52. A screen for “high beta, above 1.2” returns a materially different list depending on which one you meant.
So we store both, and key on the frequency
A stored beta with no frequency beside it does not identify a set of stocks. Our table is keyed on the symbol, the benchmark and the frequency, and both are written on every run. The screens that filter on beta make you choose, and the results table shows the figure it actually acted on.
A consequence worth stating: the minimum observation count has to be expressed in each frequency's own unit. A threshold of 200 observations is reasonable for daily returns and rejects every stock in existence on weekly ones, where it reads on screen as “no stocks qualify”.
One beta, or the app contradicts itself
Before this, beta was computed on the fly in two places against two different benchmarks. One screen used an equal-weighted basket of index constituents; another used the index itself. They correlate 0.9675, which sounds like agreement, but the index version runs about 9% higher across the board, because an equal-weighted basket is more volatile than a cap-weighted index and a larger denominator shrinks every beta.
At a 1.2 cut-off that is 204 high-beta names against the basket's 139. Two screens in the same product would have disagreed about which stocks were high beta. Everything now reads one stored table, written by one job.
And the filter excludes what it does not know
A symbol with no stored beta is dropped by the filter rather than passed through. Letting it through is tempting and wrong: until the beta job has run, that is every symbol, and the control would look like it was working in the one direction nobody checks.