Slippage and Root Mean Squared Error in Model performance

REAL traders all know how important slippage is.  You wanted to buy at 20.05 but got filled at 20.07.  Then you wanted to exit at 20.55 but got filled at 20.52.  The $0.02 on the went in and the $0.03 on the way out is what is referred to as slippage or skid. Total slippage $0.05

When building mix models I always incorporate slippage but where has become an increasingly important question in my work.  It’s similar to when people run a regression analysis on data that has no linear time factor built it.  You have no idea if Y preceded X or X preceded Y.  Running a linear regression doesn’t make this so.

Root Mean Squared Error or RMSE is one of many ways to compare regression models.  The formula is SQRT(mean((Observed_data- Predicted_Value)^2)).

When building models I often have a maximum profit from the trigger point (trade entry).  Back to our example. If I bought in at $20.07 and the highest print on the chart that day was 20.77. Max Profit would be $0.70.  My question to answer is typically what features will allow me to predict that $0.70 with the least amount of error & risk.

SLIPPAGE MATTERS! BIG TIME! I ran a Monte Carlo. 10,000 iterations. Running the same model where slippage was not subtracted from max Profit and when it was.  These were the results.

There are MANY interpretations of this.  I’ll offer a few.

  • RMSE is sensitive to large numbers creating the flaccid bi-nomial distribution in the bottom graph.  Large numbers potentially produced by small max profits and large spreads. IE CMG’s spread is about $0.20 where could be Max Profit = 0.05.
  • The top graph RMSE, max profit, is normally distributed in this model because individual stock differences for max profit are not enough to disrupt the distribution.  Which suggests that my ability to predict a stock is potentially easier.
  • SPREADS MATTER! The difference between the two graphs is caused by individual stock characteristics in the spread.  Like, two people, no spreads are ever really the same.  The error for my prediction goes up as we account for individual differences.

I think this illustrates something we experience every day in life. We have general predictions about what people will do in a given context (features) but everyone often does something unique which can not be accounted for.  I believe the bottom graph illustrates this.  It also illustrates why your real life trading profits may not reflect model performance if slippage is not included.  Because what happens. When I thought I was going to make $50.00 I only made $35.00…. Slippage!


American’s Agree: We disapprove of Congress

At least the American People agree on something, we disapprove of congress.  Today the Gallup Company released the congressional job approval graph (pictured below).

Job Approval of Congress, monthly

As you can see we have gotten pretty darn low at 12%.  My only question is how is something that is so disapproved of, remember 18% approve which means the other 82% disapproval, still in operation?  They battle like children.  Which ironically is the front cover of Bloomberg business week in which they are mocked for acting like children.

I find it rather funny that as much as Americans disagree on issues from abortion to the president we still allow the government that serves us to operate in a fashion we disapprove of.  Here is another graph from the Gallup people…  This dislike of congress even transcends party lines! OMG the humanity! We agree on something! I’m so happy!  Whats even funnier is we have agreed on this since 2011.  Did we hear the presidents talk about this during the debates? No! why would they?





Job Approval of Congress by political party

Enhanced by Zemanta

Leaders & Laggers of the S&P 500 Index

Some time ago I began coding a program that would iterate through a list of stocks (that list being the Standard & Poors 500 (S&P500)). I use intra-day 5 minute bars going 20 days back. The information tells me how to best hedge my current intra-day positions. For example lets say $AAPL has a negative correlation with stock XYZ with an R^2 above .90. When holding $AAPL for longer periods of time I know stock XYZ will follow suit in the opposite direction. If $AAPL spikes against me and my stop lose is hit, my hedge would have covered the lose from $AAPL. I will be posting a more detailed example as well as data this up coming week.