Back to skills
extension
Category: Data & AnalyticsNo API key required

基金时序拟合实验室

【中文】 基金时序拟合实验室是一套「基金净值时序拟合」的方法论文档 + 本地标准库脚本,面向个人学术与研究用途,完全离线运行。它教你用「指数直接法 / 主动持仓加权 / 三层融合 + 收盘回灌校准」从基金季度披露持仓与历史净值,拟合出一条带误差区间的净值路径,并用回测(MAE、95% 覆盖)检验效果。进阶部分提供 Kalman 最优融合、EWMA 不确定性区间,以及 Hurst 长记忆、Lyapunov / 相空间重构(混沌)、分形维等研究向诊断——均诚实标注「不预测收益」。 重要边界:本工具是研究方法,不是基金实时估值服务,不是投资顾问,也不是基金销售;所有输出都是「拟合值 ± 误差区间」,唯一法定净值以基金管理人发布、托管人复核的收盘净值为准。¥4.99/次,按调用量计费,本地运行、作者零算力成本。 【English】 Fund NAV Time-Series Fitting Lab is a methodology document + local standard-library scripts for fitting a fund's NAV path, for personal academic research, running fully offline. It teaches a three-layer fusion from quarterly disclosed holdings and historical NAV, producing a fitted path with an error band, validated by backtest (MAE, 95% coverage). Advanced modules add Kalman optimal fusion, EWMA uncertainty bands, and Hurst / Lyapunov / phase-space (chaos) / fractal diagnostics — all honestly labeled "does not predict returns." Key boundary: this is a research method, NOT a real-time fund-valuation service, NOT investment advice, NOT fund distribution. ¥4.99/call, pay-per-use, runs locally. 基金净值怎么拟合,基金净值测算方法,基金估值怎么做,用Python拟合基金净值,基金净值路径,净值误差区间怎么算,基金回测怎么做,Kalman滤波 基金,基金混沌分形,基金时序分析,本地基金研究工具,不联网的基金分析,fund NAV fitting method,how to fit fund NAV, fund backtest python, Kalman fund filter ```基金净值测算,基金净值拟合,净值拟合,基金估值方法论,基金时序拟合,Kalman滤波,净值回测,量化基金研究,基金分析Python,本地离线基金研究,净值估算方法论,误差区间,三层融合,混沌分形,基金研究工具,时间序列拟合,净值路径拟合,Hurst指数,Lyapunov指数,基金持仓分析,个人量化研究,fund NAV fitting,fund valuation methodology,NAV backtest,Kalman filter,quant fund research,time series fitting,offline fund analysis ```

personAuthor: u_5597b2dehubenterprise

基金时序拟合实验室

手把手教你搞懂基金净值拟合逻辑的方法论 + 可运行构件。从估值数学、免费数据源、系统架构,到 Kalman 最优融合 / EWMA 不确定性区间 / Hurst·Lyapunov 混沌与分形分析等先进算法,再到国内金融合规边界,一站式讲透。让你能按自己的市场(A股/港股/美股/QDII)、基金类型(指数/ETF/主动)和研究目标,自行搭建并迭代一个个人学习/研究用的净值时序拟合工具

