public void CorrectlyDeterminesContractList() { var symbol = Symbol.CreateFuture(Futures.Indices.SP500EMini, Market.CME, DateTime.Today); var result = _provider.GetFutureContractList(symbol, new DateTime(2013, 10, 11)); Assert.IsNotEmpty(result); }
public void CorrectlyDeterminesContractList(string date) { var dateTime = Time.ParseDate(date); var symbol = Symbol.CreateFuture(Futures.Indices.SP500EMini, Market.CME, dateTime.AddDays(10)); var result = _provider.GetFutureContractList(symbol, dateTime); Assert.IsNotEmpty(result); }
/// <summary> /// Gets <see cref="FutureHistory"/> object for a given symbol, date and resolution /// </summary> /// <param name="symbol">The symbol to retrieve historical future data for</param> /// <param name="date">Date of the data</param> /// <param name="resolution">The resolution to request</param> /// <returns>A <see cref="FutureHistory"/> object that contains historical future data.</returns> public FutureHistory GetFutureHistory(Symbol symbol, DateTime date, Resolution? resolution = null) { SetStartDate(date.AddDays(1)); var future = Securities[symbol] as Future; var provider = new BacktestingFutureChainProvider(); var allSymbols = provider.GetFutureContractList(future.Symbol, date); var requests = future.ContractFilter.Filter(new FutureFilterUniverse(allSymbols, new Tick { Time = date })) .Select(x => new HistoryRequest(date.AddDays(-1), date, typeof(QuoteBar), x, resolution ?? future.Resolution, future.Exchange.Hours, MarketHoursDatabase.FromDataFolder().GetDataTimeZone(future.Symbol.ID.Market, future.Symbol, future.Type), Resolution.Minute, future.IsExtendedMarketHours, future.IsCustomData(), DataNormalizationMode.Raw, LeanData.GetCommonTickTypeForCommonDataTypes(typeof(QuoteBar), future.Type)) ); return new FutureHistory(HistoryProvider.GetHistory(requests, TimeZone).Memoize()); }