Skip to main content

trade-learn logo

官方文档 | 更新日志 | English | 日本語

Python 写策略与投研流程,Rust 扛事件驱动回测内核。

PyPI version Python versions License Changelog Discord

trade-learn 旨在解决量化投研中「研究(Learn)」与「回测(Trade)」长期脱节的问题。它采用「Python 表达策略逻辑 + Rust 原生回测内核」的混合架构,在与 Backtrader 100% 严格语义对齐 的前提下,实现多资产回测 110x+ 的性能提升,将大规模策略验证从小时级压缩至秒级,为指数增强与机器学习策略提供真正可迭代的研究效率。

在高性能之外,trade-learn 同时提供一套完整的投研基础设施。框架内置 JupyterLab 与 MLflow,将因子挖掘、策略验证与实验审计无缝串联,构建出一条可复现、可追踪、可审计的全生命周期投研流水线,使研究过程从“结果导向”升级为可系统化管理的工程流程,让研究员专注于策略逻辑本身。。

trade-learn research flow

在方法论层面,项目同样强调研究的科学性。针对机器学习策略中常见的“伪相关”问题,trade-learn 将 因果推断(Causal Inference) 深度融入投研流程,通过识别真实的因果驱动路径,降低样本外衰减风险,帮助构建兼具解释性与稳健性的量化策略体系。

实现路径

trade-learn 拒绝功能的简单堆砌,而是通过独特的“双模双核”设计,在专业深度与研发效率之间构建了平衡。底层通过 Engine 深度对齐 Backtrader 语义以夯实逻辑正确性,上层则由 Lite 提供极简的 Pythonic 接口,确保了“快”与“准”的统一。

您可以根据研发阶段,自由定义策略的深度:

  • Engine 模式 (深度研发):深度对齐 Backtrader 语义,支持 Analyzer/Sizer/Signal 完整生态,适合构建逻辑精密、颗粒度极细的生产级复杂系统。
  • Lite 模式 (敏捷验证):沿袭 backtesting.py 的极简主义,支持模型权重直连,极其适合在因子挖掘阶段进行高频迭代与原型验证。

在生态层面,trade-learn 提供完善的指标支持。框架兼容 TA-Lib、Pandas-TA-Classic、TDX、TradingView 等主流指标库,并支持灵活扩展自定义指标与数据源,满足不同研究场景的需求。

核心亮点

⚡️ 高能内核:Rust 驱动的极致性能

  • Rust 混合动力:撮合引擎与核心计算由 Rust 承载,提供单标的 28x、多资产调仓 110x+ 的 Backtrader 级加速。
  • 自动 Runner 调度:根据数据形态自动选择“单流逐 Bar”或“Panel 批量”推进。针对指数增强场景优化了内存布局,开发者只需关注 next() 逻辑。

🛡️ 严谨金融:Backtrader 语义 100% 对齐

  • Engine 级对齐:完整支持 Analyzer / Sizer / Signal 体系,确保回测 Trades 与 Backtrader Oracle 逻辑零差异,高度支持自拓展组件。
  • Lite 极简表达:在同一 Runtime 上构建的轻量语法。内置 target_weights 接口,将机器学习模型输出的权重一键转化为回测决策。

🧪 因果投研:跨越相关性的科学流程

  • Causal-First 特征筛选:内置 PC / FCI 等因果发现算法,识别因子的真实驱动路径,从源头对抗回测中的“伪相关”与过拟合。
  • Pipeline 全链路流水线:将特征工程、因果筛选、评分模型、组合权重与回测报告无缝耦合,形成可复现的实验闭环。

📦 模块化平台:轻量核心,按需扩展

  • 核心解耦:默认安装仅包含高性能回测内核,极简依赖,方便集成至服务器或自动化交易系统。
  • 弹性扩展:通过 [lab] 或 [all] 扩展,可一键激活 JupyterLab + MLflow + AI 助手 组成的集成投研环境,实现“按需加载、随处运行”。

🌍 全球视野:多口径指标与现代生态

  • 双市场口径:显式支持 TDX (国内) 和 TradingView (国外) 指标口径,同时深度兼容 TA-Lib 与 Pandas-TA-Classic。
  • 现代投研工具:开箱即用的 HTML 交互式报告、MLflow 实验追踪以及 JupyterLab / MCP 深度集成。

因果投研:跨越“伪相关”陷阱

