开始使用
FACTOR PICKLE

PICK THE FACTOR.
KEEP THE ALPHA.

将数据契约、因子物化、Agent 自动因子发现、策略构建、选股、回测与研究报告连成一条可复现链路,并通过 MCP 向 AI Agent 开放全部能力。

GITHUB ↗
12 MODULES 85+ FACTORS MCP NATIVE
SCROLL TO EXPLORE ↓
WHY FACTORPICKLE

为什么是 Factor Pickle

让 Agent 和你一起挖掘因子:自动提出假设、批量验证,并生成可复核的标准研究报告。

01 / PIPELINE

一条链路,四层边界

采集、数据访问、因子计算与应用分层;单向依赖让每层可以独立替换与测试。

0108
SCROLL TO ROTATE ↓
GET STARTED / DOCKER

开始使用 Factor Pickle

无需安装包。拉取最新代码并启动 Docker,即可进入 Factor Lab。

factorpickle / deploy
$ git pull https://github.com/EpocheRan/FactorPickle.git
$ docker compose up -d

在仓库目录执行 · 首次运行前请先准备 config.json

FACTOR LAB / DSH RESEARCH LOOP

因子挖掘

把研究命题交给一支可审计的 Agent 队伍:PathFinder 提出假设,Runner 经 data_interface 取数并完成实验,FactorBuilder 固化因子 artifact,Evaluator 与 Supervisor 决定下一轮。

7RESEARCH ROLES
≤ 5ROUNDS / CAMPAIGN
¥3,000MONTHLY BUDGET
150GBDISK QUOTA
01 / ROLES

一支可审计的研究队伍

每个角色只做一件事,并通过 artifact 契约衔接;失败也进入账本,而不是被静默丢弃。

7 AGENTS
01 / PATHFINDER

PathFinder

围绕 research question 发起多轮 campaign;生成因子 / ML idea,决定继续、换轴或停止。

LLM · CAMPAIGN DRIVER
02 / WEB GATEWAY

Web Gateway

自主扩展搜索、追踪引用、聚类机制,输出 discovery map;只给证据,不替 PathFinder 做判断。

LLM · DISCOVERY
03 / FACTOR BUILDER

FactorBuilder

把 idea 变成版本化、可 import 的 Lab factor artifact;直接写 Lab 库,不碰生产 registry。

CODE + RUNTIME
04 / RUNNER

Runner

只接 factor artifact;经 data_interface 取数、组装 data_bundle、装载 Adapter 并执行研究模块。

LLM · NO DIRECT DB
05 / ML ENGINE

ML Engine

非深度学习实验:模型 / 特征 / 时间序列 CV;OOS 不参与调参,结果与模型卡全部落盘。

PLANNER + RUNTIME
06 / EVALUATOR

Evaluator

解释 Gate 结论,写清 failure mode、caveats 与 next action;不能改写 Gate verdict。

LLM · REVIEW
07 / SUPERVISOR

Supervisor

控制轮次、预算、readiness 与子 Agent 回收;环境不满足时输出 blocker_feedback。

LLM · ORCHESTRATION
02 / LOOP

一轮研究如何发生

多轮不等于无限试错。每轮必须带来新假设、新证据或新输入,campaign 有硬轮次与预算上限。

ROUND TRACE
01
Research QuestionHuman 指定目标、约束与已知死路。
02
IdeaPathFinder 生成 factor idea 或 ML idea。
03
Data BundleRunner 经 data_interface 取数,检查 PIT 与覆盖。
04
ExperimentResearch Module 或 ML Engine 产出结果。
05
Gate + Review硬 Gate 判定;Evaluator 解释风险与下一步。
06
History摘要、失败模式与预算回流到下一轮。
03 / DSH RELATION

Factor Lab 跑在 DSH 里

Factor Lab 不是另一个孤立服务,而是 DSH 工作区内的一套研究运行时。DSH 负责会话、Agent 与工具接入;Factor Lab 负责研究契约、artifact、预算和 Gate。

  • AGENTS.md / FACTOR_LAB.md 定义入口、命令与边界,新会话先读 workspace contract。
  • 新会话从 session_brief.json 恢复当前状态,不依赖旧上下文。
  • 研究角色以 DSH Agent 运行;Supervisor 控制轮次、预算与安全回收。
  • 因子、报告与实验记录全部落在 output/factor_lab,可跨会话复现。
