0

我对 sql server 非常陌生。我想要一张包含日内股票信息和分析计算的表格(例如简单移动平均线 - SMA)。

我设计了一个包含市场数据的表格并将数据导入其中。现在我想将 SMA 添加到表中并保存。第二天我想添加市场新数据并根据前一天的最后一个 SMA 数据计算并再次保存到同一张表中。

它是在 sql server 中采用这种方式,还是我应该有一个查询来获取 SMA,然后有一种方法将结果保存到源表中,因为我希望它在一个表中,而不是对相同的数据再次执行查询!

我的意思是,如果我不将 MVA 结果数据保存到表(最好是源表)中,我相信必须再次对旧数据进行查询和计算,再加上新数据以获取新一天的分析,这是不切实际的。

请指导我正确的方式!如果详细(如何!),我将不胜感激。

更详细——我使用的是 sql server 2008。我使用 excel 和 vba 轻松获得了所有这些结果,但由于数据量巨大,我需要转移到 sql server。

4

1 回答 1

0

创建用户定义的函数来计算 SMA 并将此函数用作表中计算列的值。

sudo 代码 - 这只是一个想法 - 我没有测试过:

CREATE FUNCTION dbo.GetSMAValue(INT @price, INT @date)
RETURNS IN
AS 
  SELECT (@recid + sma) / no-of-days --whatever the formula for SMA
  FROM price_table 
  WHERE date = dateadd (day,-1, @date)


ALTER TABLE price_table 
ADD sma AS dbo.GetSMAValue(price, date)
于 2012-06-18T07:41:33.340 回答