压缩运算
压缩 C++ 序列方法对对象以及输入序列(左序列和右序列)进行操作,以生成类型为 double 的计算标量结果。
double op(Sequence<T> const& weights) const;
以下是可用的方法:
wsum
double wsum(Sequence<T> const& weights) const
结果序列中的第一个元素是两个序列(左序列和右序列)的加权和。
wavg
double wavg(Sequence<T> const& weights) const
结果序列中的第一个元素是两个序列(左序列和右序列)的加权平均值。
cov
double cov(Sequence<T> const& other) const
结果序列中的第一个元素是两个序列(左序列和右序列)的协方差。
corr
double corr(Sequence<T> const& other) const
结果序列中的第一个元素是两个序列(左序列和右序列)的相关性。
示例
以下是一个演示叠加方法的示例代码片段:
{
mco_trans_h trans;
mco_cursor_t quote_cursor;
Quote quote;
MCO_RET rc;
...
rc = mco_trans_start(db, MCO_READ_ONLY, MCO_TRANS_FOREGROUND, &trans);
if ( MCO_S_OK == 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);
// 计算并显示低值与高值之间的相关性
printf("%s: {%.3f}\n", (char*)symbol, quote.low_iterator().corr(quote.high_iterator()));
}
mco_trans_rollback(trans);
}
}