Macro Analysis Guide: Connect COT, Rates, Real Yields and EIA Data
Macro Research Workbench — Macro Analysis Series 01
Macro Analysis Guide: Connect COT, Rates, Real Yields and EIA Data
A macro analysis guide is not about compressing many indicators into a single trade signal. It is a workflow: define the question you want to answer, align the timestamps of your primary sources, distinguish what is before and after each transform, and record the result in a falsifiable form. This pillar page maps how COT, Treasury yields, real yields and EIA data — datasets with very different characters — connect into one research process, using a single, consistent set of fictional educational examples.
- Think in a workflow: question → retrieval → timestamp alignment → transform → visualization → falsification → documentation
- Separate observation, reference period, release, retrieval and vintage dates
- Never conflate level, difference, percentile, z-score and correlation
- Every number in prose, figures and the mini-tool is fictional educational data
Key takeaways
- Macro analysis is not a synthesis of indicators. It is a workflow: define a question, align timestamps, distinguish transforms and record falsifiable evidence.
- COT, Treasury yields, real yields and EIA data differ in subject, frequency, release lag and units. Review them side by side, but remember correlation does not prove causation.
- Keep observation date, period end, first-release date, retrieval date and revision/vintage date as separate fields to avoid look-ahead bias.
- Distinguish level, difference, rate of change, return, YoY, percentile, z-score, correlation and basis points, stating the transformed units and population.
- Every number in the prose, tables, SVGs and mini-tool is fictional educational data. Real checks can be reproduced in the free Macro Research Workbench.
Open the table of contents
- The answer: macro analysis is a workflow
- A seven-step research workflow
- Data design: line up four datasets
- Separate the five dates
- Transforms: level, difference, correlation
- Align different frequencies
- One coherent example: researching gold
- Research route builder
- Limits of interpretation
- Operational checklist
- Workbench workflow
- Learning roadmap (10 articles)
- Frequently asked questions
- Summary and next step
- Related reading
The answer
The answer: a macro analysis guide is about running a workflow
When people search for a macro analysis guide, many expect a lookup table that says “watch this indicator to know where the market is heading.” But the moment you try to compress several indicators into one trade signal, you force together data with different frequencies, release times and units, and you fall back on subjective judgment that no one can verify later. What macroeconomic analysis really needs is a workflow that defines a question, aligns the timestamps of primary sources, distinguishes what is before and after each transform, and records the result in a falsifiable form. Once you can run this workflow, you can organize the background for FX, gold or crude oil with the same steps.
Put differently, macro analysis is not a machine that produces “the answer.” It is the work of turning the background behind a question into something anyone can reproduce afterwards. Reading the positioning tilt of speculative and commercial traders in the COT report, reading the opportunity cost of money in Treasury yields and real yields, and reading supply and demand in EIA crude oil inventories — these are simply observations from different angles, and lining them up does not create causation. That is precisely why stating which question you are answering, which point in time the data describes, and which transform it passed through forms the foundation of a global macro research workflow.
This article is the pillar page for ten specialist lessons. It shows the conclusion and entry point for each theme while linking the detailed calculations to their own articles. Every number, figure and mini-tool value shown here is fictional educational data and is not a recommendation to buy, sell or hold any currency, government bond, gold, crude oil or index, nor a price forecast or an implication of returns. Real data can be delayed, revised or missing, so always confirm the primary sources and their terms. Reading along while you review public macro data in the free Macro Research Workbench will make the process easier to follow.
The whole workflow
Grasp the whole with a seven-step research workflow
Seen as a workflow, macro analysis breaks down into the following seven steps. The order is the same whatever you research, and not skipping a step is what protects reproducibility. The SVG below shows the flow from defining the question to saving and reporting (it scrolls horizontally).
The heart of this workflow lies in the early steps: 1 defining the question, 3 aligning the dates, and 4 the transform. Start from 5 visualization without settling those, and you can produce a good-looking chart, yet you cannot falsify it afterwards (6) and no one else can reproduce it (7). The sections that follow first show how to line up the four datasets (data design), then how to handle the dates and transforms in turn.
Data design
Data design: line up COT, rates, real yields and EIA
In step 2, retrieval, before you rush to collect data you first line up the character of each series in a table. Once subject, frequency, reference period, release lag, revisions, units and main use are laid out together, it becomes clear which dataset you are reading and why. The table below compares the four representative datasets plus price as a fictional / general description (it scrolls horizontally). Frequency, release time and revision behaviour can change with holidays or rule changes, so always confirm the primary source.
| Data | Publisher | Frequency / observation | Release lag (guide) | Revisions | Unit | Main use |
|---|---|---|---|---|---|---|
| COT | U.S. CFTC | Weekly (Tuesday as-of) | ~3 business days (Friday) | Reclassifications rare | Contracts | Positioning tilt |
| Treasury yields | U.S. Treasury | Daily (business-day close) | Same day to next day | Small | Percent | Nominal rate level |
| Real yields (TIPS) | U.S. Treasury / FRED | Daily (business-day close) | Same day to next day | Small | Percent | Real opportunity cost |
| EIA weekly petroleum | U.S. EIA | Weekly (Wednesday release) | ~5 business days (Wednesday) | Monthly revisions | Thousand barrels, etc. | Crude supply and demand |
| Price (gold, etc.) | Market | Daily / intraday | Near real time | — | USD/oz, etc. | Reference series |
What this table shows is that the four datasets differ in both “frequency” and “how slowly they are released.” To overlay daily yields with weekly COT and EIA in the same chart, a step to align the frequency is unavoidable. Also, COT reveals Tuesday’s state on Friday, while EIA reveals the prior week’s inventories the following Wednesday, so the point in time that “the latest value on screen” refers to differs by series. The detailed reading of each dataset is covered individually in the COT report guide, the Treasury yields and yield curve guide, and the EIA crude oil inventories guide.
Timestamp alignment
Separate the five dates: observation, release, retrieval and vintage
The most overlooked part of macro analysis is the handling of dates. For the same number, “when it describes,” “when you could first know it” and “when you loaded it locally” are different things. Keeping the following five as separate fields lets you avoid look-ahead bias — the error of judging the past with a value that could not have been known at the time.
To summarize, the dates you should keep are the observation date (which point in time the subject describes), the reference period end (the close of the weekly or monthly target period), the first-release date (the day it first became public), the retrieval date (the day you loaded it), and, for revised series, the revision/vintage date (which version of the data). For weekly data revised later, such as EIA, the first-release value and the revised value are different, so saying “that week’s inventory” alone does not pin down the vintage. Point-in-time validation and the pitfalls of data revisions are explored in depth in the macro regime and point-in-time guide.
Reproduce the COT, yields, real yields and EIA views you just organized in the free workbench
The data design and date logic covered so far can be reproduced directly in SG Group’s Macro Research Workbench. The free version lets you review COT (Long / Short / OI / net) for major markets, 52-week and 3-year percentiles, Treasury yields and real yields, Gold × Real Yield and Oil × EIA Inventory, all with source attribution. Data is displayed in the browser and your inputs are not sent externally.
Transforms
Transforms: level, difference, percentile, z-score and correlation
In step 4, the transform, the same source data means something entirely different depending on “which transform it passed through.” Confusing level with difference, rate of change with return, YoY with month-on-month, percentile with z-score, or correlation with basis points shifts how a chart is read. The table below lines up the representative transforms using consistent fictional educational data (a gold COT net long of 185,000 contracts).
| Transform | Meaning | Fictional value | Population / unit |
|---|---|---|---|
| Level | The raw value at that point | 185,000 contracts | Net position, contracts |
| Difference | Change from the prior week | +12,000 contracts | Weekly diff, contracts |
| Percentile (3-year) | Relative rank within 3 years | 74 % | n = 156 weeks |
| Percentile (52-week) | Relative rank within 52 weeks | 82 % | n = 52 weeks |
| Z-score (3-year) | Standard deviations from the mean | +1.50 | mean 89,000, std 64,000 |
| Correlation | Gold price vs real yield co-movement | -0.68 | 60 trading days, n = 60 |
| Basis point | US–Japan 10-year rate differential | 310 bp | 4.20% − 1.10% |
Showing the z-score calculation broken into steps gives the order of symbol, variable definitions, units, substitution, result, interpretation and limitation.
x = this week’s net position (contracts) = 185,000
μ = 3-year mean (contracts) = 89,000 / σ = 3-year standard deviation (contracts) = 64,000
z = ( 185,000 − 89,000 ) ÷ 64,000 = 96,000 ÷ 64,000 = +1.50
Interpretation: positioning is tilted 1.50 standard deviations long above the 3-year mean (high by historical comparison)
Limitation: z = +1.50 is neither “extreme” nor “about to reverse.” Its meaning changes with the distribution tails and the regime
The important point here is that percentile and z-score both express the same “relative height,” yet their population (how many weeks) and distributional assumptions differ. Even 82% over 52 weeks can be 74% over three years. Because the assessment of extremeness changes with the window, always attach n and the window. The detailed distinction between percentile and z-score is covered in the COT percentile and z-score guide. And the correlation of −0.68 is a description that the two “have tended to move inversely so far” — neither causation nor a forecast.
Frequency alignment
Align different frequencies: weekly aggregation, missingness and the danger of forward fill
To view daily yields alongside weekly COT and EIA, you need a step that aligns the frequency. The rule is to align to the lowest frequency. To drop daily to weekly, first decide the week boundary (which weekday closes the week), holidays, missingness and time zones. Specifically, state the following.
- Week boundary: Friday close or Sunday close. Fix the reference day so you never mix COT’s Tuesday as-of with a week-end yield value.
- Aggregation rule: when turning daily into weekly, state whether you use the week-end value or the weekly average. Level series suit a week-end value; flow series suit a sum or average.
- Holidays and missingness: decide how to treat days with no data on a holiday — fill with the prior business day, or leave the gap as missing.
- The danger of forward fill: extending an unpublished period with the previous value means using information that could not have been known at the time. Forward filling does not mean the value “was knowable then.”
- Seasonal adjustment, nominal and real: do not conflate seasonally adjusted with unadjusted, nominal with real, or flow with stock.
When you compute a rolling correlation or rolling z-score, always show the window, minimum sample, endpoints and missing-data handling. Writing, for example, “the 60-trading-day rolling correlation of the gold price and the real yield, minimum sample 55, one-sided endpoints” lets others reproduce the same calculation. As a rule, attach the sample size and denominator definition whenever you present a correlation or z-score. Time-shifted correlation (testing leads and lags) is covered in the lead-lag analysis guide.
One coherent example
One coherent example: researching gold with COT, real yields and the dollar
Let us run the workflow so far through a single fictional educational case. The question is: “organize the current background for gold from three angles — positioning, real yields and the dollar.” The table below lists the fictional data lined up for that research. The values match across the prose, figures, tables and mini-tool. These are not real market values, forecasts or trade recommendations.
| Series | Fictional value | Transform / timestamp | Unit |
|---|---|---|---|
| Gold price | 2,380 | Reference series, daily | USD/oz |
| COT net long | 185,000 | Level, Tue Jun 30 as-of | Contracts |
| COT (Long / Short / OI) | 245,000 / 60,000 / 480,000 | Level, Tue Jun 30 as-of | Contracts |
| COT 3-year percentile | 74 | Percentile, n = 156 weeks | % |
| COT z-score (3-year) | +1.50 | μ = 89,000, σ = 64,000 | — |
| 10-year nominal yield | 4.20 | Level, Jul 11 close | % |
| 10-year real yield (TIPS) | 1.85 | Level, Jul 11 close | % |
| 10-year breakeven | 2.35 | Difference 4.20 − 1.85 | % |
| Dollar index (reference) | 104.5 | Level, Jul 11 | Index |
| Gold × real yield correlation | -0.68 | 60-day rolling, n = 60 | Coefficient |
Running this fictional data through the seven steps, it organizes as follows. Step 1, the question, is “gold’s current state and background.” Step 2, retrieval, is COT (gold futures), the 10-year real yield (TIPS), the dollar index and the gold price. In step 3, date alignment, you note that the observation timestamps differ: COT is Tue Jun 30 as-of, released Fri Jul 3, while the yields are the Jul 11 close. In step 4, the transform, for COT you produce the level (185,000 contracts) plus the 3-year percentile of 74% and a z-score of +1.50; for the real yield the level is 1.85%; and for gold × real yield you compute the 60-trading-day rolling correlation of −0.68.
In step 5, visualization, you place three points side by side: positioning is high versus the past three years (74th percentile, z +1.50), the real yield is at a positive level, and their co-movement so far has been negative. Holding back here matters. As step 6, falsification, you write the breaking conditions in advance: “if the real yield rises further but the gold price does not fall, judge the inverse relationship as weak in this regime,” or “if the COT extreme does not unwind within a few weeks, view the tilt as persistent.” A z of +1.50 is one gauge of extremeness, not a guarantee of reversal, and a correlation of −0.68 is not causation. In step 7, documentation, you record together the timestamps, transforms, windows and falsification conditions of the data you used. The gold-and-real-yield relationship itself is covered in the gold and real yields guide, and the rate-differential-and-currency relationship in the interest rate differentials and FX guide.
Hands on
Educational mini-tool: the research route builder
The mini-tool below is an educational route builder: choose your research subject and question type, and it assembles a checklist of the datasets to check, the date fields to separate, the normalization steps, and the matching articles and workbench functions. It never outputs a trade direction, price forecast or score. Inputs are processed only in the browser and are neither saved nor sent externally. First, so it remains readable even with JavaScript disabled, here is the static result matching the default selection (gold, historical regime, weekly, a few days’ lag tolerance, saving needed).
| Output item | Default (gold / historical regime / weekly / a few days / saving needed) |
|---|---|
| Datasets to check | COT (gold futures net) / 10-year real yield (TIPS) / dollar index / gold price |
| Date fields to separate | Observation date / reference period end / first-release date / retrieval date / revision-vintage date |
| Normalization steps | Point-in-time (pin the vintage) / aggregate to weekly / rolling correlation and regime comparison |
| Matching articles | MR06 Gold × Real Yield / MR09 Regime and point-in-time |
| Matching functions | Gold × Real Yield (Free) → save and export (Pro) → Historical Regime Lab (Premium) |
This builder is a simplified teaching aid for experiencing the article’s workflow. It may differ in part from the real service’s data scope, periods and function names, and it does not exhaust every combination of subject and question. Confirm the official data, periods and specifications in the free Macro Research Workbench. The output is only a suggested learning route, not a trade direction or score.
Limits of interpretation
Limits of interpretation: over-reading correlation, extremes, the curve and inventories
The most dangerous move in macro analysis is to leap from a single statistic to a price direction. None of the following assertions are supported by the data.
- Not “inverse correlation, so sell”: even if gold and the real yield correlate at −0.68, that is a description of past co-movement and does not determine the next move. Correlation changes sign by regime.
- Not “a leading indicator, so it can predict”: even if a series appeared to lead in the past, time-shifted correlation depends on the sample and window and does not guarantee future leading.
- Not “an extreme, so it will reverse”: a COT z of +1.50 or an 82% percentile only shows “high by historical comparison”; it fixes neither the timing nor the existence of a reversal. A tilt can persist.
- Not “an inverted yield curve = a confirmed recession”: even a 2s10s of −40 bp does not fix whether or when a recession occurs. The curve is only one part of the background.
- Not “a draw = crude rises”: even if EIA inventories fall by 3.2 million barrels, the price direction is set by multiple factors — supply and demand, expectations and the level of inventories.
What they share is the principle that correlation does not prove causation, extremes do not guarantee reversals, and scenarios are not forecasts. That is exactly why the workflow writes falsification conditions instead of assertions and attaches the additional data to check. Words like “smart money,” “must rise” or “recession confirmed” cannot be verified, so we do not use them. The role of macro analysis is not to reach a conclusion but to arrange the background in a falsifiable form. How to build scenarios conditionally is covered in the macro scenario analysis guide.
Checklist
Operational checklist
Before you start a macro analysis, confirming the following items from top to bottom prevents gaps in the workflow.
| Stage | What to confirm |
|---|---|
| Narrow the question | Did you settle on one of current state, change, relative comparison or historical regime? |
| Select primary sources | Did you choose the COT, yields, real yields, EIA and price the question needs, matched to their use? |
| Separate the dates | Did you keep observation, period end, release, retrieval and revision/vintage dates separate? |
| Avoid look-ahead | Are you not using values released after your analysis timestamp in a past analysis? Did you watch for forward fill? |
| State the transform | Did you distinguish level, difference, rate of change, YoY, percentile, z-score, correlation and bp, and write the unit and population? |
| Align the frequency | Did you decide the week boundary, holidays, missingness, aggregation rule, window and minimum sample? |
| Write the falsification | Did you record the breaking conditions and additional data in advance? Are you not asserting causation? |
Check for free
Workbench workflow: Free → Pro → Premium
Once you understand the workflow, confirm the real data in SG Group’s Macro Research Workbench. Free, Pro and Premium map to the maturity of your research in stages: “review → ongoing monitoring, saving and export → formulas, historical regimes, lead-lag, point-in-time and reporting.” One example order of use is as follows.
- Confirm the current state with Free: view COT (Long / Short / OI / net) for major markets, 52-week and 3-year percentiles, Treasury yields and real yields, Gold × Real Yield and Oil × EIA Inventory with source attribution. The foundation of steps 1 to 5 in this article can be reproduced here.
- Monitor and save with Pro: work with full COT history, 5-year, 10-year and all-history percentiles, z-scores, 1/4/13/26-week change rankings, multi-market heatmaps, local watchlists and PDF/CSV/JSON/PNG/SVG exports. This is the stage once you want to monitor the same checks repeatedly.
- Research and validate with Premium: use a formula lab, Historical Regime Lab, Lead-Lag, in-browser CSV joining, point-in-time, look-ahead detection, notebooks and a report studio to validate methodology and turn steps 6 and 7 into a report.
The values displayed here are a mechanical organization of public and loaded data, not investment advice or trade signals. Paid real-time market data, investment advice, trade direction, and lot, margin and trading-cost calculations are outside the stated core scope across all plans. External data connections and your own API connections can vary with connection status, your API keys, third-party terms and additional costs, so we avoid asserting “unlimited” or “supported” and ask you to confirm the current scope and pricing on the plans page as the single source of truth. Position sizing and cost calculations are a separate area, covered in the lot-size calculation guide and the trading cost calculation guide, and validation methods in the backtesting guide.
Learning roadmap
Learning roadmap (10 articles)
Starting from this pillar guide, reading in the order “foundational data,” “relationship testing,” then “research quality and scenarios” builds the whole picture of macro analysis. You can also reach the full list from the English article index.
First, how to read primary sources
Connect series together
Reproducibility and design
FAQ
Frequently asked questions
Where should a macro analysis begin?
Why review COT, rates, real yields and EIA data together?
Why must observation and release dates be separated?
How should datasets with different frequencies be aligned?
Does correlation establish causation?
What macro research can the free version support?
When do Pro and Premium become useful?
Does macro research produce a buy or sell signal?
Summary
Summary: the answer to the main question and the next step
What a macro analysis guide really offers is not a lookup table of indicators but a reproducible workflow that answers a question. 1 Define the question, 2 select primary sources, 3 separate the observation and release dates, 4 distinguish level, difference, percentile, z-score and correlation, 5 visualize, 6 write the falsification conditions, and 7 document — these seven steps are the skeleton. Whether the subject is FX, gold or crude oil, the frequency and units change form, but the workflow itself stays the same.
In practice, if you hold to six points — (1) narrow to one question, (2) select primary sources by use, (3) separate the dates to avoid look-ahead, (4) state the transform’s unit and population, (5) align the frequency and record the window, and (6) write falsification instead of asserting causation — you will not be far off. After that, it is just running the workflow on your own subject. Start by checking the same dataset types as this article’s fictional example in the free workbench.
Read next
MR02: How to Read the COT Report — CFTC Positioning, Net Positions and Open Interest — begin by grounding the leading foundational dataset, the COT report.
Disclaimer
- This article is descriptive educational content explaining the steps and thinking of macro analysis. It does not recommend, advise, solicit or guarantee the buying, selling, holding, entering or exiting of any currency, government bond, gold, crude oil or equity index, nor any price forecast or investment decision. The Macro Research Workbench mechanically organizes and visualizes public macro data and data loaded locally on your device; it does not provide trade signals or personalized investment advice.
- All numbers, figures, tables and mini-tool values shown are fictional educational data, not real market values, track records, user counts or actual published figures. The same illustrative data is used consistently across the prose, figures, tables and mini-tool.
- Public data can be delayed, revised or missing. The frequency, release time, reference period, seasonal adjustment and revision behaviour of COT, Treasury yields, real yields and EIA can change with rule changes or holidays, so do not treat them as universal; before use, confirm each institution’s primary source and its terms of use and redistribution. Correlation does not prove causation, extremes do not guarantee reversals, the yield curve does not fix the timing of a recession, inventory changes do not determine the direction of crude prices, and scenarios are not forecasts.
- This article’s mini-tool and figures are displayed and processed in the browser and do not send or save your inputs externally. Features, pricing and scope by plan can change, so confirm the latest on the plans page as the single source of truth. Avoid asserting “unlimited” or “supported”; external data connections and your own API depend on connection status, your API keys, third-party terms and additional costs.
References
- SG Group Macro Research Workbench (https://sggroup.jp/en/macro-research-workbench/)
- SG Group Macro Research Workbench plans (https://sggroup.jp/en/macro-research-workbench/plans/)
- U.S. CFTC — Commitments of Traders (cftc.gov)
- U.S. Department of the Treasury — Interest Rate Statistics (home.treasury.gov)
- Federal Reserve Bank of St. Louis — FRED (fred.stlouisfed.org)
- U.S. EIA — Weekly Petroleum Status Report (eia.gov)

