累积聚合序列函数
所有累积聚合 C 序列函数都接受一个输入序列参数,并生成一个结果序列,该序列与输入序列类型相同,或者根据执行的操作为双精度类型。每个元素的值都是对所有先前元素执行指定操作的结果。函数形式如下:
MCO_RET mco_seq_cum_agg_operation_TYPE(
mco_seq_iterator_h result,
mco_seq_iterator_h input
);
其中 TYPE 是分析函数页面中列出的类型之一,operation 是以下类型之一。
max
mco_seq_cum_agg_max_TYPE()
返回相同类型的累积最大值的结果序列:每个元素都是所有前面元素的最大值。
min
mco_seq_cum_agg_min_TYPE()
返回相同类型的累积最小值结果序列:每个元素都是所有前面元素中的最小值。
sum
mco_seq_cum_agg_sum_TYPE()
返回相同类型的累积和结果序列:每个元素都是所有前序元素的总和。
prd
mco_seq_cum_agg_prd_TYPE()
返回相同类型的累积乘积结果序列:每个元素都是所有前序元素的乘积。
avg
mco_seq_cum_agg_avg_TYPE()
返回具有累积平均值的双精度结果序列:每个元素都是所有前面元素的平均值。
var
mco_seq_cum_agg_var_TYPE()
返回具有累积方差的双精度结果序列:每个元素都是所有先前元素的方差。
var_samp
mco_seq_cum_agg_var_samp_TYPE()
返回具有累积样本方差的双精度结果序列:每个元素都是所有先前元素的累积样本方差。
dev
mco_seq_cum_agg_dev_TYPE()
返回具有累积标准差的双精度结果序列:每个元素都是所有先前元素的累积标准差。
dev_samp
mco_seq_cum_agg_dev_samp_TYPE()
返回具有样本标准差的双精度结果序列:每个元素都是所有先前元素的累积样本标准差。
示例
以下是一个示例代码片段,展示了累积聚合函数的用法:
{
mco_trans_h trans;
mco_cursor_t quote_cursor;
Quote quote;
mco_seq_iterator_t close_iterator, max_iterator;
MCO_RET rc;
...
for (rc = mco_cursor_first(trans, "e_cursor);
rc != MCO_S_CURSOR_END;
rc = mco_cursor_next(trans, "e_cursor))
{
Quote_from_cursor(trans, "e_cursor, "e);
Quote_close_iterator("e, &close_iterator);
mco_seq_window_cum_agg_max_float(&max_iterator, &close_iterator);
...
}
...
}