public void SerializeRoundTripEstimizeRelease() { var time = new DateTime(2020, 3, 19, 10, 0, 0); var underlyingSymbol = Symbols.AAPL; var symbol = Symbol.CreateBase(typeof(EstimizeRelease), underlyingSymbol, QuantConnect.Market.USA); var item = new EstimizeRelease { Id = "123", Symbol = symbol, FiscalYear = 2020, FiscalQuarter = 1, Eps = 2, Revenue = null, ReleaseDate = time }; using (var stream = new MemoryStream()) { Serializer.Serialize(stream, item); stream.Position = 0; var deserialized = Serializer.Deserialize <EstimizeRelease>(stream); Assert.AreEqual("123", deserialized.Id); Assert.AreEqual(2020, deserialized.FiscalYear); Assert.AreEqual(1, deserialized.FiscalQuarter); Assert.AreEqual(2, deserialized.Eps); Assert.AreEqual(null, deserialized.Revenue); Assert.AreEqual(time, deserialized.ReleaseDate); Assert.AreEqual(time, deserialized.Time); Assert.AreEqual(time, deserialized.EndTime); } }
public void EstimizeReleaseReaderTest() { var dataCacheProvider = new SingleEntryDataCacheProvider(new DefaultDataProvider()); var config = new SubscriptionDataConfig( typeof(EstimizeRelease), Symbol.Create("AAPL.R", SecurityType.Base, QuantConnect.Market.USA), Resolution.Daily, DateTimeZone.Utc, DateTimeZone.Utc, false, false, false, true ); var data = new EstimizeRelease(); 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); }
public void SerializeRoundTripEstimizeRelease() { 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(EstimizeRelease), underlyingSymbol, QuantConnect.Market.USA); var item = new EstimizeRelease { Id = "123", Symbol = symbol, FiscalYear = 2020, FiscalQuarter = 1, Eps = 2, Revenue = null, ReleaseDate = time }; var serialized = JsonConvert.SerializeObject(item, settings); var deserialized = JsonConvert.DeserializeObject <EstimizeRelease>(serialized, settings); Assert.AreEqual("123", deserialized.Id); Assert.AreEqual(symbol, deserialized.Symbol); Assert.AreEqual(2020, deserialized.FiscalYear); Assert.AreEqual(1, deserialized.FiscalQuarter); Assert.AreEqual(2, deserialized.Eps); Assert.AreEqual(null, deserialized.Revenue); Assert.AreEqual(time, deserialized.ReleaseDate); Assert.AreEqual(time, deserialized.Time); Assert.AreEqual(time, deserialized.EndTime); }
public void SerializeEstimizeReleaseSuccessfully() { var data = new EstimizeRelease() { Id = "0", ReleaseDate = new DateTime(2019, 6, 10) }; var content = JsonConvert.SerializeObject(data); Assert.IsTrue(content.Contains("\"id\":\"0\"")); Assert.IsTrue(content.Contains("\"release_date\":\"2019-06-10T00:00:00\"")); Assert.IsTrue(content.Contains("\"eps\":null")); data.Eps = 1.2m; content = JsonConvert.SerializeObject(data); Assert.IsTrue(content.Contains("\"eps\":1.2")); }
private IEnumerable <EstimizeConsensus> Unpack(EstimizeRelease estimizeEstimate, Source source, Type type, JObject jObject) { var jToken = jObject[source.ToLower()][type.ToLower()]; var revisionsJToken = jToken["revisions"]; var consensuses = revisionsJToken == null ? new List <EstimizeConsensus>() : JsonConvert.DeserializeObject <List <EstimizeConsensus> >(revisionsJToken.ToString(), JsonSerializerSettings); consensuses.Add(JsonConvert.DeserializeObject <EstimizeConsensus>(jToken.ToString(), JsonSerializerSettings)); foreach (var consensus in consensuses) { consensus.Id = estimizeEstimate.Id; consensus.FiscalYear = estimizeEstimate.FiscalYear; consensus.FiscalQuarter = estimizeEstimate.FiscalQuarter; consensus.Source = source; consensus.Type = type; } return(consensuses.Where(x => x.UpdatedAt > DateTime.MinValue)); }
/// <summary> /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. /// </summary> /// <param name="data">EstimizeRelease object containing the stock release data</param> public void OnData(EstimizeRelease data) { Log($"{Time} - {data}"); }