/// <summary> /// Gets historical prices from Yahoo Finance given the specified configuration. /// </summary> /// <param name="config">Configuration parameters used to retrieve historical price data.</param> /// <returns></returns> public async Task <List <StockData> > GetPricesAsync(IHistoryConfig config) { string yahooSymbol = config.Ticker.ToString(); Period yahooPeriod = YahooHistoryConfig.GetYahooPeriod(config.TimeFrame); IReadOnlyList <Candle> hist = await Yahoo.GetHistoricalAsync( yahooSymbol, config.DateFrom, config.DateTo, yahooPeriod); List <StockData> prices = new List <StockData>(); foreach (Candle candle in hist) { prices.Add(new StockData() { Ticker = yahooSymbol, Date = candle.DateTime, Open = (double)candle.Open, High = (double)candle.High, Low = (double)candle.Low, Close = (double)candle.Close, CloseAdj = (double)candle.AdjustedClose, Volume = candle.Volume }); } return(prices); }
/// <summary> /// Create service client /// </summary> /// <param name="httpClient"></param> /// <param name="config"></param> /// <param name="logger"></param> public HistoryServiceClient(IHttpClient httpClient, IHistoryConfig config, ILogger logger) : this(httpClient, config.OpcUaHistoryServiceUrl, config.OpcUaHistoryServiceResourceId, logger) { }
/// <summary> /// Create service client /// </summary> /// <param name="httpClient"></param> /// <param name="config"></param> public HistoryServiceClient(IHttpClient httpClient, IHistoryConfig config) : this(httpClient, config.OpcUaHistoryServiceUrl, config.OpcUaHistoryServiceResourceId) { }
/// <summary> /// Create service client /// </summary> /// <param name="httpClient"></param> /// <param name="config"></param> /// <param name="serializer"></param> public HistoryServiceClient(IHttpClient httpClient, IHistoryConfig config, ISerializer serializer) : this(httpClient, config?.OpcUaHistoryServiceUrl, serializer) { }