DSH WORKSPACEAGENTSSESSION BRIEFPORTABLE
factor_lab / bootstrap
$ python -m factor_lab doctor
$ python -m factor_lab campaign start --objective "研究因子"

# 环境不满足时返回 blocker_feedback
# 不在上一轮会话里猜状态
FACTOR EVALUATION / STANDARD REPORT

因子评估

同一套口径回答三个问题:因子是否有信息、信息是否稳定、结论是否经得起样本与时间的复核。报告与评分逻辑同源,可直接归档。

Rank ICINFORMATION
ICIRSTABILITY
5DSCORING
HTMLREPORT
01 / SECTIONS

一份标准报告包含

从收益风险到样本敏感性,全部按固定章节生成,避免“这次换个角度讲”的选择性叙事。

SAMPLE
01

收益与风险

多空组合、年化、波动、最大回撤、换手与胜率,统一交易日口径。

02

IC / ICIR

Rank IC 时序、IC 衰减、IC 胜率;按频率与因子方向统一符号。

03

分层 IC

流动性、市值、行业分层,检查信息是否集中在某个子样本。

04

分月稳定性

分月 IC 与收益热力,定位失效窗口,而不是只看全样本均值。

05

样本敏感性

ALL / EX_BSE / INVESTABLE / HIGH_LIQ 四组样本,结论随样本如何变化。

06

结论与归因

五维评分、failure mode、caveats 与 next action 一并归档。

02 / REPORT SAMPLE

评估报告样例

ILLUSTRATIVE DATA
FACTOR REPORT

momentum_20d

ALL · 2018-01-01 → 2026-11-06 · v1.3

PASS / REVIEW
RANK IC0.041
ICIR0.57
LONG-SHORT+12.8%
COVERAGE96.2%
流动性分层0.031
市值分层0.025
行业稳健性0.036
分月胜率58.0%
示例数值,仅用于展示版式;真实报告由 research.report 生成。
03 / CAPABILITY

评估能力

REPRODUCIBLE

报告可复核

章节、指标与评分同源;同输入可重跑,HTML 可直接归档或分享。

GATE

硬门禁不被改写

Evaluator 只解释 Gate,不把 fail 改成 pass,也不重算指标。

CACHE

Panel 复用

行情与因子面板缓存复用,报告重跑不必重新拉取全量数据。

STRATEGY BACKTEST / A-SHARE RULES

策略回测

用一套内置 A 股规则的账本验证策略:T+1、整手、涨跌停、停牌、佣金与印花税全部进入成交与资金曲线,而不是留在假设里。

T+1SETTLEMENT
LEDGERTRADE TRUTH
RUN_IDREPRODUCIBLE
1 / NSINGLE / CROSS
01 / RULES

规则内置,不是注释

T+1

当日买入不可卖

按交易日推进,持仓与可用数量分开维护。

LOT

整手与零股

买入按 100 股整手;卖出允许零股,资金与持仓同时记账。

LIMIT

涨跌停与停牌

不可成交订单不会悄悄穿透;停牌期间不能假装换手。

COST

佣金与印花税

双边费用进入现金流,净值和换手都扣费后计算。

WEIGHT

权重与再平衡

等权、因子权重、目标权重共用同一套换仓逻辑。

RUN

run_id 可复现

策略、参数、数据快照与规则固化;同输入可重跑对照。

02 / SAMPLE

回测结果样例

ILLUSTRATIVE DATA
BACKTEST RESULT

cross_section_momentum

run_id: bt_20261109_0417 · 2018-01-02 → 2026-11-06

T+1 / NET
ANNUAL+18.4%
SHARPE1.12
MAX DD-9.6%
WIN RATE63.0%
示例曲线,仅用于展示版式;真实结果由 backtest 运行产生。
03 / RUN

从策略到账本

单标的与横截面共用一套账本;成交、费用与持仓变化都从同一份交易记录推导。

  • 策略输出目标权重或单标的信号,回测器只负责执行。
  • 成交价、可卖数量、停牌与涨跌停状态逐日检查。
  • 每日净值、持仓、成交与费用可导出对照。
