Skip to main content

Silars

Silars 是基于 Polars 的因子分析与回测工具库,提供数据预处理、组合权重、策略和回测入口。

安装

Silars 需要 Python 3.12 或更高版本;CI 持续验证 Python 3.12 和 3.13。

pip install silars

使用 uv:

uv add silars

最小示例

下面按每个 (date, time) 截面选择得分最高的两个资产,并生成等权组合:

from copy import deepcopy

import polars as pl

from silars.alphalens import top_k

scores = pl.DataFrame(
    {
        "date": ["2026-01-02"] * 3,
        "time": ["09:31:00"] * 3,
        "asset": ["A", "B", "C"],
        "score": [0.2, 0.8, 0.5],
    }
)

selector = deepcopy(top_k).set_params(num=2)
weights = selector.transform(scores)
print(weights.select("date", "time", "asset", "target_weight"))

主要入口

  • Preprocessor 及预处理函数:因子清洗、标准化和中性化。
  • top_kqcutMFEs / MFEConfig:组合权重生成。
  • StrategyFactorStrategy:策略编排。
  • BacktestEnginebt:回测。
  • Zoozoo:因子数据工作区。

这些入口均从 silars.alphalens 导入。

研究期 tree shortlist

silars.feature_selection.select_features 用固定的单特征浅树,按独立验证期的每日 prediction RankIC 对已物化数值特征做粗筛:

from silars.feature_selection import select_features

ranking = select_features(
    train,
    valid,
    feature_names,
    "forward_return",
    max_features=100,
)

它衡量的是 tree(feature) 对下游模型的排序潜力,不是原始特征 RankIC、独立 OOS、 显著性结论或可直接传给 MFEs 的 score。PIT、purge/embargo、正式评估和发布仍由 调用方及 factor_eval 负责。该入口也不同于 silars.alphalens.evaluate.select_features 的多重检验与相关性筛选。

基准对冲回测

对已加载的 Zoo,可复用原多头回测并得到 1:1 对冲收益。传入指数代码时读取对应 指数日收益:

from silars.alphalens import FactorStrategy, zoo

results = zoo.hedge(
    ["KMID"],
    FactorStrategy(),
    index_code="000300",
    times=["09:31:00", "10:00:00"],
)
print(results["KMID"]["ret"])
print(results["KMID"]["metric"])

hedge() 会立即完成回测、显示多头/基准/对冲组合净值图,并返回每个因子的 posret 和对冲组合 metric,不是延迟任务生成器。

index_code="" 时不读取指数,直接从回测输入的 prev_close/open/close 构造等权市场 日收益,结果列为 mktlong-mkt。指数路径运行时需要当前环境可导入 dc.data.base.ds_index_retC2Cperiod 仅控制原组合持仓周期,不缩放日度基准收益。

许可证

Silars 使用 MIT License。silars/empyrical 包含 Apache-2.0 许可的第三方代码,详见 THIRD_PARTY_NOTICES.mdLICENSES/Apache-2.0.txt

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silars-2026.7.29.0.tar.gz (172.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

silars-2026.7.29.0-py3-none-any.whl (116.8 kB view details)

Uploaded Python 3

File details

Details for the file silars-2026.7.29.0.tar.gz.

File metadata

  • Download URL: silars-2026.7.29.0.tar.gz
  • Upload date:
  • Size: 172.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for silars-2026.7.29.0.tar.gz
Algorithm Hash digest
SHA256 83f1453dc5ce8954b05d71b38057eaef49ccca18cc448ddd900d436f640333aa
MD5 395fc27add92f6b75e5eeb9ff7fc044e
BLAKE2b-256 351852041932e37cb1b691e5ebe796445b678dbff1bb85b8625b617b8f9e07dc

See more details on using hashes here.

File details

Details for the file silars-2026.7.29.0-py3-none-any.whl.

File metadata

  • Download URL: silars-2026.7.29.0-py3-none-any.whl
  • Upload date:
  • Size: 116.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for silars-2026.7.29.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d31ba8fe8bc3e195915658b6d3f83b12351339d0fb4e7065b54aaa21874cad7d
MD5 5aaaec546d75015d9f3c2367d7bf46bc
BLAKE2b-256 22976ad303eaf0a3b5565bb9f99a9c1996969b2cde0eea321aaad3263d088cfe

See more details on using hashes here.

Release history Release notifications | RSS feed

2026.8.6.0

2 files

2026.7.30.1

2 files

2026.7.30.0

2 files

This release

2026.7.29.0 This release

2 files

2026.7.27.0

2 files

2026.7.24.0

2 files

2026.7.20.1

2 files

2026.7.15.2

2 files

2026.7.15.1

2 files

2026.7.15.0

2 files

1.3.5

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2.1

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.10.13

2 files

1.2.10.12

2 files

1.2.10.11

2 files

1.2.10.10

2 files

1.2.10.9

2 files

1.2.10.8

2 files

1.2.10.7

2 files

1.2.10.6

2 files

1.2.10.5

2 files

1.2.10.4

2 files

1.2.10.3

2 files

1.2.10.2

2 files

1.2.10.1

2 files

1.2.9

2 files

1.2.8

2 files

1.2.7

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.25

2 files

1.1.24

2 files

1.1.23

2 files

1.1.22

2 files

1.1.21

2 files

1.1.20

2 files

1.1.19

2 files

1.1.18

2 files

1.1.17

2 files

1.1.16

2 files

1.1.15

2 files

1.1.14

2 files

1.1.13

2 files

1.1.12

2 files

1.1.11

2 files

1.1.10

2 files

1.1.9

2 files

1.1.8

2 files

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.47

2 files

1.0.46

2 files

1.0.45

2 files

1.0.44

2 files

1.0.43

2 files

1.0.42

2 files

1.0.41

2 files

1.0.40

2 files

1.0.39

2 files

1.0.38

2 files

1.0.37

2 files

1.0.36

2 files

1.0.35

2 files

1.0.34

2 files

1.0.33

2 files

1.0.32

2 files

1.0.31

2 files

1.0.30

2 files

1.0.29

2 files

1.0.28

2 files

1.0.27

2 files

1.0.26

2 files

1.0.25

2 files

1.0.24

2 files

1.0.23

2 files

1.0.22

2 files

1.0.21

2 files

1.0.20

2 files

1.0.19

2 files

1.0.18

2 files

1.0.17

2 files

1.0.16

2 files

1.0.15

2 files

1.0.14

2 files

1.0.13

2 files

1.0.12

2 files

1.0.11

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.3

2 files

1.0.2

2 files

1.0.0

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page