大多数量化研究止步于统计相关性 (Correlation),这极易导致因子在回测中表现优异、实盘中却迅速失效(过拟合)。trade-learn 通过内置的 因果发现 (Causal Discovery) 机制,帮助您识别收益背后的真实动因:

  • 因果特征筛选:通过 CausalSelector 结合 PC / FCI 算法,剥离由于“共同观测”产生的伪相关因子,仅保留对收益具有直接驱动能力的特征。
  • 抵抗样本外衰减:基于因果图定位的 Alpha 因子在市场风格切换时具备更强的生存力,有效降低从研究到实盘的性能落差。
  • 工业级无缝集成:深度整合 causal-learn 生态,让前沿的因果推断技术像调用 corr() 一样丝滑,极大降低了学术算法的落地门槛。

适合谁

  • 敏捷开发者与灵感验证: 厌倦了厚重的配置,希望在几行代码内完成从想法到回测报告的转化,享受类 backtesting.py 的轻快体验,极其适合快速验证原型。
  • 指数增强与组合管理: 面对 1000+ 标的的大规模回测,利用 Rust Panel Runner 实现秒级调仓模拟,彻底告别传统框架在多资产处理上的漫长等待。
  • 机器学习与因子研究: 希望将特征工程、因果发现、模型训练(MLflow 追踪)与回测一站式打通,构建从数据到报告的完整自动化闭环。
  • Backtrader 资深玩家: 在保留成熟事件驱动语义的同时,寻求更现代的报告体系、全链路流水线以及高性能 Rust 回测内核。
  • 跨市场与多策略团队:
    • 跨市场统一:同时覆盖 A股 (TDX) 与海外 (TradingView),要求指标口径与报告体系完全一致。
    • 全体系维护:统一管理规则策略与模型策略,拒绝工具链割裂带来的研发与维护成本。
  • 因果推断探索者: 致力于在因子筛选阶段引入因果图技术,通过剔除“伪相关”来构建具有强解释性和高稳健性的量化系统。

安装

pip install trade-learn

获取最新版本:

pip install git+https://github.com/MuuYesen/trade-learn.git@master

可选 extras:

extra 用途
[tdx] OpenTDX 数据源与国内指标依赖
[tv] TradingView 数据源与 PyneCore 指标后端
[talib] TA-Lib 指标命名空间
[indicators] TDX + TradingView + TA-Lib 指标后端
[ml] 因果机器学习依赖
[research] Numba 等投研加速工具
[duckdb] DuckDB 行情存储后端
[lab] JupyterLab / Jupyter AI / MCP / Pygwalker 交互研究环境
[mlflow] MLflow tracking server 与实验 artifact 记录
[all] Lab、MLflow、指标后端、ML、DuckDB 等完整研究环境

💡 安装建议: 默认安装仅包含核心回测引擎。若需开启包含 JupyterLab 与 MLflow 的全栈投研体验,请指定 [all] 扩展进行安装:

pip install "trade-learn[all]"

在项目根目录使用命令行启动 tradelearn lab 后,默认可通过 8888 端口进入交互式环境,通过 5050 端口查看 MLflow 实验记录。

快速上手

Lite——最短路径(适合快速验证、教学、多资产目标权重):

import tradelearn.lite as tl
from tradelearn.data import TradingViewProvider


class LiteSmaCross(tl.Strategy):
    fast = 10
    slow = 20

    def init(self):
        self.fast_ma = tl.tdx.MA(self.data.close, N=self.fast)
        self.slow_ma = tl.tdx.MA(self.data.close, N=self.slow)
        self.start_on_bar(self.slow + 1)

    def next(self):
        if self.fast_ma[0] > self.slow_ma[0] and not self.position():
            self.buy(size=100)
        elif self.fast_ma[0] < self.slow_ma[0] and self.position():
            self.position().close()


provider = TradingViewProvider(n_bars=5000)
bars = provider.history_ohlc("NASDAQ:AAPL", start="2023-01-01", end="2024-01-01")

bt = tl.Backtest(bars, LiteSmaCross, cash=100_000, commission=0.0003, trade_on_close=True)
stats = bt.run()

print(stats.summary)
bt.plot()
bt.report("report.html")

Engine——Backtrader 风格(适合复杂 / 组合策略与未来 paper / live 模式):

import tradelearn.engine as bt
from tradelearn.data import TradingViewProvider