backtest / run
$ python -m backtest
# 选择策略 / 权重 / 区间与成本假设
# 输出现金曲线、交易台账与报告
MCP SERVER / AGENT INTERFACE

MCP 接入

把行情、财务、因子、选股、持仓与同步能力注册为 MCP 工具。AI Agent 不需要知道数据库在哪里,只需要调用稳定的工具名。

HTTP / stdioTRANSPORT
10TOOL FAMILIES
JSONSERIALIZABLE
FastMCPRUNTIME
01 / TOOLS

能力分类

工具只做入口,不承载业务逻辑;返回值必须 JSON 可序列化。

MARKET

行情工具

OHLCV、交易日历、股票基础信息与市场快照。

FINANCIAL

财务工具

利润表、资产负债表、现金流与估值数据读取。

FLOW

资金工具

资金流、两融、龙虎榜与大宗交易。

FACTOR

因子工具

因子列表、latest 值、长表读取与因子元数据。

SCREENER

选股工具

ScreenSpec 构建、覆盖率检查与选股结果。

POSITION

持仓工具

组合、持仓、交易、盈亏与 ATR / GRID 模式。

02 / PRINCIPLES

工具层不藏业务

  • 稳定命名:工具名与参数是 Agent 的公开契约,变更要兼容。
  • 任务提交:同步类工具优先“提交任务”,而不是阻塞等待全量数据。
  • 单一入口:MCPserver 只注册工具,业务逻辑仍在各模块。
  • 可审计:返回值 JSON 可序列化,调用与结果进入会话记录。
MCP NATIVEREAD-ONLY TOOLSAGENT READY
mcp / tools/call
{
  "name": "get_factor_values",
  "arguments": {
    "factor_id": "momentum_20d",
    "universe": "ALL"
  }
}
03 / CONNECT

接入方式

HTTP远程 Agent、工作流与后端服务通过 HTTP 调用。
stdio本地 Agent / DSH 子进程通过 stdio 连接,无需暴露端口。
工具边界只暴露能力,不暴露 QuestDB;数据读取仍经 data_interface。
POSITION / PORTFOLIO / RISK

仓位管理

组合、持仓与交易流水是同一本账。仓位模块负责把成交写实、成本刷新、盈亏汇总与 ATR / GRID 风控串起来。

3CORE TABLES
ATR / GRIDMODES
逐笔TRADE LEDGER
PM_*MCP TOOLS
01 / MODEL

一本可追溯的账

PORTFOLIO

组合

现金、总资产、市值与策略归属;组合是持仓的聚合根。

POSITION

持仓

标的、数量、成本、可用数量与止损位;模式决定加减仓规则。

TRADE

逐笔成交

买卖方向、数量、价格与费用;交易记录才是台账真相来源。

02 / REFRESH

行情刷新与风险位

按最新行情刷新市值、成本与盈亏,再根据模式更新 ATR 止损或 GRID 网格。

  • 组合汇总:总资产、现金、市值、当日盈亏。
  • 单标的盈亏:成本、浮动盈亏、收益率与仓位占比。
  • 止损位:ATR 模式按波动更新;GRID 模式按网格价位执行。
  • 所有变更可通过 MCP pm_* 工具查询或提交。
position / mcp tools
› pm_create_portfolio
› pm_execute_trade
› pm_refresh_positions
› pm_portfolio_summary
03 / MODES

两种执行模式

ATR 模式按波动率调整风险预算与止损距离,适合趋势 / 波段持仓。
GRID 模式按价格网格分批成交,记录每一格的数量与成本。
人工确认组合创建与执行可由 Human 审批;Agent 只准备交易意图。
DATA ACQUISITION / SINGLE WRITER

数据采编

把外部数据源变成可审计的 QuestDB 表:增量同步、断点续跑、快照调度与 DataWritten 事件,一次只经过一个写入口。

7+DATA INTERFACES
增量SYNC MODE
断点续跑CHECKPOINT
WALDEDUP UPSERT
01 / PIPELINE

从接口到唯一事实源

采集层负责增量与重试;data_interface 负责归一化与业务语义;数据库只接受幂等写入。

