[Test] public void fullRun() { O.freezeNow("2009/01/15"); // so that params don't change out from under us var args = new SystemArguments( symbol(), new Parameters { { "systemId", 188387 }, { "RunMode", (double)RunMode.RIGHTEDGE }, { "maType", 2 }, { "maLength", 8 }, { "stDevLength", 10 }, { "regressionProjectionBars", 5 }, { "regressionBars", 8 }, { "ZEntry", 2 }, { "minPnLMultTC", 5 }, { "stopMultiple", 3 }, { "RiskDollars", 100000000 }, { "ZExit", 1 }, { "MaxBarsHeld", 999 }, { "LeadBars", leadBars() } }); BarLoader barLoader = new SystemDbBarLoader(Interval.DAILY, O.list(symbol()), date("2004/11/26")); var simulator = new Simulator.Simulator(args, barLoader, OrderTable.prefix); simulator.processBars(); // using slippage for RE.TEST.TY.1C: 0.015625 // Date range: 11/26/04 - 4/18/08 // Parameter set from the parameters() method below. AlmostEqual(-149665265.63, simulator.pnl(), 0.01); }
static void cacheSymbolData(STORequest request) { symbols = request.symbols; var systemId = request.parameters.get <int>("systemId"); var symbolRanges = dictionary(symbols, symbol => MsivBacktestTable.BACKTEST.range(systemId, symbol.name)); barData = new SystemDbBarLoader(SystemDetailsTable.DETAILS.details(systemId).interval(), symbols, symbolRanges); }
public STOServer(int systemId, int serverIndex) { this.systemId = systemId; details = SystemDetailsTable.DETAILS.details(systemId); STO.populateSymbolsPortfolios(details, out symbols, out portfolios); loader = STO.loader(details, symbols); heart = new Heartbeat(Bootstrap.LOCAL_CLOUD_BROKER, "Tornado.heartbeat.server." + systemId + "." + serverIndex, 3000, fields => { fields.put("ServerIndex", serverIndex); fields.put("SystemId", systemId); }); }
void runOneLocal() { LogC.info("running run " + start + " local to populate S3 cache"); S3Cache.saveAllQueryResultsToS3(true); var s3Cache = runner.s3Cache(); s3Cache.createBucket(); S3Cache.setS3Cache(s3Cache); var runParameters = parameters(start); var symbolRanges = dictionary(symbols, symbol => MsivBacktestTable.BACKTEST.range(systemId, symbol.name)); var data = new SystemDbBarLoader(details.interval(), symbols, symbolRanges); var simulator = new Simulator.Simulator(new SystemArguments(symbols, portfolios, runParameters), data, "QUEDGE"); simulator.processBars(); simulator.shutdown(); S3Cache.saveAllQueryResultsToS3(false); }