[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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 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);
     });
 }
Exemple #4
0
            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);
            }