add subscribe instrument and refactor backtest