示例:值加权平均
显示 2013 年 3 月最后一周的成交量加权平均收盘价:
SELECT symbol,
seq_search(day,
seq_last_int(day)-5,
seq_last_int(day)) as last_week,
seq_sum(close@last_week*volume@last_week)/seq_sum(volume@last_week) as "vwap"
FROM Quote WHERE symbol='IBM';
symbol
last_week{}
close{}
volume{}
vwap
------------------------------------------------------------------
IBM
{20130325, 20130326, 20130327, 20130328}
{210.740005, 212.360001, 210.889999, 213.300003}
{3242463, 2300240, 3223381, 3752999}
211.843723
成交量加权平均值通过以下公式计算:
vwap = (收盘价×成交量之和)/ 成交量之和
下表先将收盘价与成交量的乘积求和(= 2,652,089,151),然后除以成交量之和(= 12,519,083):
交易日 | 收盘价 | 成交量 | 收盘价*成交量 |
---|---|---|---|
20130325 | 210.740005 | 3242463 | 683316668.8 |
20130326 | 212.360001 | 2300240 | 488478968.7 |
20130327 | 210.889999 | 3223381 | 679778815.9 |
20130328 | 213.300003 | 3752999 | 800514698 |
合计 | 12519083 | 2652089151 | |
vwap | 211.843723 |
验证: 2,652,089,151 / 12,519,083 = 211.843723
要使用 xSQL 演示此选择语句,可以从 samples/xsql/scripts/financial 目录中运行以下命令来执行示例脚本:
x 14