示例#1
0
        public void EstimizeConsensusReaderTest()
        {
            var dataCacheProvider = new SingleEntryDataCacheProvider(new DefaultDataProvider());

            var config = new SubscriptionDataConfig(
                typeof(EstimizeConsensus),
                Symbol.Create("AAPL.C", SecurityType.Base, QuantConnect.Market.USA),
                Resolution.Daily,
                DateTimeZone.Utc,
                DateTimeZone.Utc,
                false,
                false,
                false,
                true
                );

            var data    = new EstimizeConsensus();
            var date    = new DateTime(2019, 6, 10);
            var source  = data.GetSource(config, date, false);
            var factory = SubscriptionDataSourceReader.ForSource(source, dataCacheProvider, config, date, false, data);

            var rows = factory.Read(source).ToList();

            Assert.IsTrue(rows.Count > 0);
        }
示例#2
0
        public void EstimizeConsensusReaderDoesNotThrow()
        {
            var data     = "20100101 12:00:00,abcdef123456789deadbeef,Estimize,Revenue,100.00,100,100,50,2010,1,100";
            var instance = new EstimizeConsensus();

            var fakeConfig = new SubscriptionDataConfig(
                typeof(EstimizeConsensus),
                Symbol.Create("AAPL", SecurityType.Base, "USA"),
                Resolution.Daily,
                TimeZones.Utc,
                TimeZones.Utc,
                false,
                false,
                false
                );

            Assert.DoesNotThrow(() => { instance.Reader(fakeConfig, data, DateTime.MinValue, false); });
        }
示例#3
0
        public void SerializeRoundTripEstimizeConsensus()
        {
            var time             = new DateTime(2020, 3, 19, 10, 0, 0);
            var underlyingSymbol = Symbols.AAPL;
            var symbol           = Symbol.CreateBase(typeof(EstimizeConsensus), underlyingSymbol, QuantConnect.Market.USA);

            var item = new EstimizeConsensus
            {
                Id            = "123",
                Symbol        = symbol,
                FiscalYear    = 2020,
                FiscalQuarter = 1,
                Source        = Source.WallStreet,
                Type          = QuantConnect.Data.Custom.Estimize.Type.Eps,
                Count         = 3,
                Mean          = 2,
                UpdatedAt     = time
            };

            using (var stream = new MemoryStream())
            {
                Serializer.Serialize(stream, item);
                stream.Position = 0;

                var deserialized = Serializer.Deserialize <EstimizeConsensus>(stream);

                Assert.AreEqual("123", deserialized.Id);
                Assert.AreEqual(2020, deserialized.FiscalYear);
                Assert.AreEqual(1, deserialized.FiscalQuarter);
                Assert.AreEqual(Source.WallStreet, deserialized.Source);
                Assert.AreEqual(QuantConnect.Data.Custom.Estimize.Type.Eps, deserialized.Type);
                Assert.AreEqual(3, deserialized.Count);
                Assert.AreEqual(2, deserialized.Mean);
                Assert.AreEqual(time, deserialized.UpdatedAt);
                Assert.AreEqual(time, deserialized.Time);
                Assert.AreEqual(time, deserialized.EndTime);
            }
        }
示例#4
0
        public void SerializeRoundTripEstimizeConsensus()
        {
            var settings = new JsonSerializerSettings {
                TypeNameHandling = TypeNameHandling.All
            };

            var time             = new DateTime(2020, 3, 19, 10, 0, 0);
            var underlyingSymbol = Symbols.AAPL;
            var symbol           = Symbol.CreateBase(typeof(EstimizeConsensus), underlyingSymbol, QuantConnect.Market.USA);

            var item = new EstimizeConsensus
            {
                Id            = "123",
                Symbol        = symbol,
                FiscalYear    = 2020,
                FiscalQuarter = 1,
                Source        = Source.WallStreet,
                Type          = Type.Eps,
                Count         = 3,
                Mean          = 2,
                UpdatedAt     = time
            };

            var serialized   = JsonConvert.SerializeObject(item, settings);
            var deserialized = JsonConvert.DeserializeObject <EstimizeConsensus>(serialized, settings);

            Assert.AreEqual("123", deserialized.Id);
            Assert.AreEqual(symbol, deserialized.Symbol);
            Assert.AreEqual(2020, deserialized.FiscalYear);
            Assert.AreEqual(1, deserialized.FiscalQuarter);
            Assert.AreEqual(Source.WallStreet, deserialized.Source);
            Assert.AreEqual(Type.Eps, deserialized.Type);
            Assert.AreEqual(3, deserialized.Count);
            Assert.AreEqual(2, deserialized.Mean);
            Assert.AreEqual(time, deserialized.UpdatedAt);
            Assert.AreEqual(time, deserialized.Time);
            Assert.AreEqual(time, deserialized.EndTime);
        }
示例#5
0
 /// <summary>
 /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
 /// </summary>
 /// <param name="data">EstimizeConsensus object containing the stock release data</param>
 public void OnData(EstimizeConsensus data)
 {
     Log($"{Time} - {data}");
 }