Ejemplo n.º 1
0
        public void testSymbolValueLive()
        {
            Log.setFile(@"C:\logs\jefftest");

            SystemTimeSeriesTable.SYSTEM_TS.insert("testone", "ASCII", "ActiveMQ", "somedangtopic");
            AsciiTable.SYSTEM_ASCII.insert("testone", @"\\nysrv37\share\Tools\RightEdge\TransitionTest\TY1C.full.csv", true, 1);
            var manager  = new SpudManager();
            var barSpud  = new BarSpud(manager);
            var barSpud2 = new BarSpud(manager);
            var symbol   = new Symbol("testone");
            var spud     = symbol.doubles(barSpud);
            var spud2    = new Symbol("RE.TEST.TY.1C").doubles(barSpud2);

            manager.newBar();
            barSpud.set(new Bar(1, 3, 1, 2, O.date("2008/08/06")));
            barSpud2.set(new Bar(1, 3, 1, 2, O.date("2008/08/06")));

            manager.newTick();
            spud.doSubscribe();

            barSpud.lastTickedAt(O.date("2008/08/06 11:22:34"));
            spud2.doSubscribe();
            IsTrue(spud2.isDirty());
            symbol.javaSymbol().jmsLive().topic().send("value=97.1|timestamp=2008/08/06 11:22:33|MSTimestamp=2008/06/05 13:10:08");

            Bombs(() => LogC.info("" + spud[0]), "stale");
            symbol.javaSymbol().jmsLive().topic().send("value=97.2|timestamp=2008/08/06 11:22:34|MSTimestamp=2008/06/05 13:10:08");
            O.wait(() => spud[0] == 97.2);
            barSpud.lastTickedAt(O.date("2008/08/06 11:22:35"));
            spud.allowStaleTicks();
            AreEqual(97.2, spud[0]);
            AreEqual(116.140625, spud2[0]);
        }
Ejemplo n.º 2
0
        public void testSymbolValueSpud()
        {
            var manager = new SpudManager();
            var barSpud = new BarSpud(manager);
            var spud    = new Symbol("RE.TEST.TY.1C").doubles(barSpud);

            barSpud.set(new Bar(1, 3, 1, 2, O.date("2007/01/02")));
            AreEqual(105.04687500, spud[0]);

            // test barSPud has date, but spud does not
            manager.newBar();
            barSpud.set(new Bar(1, 3, 1, 2, O.date("2007/01/06")));
            AreEqual(105.32812500, spud[0]);
        }
Ejemplo n.º 3
0
        public void testLive()
        {
            O.timerManager().isInterceptingTimersForTest = true;
            noOrders();
            processClose(bar11());
            processBar(bar11());
            var goLiveTime = O.date(O.ymdHuman(currentDate) + " 09:00:00");

            O.freezeNow(goLiveTime);
            var closeTime = date(O.ymdHuman(currentDate) + " 12:34:56");

            Objects.timerManager().intercept(closeTime, "subsystem close");
            Objects.timerManager().intercept(goLiveTime, "multi system heartbeat");
            Objects.timerManager().intercept(goLiveTime.AddDays(10), "multi system close (never run)");
            tick(0, 0.01, 1, 1, 1, 1, O.now());
            O.timerManager().runTimers(closeTime);
        }
Ejemplo n.º 4
0
 public object retrieveOneSymbolClose(string marketName, string start, string end)
 {
     try {
         var bars   = rBars(marketName, start, end);
         var result = new object[bars.open.Length, 2];
         O.zeroTo(
             bars.open.Length,
             i => {
             // date close
             result[i, 0] = O.date(bars.dates[i]);
             result[i, 1] = bars.close[i];
         });
         return(result);
     }
     catch (Exception e) {
         return(loggedError("failed to retrieve " + marketName + " between " + start + " " + end, e));
     }
 }
Ejemplo n.º 5
0
        static StatisticsCollector collector(string fileName)
        {
            var curve     = new Curve(fileName);
            var jPnl      = curve.pnlObservations();
            var jPosition = curve.positionObservations();
            var dates     = new List <DateTime>();
            var pnl       = new List <double>();
            var position  = new List <double>();

            foreach (JDate d in jPnl)
            {
                dates.Add(O.date(d));
                pnl.Add(jPnl.value(d));
                position.Add(jPosition.value(d));
            }

            return(new StatisticsCollector(dates, pnl, position));
        }
Ejemplo n.º 6
0
 public object retrieveOneTimeSeriesByName(string seriesName, string source, string start, string end)
 {
     try {
         var ss           = seriesSource(seriesName, source);
         var range        = Range.range(start, end);
         var observations = ss.observations(range);
         var result       = new object[observations.size(), 2]; // datetime, double
         var i            = 0;
         foreach (java.util.Date d in observations)
         {
             result[i, 0] = O.date(d);
             result[i, 1] = observations.value(d);
             i++;
         }
         return(result);
     } catch (Exception e) {
         var message = "failed to retrieve " + seriesName + " " + source + " " + start + " " + end;
         return(loggedError(message, e));
     }
 }
Ejemplo n.º 7
0
 public object retrieveOneSymbol(string marketName, string start, string end)
 {
     try {
         var bars   = rBars(marketName, start, end);
         var result = new object[bars.open.Length, 7];
         O.zeroTo(bars.open.Length, i => {
             // date open high low close interest volume
             result[i, 0] = O.date(bars.dates[i]);
             result[i, 1] = bars.open[i];
             result[i, 2] = bars.high[i];
             result[i, 3] = bars.low[i];
             result[i, 4] = bars.close[i];
             result[i, 5] = bars.openInterest[i];
             result[i, 6] = bars.volume[i];
         });
         return(result);
     }
     catch (Exception e) {
         return(loggedError("failed to retrieve " + marketName + " between " + start + " " + end, e));
     }
 }
Ejemplo n.º 8
0
        public void testSymbolBarSpud()
        {
            var manager = new SpudManager();
            var barSpud = new BarSpud(manager);
            var symbol  = new Symbol("RE.TEST.TY.1C");
            var spud    = symbol.bars(barSpud);

            barSpud.set(new Bar(1, 3, 1, 2, O.date("2007/01/02")));
            AreEqual(105.04687500, spud[0].close);
            barSpud.lastTickedAt(O.date("2007/01/02 12:34:55"));
            symbol.javaSymbol().jmsLive().publish(new JTick(98, 100, 96, 99, 93, O.jDate("2007/01/02 12:34:56")));
            O.sleep(250);
            AreEqual(105.04687500, spud[0].close);

            manager.goLive();
            symbol.javaSymbol().jmsLive().publish(new JTick(98, 100, 96, 99, 93, O.jDate("2007/01/02 12:34:57")));
            O.wait(() => spud[0].time.Equals(date("2007/01/02 12:34:57")));

            AreEqual(98.0, spud[0].close);
            AreEqual(93.0, spud[0].low);
        }
Ejemplo n.º 9
0
 public object businessDaysAgo(int count, string dateString, string center)
 {
     return(O.date(Dates.businessDaysAgo(count, O.jDate(dateString), center)));
 }
Ejemplo n.º 10
0
 public static void subscribeHeartbeat(Action <string, DateTime> hostAlive)
 {
     launcherHeartbeatTopic().subscribe(fields =>
                                        hostAlive(fields.text("Hostname"), O.date(fields.time("Timestamp"))));
 }