Hey guys, I'm trying to apply seen slippage to historical equity curves using live trade slippage values and I'm not sure if I'm doing it correctly. I was hoping someone with experience doing this could help me out.
My simulated automated system usually deviates from my live system because it is impossible to perfectly simulate order fills on a unknown book in historical data. The deviation I've accepted is that there are some trades my simulated system gets and my live system misses, this happens due to Fill On Touch simulation, and the difference seen in simulated equity vs live equity is just the value of being first in the order queue vs wherever I am.
So I've been running my system live on the market, at the end of each trading day I record Simu_Profit, Simu_Volume, Live_Profit, Live_Volume. Generally speaking Simul_Volume is always more than Live_Volume, and Simu_Profit is almost always more than Live_Profit (Missing trades rarely adds value).
In trying to figure out what my average slippage per share traded to expect. I figure out the average profit per share on the Simu, which is Simu_Profit/Simu_Volume, and I figure out the profit per share on the Live, Live_Profit/Live_Volume.
I then figure out what the difference between Simu_PPS (profit per share traded) and Live_PPS, equaling (Simu_PPS-Live_PPS). So this should give the expected deviation in profit per share traded. So if my Simu trades 10000 shares daily, and makes $10000, and live trades 8000 daily, making $8000 profit, you would say there is 'no per share traded slippage'. Which means I could run my Live system at 1.25*Simu_TradeSize and obtain the Simu's equity curve.
So to find my universal average for projecting on historical data, I take Simu_TotalProfit/Simu_TotalVolume, and find the difference with Live_TotalProfit/Live_TotalVolume.
It seems with 3 months of live testing, I get an average slippage per share traded of about 0.005, trading about 92% of the simu volume. So the way I project this onto historical simulated equity curves to try to get the 'best guess' of the type of performance I will see going forward, is for each day in the historical equity curve, I scale the daily volume by 92%, then multiply the volume traded by the profit per share traded minus 0.005.
So on a day that made 0.02 cents per share, trading 100 shares total, my 'expected live' performance would be 92*0.015.
Is this a correct way to get an 'expected' equity curve taking into account seen slippage? I worry that by factoring in the amount of shares traded, I might be fooling myself into thinking this is profitable while it isn't in the long term.
Thanks for any help.
My simulated automated system usually deviates from my live system because it is impossible to perfectly simulate order fills on a unknown book in historical data. The deviation I've accepted is that there are some trades my simulated system gets and my live system misses, this happens due to Fill On Touch simulation, and the difference seen in simulated equity vs live equity is just the value of being first in the order queue vs wherever I am.
So I've been running my system live on the market, at the end of each trading day I record Simu_Profit, Simu_Volume, Live_Profit, Live_Volume. Generally speaking Simul_Volume is always more than Live_Volume, and Simu_Profit is almost always more than Live_Profit (Missing trades rarely adds value).
In trying to figure out what my average slippage per share traded to expect. I figure out the average profit per share on the Simu, which is Simu_Profit/Simu_Volume, and I figure out the profit per share on the Live, Live_Profit/Live_Volume.
I then figure out what the difference between Simu_PPS (profit per share traded) and Live_PPS, equaling (Simu_PPS-Live_PPS). So this should give the expected deviation in profit per share traded. So if my Simu trades 10000 shares daily, and makes $10000, and live trades 8000 daily, making $8000 profit, you would say there is 'no per share traded slippage'. Which means I could run my Live system at 1.25*Simu_TradeSize and obtain the Simu's equity curve.
So to find my universal average for projecting on historical data, I take Simu_TotalProfit/Simu_TotalVolume, and find the difference with Live_TotalProfit/Live_TotalVolume.
It seems with 3 months of live testing, I get an average slippage per share traded of about 0.005, trading about 92% of the simu volume. So the way I project this onto historical simulated equity curves to try to get the 'best guess' of the type of performance I will see going forward, is for each day in the historical equity curve, I scale the daily volume by 92%, then multiply the volume traded by the profit per share traded minus 0.005.
So on a day that made 0.02 cents per share, trading 100 shares total, my 'expected live' performance would be 92*0.015.
Is this a correct way to get an 'expected' equity curve taking into account seen slippage? I worry that by factoring in the amount of shares traded, I might be fooling myself into thinking this is profitable while it isn't in the long term.
Thanks for any help.