Monthly Archives: October 2017

Non Farm Payrolls time again…

It is NFP time again, sweepstakes must be rife on trading floors around the world…..So it is time to use my NFP forecasting model which leverages on both an ARIMA forecast and a simple linear regression using the ADP as the independent variable to generate a mixed forecast of the NFP.

Not surprisingly the ADP and the NFP data releases are positively correlated, thoug this has been significantly time varying. Also the NFP tend to be generally twice as volatile than the ADP numbers, highlighting their challenging nature for a forecaster.

plot of chunk chartsplot of chunk charts

##       ADP               NFP         
##  Min.   :-845.95   Min.   :-823.00  
##  1st Qu.:  28.14   1st Qu.:  22.75  
##  Median : 148.17   Median : 143.00  
##  Mean   :  85.87   Mean   :  87.48  
##  3rd Qu.: 213.44   3rd Qu.: 227.75  
##  Max.   : 383.98   Max.   : 524.00

In the below chart I use a 24-month rolling Granger Causality test to investigate the causality at a lag of one between ADP and NFP releases. The chart shows the P-values of the test which indicate in which way the causality,if any, flows. Clearly sometime the ADP has been a leading indicator, other times not.

plot of chunk causality

In the below I use an optimising algorithm to find the best ARIMA over the entire sample so as to generate a trend forecast of the NFP. The wide confidence intervals clearly highlight that those forecasts are associated with a high degree of of uncertainty.

plot of chunk arimachart

Finally I use a mixed model to generate an estimate of what the next NFP release will be. The forecast is derived both from a linear regression model forecast with the ADP as the independent variable and also from the forecast generated by the previously fitted ARIMA model.

The LM model forecasts an NFP release of : 136,313 whilts the ARIMA calls for a release of: 170,383 . This contributes to a mixed model forecast of : 152,164

Trade Weighted Currency Indices Stretch Map

Trade Weighted Currency Indices Report

Thu Oct 05 21:43:57 2017

The following report aims to provide a gauge to the current strenght of major currencies. For doing so I use the Bank of England Trade weighted Exchange rate indices and a standardised statistical measures of price deviation to provide an estimate of how stretched major currencies are on a trade weighted perspective.

plot of chunk linechart

I first calculate the T-stat of the mean price deviations over a rolling period of 61 days. The charts below show the results for each currency over the last 500 days. The purple line represents the median value since 1990-01-03 and the red lines represent the 95% confidence intervals. Therefore if the value is above or below those the deviation of the given currency would be deemed as atypical relative to what #would be expected under a normal distribution and therefore overbought/oversold.

plot of chunk rolling chart

The following Map chart shows how stretched the currencies are over time horizons ranging from 1-month to 1-year. The bigger the square the most significant the upside (green) or downside (red) of currencies over the given period.

plot of chunk stretch map
The charts below show how the daily changes in the Trade weighted indices have correlated since January 1990 and since the begining of 2015.

plot of chunk correlation
Finally, the following provide an ARIMA forecast for each of the trade weighted indices. My script selects the best ARIMA fit over the previous 250-day to generate a forecast for the next 21 days.
It also shows the forecast confidence intervals.

plot of chunk arimaforecastplot of chunk arimaforecastplot of chunk arimaforecast

Weekly Changes in G10 FX Trade Weighted Indices

I always liked boxplots. I think they provide a great and very visual way to position current data relative to their history whilst highlighting outliers. This is particularly useful as it helps to put recent moves in context of their past opportunities and possibly highly reversals and/or opportunities. To illustrate this I wrote a quick script in R to grab the BOE G10 Trade weighted indices from the website of the bank of England and posititon the most recent one week move relative to its history of weekly move going back to 1990.
The blue dots represent the most recent observations, the orange dots are the outliers over the period 1990 to date. The boxes emcompasses the observations that fall between the 25% and 75% quantiles. The Blue lines in the box are the median value over the sample and the “wiskers” represent an interval of close to 95%.

plot of chunk chartdata