Quantitative Tightening Analyzed

One of the main financial events for the second half of 2018 is the Federal Reserve’s ongoing policy normalization and its impact on asset prices and economic activity. Per the FOMC Communications, this policy consists of A) gradually raising the federal funds rate and B) gradually reducing the Federal Reserve’s securities holdings.

In terms of reducing its balance sheet, the Fed is expected to reduce its balance sheet by $40B per month in Q3, up from $30B per month in Q2, by only reinvesting maturing securities beyond the $40B cap. If we assume, as many investors do, that the purchase of these debt securities artificially lowered interest rates and thus inflated the stock market and other asset classes, then it’s logical to conclude that policy normalization (aka quantitative tightening) will likewise negatively impact financial markets.

System Open Market Account Data

The data for each weekly release of the Fed’s holdings is publicly available:

Holdings
System Open Market Account Holdings

Per the above image, as of June 20th, the Fed held over $4 trillion of securities comprised of $2.2 trillion in US Treasury Notes and Bonds and $1.7 trillion in agency mortgage-backed securities. (not exactly a ‘normal’ level when you compare to the years prior to the recession of 2008-09)

Idea for Insight Quest

On Friday evening I saw this data referenced in financial media via standard Excel reports and thought that accessing, analyzing, and visualizing the data via Power BI might be a good blog idea. I put myself into the role of an analyst supporting a treasury bond portfolio manager or a financial journalist. As this is just a blog post, I limited myself to 3-4 hours of effort to produce the following very basic Power BI report with three report pages:

SOMA Domestic Securities Holdings

The goal was to provide visibility to A) the trend in SOMA holdings (“Is the Fed’s balance sheet getting smaller?”) and B) the maturity dates of securities which drive the timing of balance sheet reductions. The report should help validate that the Fed is indeed executing its policy plans of increasingly reducing the size of its balance sheet.

Of course the simple report would be a small part of much broader and richer BI solution. For example there would be 2-3 dashboards reflecting certain visuals from 5-6 reports and this content would be published as a Power BI app.

Development Process

Essentially, a collection of SOMA CSV files were imported as a single table to a Power BI Desktop (PBIX) file via Power Query (M). A basic date table was also imported, a relationship was created, and then a number of DAX measures and report visuals were created and formatted.

**Although these steps and results may seem manual and only for experienced users/developers, many out-of-the-box Power BI features were applied throughout.

  1. Weekly SOMA files (CSVs) dating back to June of 2017 were saved to a network folder
    • Accessing the Fed’s API for an automated retrieval would be a better option
  2. A Power Query (M) query was created to access this folder and the combine binaries functionality was used to integrate all 52 CSV files into one common structure:
    Imported Data
    SOMA CSV Files Combined

    *A few source columns were removed and renamed but the full data integration was accomplished without any custom code (Advanced Editor).

  3. A date table from a SQL Server database was then imported and related to the SOMA table based on the As of Date column.
  4. A SOMA Holdings DAX measure was created following a standard practice for semi-additive measures and snapshot fact tables:
    SOMA Holdings ($B) = 
    CALCULATE(DIVIDE(SUM('SOMA'[Par Value]),1000000000),
     LASTNONBLANK('Date'[Date],CALCULATE(COUNTROWS('SOMA'))))

    The DIVIDE function for the expression input to CALCULATE simply reduces the scale to billions such that it’s not necessary to set each visual to billions. The LASTNONBLANK filter parameter to CALCULATE is necessary to compute the value of the securities for the last date in which SOMA data is available in the active filter context.

  5. Several additional DAX measures were created to support date interval comparisons and to analyze forthcoming maturity dates such as the following examples:
    SOMA Holdings ($B) (Fours Weeks Prior) = 
    IF(ISBLANK([SOMA Holdings ($B)]),BLANK(),
       CALCULATE([SOMA Holdings ($B)],
          FILTER(ALL('Date'),'Date'[Calendar Year Week Number] = MAX('Date'[Calendar Year Week Number])-4))) 
    
    Four Week Holding Variance ($B) = 
    IF(OR(ISBLANK([SOMA Holdings ($B)]),ISBLANK([SOMA Holdings ($B) (Fours Weeks Prior)])),BLANK(),
    [SOMA Holdings ($B)] - [SOMA Holdings ($B) (Fours Weeks Prior)]) 
    
    Maturing ($B) Next 30 Days = 
    CALCULATE([SOMA Holdings ($B)],
        FILTER(ALL('SOMA'[Maturity Date]),SOMA[Maturity Date] <= TODAY()+30))

    Notice that the calculations leverage [SOMA Holdings ($B)] and apply a common date shifting pattern via FILTER.

  6. Finally, the visualizations were created leveraging these measures and the date dimension table.
    • Two relative date filter conditions were applied to the Maturing Securities chart visual (Visual level filters):
      • Date is in the last 7 days
      • Maturity Date is in this year
    • A trend line was added to the SOMA holdings line chart via the Analytics pane
    • Conditional formatting was applied to the Weekly Holding Detail

*Per the report, agency mortgage backed securities holdings weren’t available in the source data so only treasury bonds and notes could be analyzed.

A Few Takeaways

  1. Yes, at least in terms of treasury security holdings, the Fed has been implementing normalization (quantitative tightening) as officially communicated.
    • The steepening SOMA Holdings line suggests that the pace of tightening has been increasing as planned and the two detail pages confirm this.
  2. In 2018 the Fed has been implementing the tightening unevenly across months.
    • Per the Monthly Holding Detail page, the holdings didn’t decline at all in March but the declines in January and February offset this month resulting in an average of $12B per month as planned.
    • Like Q1, the average monthly reduction in Q2 is close to the $18B monthly target for treasuries. ($12B in reductions of mortgage-backed securities would total the target of $30B per month in Q2).
  3. When you’re familiar with Power BI’s different layers (integration, modeling, visualization), rather than only knowing visualization for example, it becomes possible and even fairly easy to generate insights from raw data sources.
    • That said, I generally recommend certain separating dataset designers from report authors such that the different roles develop an expertise in the given domains (e.g. M, DAX vs. report design).

*I wanted to compare past maturity dates (tightening dates) to the daily performance of equity and debt markets but ran out of time. Negative performance on tightening days would align with historical data for positive performance on easing/purchase days and further support the thesis that, to the degree that policy normalization continues as planned, financial markets should struggle.

Wrapping Up

Maybe next week I’ll finally get to the follow-up post to Data Model Anti-Patterns. Given the choice between hands-on blog posts like the past two weeks and a long essay/outline I’m generally going to choose hands-on and I think most readers prefer this approach.

If something significant happens in the financial markets later this year, such as a bear market in stocks or bonds, I’ll definitely revisit this topic and extend this simple example.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s