//Get Reports for one company (ABB) static void Reports() { ApiClient api = new ApiClient(_apiKey); // One call to get all report for one Instrument ReportsRespV1 rAll = api.GetReports(3); Console.WriteLine("Year count: " + rAll.ReportsYear.Count()); Console.WriteLine("R12 count: " + rAll.ReportsR12.Count()); Console.WriteLine("Quarter count: " + rAll.ReportsQuarter.Count()); // You can also get list of reports for each Year, R12, Quarter ReportsYearRespV1 rY = api.GetReportsYear(3); Console.WriteLine("Year count: " + rY.Reports.Count()); ReportsR12RespV1 r12 = api.GetReportsR12(3); Console.WriteLine("r12 count: " + r12.Reports.Count()); ReportsQuarterRespV1 rQ = api.GetReportsQuarter(3); Console.WriteLine("Quarter count: " + rQ.Reports.Count()); }
// Calc latest P/E for HM static void LatestPE() { ApiClient api = new ApiClient(_apiKey); int insId = 97; // HM StockPricesRespV1 spResp = api.GetStockPrices(insId, DateTime.Today.AddDays(-7), DateTime.Today); // We need lastest price. Ask for one week back. StockPriceV1 lastSp = spResp.StockPricesList.Last(); // First in list in latest stockprice. (Order Asc) ReportsR12RespV1 r12 = api.GetReportsR12(insId); ReportR12V1 lastReport = r12.Reports.First(); // Get last R12 report (Desc) var pe = lastSp.C / lastReport.EarningsPerShare; Console.WriteLine("Lastest R12 P/E is : " + pe); }
/// <summary> Return R12 reports (Rolling 12Month => Sum of last four quarter reports) for one instrument (max 10 reports)</summary> public ReportsR12RespV1 GetReportsR12(long instrumentId) { string url = string.Format(_urlRoot + "/v1/instruments/{0}/reports/r12", instrumentId); HttpResponseMessage response = WebbCall(url, _authKey); if (response.IsSuccessStatusCode) { string json = response.Content.ReadAsStringAsync().Result; ReportsR12RespV1 res = JsonConvert.DeserializeObject <ReportsR12RespV1>(json); return(res); } else { Console.WriteLine("GetReportsR12 {0} ({1})", (int)response.StatusCode, response.ReasonPhrase); } return(null); }