- What the number in the cell actually is
- Why the window length decides the number
- A correlation says nothing about how much
- Two series tracking a third look like each other's cause
- What “the same day” means when the sessions do not overlap
- Five things you might want to know, and which one the panel answers
- Consistency is not evidence, and the order you look matters
- Six ways a correlation panel gets misread
- Where this sits in the app
- Common questions
What the number in the cell actually is
A correlation coefficient is one number between −1 and +1 that says how consistently two series moved in the same direction on the same days. Nothing more. It carries no units, no magnitude, no direction of cause and no promise that the next 30 days will look like the last 30.
Build it once and the limits become obvious. Take Nifty's daily percentage change and a driver's daily percentage change over a run of shared trading dates. For each date, ask how far each series sat from its own average for that period, and multiply the two gaps together. A day when both were above average gives a positive product; a day when they went opposite ways gives a negative one. Add those products up, then divide by a scaling term built from how much each series moved on its own. That ratio is the Pearson correlation, and the division is what forces the answer into the range −1 to +1.
The division is also where the information goes. Dividing by each series' own variability is exactly what makes the coefficient comparable across a currency, a yield and a metal — and exactly what erases how big either move was. That is the first trade-off in the instrument, and it is deliberate rather than a flaw.
FNOTrader's macro page computes this on Nifty against a fixed list of 10 drivers — the dollar index, the US 10-year yield, Brent, USD/JPY, gold, the US VIX, copper, the S&P 500, the Nasdaq and USD/INR — over a window of 30, 60 or 90 observations, using the dates each pair has in common. The panel it feeds is where this whole cluster's individual channels get checked against the recent record, and the macro signals pillar sets out where it sits among the rest of the page. It renders as one signed bar per driver rather than a grid of coloured squares, but everything below applies to either presentation.
Three properties of that construction do the rest of the work in this article. It is linear, so it measures one shape and is blind to any other. It is a mean over the window, so a channel that only operates on three days in 60 is diluted by the 57 quiet ones. And it is symmetric — swap the two series and the number is identical, which is a compact way of saying it cannot tell you which one moved first.
Why the window length decides the number
Because a short window lets one violent session carry a large share of the whole calculation, and a longer one dilutes it. The panel offers windows of 30, 60 and 90 observations, and a reader who checks all three will eventually find a driver whose coefficient changes sign between them without the market having done anything.
Here is the arithmetic, as an illustration with a stated assumption rather than a measurement. Suppose that in a 30-observation window, 29 sessions each contribute a product of roughly the same size to the sum described above, and with the same sign. Now add one violent session on which both series moved five times their typical amount, together. Its product is 5 × 5 = 25 times a typical session's. It is one observation in 30, and it contributes 25 out of a total of 54 — close to half the sum, from a single day.
Widen to 90 observations and that same session contributes 25 out of 114, a little over a fifth. Nothing about the market changed. The one day stopped being a large share of the evidence, so the coefficient moved — and if the remaining days leaned the other way, it moved through zero. Two honest caveats on that arithmetic: the scaling term underneath grows when the outlier arrives too, so the coefficient does not shift by the full share the numerator suggests, and real sessions do not contribute equal products with a common sign. The ratio between the windows is what survives both caveats, and it is roughly double.
The named failure mode: the window artefact. A sign flip between the 30-day and the 90-day reading is a statement about which days were inside each sample. It is not a statement that a relationship reversed. The tell is that the flip appears and disappears as you click between windows while nothing on the tile grid has changed — the coefficient is the only thing that moved, and it moved because you changed the question.
So both directions have a cost, and neither window is the correct one. A 30-session window responds fast and is dominated by whatever the loudest week in it happened to be. A 90-session window is stable and is still carrying a regime that may have ended six weeks ago — it is an average that includes conditions nobody is in any more. The useful reading is not one window but the comparison between them: agreement across all three is the closest this panel comes to saying something durable, and disagreement is a prompt to find out which week is doing the work, not a signal in itself.
One structural note. The panel fetches around six months of daily history, so the 90-session window uses most of the overlap it has. There is no longer setting, and that limit is why the panel is a description of the current regime rather than a study of the relationship.
A correlation says nothing about how much
This is the misread that survives longest, because the number looks like it is measuring strength and in one narrow sense it is — just not the sense most readers want.
Two drivers can both show a coefficient of +0.80 against Nifty while behaving completely differently. Illustratively: suppose driver A moves about 0.2% on a day Nifty moves 1%, and driver B moves about 3%. Both track Nifty's ups and downs with the same consistency, so both score +0.80. One of them barely moves. The quantity that separates them is the slope — how much of one move you get per unit of the other, which is what a regression coefficient reports and what practitioners call beta. The correlation deliberately divided that out.
There is a second scale trap in the coefficient itself. The share of one series' variation that the other linearly accounts for is the coefficient squared, not the coefficient. A reading of 0.50 squares to 0.25, so three-quarters of the variation is elsewhere. A reading of 0.30 squares to 0.09, under a tenth. Squaring is the cheapest discipline available here, and it converts most mid-range coefficients from something that reads as a finding into something that reads as a faint tilt.
The panel's ordering compounds this if you let it. Rows are sorted by the size of the coefficient ignoring its sign, so the driver at the top is the one whose daily direction matched Nifty's most consistently over that window. It is not the driver with the biggest effect, not the driver that moved most, and not the driver that matters most to any particular portfolio. The sort is by tightness, and tightness is not importance.
The practical consequence is specific. A reader who wants to know how far a portfolio moves when the rupee moves is asking a slope question, and reading it off a correlation gives an answer with no units in it. The channels through which the rupee reaches a rupee-denominated holding are set out in USD/INR and your portfolio; the coefficient can tell you whether the two have been moving together lately, and that is the whole of its contribution.
Two series tracking a third look like each other's cause
Consider three of the panel's rows on a stretch when global funding conditions are the dominant story. The dollar index moves. Foreign allocation to emerging markets responds, so Nifty moves. The rupee responds through the same channel, so USD/INR moves. Now compute the correlation between Nifty and USD/INR. Whatever number comes out, part of it is the dollar arriving twice, and nothing in that coefficient can distinguish "the rupee moved Indian equities" from "the dollar moved both, and the rupee got there faster". The mechanism that makes the dollar the usual third variable is the subject of the dollar index and emerging markets, and the flow leg specifically of why foreign flows follow the dollar.
The named failure mode: the shared-driver mirage. On any day when one global condition is dominating, the rows exposed to it move together in absolute size — not because the drivers found each other, but because a single factor has become a large share of each of those series' variation. A panel that suddenly reads strongly across the board is usually reporting that one thing is in charge. The look of it is the same look a risk-off session produces on every other panel too, which is why what a risk-off day looks like is the more useful description of that state than any single coefficient is.
There is a real statistical answer to this, and it is worth knowing along with what it costs. A partial correlation asks how much of the link between two series survives once a third series' influence has been removed from both. If the Nifty-to-rupee coefficient largely vanishes once the dollar is taken out of both, the dollar was doing the work. That is a genuinely better question — and it requires you to name the third variable in advance, which means you needed the mechanism before the statistic could help. It also only removes the variables you thought of. The macro page does not compute partial correlations; it reports pairwise ones, and the pairwise number is the one you must not over-read.
What “the same day” means when the sessions do not overlap
Every correlation is computed on pairs, and how the pairs get formed is a design decision that most readers never see. This one is worth seeing, because it changes what the US rows can possibly mean.
The macro page labels each series' daily close with its own calendar date and pairs the dates the two series share. Straightforward — and then the clock intrudes. The Indian session ends at 15:30 IST. The US cash session for that same calendar date has not started yet. So the pairing puts an Indian close together with a US close that happened several hours after Indian traders went home.
That makes the S&P and Nasdaq rows a same-date co-movement measurement, not a lead-lag one. Both markets are responding to the day's news, in sequence, and the coefficient reports that they agreed about it. The channel most readers actually have in mind — last night's US session showing up in this morning's Indian open — is a different measurement entirely, pairing a US session with the following Indian one, and it is the subject of how global indices lead the Indian open. A same-date correlation cannot be used as evidence for it, in either direction.
Four more alignment details that change what a row means:
- Round-the-clock series have no bell. The dollar index, USD/JPY, USD/INR, Brent, gold and copper trade close to 24 hours, so their "daily close" is a data-vendor session convention. Whatever that convention is, it is not the Indian session — part of the move being paired with an Indian day happened when no Indian market was open.
- An observation is a gap, not a day. Returns are computed between consecutive shared dates, so a Friday-to-Monday pair or a pair spanning a festival holiday is one observation covering several calendar days. A 30-observation window is 30 moves, and it spans more than 30 days.
- Different rows cover different stretches of calendar. Each driver has its own holiday calendar, so each has its own set of shared dates with Nifty. Two rows in the same column are both "90 sessions" and are not both the same 90 days.
- The yield row is a percentage change in a yield. The panel applies the same simple percentage-change formula to every series, so the US 10-year row measures the percentage change in the yield — not a change in basis points and not a bond price return. A correlation is unaffected by a straight rescaling, so this matters little while the yield level is stable and more as it travels. The valuation channel itself, which is about the level rather than the daily wobble, is in US yields and equity valuations.
None of these is an error. They are choices, and each one narrows what the resulting number is entitled to say.
Five things you might want to know, and which one the panel answers
Most arguments about a correlation heatmap are really arguments about which question was asked. Setting the questions side by side settles them faster than debating the number.
| The question | What answers it | What it needs | What it still cannot tell you |
|---|---|---|---|
| Did these two move together lately? | Pearson correlation on daily returns — what the panel computes | Two aligned return series and a chosen window | How much, in what order, or why |
| How much does one move per unit of the other? | The slope of a regression — beta | The same two series, read for magnitude rather than consistency | Whether the relationship is stable, or which way cause runs |
| Does one lead the other? | Correlation of one series against the other shifted by a session | A deliberate choice of which side to shift, and why | Cause — something that leads can still be a symptom |
| Does the link survive removing a third factor? | Partial correlation | The third factor named in advance, from a mechanism | Anything about factors you did not think to remove |
| Have the levels drifted apart? | A comparison of the levels themselves | Two price histories, not two return series | Nothing about day-to-day co-movement, which is a separate fact |
Read the last row twice, because it is the one nobody expects. Daily returns can correlate tightly for a year while the two series end that year far apart. A steady drift is a small, persistent difference in daily averages, and a correlation on daily returns is built to be indifferent to averages — that is what subtracting each series' own mean does. So "these two are highly correlated" and "these two went in opposite directions this year" are both capable of being true at once, and a reader who treats the first as ruling out the second will be surprised by a chart.
Consistency is not evidence, and the order you look matters
Here is the limitation the rest of the article has been building to, stated without softening: a correlation consistent with a proposed channel is not evidence that the channel exists.
The reason is a counting argument. Given 10 drivers and three windows, a panel shows 30 coefficients, and each one is either positive or negative. Any plausible-sounding story about any driver will find a coefficient somewhere in that set pointing its way — not because the story is right, but because there are 30 chances for it to be accommodated. A number that would have supported the opposite story equally well, had the sign gone the other way, is not evidence for either.
This is why the order of operations is the entire method:
- State the mechanism first, in full, before opening the panel. Not "the dollar matters for India" but the specific chain: what tightens, who reallocates, through which price it reaches an Indian share. If you cannot write the chain, the coefficient cannot rescue you — it will only supply a number to decorate the gap.
- Say in advance what you would expect to see, including the sign. A commitment made before the number is computed is a real test of the mechanism. An interpretation formed after seeing the number is not.
- Then look. Consistency is mild support and should be held loosely. Inconsistency is more informative than consistency, because it is the only outcome that can surprise you — and it raises a question, which is whether something else has been dominating the window, rather than settling anything.
Reversing those steps is the specific, recognisable mistake this article exists to name. Open the panel, notice the top row, construct the reasoning that fits it, and you have produced something with the shape of analysis and none of its content — because the reasoning was selected by the number instead of tested against it. The sort order makes this easy: the row at the top is the tightest coefficient in the window, which is precisely the one most likely to be a window artefact, and it is also the one your eye lands on first.
What follows about the future is nothing at all. This article makes no claim about what any correlation will do next and none about what follows from any level of one, and it is worth being explicit that no reading of this panel supports a forward statement. A correlation is a description of a set of days that have already happened.
Six ways a correlation panel gets misread
- Carrying the tile grid's colour rule across. On the scored tiles, colour means the modelled effect on Indian equities — which is why a falling dollar renders green. In the correlation panel, colour means the sign of the coefficient: green is "moved with Nifty", red is "moved opposite". A red dollar row is not a warning. It is the panel reporting the ordinary inverse relationship that the model's own dollar sign assumes. Two conventions, one page.
- Treating an absent row as a zero. A driver is dropped from the list when its feed fails to return, or when it does not have enough shared dates with Nifty for the window you selected. Either way it disappears rather than appearing at zero, and nothing on screen distinguishes "we could not compute this" from "we did not list this". A missing row is missing data.
- Reading the top row as the biggest influence. Rows sort by coefficient size ignoring sign. Top means tightest over that window, and a tight, small, coincidental relationship outranks a loose, large, well-understood one every time.
- Assuming the panel and the tiles measure the same series. They mostly do, and the two equity rows are the exception: the correlation panel uses the cash S&P 500 and the Nasdaq Composite, while the tiles above use S&P and Nasdaq 100 futures. The tiles do say Fut in their labels, so the contract difference is on screen if you look — what is not on screen is that the tile is the Nasdaq 100 and the correlation row is the Nasdaq Composite, which is a different index and not merely a different contract on the same one. India VIX carries a tile and has no correlation row at all, so its absence there is a design choice rather than a null result — and what India VIX is and is not comparable with is a question in its own right, taken up in the VIX and the India VIX.
- Expecting a linear measure to catch a non-linear channel. Several macro channels operate mainly in the tail: a driver that is irrelevant on ordinary days and decisive on the worst three days of a quarter produces a modest coefficient, because the quiet days it is diluted by are the great majority. The measure is weakest exactly where the risk is. That is not a bug in the panel; it is the definition of an average, and it is why the tail behaviour of a channel has to be read from the mechanism rather than from the coefficient.
- Believing the number is more precise than the window. The coefficient is shown to two decimals. The observation count behind it is in the data the page fetches and is not displayed, and the window buttons are the only thing on screen that tells you how many days produced it. Two decimals on a 30-observation sample is more precision than the sample can carry.
The trade-off in the whole instrument, stated plainly: a correlation is comparable across wildly different assets precisely because it has thrown away their units, their magnitudes and their order in time. Comparability is what you bought. Those three things are what you paid. There is no version of the coefficient that keeps them, and a reader who wants magnitude, order or cause is asking for a different measurement rather than a better reading of this one.
Where this sits in the app
The value of a correlation view is in being able to check a channel you can already state, over more than one window, without the panel choosing the story for you.
FNOTrader's Options Analytics app carries the macro page described here. The cross-asset panel computes Pearson correlation of Nifty's daily returns against 10 drivers — the dollar index, the US 10-year yield, Brent, USD/JPY, gold, the US VIX, copper, the S&P 500, the Nasdaq and USD/INR — over 30, 60 or 90 observations, each window shown separately rather than blended, using the dates each pair has in common. Above it sit the scored tiles, each carrying the transmission mechanism in words, and each opening its own history chart from one month to five years so a reading can be placed against its own range.
Worth knowing that the two panels are unrelated computations. The composite score is 100 × Σ(wi·ci) / Σ(wi) over the inputs that returned data on that refresh — 20 weighted tiles summing to 1.33, plus the day's net foreign institutional cash flow at a weight of 0.12, for an all-present divisor of 1.45. A feed that fails drops its weight from the numerator and the denominator both, so 1.45 is the maximum rather than a constant. Those weights, signs and cut-offs are FNOTrader's modelling judgement rather than measured constants, and they are published so a reader who disagrees can see what they are disagreeing with. The correlation panel shares none of them. It has no weights, no signs and no scales — a driver's coefficient is unaffected by how heavily the score leans on it, and a heavy weight next to a weak coefficient is not a contradiction, because the two panels are not answering the same question.
FNOTrader is not a SEBI-registered investment adviser. Nothing here is a recommendation about any security or market, and nothing here is a forecast — it is the arithmetic of a measurement and the limits that come with it, so the interpretation stays with the reader.
Common questions
What does a correlation heatmap actually measure?
How consistently two series moved in the same direction on the same days, over a chosen number of sessions, expressed as one number from −1 to +1. On FNOTrader's macro page it is the Pearson correlation of Nifty's daily returns against each driver's daily returns, computed over the dates the two have in common. It carries no units and no magnitude — a driver that barely moves and a driver that moves violently can show the same coefficient.
Why does a correlation change sign between the 30-day and 90-day window?
Almost always because the sample changed, not because the market did. A single violent session in which both series moved about five times their typical amount contributes roughly 25 times a typical session's product to the sum the coefficient is built from — that illustrative arithmetic makes it close to half of a 30-observation sum and a little over a fifth of a 90-observation one. Widen the window and the same day stops dominating. The flip describes the window.
Does a high correlation mean one asset is driving the other?
No, and the coefficient is symmetric — swap the two series and you get the identical number, which is a compact way of saying it contains no information about order or cause. The ordinary case in macro is that both series are responding to a third thing, usually global funding conditions working through the dollar. A partial correlation can test that, but only for a third variable you name in advance from a mechanism.
Which window should I use?
There is no correct one, and the comparison is more informative than any single reading. A 30-session window responds fast and can be carried by one week. A 90-session window is steadier and may still be describing a regime that ended weeks ago. Agreement across 30, 60 and 90 is the closest this panel comes to something durable; disagreement is a prompt to find which days are doing the work.
Why is the dollar row red when the macro page's dollar tile is green?
Because the two panels colour by different things. A scored tile is coloured by the modelled effect on Indian equities, so a falling dollar renders green. A correlation row is coloured by the sign of the coefficient — green for moving with Nifty, red for moving opposite. A red dollar row is the panel reporting the inverse relationship the model already assumes, not a warning about anything.
Can I use the correlation panel to prove a macro channel is real?
No. A coefficient consistent with a channel is not evidence the channel exists — with 10 drivers and three windows there are 30 coefficients on offer, and almost any story will find one pointing its way. The order that works is to state the mechanism in full first, say what sign you would expect, and only then look. Consistency is mild support; inconsistency raises a question about what has been dominating the window.
Why do the S&P and Nasdaq rows not show the overnight lead into the Indian open?
Because the panel pairs closes by calendar date, and the US session for a given date begins after the Indian session for that date has closed. So those rows measure same-date agreement about the day's news, not last night's US move reaching this morning's Indian open. That lead-lag is a different measurement, pairing a US session with the following Indian one, and a same-date correlation is not evidence about it either way.
A driver has disappeared from the list — does that mean its correlation is zero?
No. A driver is dropped when its feed fails to return, or when it does not have enough shared trading dates with Nifty for the window selected — so an absent row means the calculation was not performed, not that it came out near zero. Nothing on screen distinguishes that from a driver simply not being on the list, which is why it is worth knowing the list is fixed at 10 — and that India VIX, which does carry a scored tile, has no correlation row at all.
If two series are highly correlated, must their prices move together over time?
No, and this catches people out. Correlation on daily returns subtracts each series' own average before comparing, so it is built to be indifferent to a steady drift. Two series can agree closely day by day and still finish a year far apart, because a small persistent difference in daily averages compounds while barely affecting the coefficient. Day-to-day co-movement and the path of the levels are separate facts and need separate charts.
Continue reading
More in Macro & Markets · App: Options Analytics · Definitions: glossary · Free tools: calculators · All: every article