class SmaCross(bt.Strategy):
    params = (("fast", 10), ("slow", 20))

    def __init__(self):
        self.fast = bt.tdx.MA(self.data.close, N=self.p.fast)
        self.slow = bt.tdx.MA(self.data.close, N=self.p.slow)

    def next(self):
        if not self.position and self.fast[0] > self.slow[0]:
            self.buy(size=100)
        elif self.position and self.fast[0] < self.slow[0]:
            self.close()


provider = TradingViewProvider(n_bars=5000)
bars = provider.history_ohlc("NASDAQ:AAPL", start="2023-01-01", end="2024-01-01")

cerebro = bt.Cerebro(trade_on_close=True)
cerebro.setcash(100_000)
cerebro.setcommission(0.0003)
cerebro.adddata(bars, name="AAPL")
cerebro.addstrategy(SmaCross)

[strategy] = cerebro.run()
print(strategy.stats.summary)

cerebro.plot()
cerebro.report("report.html")

投研流水线示例

README 只放最短可读版本,完整脚本见 examples/research/index_enhance_lite_pipeline.py 和 examples/research/index_enhance_engine_pipeline.py。

1. Research:从原始行情生成特征、切分训练集 / 测试集

import tradelearn.research as research
import tradelearn.research.preprocess as pp

feature_set = research.FeatureSet(
    {
        "alpha": lambda p: p.close.pct_change(20)
        / p.close.pct_change().rolling(20).std(),
        "size": lambda p: p.close,
    },
    target={"label": lambda p: p.close.shift(-20) / p.close - 1.0},
)

features = feature_set.fit_transform(bars, include_target=True).dropna()
train, test = research.time_split(features, split="2023-09-01", level="timestamp")

2. Pipeline:预处理、模型打分、生成权重

from sklearn.ensemble import GradientBoostingRegressor
import tradelearn.research.portfolio as pf

pipe = research.Pipeline(
    [
        pp.Winsorizer(columns=["alpha"], limits=(0.05, 0.95)),
        pp.Neutralizer(columns=["alpha"], exposures=["size"]),
        pp.StandardScaler(columns=["alpha"]),
    ]
)
train = pipe.fit_transform(train)
test = pipe.transform(test)

model = GradientBoostingRegressor(random_state=7)
model.fit(train[["alpha"]], train["label"])
scores = research.ModelScorer(model, features=("alpha",), current=False).predict(test)

weights = pf.Allocator(
    select=pf.TopK(k=2),
    weight=pf.EqualWeight(gross=0.95),
    constrain=pf.Constraints(max_weight=0.5, normalize=True),
).build(scores)

3. Portfolio:把目标权重交给 Lite / Engine 执行

class LitePortfolio(tl.Strategy):
    def next(self):
        if len(self.data) % 20 == 0:
            self.target_weights(self.research_result.weights[0], close_missing=True)


test_bars = research.split_bars(bars, split="2023-09-01")
stats = tl.Backtest(test_bars, LitePortfolio, cash=100_000).run(
    research_result=research_result
)

4. Live-style:在策略里只用当前可见窗口推理

投研流水线适合离线训练和复盘;如果要让策略语义更接近实盘,可以把模型和 allocator 放进策略参数,在 next() 中用 history_panel() 只读取当前已经发生的窗口。

class LiveStylePortfolio(tl.Strategy):
    lookback = 20

    def init(self):
        self.start_on_bar(self.lookback)

    def next(self):
        if len(self.data) % 20 != 0:
            return

        panel = self.history_panel(self.lookback)
        features = self.feature_set.transform(panel).dropna()
        scores = self.scorer.predict(features)
        weights = self.allocator.build(scores)
        self.target_weights(weights, close_missing=True)

完整版本:

目标 完整脚本
Lite 投研 + 回测 + report + MLflow examples/research/index_enhance_lite_pipeline.py
Engine 投研 + 回测 + report + MLflow examples/research/index_enhance_engine_pipeline.py
Lite live-style 当前窗口推理 examples/research/index_enhance_lite_live.py
Engine live-style 当前窗口推理 examples/research/index_enhance_engine_live.py
Engine Backtrader 风格组合调仓 examples/engine/11_target_percent_portfolio.py
资产类别组合策略 examples/engine/12_asset_class_portfolios.py

对齐与性能

本机基线关注两个核心:结果是否对齐、吞吐是否明显快于 Backtrader。完整复现命令见 性能基准。

1. 单标的高频压测:双均线交叉 (55 万 Bar)

  • 策略原理:执行标准的双均线交叉逻辑。旨在压测 Rust 在处理长序列、单数据流时的事件驱动性能与状态维护效率,挑战单核推进极限。
