6

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

4

3 回答 3

2

谷歌金融 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#” 。

于 2019-06-24T05:52:25.233 回答
1

最快的方法之一是使用 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;  
}  

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

于 2012-11-21T12:50:42.937 回答
0

我建议你通过雅虎的股票报价!在 C#文章中访问来自 Yahoo 的股票报价......

于 2012-06-25T00:17:05.240 回答