01
Scope市场、日期、频率与数据集范围。
02
Orchestrator调用 REAL_SYNCERS 与快照调度。
03
Sync增量拉取、断点续跑、失败重试。
04
DataWritten写入事件触发下游派生。
05
Normalize字段归一、复权、PIT 对齐。
06
QuestDB唯一事实源,WAL + DEDUP UPSERT。
02 / SOURCES

多源接入

外部接口不是系统内部契约。采集层把不同供应商的字段、频率与异常统一成可消费的数据集。

Tushare ProBaoStock东方财富同花顺腾讯财经新浪财经zzshare
03 / GUARANTEES

数据边界

  • 所有 raw 表只有采集 + data_interface 写入口。
  • Runner 只能读 data_interface,不直接连数据库。
  • 缺失字段与覆盖不足转成 data gap,不硬取。
  • 快照与 checkpoint 保证长任务可恢复。
04 / DOMAINS

核心数据域

MARKET

行情

ohlcv_1d / ohlcv_1m / trading_days / stock_basic_info

FINANCIAL

财务

利润表 / 资产负债表 / 现金流 / 估值

FLOW

资金

资金流 / 两融 / 龙虎榜 / 大宗交易

CONCEPT

板块

概念目录 / 板块日线 / 成分快照

FACTOR

因子

factor_registry / factor_value_daily / factor_daily_wide

POSITION

组合与状态

portfolios / positions / trade_records / screener_build_state

在复杂业务
与人工智能
之间。

关于 EPOCHE RAN

AI与数字化产品专家,长期在复杂业务、AI 工程与产品架构的交界处工作。在复杂的场景中定义需求,把模糊、非标的业务问题,翻译成可计算、可验证、可演进的系统;也把大模型,带入真实业务流的深处。

COMPLEX BUSINESS ENTERPRISE AI RAG / AGENTS PRODUCT ARCHITECTURE 0 → 1
crrswm@hotmail.com/WECHAT RuoRan_Chen
PROJECT / 004

从业务约束出发,构建能沉淀长期价值的系统。

01 / FINANCE

LUMINATION Management System投资全周期管理平台

MULTI-ASSET · MULTI-ENTITY · FINANCIAL ACCOUNTING

为跨国投资管理平台设计核心投管与多主体账务架构。以扎实的财务会计功底统一多主体科目与核算口径,打通多资产逐日核算、数据穿透与自动报告;同时以项目管理能力统筹复杂 B 端交付,并以 Design System 的构建能力保障系统体验的一致性。

2025—26
02 / AI

XIAOMENG ROBOT企业级保险 RAG

GLM-3 · INTENT ROUTING · GUARDRAILS

主导企业知识问答从 0 到 1:15% 重叠分块保障上下文,三级意图路由连接大模型直答、FAQ 缓存与快捷操作,前置审核与人工兜底形成容错闭环;在业务验收前提下降低 23% Token 推理成本。

2022—23
03 / DIGITAL

BMW Insurance Business System宝马保险数字化营销与业务管理矩阵

MOTOR INSURANCE · B-SIDE ARCHITECTURE · C-END FUNNEL

主导宝马保险多业务线的信息架构重组:解读复杂业务场景,构建可演进的业务管理系统;重排 C 端车险报价与投保路径;从 0 到 1 设计 E 端移动展业工具,首月关键页面访问量提升 90%,周留存率从 21% 提升至 63%。

2021—26
04 / RESEARCH

FACTORPICKLEAgent 原生因子研究系统

DSH · MULTI-AGENT · MCP · EVALUATION

正在构建面向量化研究的 Agent 原生基础设施:多角色研究闭环、因子挖掘与评估、A 股规则回测、MCP 工具层与 DSH 工作区。目标不是自动生成一个因子,而是让研究过程本身可审计、可复现、可积累。

NOW
CAPABILITIES / 004

四层能力栈。

从业务建模到 AI 工程,再到产品架构与复杂项目治理。每一层都为了把系统真正落地。

01 / COMPLEX SYSTEM ARCHITECTURE

复杂系统架构

理解账务、合规与多主体差异,把业务规则建模成可维护的软件结构。

  • 投管 / 多资产核算
  • 财务核算 / 合并报表 / 科目体系
  • 保险福利 / 理赔 / 合规
02 / ENTERPRISE AI ENGINEERING

企业 AI 工程

