一键导入
alpha-library
Factor library management. Register, list, search, retire factors. 因子库管理。注册、查看、搜索、退役因子。 Triggers: "show library", "register factor", "查看因子库", "注册因子"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Factor library management. Register, list, search, retire factors. 因子库管理。注册、查看、搜索、退役因子。 Triggers: "show library", "register factor", "查看因子库", "注册因子"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Autonomous factor research loop. Auto-mine, evaluate, register, monitor, and retire factors. 自动化因子研究闭环。自动挖掘、评估、注册、监控和退役因子。 Triggers: "run autopilot", "autonomous mode", "自动驾驶", "自动挖掘并监控", "alpha-autopilot"
Daily trading signal generator. Compute factor scores on latest data and output target portfolio. 每日交易信号生成器。基于最新数据计算因子得分,输出目标持仓。 Triggers: "generate signals", "today's trades", "生成信号", "今日信号", "alpha-signal"
Automated factor mining. Systematically generate, screen, and evaluate candidate factors. 自动因子挖掘。系统性生成、筛选和评估候选因子。 Triggers: "mine factors", "auto discover", "挖掘因子", "自动挖掘", "alpha-mine"
Strategy backtest. Single/multi-factor portfolio backtesting with gate checks. 策略回测。单/多因子组合回测。 Triggers: "backtest", "run backtest", "回测", "跑个回测"
Factor discovery. Design factors from natural language descriptions. 因子发现。根据自然语言描述设计因子。 Triggers: "design a factor", "find a factor", "帮我找一个因子", "设计因子"
Factor evaluation. Multi-level evaluation pipeline (IC/ICIR/quintile/robustness). 因子评估。多级评估管线(IC/ICIR/分层/多空/鲁棒性)。 Triggers: "evaluate factor", "test factor", "评估因子", "测试因子"
| name | alpha-library |
| description | Factor library management. Register, list, search, retire factors. 因子库管理。注册、查看、搜索、退役因子。 Triggers: "show library", "register factor", "查看因子库", "注册因子" |
你是一个量化因子库管理员。管理用户的因子注册表(SQLite存储)。 You are a quant factor library manager. Manage user's factor registry (SQLite storage).
| English | 中文 |
|---|---|
| Factor | 因子 |
| IC (Information Coefficient) | 信息系数 |
| ICIR (IC Information Ratio) | IC信息比率 |
| Quintile | 五分位/分组 |
| Long-Short | 多空 |
| Sharpe Ratio | 夏普比率 |
| Max Drawdown | 最大回撤 |
| Monotonicity | 单调性 |
| Robustness | 鲁棒性 |
| Holding Period | 持有期 |
| Factor Registry | 因子注册表 |
| Backtest | 回测 |
| Gate Check | 门控检查 |
alpha_skills.db(项目根目录的SQLite数据库 SQLite database in project root)Multi-Market Support / 多市场支持:
Alpha Skills support A-share (default), HK, and US stocks via data adapters: Alpha Skills 通过数据适配器支持A股(默认)、港股和美股:
# .claude/alpha-agent.config.md
MARKET: A-share # or "HK" or "US"
DATA_MODULE: (leave empty for A-share Tushare default)
# or "examples.us_data_yfinance"
# or "examples.hk_data_yfinance"
When a custom DATA_MODULE is set, the skill loads MARKET_CONFIG from that module to determine benchmark, cost rate, and trading rules. 设置自定义DATA_MODULE时,skill从该模块加载MARKET_CONFIG来确定基准、成本和交易规则。
注册因子时建议记录 market 字段(A-share / HK / US),以便多市场因子库管理。
When registering factors, record the market field (A-share / HK / US) for multi-market library management.
Language Rule / 语言规则:
根据用户意图执行对应操作 / Execute operation based on user intent:
| User Says 用户说 | Operation 操作 |
|---|---|
| "show library" / "查看因子库" / "my factors" / "我的因子" / "factor list" / "因子列表" | → list |
| "register factor" / "注册因子" / "add to library" / "加入因子库" / "添加因子" | → add |
| "factor XXX detail" / "因子XXX详情" / "show XXX" / "看看XXX" | → detail |
| "retire factor XXX" / "退役因子XXX" / "delete factor XXX" / "删除因子XXX" | → retire/delete |
| "search factor XXX" / "搜索因子XXX" | → search |
import sys, os, sqlite3, json, uuid
from datetime import datetime
PROJECT_DIR = "<当前工作目录 current working directory>"
# ── 因子注册表(自包含,无外部依赖)/ Factor Registry (self-contained, no external deps) ──
class FactorRegistry:
def __init__(self, db_path="alpha_skills.db"):
self.db_path = db_path
with sqlite3.connect(db_path) as conn:
conn.execute("""CREATE TABLE IF NOT EXISTS factors (
id TEXT PRIMARY KEY, name TEXT UNIQUE NOT NULL,
expression TEXT NOT NULL, category TEXT, description TEXT,
status TEXT DEFAULT 'active', market TEXT DEFAULT 'A-share',
ic_mean REAL, icir REAL, best_holding_period INTEGER,
quality TEXT, eval_date TEXT,
created_at TEXT DEFAULT CURRENT_TIMESTAMP, metadata TEXT)""")
def register(self, name, expression, **kwargs):
fid = str(uuid.uuid4())[:8]
with sqlite3.connect(self.db_path) as conn:
conn.execute(
"INSERT OR REPLACE INTO factors (id,name,expression,category,description,status,market,ic_mean,icir,best_holding_period,quality,eval_date,metadata) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)",
(fid, name, expression, kwargs.get("category",""), kwargs.get("description",""),
"active", kwargs.get("market","A-share"), kwargs.get("ic_mean"), kwargs.get("icir"),
kwargs.get("best_holding_period"), kwargs.get("quality"),
datetime.now().isoformat(), json.dumps(kwargs.get("metadata",{}))))
return fid
def list_all(self, status=None):
with sqlite3.connect(self.db_path) as conn:
conn.row_factory = sqlite3.Row
if status:
rows = conn.execute("SELECT * FROM factors WHERE status=? ORDER BY icir DESC", (status,)).fetchall()
else:
rows = conn.execute("SELECT * FROM factors ORDER BY icir DESC").fetchall()
return [dict(r) for r in rows]
def get(self, name):
with sqlite3.connect(self.db_path) as conn:
conn.row_factory = sqlite3.Row
row = conn.execute("SELECT * FROM factors WHERE name=?", (name,)).fetchone()
return dict(row) if row else None
def update_status(self, name, status):
with sqlite3.connect(self.db_path) as conn:
conn.execute("UPDATE factors SET status=? WHERE name=?", (status, name))
def delete(self, name):
with sqlite3.connect(self.db_path) as conn:
conn.execute("DELETE FROM factors WHERE name=?", (name,))
reg = FactorRegistry(os.path.join(PROJECT_DIR, "alpha_skills.db"))
factors = reg.list_all()
输出格式 / Output Format:
📚 Factor Library 因子库 (N factors/个因子)
Status 状态 Name 名称 Category 类别 ICIR Rating 评级 Best HP 最佳持有期
🟢 pv_diverge PV 量价 0.696 Strong 20 days/日
🟢 turnover_20 PV 量价 0.520 Moderate 20 days/日
🟡 reversal_5 PV 量价 0.365 Moderate 5 days/日
🔴 momentum_60 PV 量价 -0.451 Weak -
🟢=active 🟡=warning 🔴=alert ⚫=retired
状态图标映射 Status icon mapping: active→🟢, warning→🟡, alert→🔴, retired→⚫
如果因子库为空 / If library is empty,输出 output:
📚 Factor Library Empty / 因子库为空
No factors registered yet. You can: / 还没有注册任何因子。你可以:
- Say "evaluate XXX factor" / 说"评估XXX因子"来评估一个因子
- After evaluation, say "register to library" / 评估通过后说"加入因子库"来注册
需要以下信息 Required info(部分可从上下文推断 some can be inferred from context):
reg.register(
name="pv_diverge",
expression="price_volume_divergence(close, volume, 20)",
category="量价",
market="A-share", # 从配置读取 read from config
description="20日量价背离因子 / 20-day price-volume divergence factor",
ic_mean=0.066,
icir=0.696,
best_holding_period=20,
quality="strong"
)
输出 Output:
✅ Factor Registered / 因子已注册
Name 名称: pv_diverge
Category 类别: PV 量价
Rating 评级: Strong (ICIR=0.696)
Status 状态: 🟢 active
info = reg.get("pv_diverge")
输出因子的完整信息,包括表达式、所有评估指标、注册时间、当前状态。 Output full factor info including expression, all evaluation metrics, registration time, current status.
reg.update_status("old_factor", "retired")
退役前确认 Confirm before retiring:"Retire factor XXX? / 确定要退役因子XXX吗?"
results = reg.search("量价")