I'm trying to figure out why running the same code offline creates different returns vs online.
In booth cases 6 trades get executed. Online ends with 12.886% and offline with 11.264% Compounding Annual Return.
For offline I'm using daily spy ticker data which were included in the github project. The online version uses daily spy ticker data from QuantConnect. Things tried so far:

  1. Added DataNormalizationMode.Raw but it didn't help.
  2. Added Debug(Time + " " + data["SPY"]); to OnData when doing trades to see if trades or ticker data are different which they aren't by much. Just small differences with volume and rounding offsets but not enough to create 1% difference from 6 trades.
    Online: O: 267.86 H: 268.81 L: 267.4 C: 268.77 V: 60549562
    Offline: O: 267.85 H: 268.81 L: 267.4 C: 268.79 V: 59232691
  3. All 6 trading dates match for offline & online.
  4. Did check the orders tab but only know how to do that online. It shows the fill is done next day as it's daily data but assuming they behave the same it shouldn't matter, just can't confirm.
    Online:
    2018-01-03 00:00:00    SPY    Buy Market On Open    Fill: $268.99 USD
    expanded:
    2018-01-03 00:00:00    SPY    -            Submitted    
    2018-01-04 00:00:00    SPY    -            Fill: $268.99 USD
  5. I checked to make sure the booth data include the timespan used with the test which it does.

Not sure why there is a difference if they run with close to the same data according debug output on trade call.
Questions:
How does one get the actual order log in the offline version?
Any other possible reasons why the offline version creates different return results?