【问题标题】:Get Quotes from Google Finance / Yahoo Finance从谷歌财经/雅虎财经获取报价
【发布时间】:2012-06-26 06:50:29
【问题描述】:

如何在 C# 上接收股票报价? Google Finance API 不是很有帮助

【问题讨论】:

标签: c# finance


【解决方案1】:

我建议你通过Stock quote from Yahoo! in C# 文章访问雅虎的股票报价......

【讨论】:

    【解决方案2】:

    最快的方法之一是使用yahoo http请求(一些细节可以在http://www.gummy-stuff.org/Yahoo-data.htm找到)

    然后使用以下代码以编程方式检索结果,而不是手动下载或使用电子表格。

    public static string Extract(string yahooHttpRequestString)
    {
          //if need to pass proxy using local configuration  
          System.Net.WebClient webClient = new WebClient();  
          webClient.Proxy = HttpWebRequest.GetSystemWebProxy();  
          webClient.Proxy.Credentials = CredentialCache.DefaultCredentials;  
    
          Stream strm = webClient.OpenRead(yahooHttpRequestString);  
          StreamReader sr = new StreamReader(strm);  
          string result = sr.ReadToEnd();            
          strm.Close();             
          return result;  
    }  
    

    然后你可以进一步处理返回的字符串,或者修改上面的代码,将每段引号的字符串解析成更精细的数据结构。

    【讨论】:

    • 它不再活跃
    【解决方案3】:

    Google Finance API 替代方案。AlphaVantage 是 Google 金融 API 的免费、优秀替代方案。您可以注册一个免费的 API 密钥以开始检索实时和历史股票市场报价。

    如何使用 C# 检索 AlphaVantage 股票市场数据? 下面是一些用 C# 检索每月股票市场价格的示例代码。您将需要安装 ServiceStack.Text - 一个免费、开源、高性能的 .NET 文本实用程序来运行以下 (Install-Package ServiceStack.Text)。

    public class AlphaVantageData
    {
          public DateTime Timestamp { get; set; }
          public decimal Open { get; set; }
          public decimal High { get; set; }
          public decimal Low { get; set; }
          public decimal Close { get; set; }
          public decimal Volume { get; set; }
    }
    
    // retrieve monthly prices for Microsoft
    var symbol = "MSFT";
    var apiKey = "demo"; // retrieve your api key from https://www.alphavantage.co/support/#api-key
    var monthlyPrices = $"https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol={symbol}&apikey={apiKey}&datatype=csv"
                    .GetStringFromUrl().FromCsv<List<AlphaVantageData>>();
    
    monthlyPrices.PrintDump();
    

    您可以在 gistlyn here 中运行上述示例代码。 我写了一篇完整的文章“AlphaVantage 和 C#”here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多