⚠️ 定位红线(务必读 references/compliance.md:本 skill 是方法论与自用研究工具,定位为个人学习、研究、理解基金净值构成不是对外提供的盘中涨跌参考服务,不是投资建议、基金销售或投资顾问。2023/2026 证监会已明确:非持牌主体以任何名义对外输出"基金盘中涨跌参考值"属监管叫停的变相估值,触碰红线。本 skill 全部内容均按"本地自用 + 充分风险提示 + 以收盘净值为准"的合规姿态设计。

何时使用

  • 搞懂基金净值怎么算、自己动手做一个净值测算小工具(学习/研究向)。
  • 问估值公式、持仓加权怎么算、QDII/美股基金怎么估、净值偏差从哪来。
  • 想引入更先进的算法(Kalman 融合、不确定性区间、混沌/分形/长记忆分析)做研究的稳健性与风控增强。
  • 要选数据源、选架构、做可靠性工程,或确认合规边界

方法论总览(六步)

  1. 定范围:哪些市场(A股/港股/美股/日韩)、哪些基金类型(指数/ETF/主动/QDII)、自用还是共享。范围决定数据源与算法复杂度;对外共享需持牌,见 compliance.md
  2. 取数:拉昨日净值(prev_nav)、持仓(holdings)、各标的实时涨跌幅。免费源见 references/data_sources.md
  3. 估值:按基金类型选算法——详见 references/methodology.md
    • 指数/ETF:直接法 est_nav = prev_nav × (1 + 指数今日涨跌幅)
    • 主动基金:持仓加权 r_p = Σ wᵢ·rᵢest_nav = prev_nav × (1 + r_p)
    • 进阶:三层融合(持仓加权→板块加权→多因素修正)+ 收盘校准 + Kalman 最优融合 + EWMA 不确定性区间
    • QDII:T+2 滞后 + 汇率折算,见 methodology.md 第 4 节。
  4. 先进算法(可选增强):Hurst/R/S 长记忆、Lyapunov/相空间重构混沌特征、分形维——作为研究与风控层面的稳健性/可预测尺度/异常检测增强,见 references/algorithms_advanced.md这些算法用于理解与刻画不确定性,不承诺预测收益。
  5. 架构与可靠性:抓取→估值→存储→服务→推送;单例守护/端口守卫/崩溃自愈/开机自启,见 references/architecture.md
  6. 合规自检(发布/共享前必做):对照 references/compliance.md 的 DO/DON'T 与免责模板逐项核对。

标准工作流(导入持仓 → 拟合 → 输出区间)

本 skill 的可执行主线,对应 SkillHub 上架标准的 SOP 要求,三步跑通:

  1. 导入持仓数据:按 assets/sample_holdings.csv 的格式整理你的基金持仓(列:code 代码 / weight_pct 占比% / today_chg_pct 该标的今日涨跌幅% / industry 行业标签)。这是唯一需要你准备的数据。
  2. 触发拟合(模型训练):运行 scripts/fit_pipeline.py,它会复用 valuation_core.pyKalman 最优融合EWMA 不确定性区间,给出拟合涨跌幅。可指定 --fusion naive|kalman|ci--style growth|value|defensive|balanced--data-dir 落盘状态。
    python scripts/fit_pipeline.py --holdings assets/sample_holdings.csv \
        --prev-nav 3.4521 --official-est 0.9 --style balanced
    
  3. 输出拟合值 ± 误差区间:脚本打印「拟合值 + EWMA ±σ 区间(k=2≈95% 置信带)+ 估算净值」,并明示「⚠️ 算法训练样本,非法定基金净值」。
    • 每日校准(越用越准):收盘后把官方涨跌幅回灌,更新偏差与区间:
    python scripts/fit_pipeline.py --holdings assets/sample_holdings.csv \
        --prev-nav 3.4521 --official-est 0.9 --calibrate 1.10
    

触发条件锁定:本 skill 仅在用户明确要求进行净值拟合 / 测算实验时展开;绝不主动提供、也绝不对外推送任何基金盘中涨跌参考值(2023/2026 证监会监管红线)。所有输出定位为「个人学术自用 · 算法训练样本」。

4. 批量回测(验证算法在历史事件上的表现)

用历史「三信号(A/B/C) + 官方涨跌幅真值」回放,量化拟合精度与"越用越准"效果。详见 references/backtest.md

# 演示样本(合成历史,离线可跑):输出误差分布 + 生成 HTML 可视化(落 reports/)
python scripts/backtest.py --data assets/sample_backtest.csv --fund DEMO-FUND \
    --fusion kalman --html reports/backtest_report.html --json reports/backtest_metrics.json
  • 输入 CSV 列:date / prev_nav / official_chg_pct(真值)/ A B C(三信号,由你自己持仓+行情离线算出)。
  • 输出:MAE / RMSE / 偏差 / 95%·68% 区间覆盖率 / 误差分位数 / 直方图;并对比"无校准基线 vs 校准后"验证回灌生效。
  • 换成你自己的历史导出即可做实盘回测(数据来源不限,akshare 等均可),引擎与合规姿态不变。

关键公式(速记)

指数/ETF :  est_nav = prev_nav × (1 + index_return_today)
主动基金 :  est_nav = prev_nav × (1 + Σ wᵢ·rᵢ)        # wᵢ 持仓占比, rᵢ 标的涨跌幅, 现金 r≈0
三层融合 :  fused = α·持仓加权 + β·板块加权 + γ·官方估算   # αβγ 随覆盖率/经理风格自适应
Kalman  :  x̂ = K·z + (1-K)·x̂_prev                    # 对多源噪声估计做最优融合(K=卡尔曼增益)
EWMA区间 :  σ = sqrt(λ·e² + (1-λ)·σ_prev²)           # 历史预测误差的指数加权波动→±区间
QDII     :  est_return = Σ wᵢ·海外资产涨跌幅ᵢ·汇率因子     # 取最新可得海外收盘 + FX

铁律:估算值 ≠ 官方收盘净值。唯一法定结算依据 = 基金管理人发布、托管人复核的收盘正式净值compliance.md 第 1 节)。看板必须明确标注「估算」,并以收盘公布值为准。

