public void DownloadCompanyFundamentals() { //Parameters IEnumerable <QuoteProperty> properties = new QuoteProperty[] { QuoteProperty.Symbol, QuoteProperty.Name, QuoteProperty.BidRealtime, QuoteProperty.EPSEstimateCurrentYear, QuoteProperty.EPSEstimateNextYear, QuoteProperty.PERatioRealtime, QuoteProperty.ShortRatio, QuoteProperty.PEGRatio, QuoteProperty.OneyrTargetPrice, QuoteProperty.MarketCapRealtime, QuoteProperty.LastTradePriceOnly, QuoteProperty.YearHigh, QuoteProperty.PreviousClose, }; //Download QuotesDownload dl = new QuotesDownload(); var resp = dl.Download(ids, properties); //Response/Result if (resp.Connection.State == MaasOne.Base.ConnectionState.Success) { string id; string Symbol; string name; double bidRealtime; double ePSEstimateCurrentYear; double epsNextYear; double peg; double oneYearTargetprice; double lastPrice; double yearHigh; double previousClose; foreach (var qd in resp.Result.Items) { id = qd.ID; Symbol = qd[QuoteProperty.Symbol].ToString(); name = qd.Name; bidRealtime = Convert.ToDouble(qd[QuoteProperty.BidRealtime]); double.TryParse(qd[QuoteProperty.EPSEstimateCurrentYear].ToString(), out ePSEstimateCurrentYear); double.TryParse(qd[QuoteProperty.EPSEstimateNextYear].ToString(), out epsNextYear); double.TryParse(qd[QuoteProperty.PEGRatio].ToString(), out peg); double.TryParse(qd[QuoteProperty.OneyrTargetPrice].ToString(), out oneYearTargetprice); lastPrice = qd.LastTradePriceOnly; yearHigh = Convert.ToDouble(qd[QuoteProperty.YearHigh]); previousClose = Convert.ToDouble(qd[QuoteProperty.PreviousClose]); Console.WriteLine("Symbol {0}, lastPrice {1:C}, OneYearTarget {2:C} , EPSNextYear {3:C}, Growth {4:p2}" , Symbol, lastPrice, oneYearTargetprice, epsNextYear, (epsNextYear / ePSEstimateCurrentYear)); } } }
public void RetrieveYahooCompanyInfo(string symbol, ref Dictionary <string, Object> stats) { CompanyInfoDownload d1 = new CompanyInfoDownload(); DownloadClient <CompanyInfoResult> baseD1 = d1; CompanyInfoDownloadSettings settings = d1.Settings; settings.IDs = new string[] { symbol }; Response <CompanyInfoResult> resp = baseD1.Download(); SettingsBase baseSettings = baseD1.Settings; ConnectionInfo connInfo = resp.Connection; if (connInfo.State == ConnectionState.Success) { CompanyInfoResult result = resp.Result; stats.Add("Sector", result.Items[0].SectorName); stats.Add("Industry", result.Items[0].IndustryName); } else { Exception ex = connInfo.Exception; Console.WriteLine(ex.Message); } QuotesDownload d2 = new QuotesDownload(); DownloadClient <QuotesResult> baseD2 = d2; QuotesDownloadSettings settings1 = d2.Settings; settings1.IDs = new string[] { symbol }; settings1.Properties = new QuoteProperty[] { QuoteProperty.Symbol, QuoteProperty.Name }; Response <QuotesResult> resp1 = baseD2.Download(); SettingsBase baseSettings1 = baseD2.Settings; ConnectionInfo connInfo1 = resp1.Connection; if (connInfo1.State == ConnectionState.Success) { QuotesResult result = resp1.Result; stats.Add("Name", Convert.ToString(result.Items[0].Name)); } else { Exception ex = connInfo.Exception; Console.WriteLine(ex.Message); } }
private void RetrieveQuoteProperties(string symbol, ref Dictionary <string, Object> stats) { QuotesDownload dl = new QuotesDownload(); DownloadClient <QuotesResult> baseDl = dl; QuotesDownloadSettings settings = dl.Settings; settings.IDs = new string[] { symbol }; settings.Properties = new QuoteProperty[] { QuoteProperty.Symbol, QuoteProperty.Name, QuoteProperty.LastTradePriceOnly, QuoteProperty.MarketCapitalization, QuoteProperty.PERatio, QuoteProperty.EBITDA, QuoteProperty.PEGRatio, QuoteProperty.Revenue, QuoteProperty.YearHigh, QuoteProperty.YearLow, QuoteProperty.ShortRatio, QuoteProperty.OneyrTargetPrice, QuoteProperty.AverageDailyVolume, QuoteProperty.BookValuePerShare, QuoteProperty.DilutedEPS, //QuoteProperty.TrailingAnnualDividendYield, QuoteProperty.TrailingAnnualDividendYieldInPercent, //QuoteProperty.SharesOutstanding }; Response <QuotesResult> resp = baseDl.Download(); SettingsBase baseSettings = baseDl.Settings; ConnectionInfo connInfo = resp.Connection; if (connInfo.State == ConnectionState.Success) { QuotesResult result = resp.Result; stats.Add("LastTradePriceOnly", CheckDecimalItem(Convert.ToString(result.Items[0].LastTradePriceOnly))); stats.Add("AverageDailyVolume", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.AverageDailyVolume)))); stats.Add("MarketCapitalization", GetDecimalFromConString(Convert.ToString(result.Items[0].Values(QuoteProperty.MarketCapitalization)))); stats.Add("EBITDA", GetDecimalFromConString(Convert.ToString(result.Items[0].Values(QuoteProperty.EBITDA)))); stats.Add("PEGRatio", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.PEGRatio)))); stats.Add("Revenue", GetDecimalFromConString(Convert.ToString(result.Items[0].Values(QuoteProperty.Revenue)))); stats.Add("PERatio", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.PERatio)))); stats.Add("YearHigh", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.YearHigh)))); stats.Add("YearLow", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.YearLow)))); stats.Add("ShortRatio", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.ShortRatio)))); stats.Add("OneyrTargetPrice", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.OneyrTargetPrice)))); stats.Add("BookValuePerShare", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.BookValuePerShare)))); stats.Add("DilutedEPS", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.DilutedEPS)))); stats.Add("Name", Convert.ToString(result.Items[0].Name)); stats.Add("TrailingAnnualDividendYieldInPercent", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.TrailingAnnualDividendYieldInPercent)))); //stats.Add("TrailingAnnualDividendYield", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.TrailingAnnualDividendYield)))); //stats.Add("SharesOutstanding", CheckDecimalItem(Convert.ToString(result.Items[0].Values(QuoteProperty.SharesOutstanding)))); } else { Exception ex = connInfo.Exception; Console.WriteLine(ex.Message); } }