我正在尝试构建一个使用ASP.NET的Web应用程序,它显示与此类似的股票信息: https://www.google.com/finance?q=NASDAQ:AAPL 它将以文本和历史数据显示当前数据,就像谷歌一样。 话虽这么说,我目前的所有数据(EPS,P / E等)都将保存在一个模型中,我的所有历史数据(最多250天)都将在另一个模型中。 安排第二个模型的最佳方法有250列和一个密钥似乎是不合理的。是否最好有2列,一列用于外键,一列用于250天数据?我知道如果我想获得许多股票的历史数据,这将导致几千行,所以我想知道最好的方法是什么。
答案 0 :(得分:0)
之前我做过非常相似的事情,我使用了2个不同的模型,一个用于库存详情,一个用于历史定价
当前报价(又名stockdetails模型)
public class stockdetails
{
public string symbol { get; set; }
public decimal Ask { get; set; }
public decimal AverageDailyVolume { get; set; }
public decimal Bid { get; set; }
public decimal AskRealtime { get; set; }
public decimal BidRealtime { get; set; }
public decimal BookValue { get; set; }
public decimal Change_PercentChange { get; set; }
// Rest omitted for brevity.
和一个历史数据
public class stockprices
{
public string symbol {get; set;}
public DateTime TradeDate { get; set; }
public decimal Open { get; set; }
public decimal High { get; set; }
public decimal Low { get; set; }
public decimal Close { get; set; }
}
然后你可以加入符号。祝你好运!
此外,还有一些网址可以帮助您提取与上面提供的2个示例非常相似的数据模型
string symbol = "MSFT";
string sYahooAPI = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22" + symbol + "%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=";
string sHistorical = "https://query1.finance.yahoo.com/v7/finance/download/" + symbol + "?period1=1502226354&period2=1504904754&interval=1d&events=history&crumb=lhLzYrrUZPX";
您可能会发现另一个有用的网址 - http://www.jarloo.com/yahoo_finance/