引擎模式 处理耗时 吞吐量 (Bars/s) 加速比 最终权益 成交单数 闭环交易 状态
Tradelearn Lite 1.32s 414,990 27.9x 118,399.33 10,299 5,149 EXACT
Tradelearn Engine 3.37s 162,883 11.0x 118,399.33 10,299 5,149 EXACT
Backtrader (Oracle) 37.02s 14,854 1.0x 118,399.33 10,299 5,149 -

2. 多标的大规模指增:Top-50 目标权重 (504 万 Bar)

  • 策略原理:模拟 1000 标的全市场选股调仓。旨在压测 Rust 对大规模 Panel 数据的内存布局优化与并发处理能力,真实还原机器学习策略的投研场景。
引擎模式 处理耗时 吞吐量 (Bars/s) 加速比 最终权益 完成订单 调仓意图 重平衡次数
Tradelearn Lite 2.40s 2,094,237 119.1x 4,199,638.26 23,249 23,249 239
Tradelearn Engine 4.11s 1,225,594 69.7x 4,199,638.26 23,249 23,249 239
Backtrader (Oracle) 286.53s 17,589 1.0x 4,199,638.26 23,249 23,249 239

一致性承诺

trade-learn 将“对照基线”视为核心工程纪律。我们确保每一项计算结果都经得起严苛推敲,并在以下维度保持数值对齐:

  • 金融指标对齐:metrics(Sharpe, MaxDD, Sortino 等)完全对标 empyrical,误差控制在 rtol=1e-10。
  • 多源指标对齐:
    • tl.pta (经典指标) 对标 pandas-ta-classic:rtol=1e-10。
    • tl.tdx (通达信口径) 对标 MyTT:rtol=1e-10。
    • tl.tv (TradingView 口径) 对标 pyneCore 实现:rtol=1e-6。
  • 回测引擎对齐:
    • 决策层:成交记录 (Trades) 对标 Backtrader 官方实现,实现 0 差异(时间、方向、头寸完全一致)。
    • 净值层:Equity 曲线误差 rtol=1e-6,汇总统计数据误差 rtol=1e-4。

完整文档

主题 入口
30 行走通第一个回测 快速开始
Lite / Engine 用法 Lite 指南 · Engine 指南
架构与边界 架构
因子 / ML / 权重研究流水线 Research 指南
双口径指标(tl.talib / tl.pta / tl.tdx / tl.tv) Indicators 指南
性能基线 性能基准
内核(契约 / 撮合 / portfolio / 事件循环) 设计笔记
完整 API API 参考

🚀 路线图 (Roadmap)

基于当前的工程规划,我们将 trade-learn 的进化路径划分为以下核心维度:

回测引擎与核心地基

  • Rust 混合内核:实现 Clocked Multi-Data Runner,多资产回测性能提升 110x+。
  • Backtrader 语义对齐:撮合逻辑 100% 一致,支持通过 bt.Strategy 共享底层 Runtime。
  • 指数增强流水线:打通 Data → Factor → Score → Weights → target_weights() 全流程。
  • 自动化实验审计:深度集成 MLflow,自动记录代码快照、参数、指标及报告。
  • 高性能数据后端:DuckDB 原生连接器已落地,支持亿级 Bar 的本地秒级读取与跨维度查询。
  • 风险模型集成:支持 Barra 风格风险暴露分析与超额收益分解。

科学投研能力

  • 因果发现基础:集成 CausalSelector (PC/FCI),从特征工程阶段识别 Alpha 真实驱动。
  • 算法增强:引入 GIES、Direct-LiNGAM 等高级算法,提升因子筛选的可解释性与稳定性。
  • 因果驱动闭环:将因果分析与参数优化、风险控制形成自动化的研发闭环。

智能体与 AI 能力

  • MCP 知识网关:MCP Server 已上线,实现 AI 对 API 的结构化理解与自动代码生成。
  • Agentic 策略诊断:利用 LLM 自动解析回测结果,识别亏损动因并给出逻辑优化建议。
  • LLM 因子解释器:利用大模型将因果发现结果转化为直观的金融投资逻辑。

工程化与 ML 生命周期

  • Model Registry:基于 MLflow 实现模型注册,支持特征指纹与模型版本的全生命周期管理。
  • 分布式参数优化:基于 Ray / Optuna 扩展多机并行的参数搜索与蒙特卡洛模拟。

