Are you talking about spot checks?Quote from TriPack:
when writing code it is important to manually verify that the system is executing the trades where they *should* be executed. Or in other words it is wise to manually verify that the code is executing according to plan. So even when the testing is automated, the verification should be manual anyway.
I sometimes verify backtested trades manually, kind of like spot checks. Mostly I run a 4-way automated verification on my systems. It works like this:
1) Optimizer backtests a few billion parameter combinations, reporting only daily PnL and # trades per day for each parameter combination. No other information is saved since this would produce too much data. This is written in C.
2) Pick a few parameter combinations of interest. Go back through the historical data, generating trade lists using a second algorithm. Daily PnL and trade #âs should match the optimizer results. This is written in Matlab.
3) Feed parameters and historical ticks into a real time program written in C++. Check trades.
4) Run the same real-time program on live data for a few days. At the end of each day, feed the dayâs ticks through the non-real-time Matlab code to verify.
In every case, the trades should match up exactly⦠to the same second, same tick.
The justification for multiple codes is efficiency. Non-real time implementations are much faster to prototype, and faster to backtest lots of parameters. Real-time implementations are slower and/or CPU-cache inefficient.
It also helps to backtest and forward-test on data from the same feed.
The large number of parameters searched in hindsight does not have a negative effect on walk-forward lifetime because of an internally diversified design and because most parameters are picked using rolling train-in-set/execute-out-of-set trials, not in hindsight. Most in-hindsight optimization combinations are profitable anyway. Iâm only looking for broad regions of profitability, large numbers of trades, high Sharpe, low drawdowns... high statistical significance.
Yes, all of this took a bloody long time to write. Although Matlab helps quite a bit, I donât recommend trying this unless you really enjoy weeks of coding and understand real-time (multithreading) principles and TCP sockets.