把 LLM 放进真实流程:检索、路由、评测、缓存、兜底与成本控制。

  • RAG / Agent / MCP
  • Prompt & evaluation
  • Token 成本与容错设计
03 / PRODUCT & SYSTEM DESIGN

产品与系统设计

在模糊需求中建立秩序,用信息架构与 Design System 降低复杂系统的协作成本。

  • 0 → 1 产品架构
  • 复杂 B 端交互 / Design System
  • SOP 与需求规范
04 / COMPLEX PROJECT GOVERNANCE

复杂项目治理

把多团队、多时区、多约束的项目拆成可推进的节点,并对最终交付负责。

  • 跨国 / 跨部门协同
  • 研发资源规划
  • 从需求到上线闭环
CREDENTIALS / BASE

技术底色与工具箱。

工程背景让产品判断更接近实现,也让 AI 方案不悬空。

EDUCATION

新南威尔士大学 · 硕士

Information Technology (AI)
Data Structures & Algorithms · Machine Learning & Data Mining · Computer Vision · Artificial Intelligence

中北大学 · 本科

微电子学 · 信号与系统、半导体物理与器件、硬件描述语言

STACK

AI / LLM

LangChain · LangSmith · n8n · Dify · MCP · Prompt Engineering · SKILLS · Vibe Coding

RAGAgentDIFYMCP

Design / Data

Python · SQL · Docker · scikit-learn · Figma · Axure · Design System

PYTHONSQLDOCKERSKLEARN
Architecture · System Map

系统架构与数据流

自上而下:数据源 → 采集编排 → 数据访问 → 统一存储 → 计算/应用 → 工具出口。虚线表示事件、派生或无强耦合的读取。

acquisition · 采集编排 Scope → Orchestrator.run(REAL_SYNCERS) · BuildOrchestrator.ensure_snapshot 增量 · 断点续跑 · 快照调度 data_interface · 唯一数据访问层 QuestDBClient · MarketDataLoader.ohlc · FinancialDataService.get_statements · SentimentService.sync raw 表唯一写者 · 归一化 · 复权 统一时序存储 · 唯一事实源 QuestDB · WAL + DEDUP UPSERT factors · 纯计算 F.* 声明 · build_panel · compute_series 0 DB 依赖 pandas / numpy only factor_engine · 因子物化 build / ensure / read_latest · FactorStore factor 表唯一写者 registry · 长表 · latest · 对账 position · 持仓与交易台账 PositionManager · ATR / Grid 模式 · compute_ledger 行情经 data_interface 组合 → 持仓 → 逐笔成交 strategies · 策略基类 rank / weights / target_weight 仅依赖 factors STRATEGY 模块变量 backtest · 回测撮合 run / optimize / walkforward T+1 · 涨跌停 RQAlpha · 自建账本 screener · 选股 ScreenSpec · screen() · rebuild 0 直连 DB 覆盖率 · 停牌过滤 research · 因子报告 profile · panel cache · render 章节 + 样本敏感性 全市场 · 只输出 HTML MCPserver · 统一工具出口 HTTP / stdio · market · financial · moneyflow · concept · disclosure · factor · acquisition · screener · position FastMCP 触发 sync_* · 发 DataWritten UPSERT 写入 SQL 读取 读 raw 表 · 写 factor_* 表 stored 因子 read_latest 注册为 MCP 工具
同步调用 事件 / 派生 / 弱耦合读取 所有 DB 访问仅限 data_interface 与 factor_engine 持仓表非 WAL(支持原地 UPDATE)
12 Modules · Responsibility & Public API

系统模块:职责、核心函数与依赖

每个模块只做一件事,并用明确的读写边界与相邻模块连接。点击底部的表名可直接跳转到数据模型并打开字段详情。

系统模块卡片

函数名为代码中的真实入口(类名 + 方法名),不是概念描述。

Entity Map · 7 Data Domains

数据模型与表关系

按数据域分列布局。连线是逻辑关系(存储层无外键约束),虚线表示派生 / 投影。点击任意表查看字段、读写方与上下游。

滚轮缩放 · 拖拽平移 · 点击表看字段 · 点击数据域聚焦
逻辑外键 派生 / 投影 状态 / 作业 其余表以 code 关联主数据;ts 为 designated timestamp