Skip to content

Releases: nori735/qweave

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 08 Oct 06:01

qweave v0.6.2

English

本次发布补齐 Qlib 迁移中的 6 个计算算子,保留 Float64 输入和掩码输出。

更新内容

  • 新增不等比较 x != y:返回 1.0/0.0,任一输入为 NaN 时返回 NaN。
  • 新增逻辑与、或、非 x & y、x | y、~x:正数为真,零和负数为假,
    NaN/null 为未知。假与未知为假,真或未知为真,其余不确定结果为 NaN。
    这些是三值逻辑,不是整数位运算;结果仍可参与乘法和滚动求和。
  • 新增 x.ts_mad(N):关于同一窗口均值的平均绝对偏差,要求完整有限窗口;
    常数窗口为 0,含 NaN/null/无穷值时为 NaN。逐窗口计算,不分配窗口临时数组。
  • 新增 x.ts_count(N):满 N 行后统计非 NaN/null 数量,零和无穷均计入,
    完整全缺失窗口为 0;通过增量更新实现 O(T) 总时间。
  • 六项均支持树执行器和 DAG;逻辑算子支持融合与常量折叠。
    Rust 对应构造函数为 alpha::ne、and、or、not、ts_mad、ts_count。
  • 两个新窗口算子均无 min_periods:前 N−1 行为 NaN,N=0 全为 NaN,
    负数和非整数窗口被拒绝。Qlib 的部分窗口预热规则仍有差异。

Python 真假判断行为收紧

bool(expr)、if expr、Python 的 and/or/not 以及链式比较现在会抛出
TypeError,避免把未计算的表达式当成普通真值。请改用带括号的比较和 &、|、~,
常量继续使用 qw.lit(...):

mask = (qw.col("close") > qw.col("open")) & (qw.col("volume") != qw.lit(0.0))
alpha = mask.ts_sum(20).alias("up_days")

完整语义见表达式 API
与 Qlib 迁移对照。

安装

python -m pip install --upgrade qweave==0.6.2

支持 Python 3.10+,提供 Windows、Linux 和 macOS 的 stable-ABI wheels。

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 07 Oct 08:02

qweave v0.6.1

English

本次发布针对 issue #1,
补充常用时序算子及 Qlib 迁移说明。

更新内容

  • 新增 Python/Rust ts_skew、ts_kurt、均值初始化的递归 ema 和标准线性
    wma,同时支持树执行器与 DAG。
  • Skew/Kurt 使用滑窗增量中心矩,并定期及在数值尺度变化时重算,控制累计误差。
    完整窗口、非有限值和常数窗口规则保持一致。
  • ema(1) 精确保留有限输入,避免数值幅度突变时的消减误差。
  • 新增中英文 Qlib 算子迁移对照。在完整有限窗口上,可使用
    x.wma(20) / qw.lit(20.0) 对齐 Qlib 的 WMA 额外归一化;预热与缺失值处理仍有差异。

Rust WMA 迁移

Rust API 有不兼容变化: 原国泰君安指数权重 alpha::wma / Expr::Wma
更名为 alpha::gtja_wma / Expr::GtjaWma。alpha::wma 现在表示标准线性
WMA,与 decay_linear 相同。原有 Rust 调用者如需保持国泰君安语义,应迁移到
gtja_wma;内置 Alpha191 已完成迁移,因子值不因更名而改变。

安装

python -m pip install --upgrade qweave==0.6.1

支持 Python 3.10+,提供 Windows、Linux 和 macOS 的 stable-ABI wheels。

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 17 Jul 14:21

qweave v0.6.0

This release expands the built-in factor library to 450 factors and reduces
peak memory for large batch alpha evaluations.

Highlights

  • Added qweave.gtja_alpha191(input_alias, alphas=None), exposing 191 Guotai
    Junan Alpha191 expressions with stable padded names from gtja_alpha001
    through gtja_alpha191.
  • Corrected the Alpha191 MAX(x, 0) and DBM formula transcriptions.
  • compute_alphas() now returns rows in (symbol, time) order. This is a
    breaking change; with_alphas() continues to preserve the input row order.
  • Reworked the shared alpha DAG scheduler to reduce peak memory for large
    multi-factor evaluations without sacrificing parallel execution.
  • Built-in factor builders print their resolved canonical-input-to-DataFrame
    mapping, so aliases such as close -> close_adj are visible before compute.

Installation

Install from PyPI after the release workflow completes:

python -m pip install qweave==0.6.0

Python 3.10+ is supported through stable-ABI wheels for Windows, Linux, and
macOS.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 07:03

qweave v0.5.0

This release makes categorical grouping stricter and more efficient, and completes the transition to the interactive report viewer.

Highlights

  • group_rank and group_neutralize now accept non-null String and integer group columns. Strings are factorized to compact i32 codes; integer values are range-checked before entering the core engine.
  • Float and null group columns are rejected with clear validation errors.
  • The legacy EvalResult.to_html() API has been removed. Use EvalResult.view() for interactive reports.
  • Interactive reports now include a 停止服务 button for graceful server shutdown.

Installation

Install from PyPI after the release workflow completes:

python -m pip install qweave==0.5.0

Python 3.10+ is supported through stable-ABI wheels for Windows, Linux, and macOS.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 09:57

Full Changelog: v0.3.1...v0.4.0

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 02 Jul 03:25

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 15:07

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 09:48