LOF_Arbiter
yiji1100/LOF_ArbiterLOF套利精灵 专注于上市型开放式基金(LOF)的溢价套利机会监测。自动抓取沪深LOF基金的实时交易价格与净值,计算折溢价率,识别套利窗口,并推送预警提示。支持查看溢价排行、折价排行、套利可行性分析,帮助投资者把握无风险套利机会。
10 stars
5 forks
Python
4 views
SKILL.md
LOF Arbiter - 套利精灵 Skill
LOF 基金溢价套利机会监测与交互式咨询
版本: 2026.3.28
特性: 独立运行,不依赖 DataHub
功能说明
本 Skill 帮助用户查询和分析 LOF 基金的折溢价套利机会。
核心能力
- 限购高溢价查询 - 筛选限购且高溢价的优质套利机会
- 高溢价排行 - 查询卖出赎回套利机会 TOP N
- 高折价排行 - 查询买入套利机会 TOP N
- 单基金诊断 - 输入基金代码/名称,返回详细信息和分析
- 套利收益测算 - 计算扣除费用后的理论套利收益
- CSV导出 - 导出 LOF 基金行情列表
数据来源(独立)
- 自有 SQLite 数据库:
data/lof_arbiter.db - ETL 数据源:
- 新浪财经(LOF 实时行情)
- 东方财富(基金净值、申购状态)
核心套利逻辑
1. 限购溢价优先原则
限购限大额 + 高溢价 = 优质套利机会
原因:
- 限购产品溢价更稳定,不易被套利者瞬间抹平
- 无限购的产品流动性太好,溢价会被快速消除
- 高溢价代表更大的套利空间
2. 流动性门槛
| 条件 | 说明 |
|---|---|
| 成交额 ≥ 100万 | 最低流动性门槛 |
| 排除暂停申购 | 无法进行套利操作 |
3. 净值取值规则
从数据库获取净值时:
- 优先使用 最新净值日期 的净值
- 如果净值为空,使用上一交易日净值
数据架构
自有数据库
lof_arbiter/
└── data/
└── lof_arbiter.db # SQLite 数据库
ODS 层数据来源
| 数据源 | 提供字段 |
|---|---|
新浪财经 fund_etf_category_sina |
LOF 基金实时行情:代码、名称、现价、涨跌幅、成交额 |
东方财富 fund_open_fund_daily_em |
基金净值:第3列(最新)、第5列(上一交易日) |
东方财富 fund_purchase_em |
申购状态、手续费、购买起点 |
数据库表结构
lof_daily (
fund_code, -- 基金代码
fund_code_full, -- 标准代码 XXXXXX.SZ/SH
fund_name, -- 基金名称
price, -- 现价
nav, -- 最新净值
nav_date, -- 净值日期
prev_nav, -- 上一交易日净值
prev_nav_date, -- 上一交易日净值日期
premium_rate, -- 溢价率
turnover, -- 成交额
change_pct, -- 涨跌幅
purchase_status, -- 申购状态
purchase_limit, -- 购买起点
daily_limit, -- 日累计限额
fee_rate, -- 手续费
trade_date -- 交易日期
)
交互使用
触发关键词
| 用户意图 | 典型问法 |
|---|---|
| 查询机会 | 今天有什么套利机会、哪些 LOF 溢价率高 |
| 限购机会 | 限购的基金有哪些、限额溢价 |
| 基金诊断 | 帮我看看 160140、XX 基金怎么样 |
| 收益测算 | 套利收益怎么算、买入 10 万能赚多少 |
| 导出数据 | 导出 LOF 行情、下载 CSV |
使用示例
1. 查询今日套利机会
用户:今天有什么 LOF 套利机会?
2. 查看特定基金
用户:帮我看看 160140
用户:煤炭LOF怎么样
3. 套利收益测算
用户:买入 10 万的煤炭 LOF,持有 7 天后卖出,能赚多少?
4. 导出 CSV
用户:导出 LOF 行情 CSV
输出格式规范
所有输出必须包含:
- 净值日期 - 溢价率计算的基础,非常重要
- 溢价率颜色标注:
- 🔥 溢价 > 1%:适合卖出赎回
- 💎 折价 < -1%:适合买入
- 📊 正常 ±1% 以内:观望
- 状态标注:
- [限购]:限购产品,溢价更稳定
- [暂停]:暂停申购,无法套利
配置参数
| 参数 | 默认值 | 说明 |
|---|---|---|
db_path |
skill/data/lof_arbiter.db | 数据库路径 |
min_premium_pct |
0.5 | 溢价门槛(%) |
min_turnover |
1000000 | 最低成交额(元) |
top_n |
10 | 返回条数 |
文件结构
lof-arbiter/
├── SKILL.md # Skill 定义
├── scripts/
│ ├── __init__.py
│ ├── db.py # 数据库管理
│ ├── etl.py # 数据抓取(akshare)
│ └── query.py # 数据查询
├── data/
│ └── lof_arbiter.db # SQLite 数据库
└── README.md
核心函数
| 模块 | 函数 | 说明 |
|---|---|---|
db.py |
init_database() |
初始化数据库 |
db.py |
save_lof_data() |
保存 LOF 数据 |
etl.py |
run_etl() |
运行 ETL(抓取并保存) |
query.py |
get_lof_data() |
获取 LOF 基金数据 |
query.py |
get_premium_top() |
高溢价排行 |
query.py |
get_discount_top() |
高折价排行 |
query.py |
get_limited_premium_top() |
限购高溢价排行 |
query.py |
get_fund_by_code() |
单基金查询 |
query.py |
calculate_arb_profit() |
收益测算 |
query.py |
export_lof_csv() |
CSV 导出 |
query.py |
format_arbitrage_report() |
生成套利报告 |
状态说明
| 状态 | 含义 | 套利建议 |
|---|---|---|
| 🔥 溢价 > 1% | 卖出赎回有利 | 可考虑卖出 |
| 💎 折价 < -1% | 买入套利有利 | 可考虑买入 |
| [限购] | 限额申购 | 溢价更稳定,优先关注 |
| [暂停] | 暂停申购 | 无法套利,关注开放时间 |
费用参考
| 费用项 | 典型值 |
|---|---|
| 申购费 | 1.2% ~ 1.5% |
| 赎回费 | 0.5%(持有≥7天),1.5%(<7天) |
| 交易佣金 | 万三 ~ 万一 |
注意事项
- T+2 交割:LOF 套利从买入到资金到账需 2 个交易日
- 净值估算:收盘后净值 T+1 更新,溢价率为估算值
- 流动性风险:高溢价不等于能成交,需关注成交额
- 限购优先:限购产品溢价更稳定,优先关注
- 净值日期:必须显示,用于判断数据时效性
版本历史
| 版本 | 日期 | 说明 |
|---|---|---|
| 2026.3.28 | 2026-03-28 | 正式版本,独立数据库不依赖 DataHub |
| v0.1 | 2026-03-28 | 初始版本 |