实盘与生态愿景

  • 通用实盘事件链路:完成 EventRunner 语义,支持回测与实盘代码 100% 复用。
  • 实盘交易打通:对接 QMT, IBKR 等券商接口,完成从研究到执行的最后一公里。
  • Agentic Quant 平台:最终演进为支持自然语言驱动的全流程投研自动化底座。

免责声明 (Disclaimer)

本项目仅用于学术研究与技术交流,不构成任何投资建议。量化交易存在极高风险,回测表现不代表未来实盘收益。开发者不对因使用本项目导致的任何经济损失承担责任。请投资者谨慎决策,风险自担。

This project is for academic research and technical exchange only and does not constitute any investment advice. Quantitative trading involves high risk; past performance is not indicative of future results. The developers are not responsible for any financial losses incurred through the use of this project. Invest at your own risk.

致谢

Quantopian · Trevor Stephens · PyWhy · dodid · DolphinDB · happydasch · mpquant · baobao1997

联系方式

微信公众号:知守溪的收纳屋 · 邮箱:muyes88@gmail.com

Metadata

Release files for trade-learn 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trade-learn 0.2.7
File Size Uploaded
trade_learn-0.2.7.tar.gz 298.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for trade-learn 0.2.7
File
trade_learn-0.2.7-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
trade_learn-0.2.7-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
trade_learn-0.2.7-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
trade_learn-0.2.7-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
trade_learn-0.2.7-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
trade_learn-0.2.7-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
trade_learn-0.2.7-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
trade_learn-0.2.7-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
trade_learn-0.2.7-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
trade_learn-0.2.7-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
trade_learn-0.2.7-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
trade_learn-0.2.7-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
trade_learn-0.2.7-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
trade_learn-0.2.7-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
trade_learn-0.2.7-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
trade_learn-0.2.7-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 10.8 MB

Release files / trade_learn-0.2.7.tar.gz

Download URL trade_learn-0.2.7.tar.gz
Size 298.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8afab40c2c2ae97d64c8f70bc11d4c37519bd11c8bd3fe8546b2fee01e87da3a
BLAKE2b-256 checksum
How to use checksums
c4fc4c8daf9b683ed4fa2262b65cb160a0832728edc74be62a601ea8d4431b2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp314-cp314-win_amd64.whl

Download URL trade_learn-0.2.7-cp314-cp314-win_amd64.whl
Size 574.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e252342b77c110f5dab273375e6428dbdd86dacf91c1d076bf22faab1bd6cc4f
BLAKE2b-256 checksum
How to use checksums
2756b776ffc5b5df3725c9a8597c366e2289250f532d06a45f8cd23fe6188e25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL trade_learn-0.2.7-cp314-cp314-manylinux_2_28_x86_64.whl
Size 716.7 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
53b8a4afa947600a5e77094c60df7243156b5e1844aece05602fcbcf144c6c1a
BLAKE2b-256 checksum
How to use checksums
4678875d64c6ad595a2e4656f4a0ee0383963ad88ef5280b7a2275828230c2c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp314-cp314-macosx_11_0_arm64.whl

Download URL trade_learn-0.2.7-cp314-cp314-macosx_11_0_arm64.whl
Size 664.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1614c64ef4d71d78f3b09820696b1775990db145c310f4ac76a2545c26928e6c
BLAKE2b-256 checksum
How to use checksums
de232ef83bc88581cf47466da6d4fe8e61de6bbbde34ab91af5bef0f9e8b5c2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp313-cp313-win_amd64.whl

Download URL trade_learn-0.2.7-cp313-cp313-win_amd64.whl
Size 575.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ede13ba4d8392e215483217ed00deede9ade27c605269139fe30c6f7f3e4f081
BLAKE2b-256 checksum
How to use checksums
b5b6db72b171c63483f1bdd5c892b6de66bd5b6b5c3a18982547e9704e10df77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL trade_learn-0.2.7-cp313-cp313-manylinux_2_28_x86_64.whl
Size 716.9 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
507d41ed6797fe92d93ec1bfd69d44a590eb46eaca60dbdafc1f717b2d267d48
BLAKE2b-256 checksum
How to use checksums
d4fee8ebca9ef8bd78672908def5d9c9efb3269d7e35514d9439c945039acd13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL trade_learn-0.2.7-cp313-cp313-manylinux_2_28_aarch64.whl
Size 702.4 kB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3a33f31d70c567997dbb766b2afa6aaa2a135134b90953384475249cba886a9a
BLAKE2b-256 checksum
How to use checksums
9f71756ec75f8809942ed20c309320128a2eb75373c9165aee920eed26a9b5d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp313-cp313-macosx_11_0_arm64.whl