构件与参考

  • references/methodology.md — 估值原理深讲:三类基金算法推导、三层融合引擎、收盘校准、QDII/T+2、精度边界。必读。
  • references/algorithms_advanced.md先进算法:Kalman 最优融合 / 协方差交叉融合、EWMA 不确定性区间、Hurst(R/S) 长记忆、Lyapunov 指数与相空间重构、分形维;含诚实的功效边界与集成方式。
  • references/compliance.md国内金融合规边界(2023/2026 证监会监管要求、证券投资咨询/基金销售资质、PIPL/数据安全、DO/DON'T、免责模板)。上线前必读。
  • references/data_sources.md — 免费数据源清单(新浪/东方财富/天天基金接口、参数、解析要点、Referer、限流与降级)+ 数据使用合规提示;§11 含 akshare 可选扩展(实时行情 + 申万一级行业估值)。
  • references/architecture.md — 系统分层架构、调度、存储;可靠性工程;合规架构约束(本地自用 vs 对外服务的红线)。
  • references/build_steps.md — 分阶段构建路线:MVP → 增强(先进算法)→ 生产级,每阶段交付物、验收点与合规闸。
  • references/templates.md — 复制即用代码片段:估值函数、Kalman 融合、抓取骨架、守护进程、最小 aiohttp 服务 + 看板 + 合规免责条。
  • scripts/valuation_core.py可运行纯函数参考实现(标准库即可,无网络、无密钥):三层融合 + Kalman 最优融合 + EWMA 不确定性区间 + 收盘校准,含演示。
  • scripts/algorithms_advanced.py可运行先进算法演示(标准库即可,合成数据,无网络):Hurst(R/S)、最大 Lyapunov 指数(小数据量法)、相空间重构、Kalman/协方差交叉融合、EWMA 区间。直接 python algorithms_advanced.py 看效果。
  • scripts/fit_pipeline.pyCSV 驱动标准流水线(标准库即可,离线):读 assets/sample_holdings.csv → 跑 Kalman/EWMA 拟合 → 输出「拟合值 ± 误差区间」+ 估算净值;支持每日官方涨跌幅回灌校准。直接 python fit_pipeline.py --holdings assets/sample_holdings.csv --prev-nav 3.4521 跑通。
  • scripts/backtest.py批量回测与误差分布报告(标准库即可,离线):CSV 历史回放,复用 fuse_kalman / ewma_sigma 并模拟每日收盘回灌;输出 MAE/RMSE/偏差/区间覆盖率/分位数/直方图 + HTML 可视化 + JSON 指标。直接 python backtest.py --data assets/sample_backtest.csv --fusion kalman 跑通。
  • assets/sample_holdings.csv持仓导入模板(CSV 输入格式):列含 code / weight_pct / today_chg_pct / industry,照此整理你自己的持仓即可喂给流水线。
  • assets/sample_backtest.csv回测历史样本(CSV 输入格式):列含 date / prev_nav / official_chg_pct / A / B / C(演示用合成历史,替换为自有导出历史即实盘回测)。
  • requirements.txt — 依赖声明:本 Skill 脚本仅依赖 Python 标准库,可离线运行;扩展数据源(如 akshare)时在此追加。

当前交付范围(必读)

本 skill 是一份方法论文档 + 标准库 Python 脚本,用于你自行搭建基金时序拟合工具:

  • ✅ 含:估值/算法原理、免费数据源、架构与可靠性、合规边界(references/*.md)+ 可离线运行的参考实现(scripts/*.py)。
  • ❌ 不含:任何已部署的 Web 服务、私有运行时、Zero-Trust 穿透、设备鉴权。上架文案中的"私有穿透 / 设备授权 / 本地加密"是私有实例的预期使用模型(蓝图见 references/compliance_config.json),属后续独立工程,需你自行实现。
  • 📦 发布路径:上架以本 skill 的打包 zip 上传至 SkillHub 后台完成;本文件内的 disable / visibility 仅控制本地 WorkBuddy 是否激活此 skill,定稿后已置为可激活(发布动作仍在 SkillHub 后台走企业认证→绑商户号→¥4.99 定价→类目)。

💳 付费调用(X402 协议 · 微信 Agent Pay 付费改造 · 已升级 Pay Skill)

本 Skill 已在 SkillHub 平台按官方《使用指南 - 升级为 Pay Skill》完成完整的付费改造,基于 微信支付 Agent Pay X402 协议实现按次付费调用。付费环节由上海英楚(商户)托管的支付网关完成「微信下单 + X402 预下单 + 验单」,算法学习与拟合实训仍由你本地 Agent 的 LLM / Python 环境实做(作者零算力成本)。

🎯 核心特征(5 项 · 对照 Pay Skill 改造最佳实践指南)

| # | 核心特征 | 实现位置 | 状态 | |---|---|---|---| | ① | 付费前置检查:调用前确认 weixinpay 插件(extension)已安装,未安装则终止付费流程 | Agent 侧调用流程 · 第零步 | ✅ | | ② | 支付触发:未付费调用返回 HTTP 402 + WeixinPay-Required(Header + Body 双返回) | 平台 / 商户代管,见 Step 4 | ✅ | | ③ | 重试机制:支付成功后必须主动重新请求以取回付费内容 | Agent 侧调用流程 · 第四步 | ✅ | | ④ | 订单号传递:重试时通过 X-Out-Trade-No Header 原样携带订单号 | Agent 侧调用流程 · 第四步 | ✅ | | ⑤ | 异常处理:覆盖 NOT_PAID / REFUNDED / FULFILL_AND_REFUND_FAILED / 微信支付状态报错 / 取消 / 过期 | 见下方「异常处理」专节 | ✅ |

依据:微信 Agent Pay X402 协议「商户 Skill 定义示例(最佳实践)」与 SkillHub《升级为 Pay Skill》教程「改造完成后检查」。

✅ 改造前确认(前置条件 4 项 · 教程硬性要求)

| # | 前置条件 | 操作位置 | |---|---|---| | ① | 企业认证通过 | SkillHub 后台 → 团队设置 | | ② | 绑定微信商户号 | SkillHub 后台 → 商户入驻 → 前往 微信支付商户平台 绑定 | | ③ | 已有微信支付下单能力 | 已接入 Native / JSAPI / H5 任一,返回 code_urlprepay_id | | ④ | 已发布 Skill 并设置定价 | SkillHub 后台 → 发布 Skill → 设置定价(¥4.99/次) |

🧭 整体架构(X402 四段接入 · 含英楚托管支付网关)

企业服务生成微信支付订单
     ↓
用 SkillHub 开发者密钥 RSA 2048 签名调用 X402 AI 预下单
端点 /palmpayminiapp/clawagentpay/preorder  → 换 payment_code
     ↓
服务响应通过 HTTP 402 + Header WeixinPay-Required
(同时响应体附加 WeixinPay 块 + prompt)
返回给 Agent
     ↓
Agent 调 weixinpay_pay 向用户申请支付授权
     ↓
支付成功后携 X-Out-Trade-No 重试取内容

🔗 支付服务声明(商户托管 · 平台审核必查项):本 Pay Skill 的支付服务由上海英楚实业有限公司独立托管,端点 https://cloudbase-d4g6s4sele26861ee-1437003306.ap-shanghai.app.tcloudbase.com/fund/api/resource,协议为微信 Agent Pay X402(SkillHub 开发者密钥签名预下单)。该服务仅做「下单 + 预下单 + 验单」的付费 toll-booth,不参与算法拟合与评审;方法论学习、脚本运行、数据实验均在用户本地完成。

🔐 Step 1 · 开发者密钥(RSA 2048)

  • 算法RSA 2048
  • pub_key_id:形如 PUB_KEY_ + 32 位大写 HEX,填入预下单告诉平台用哪把公钥验签
  • private_key_pem:RSA 2048 私钥(PEM 格式),用于 SHA256withRSA 签名;仅展示一次,SkillHub 不存储
  • 同一商户最多保留 3 组有效密钥,测试 / 生产分开

💳 Step 2 · 接入微信支付下单(标准 v3 接口 · 本网关使用 Native)

POST https://api.mch.weixin.qq.com/v3/pay/transactions/native
Content-Type: application/json

{
  "appid": "wx2540e88a122b3184",
  "mchid": "1114270015",
  "description": "基金时序拟合实验室 Pay Skill 调用",
  "out_trade_no": "skillpay_202608040001",
  "notify_url": "https://cloudbase-d4g6s4sele26861ee-1437003306.ap-shanghai.app.tcloudbase.com/fund/api/notify",
  "amount": { "total": 499, "currency": "CNY" }
}
  • Native → 返回 code_urlweixin://wxpay/bizpayurl?pr=...
  • 网关将返回的 code_url 传给 Step 3 换取 payment_code

🤖 Step 3 · 调用 X402 AI 预下单(纯 Body 鉴权 · L1/L2 双层结构)

POST https://payapp.weixin.qq.com/palmpayminiapp/clawagentpay/preorder
Content-Type: application/json

请求体为 L1(鉴权外层)+ L2(业务 JSON)双层结构不使用 Authorization 头

3.1 构造 L2 业务 JSON

{
  "skill_info": {
    "skill_id": "fund-timeseries-fitting-lab",
    "skill_version": "3.0.0"
  },
  "pay_type": "SKILL_PAY",
  "pay_mode": "AUTH_AND_PAY",
  "pay_items": [
    {
      "product_id": "SP260804F001",
      "pay_data": {
        "type": "code_url",
        "value": "weixin://wxpay/bizpayurl?pr=NwY5Mz9&groupid=00"
      }
    }
  ],
  "expires_at": "1751194500"
}

| 字段 | 约束 | |---|---| | skill_info.skill_id | 在 SkillHub 发布的 Skill slug:fund-timeseries-fitting-lab | | skill_info.skill_version | Skill 版本号:3.0.0 | | pay_type | 固定填 SKILL_PAY | | pay_mode | 固定填 AUTH_AND_PAY(授权即支付) | | pay_items[].product_id | 本 Skill 保留字段:SP260804F001 | | pay_items[].pay_data.type | code_url | | pay_items[].pay_data.value | Step 2 返回的 code_url 字符串 | | expires_at | Unix 秒级时间戳,最长 当前 + 15 分钟 |

3.2 Base64 编码为 payment_required

payment_required = Base64Encode(L2_JSON)         // 标准 Base64,非 URL-safe,不带换行

3.3 构造 5 行签名串(每行以 \n 结尾,包括最后一行

POST\n/palmpayminiapp/clawagentpay/preorder\n{timestamp}\n{nonce_str}\n{payment_required}\n

3.4 SHA256withRSA 签名(PKCS#1 v1.5)

signature = Base64( RSA_PKCS1v15_Sign(private_key, SHA256(sign_string_bytes)) )

3.5 组装 L1 请求体并发送

{
  "signature_type": "SKILLHUB-SHA256-RSA2048",
  "developer_platform": "SKILLHUB",
  "developer_id": "sh-cxhxjmfT",
  "pub_key_id": "PUB_KEY_4A272D1601DEC8AC6D545E75A61D5110",
  "nonce_str": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "timestamp": "1751194200",
  "signature": "BASE64_RSA_SIGNATURE...",
  "payment_required": "eyJza2lsbF9pbmZvIjp7..."
}

成功响应

{ "payment_code": "xY9zAbc123def456" }

📤 Step 4 · 返回支付触发标识(Header + Body 必须同时返回)

HTTP/1.1 402 Payment Required
WeixinPay-Required: xY9zAbc123def456
X-Out-Trade-No: WX402_202608040001
Content-Type: application/json

{
  "code": "PAYMENT_REQUIRED",
  "out_trade_no": "WX402_202608040001",
  "amount": "4.99",
  "currency": "CNY",
  "description": "基金时序拟合实验室 调用",
  "invoice_notice": { ... },
  "WeixinPay": {
    "WeixinPay-Required": "xY9zAbc123def456",
    "prompt": "本次使用微信支付,请将 WeixinPay-Required 的值作为 paymentCode 交给 weixinpay_pay,以向用户申请支付授权。"
  }
}

💡 必须同时返回 WeixinPay-Required Header 与响应体中的 WeixinPay 块(含 prompt),兼容只读 body 的 Agent。HTTP 状态码支持 402200(兼容模式)。

✅ 改造完成后检查(4 项 · 教程自检清单)

  1. 微信支付下单成功,能通过 out_trade_no 或回调确认支付结果。
  2. X402 预下单请求中 developer_id 为 SkillHub 商户号,5 行签名串格式正确。
  3. 服务响应同时包含 WeixinPay-Required Header 与 WeixinPay Body 块。
  4. Agent 能识别 payment_code / WeixinPay-Required 并触发微信支付授权,能正常拉起微信支付 AI 专属卡。

📥 Agent 侧调用付费流程(用户 / Agent 视角 · 网关付费 → 本地学习)

⚠️ 流程最前端必须先做「第零步 · 付费前置检查」(核心特征①);未通过则禁止进入任何支付流程。 付费由上海英楚托管支付网关完成;网关返回 200 {code:SUCCESS, paid:true} 后,再执行本 SKILL.md「方法论总览」与「标准工作流」的算法学习与拟合实训(实训在用户本地 Python 环境完成)。

第零步 · 付费前置检查(核心特征① · 必做)

调用本 Skill 的付费能力前,先确认当前 Agent 环境已安装 weixinpay 插件(extension):

  • 已安装:继续后续流程,提供付费服务。
  • 未安装:向用户提示「当前 Agent 暂不支持微信支付付费能力,无法使用基金时序拟合实验室的按次付费调用」,并终止付费流程(可引导用户切换到已安装 weixinpay 的 Agent 环境,如 WorkBuddy)。

第一步 · 请求资源(调用英楚支付网关)(首次,无 X-Out-Trade-No Header)

POST https://cloudbase-d4g6s4sele26861ee-1437003306.ap-shanghai.app.tcloudbase.com/fund/api/resource
Content-Type: application/json
Body: { "query": "用户的基金拟合学习需求" }

该网关为上海英楚托管的商户支付服务(X402),仅做下单 / 预下单 / 验单,不参与算法拟合。

第二步 · 处理 402 响应

平台对未付费调用返回 HTTP 402,响应头/体中携带两项,都必须保存

  • WeixinPay-Required:支付码(payment_code
  • X-Out-Trade-No:订单号(out_trade_no

第三步 · 发起支付

WeixinPay-Required 的值作为 paymentCode,调用 weixinpay_pay 完成微信支付授权:

weixinpay_pay(paymentCode = "WeixinPay-Required 的值")

第四步 · 支付成功后获取资源(⚠️ 必须执行)

携带订单号与支付凭证重新请求(仅通过 Header 传递,Body 与第一步完全一致):

POST https://cloudbase-d4g6s4sele26861ee-1437003306.ap-shanghai.app.tcloudbase.com/fund/api/resource
Headers: WeixinPay-Required + X-Out-Trade-No
Body: { "query": "原始基金拟合学习需求" }

⚠️ 第四步最容易被 Agent 遗漏:不携带 X-Out-Trade-No Header 重试,就永远拿不到付费放行。网关返回 200 {code:SUCCESS, paid:true} 后,立即执行本 SKILL.md「方法论总览」与「标准工作流」的学习与拟合实训(实训在用户本地完成,与网关无关)。支付成功后的重试由 weixinpay 插件在系统层自动完成,无需 Agent 手动转述支付指令。

第五步 · 查单履约(网关侧)

英楚支付网关验单(trade_state=SUCCESS)后返回 HTTP 200 {code:SUCCESS, paid:true, out_trade_no: "..."}。同一 out_trade_no 幂等,仅放行一次。网关不返回算法结果——算法结果由你本地 Agent 在第四步之后按本 SKILL.md 生成。

🚨 异常处理(核心特征⑤ · 必须覆盖的支付状态)

付费链路存在多种非成功终态,Agent 必须按以下规则处理:不得臆测、不得编造支付状态、不得对 REFUNDED 重复发起支付

| 状态 / 情况 | 含义 | Agent 处理 | |---|---|---| | NOT_PAID | 支付尚未完成(用户未确认或处理中) | 告知用户「支付进行中,请稍候」,等待后重新携带 X-Out-Trade-No 重试;不要当作失败终止 | | REFUNDED | 商户服务异常无法提供内容,已自动退款 | 告知「抱歉,该服务暂时无法提供内容,已自动退款至原支付账户」;不要再次支付或重新请求 | | FULFILL_AND_REFUND_FAILED | 服务异常且退款失败 | 建议用户「请联系客服处理」;不要再次支付 | | 微信支付状态报错(如「系统繁忙」) | 微信支付侧瞬时异常,非商户下单结果 | 如实告知用户,不据此推进后续流程,可引导稍后重试 | | 用户取消 / 关闭支付 | 用户主动放弃本次支付 | 询问是否重新支付;若确认,用上次相同 WeixinPay-Required / payUrls 凭据经 weixinpay_pay 重新触发(不重新下单) | | payment_code 过期 | expires_at 最长 15 分钟,凭证失效 | 需由商户服务重新下单换取新 payment_code 后再触发 | | 签名验证失败 | 服务端 developer_id / 签名串格式错误 | 属商户服务端问题,Agent 如实反馈并建议联系技能作者排查 |

🔴 红线:Agent 绝不向用户展示 WeixinPay-Required 原始值(一次性支付凭证,由系统接管呈现),绝不将支付凭证写入持久化日志或转发其他渠道。

⚙️ 协议关键字段一览(教程硬性字段值 · 直接复制可用)

  • 预下单端点POST https://payapp.weixin.qq.com/palmpayminiapp/clawagentpay/preorder
  • 路径常量/palmpayminiapp/clawagentpay/preorder(签名串第 2 行)
  • 签名算法SKILLHUB-SHA256-RSA2048(RSA 2048 + SHA256 + PKCS#1 v1.5)
  • 固定字段值pay_type=SKILL_PAYpay_mode=AUTH_AND_PAYdeveloper_platform=SKILLHUB
  • 返回头WeixinPay-Required: <payment_code>(HTTP 402 / 200 兼容)
  • 返回体块{"WeixinPay-Required": "<payment_code>", "prompt": "..."}
  • 本 Skill 订单号:商户服务生成的 WX402_YYYYMMDD... 格式 out_trade_no,重试时通过 X-Out-Trade-No Header 原样携带

🛡️ 付费架构(诚实说明)

  • 付费环节:由上海英楚托管的无状态支付网关(X402 协议)完成「微信下单 + 预下单 + 验单」,该网关为独立部署的商户服务(近乎零运维成本),不参与算法拟合与数据实验
  • 学习/实训环节:仍由你本地 Agent 的 LLM 与 Python 环境按本 SKILL.md 实做(方法论讲解、脚本运行、回测实验),作者零算力成本
  • 用户消耗的是自己的 token;平台按 ¥4.99/次代扣结算给作者。
  • 开发者密钥 / 微信支付下单 / X402 预下单四段由英楚支付网关持有并执行(密钥存于网关环境变量,绝不进 SKILL.md 或前端)。

5 分钟上手(最短路径)

  1. 准备环境:安装 Python 3.8+(推荐 3.11+),无需任何第三方库(脚本仅用标准库)。
  2. 跑估值演示:在脚本目录执行 python valuation_core.py,看 EWMA ±σ 与 Kalman 融合输出。
  3. 跑算法演示:执行 python algorithms_advanced.py,看 Hurst / Lyapunov / 分形维与"不预测收益"提示。
  4. 读文档:想搞懂原理读 methodology.md,想接数据读 data_sources.md,想进阶算法读 algorithms_advanced.md,要合规读 compliance.md

输出字段解释表(valuation_core.py)

| 字段 | 含义 | |---|---| | 昨日净值 | 基金管理人发布的上一交易日收盘正式净值(唯一法定依据) | | EWMA 不确定性区间 | 估算 ±σ(k=1≈68%、k=2≈95%),刻画历史预测误差,非精度保证 | | 引擎(Kalman)预测 | 多源最优融合后的时序拟合输出值(相对昨日净值的变动 %) | | 收盘校准 daily_bias | 用历史偏差对次日预测做的校正项,使拟合越用越准 |

所有数值均为算法训练样本,非法定基金净值,不构成任何投资参考或理财建议。

硬约束(别再踩坑)

  • 基金估值系统 ≠ 官方净值。永远标注「估算」,并提示以收盘为准。
  • 对外输出"基金盘中涨跌参考值"可能触碰 2023/2026 证监会监管红线(非持牌变相提供盘中参考)。本 skill 仅支持本地自用 / 个人研究,不提供对外服务模板。详见 compliance.md
  • 不能承诺收益、不能给买卖点、不能做投顾(需持牌资质)。本 skill 不含任何投资建议。
  • ⚠️ 本 skill 是方法论文档 + 本地标准库脚本,不含任何已部署 Web 服务(见「当前交付范围」)。下方仅当你自行搭建对外服务实例时才适用、且须先取得相应牌照——属后续独立工程,非本 skill 范围、不推荐:Cloudflare/反向隧道部署、Windows 计划任务常驻守护(pythonw.exe)、看板相对路径等运维考量。
  • ⚠️ 若你自行编写抓取层调用免费接口,注意限流与偶发故障:单只失败要隔离,加退避重试与本地缓存,并遵守各接口服务条款。

references/build_steps.md 起步;算得准读 methodology.md,接数据读 data_sources.md,要稳读 architecture.md,要先进算法读 algorithms_advanced.md,要合规读 compliance.md

常见问题 FAQ 与反馈

FAQ

  • Q:这能告诉我基金今天涨多少、该不该买? A:不能。本工具是净值时序拟合的算法实训,结果仅本地自用、用于复盘算法精度,非理财建议。
  • Q:需要联网或付费吗? A:不需要。脚本纯标准库、离线运行、无密钥;数据源接口仅在你自行搭建抓取时才用。
  • Q:能把拟合结果截图发群里吗? A:不建议对外传播。如确需展示,须附"算法训练样本,非法定净值"标注(见 compliance.md)。

反馈渠道:使用问题或建议请通过 SkillHub 本 skill 的反馈入口或项目 Issue 提交;合规疑问以 compliance.md 免责声明与当地执业律师意见为准。

知识产权与授权(IP)

  • 著作权与全部知识产权归 张秉建 所有;已授权 上海英楚实业有限公司 独家商业运营(含 SkillHub 上架、¥4.99 / 调用一次定价)。授权范围与原始《授权书》一致。
  • 本授权不改变本 skill 的合规定位(个人离线算法学习、非投顾、非销售、非对外盘中参考)。完整条款见 references/compliance.md §10。