Download URL trade_learn-0.2.7-cp313-cp313-macosx_11_0_arm64.whl
Size 665.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1be8d93c2f5ded51d1262d224cdbf2be01e9d7332aeaeba06f9a591d038e765d
BLAKE2b-256 checksum
How to use checksums
abdc137a40faa585201862b5fe3c2b4390b8d6e20efa001ca44d09fd5ad0d5e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp312-cp312-win_amd64.whl

Download URL trade_learn-0.2.7-cp312-cp312-win_amd64.whl
Size 576.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6e08e14a4b2eb19f810154500c9d92c6dd30412e19f41a1cba50f2f759f51278
BLAKE2b-256 checksum
How to use checksums
97ec6d98b7d0abfcfd87fa79c750d7aae100342aedf4698ed9f3710518b9d458
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL trade_learn-0.2.7-cp312-cp312-manylinux_2_28_x86_64.whl
Size 717.9 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
716778b2493844cedc1f13032fa56ec68d0ebac786048f9c0b60611e69f7c318
BLAKE2b-256 checksum
How to use checksums
6b22951f0b5f0cd926bfca8163a0ba929de2acda894d45f15a7a3b86fbe3a6ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp312-cp312-macosx_11_0_arm64.whl

Download URL trade_learn-0.2.7-cp312-cp312-macosx_11_0_arm64.whl
Size 666.1 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e7314134ec611eba56e62b4a84ef5a68bae1b15206599c6da227ff301558d129
BLAKE2b-256 checksum
How to use checksums
f174ad1fe044b186c4772ea79612e2feee8c10d5a61f906e31d70dd6ae0c7f56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp311-cp311-win_amd64.whl

Download URL trade_learn-0.2.7-cp311-cp311-win_amd64.whl
Size 578.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5ac4c54261cce973e6f788737d7f05a115290dffb1d3109f3f225b5de7bfc71d
BLAKE2b-256 checksum
How to use checksums
68578f9f79b641fb17a7ac0b1b9226aa1281f79cc62e42012a4570597a221cae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL trade_learn-0.2.7-cp311-cp311-manylinux_2_28_x86_64.whl
Size 721.1 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2d8b8a71e146b7c160bbe9059148c677ff545e6f0b4361c1d309d4ca45199718
BLAKE2b-256 checksum
How to use checksums
0d979f795959b9ddf2f6e98a90bf8d33ecc56e823c575300daefcc8de963ca06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp311-cp311-macosx_11_0_arm64.whl

Download URL trade_learn-0.2.7-cp311-cp311-macosx_11_0_arm64.whl
Size 670.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
02ac41bc70ca1ea61af86e18f03c8832d523d4bb3c09b004c990ae77f78aec6d
BLAKE2b-256 checksum
How to use checksums
bb38d1b9c78fc6325ef79271fd9733b1c3ed26bad5133429ad94399b292a4262
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp310-cp310-win_amd64.whl

Download URL trade_learn-0.2.7-cp310-cp310-win_amd64.whl
Size 578.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d6b4c7558d45fef73f2b114d8b66417cc000ec659fc9d58bcc5ee54fae1e1721
BLAKE2b-256 checksum
How to use checksums
4b485913b55bab85b037c3891d50f1fbe8e8e9180c4bd84992b37237093ec243
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL trade_learn-0.2.7-cp310-cp310-manylinux_2_28_x86_64.whl
Size 722.1 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
47e7d17bc491b4992669f2d592d2fdf14ba550eda7eb33a091e814bbb80103d4
BLAKE2b-256 checksum
How to use checksums
edf8da396476a4ddbf414a99dd58dc0f59e69b392063d36a660a0ee84b629dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / trade_learn-0.2.7-cp310-cp310-macosx_11_0_arm64.whl

Download URL trade_learn-0.2.7-cp310-cp310-macosx_11_0_arm64.whl
Size 669.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a89c7b2ae265f98095339975d734e7f25c64241e0dfd358142f62763ffdc24b9
BLAKE2b-256 checksum
How to use checksums
2204710c882fbcc158deb2c4657226e39279c4dcc5ac9b55fd9602cd23a1451d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.7 This release

17 release files

0.2.6

17 release files

0.2.5

17 release files

0.1.1.8

1 release file

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