No description
Find a file
2026-05-14 02:57:51 +08:00
docs docs: remove data/ from project structure (main uses submodule) 2026-05-14 02:57:51 +08:00
src/futures_analysis refactor: main uses submodule only, remove bundled data/ dir 2026-05-14 02:56:07 +08:00
underlying-asset-information@15a0b8d02e chore: rename submodule to underlying-asset-information 2026-05-14 01:42:59 +08:00
.gitignore chore: add .idea/, .claude/, CLAUDE.md, .tests/output/ to gitignore 2026-05-14 02:49:55 +08:00
.gitmodules chore: rename submodule to underlying-asset-information 2026-05-14 01:42:59 +08:00
config.example.yaml chore: simplify default SOURCE_DIR to ./data 2026-05-14 02:09:10 +08:00
config.yaml docs: 更新默认配置路径,创建data/statements和output目录 2026-04-07 00:10:09 +08:00
LICENSE license: change from Apache 2.0 to MIT 2026-05-14 00:05:49 +08:00
main.py feat: interactive init_config with guided setup (data dir or custom path) 2026-05-14 02:22:27 +08:00
pyproject.toml refactor: main uses submodule only, remove bundled data/ dir 2026-05-14 02:56:07 +08:00
README.md docs: remove data/ from project structure (main uses submodule) 2026-05-14 02:57:51 +08:00
requirements.txt refactor: 重构项目为标准Python包结构,修复路径和Excel读取问题 2026-04-06 23:54:38 +08:00
setup.py chore: rename FuturesSettlementAnalysis -> futures-settlement-analysis 2026-05-14 00:13:10 +08:00
uv.lock fix: complete CTP 行权明细 parser, add exercise parsing tests 2026-05-13 14:47:41 +08:00

futures-settlement-analysis

Python PyPI License

期货结算单数据分析工具,支持 CTP / 中国期货监控中心 / 融航系统三种格式结算单,自动生成多维度交易统计报告。

功能特性

  • 多格式支持CTP、中国期货监控中心(cfmmc)、融航系统(rohon) 三种结算单格式
  • 多维度分析:按合约、品种、买卖方向统计交易表现
  • 期权行权支持:自动识别行权/放弃,按开仓成本计算行权盈亏
  • 净值曲线:支持对数收益率(log)和百分比收益率(pct)两种模式
  • 业绩归因:年化收益率、最大回撤、夏普比率、索提诺比率、卡玛比率等
  • 可视化报表Excel 报告含净值走势图、品种盈亏图、交易分布图、雷达图等
  • 批量处理:自动合并分析多个月份/年份的结算单文件

安装

pip 安装(推荐)

pip install futures-settlement-analysis

安装后直接运行:

futures-analysis

源码安装

git clone http://ifilevault.myasustor.com:3100/tridro/futures-settlement-analysis.git
cd futures-settlement-analysis
git submodule update --init --recursive
pip install -e .

快速开始

1. 运行

首次运行会引导你完成配置:

futures-analysis

选择 [1] 使用当前目录下的 data/ 子目录,将结算单文件复制进去即可。也可以直接通过命令行参数指定:

futures-analysis -s ./path/to/statements -o ./output

2. 查看报告

在输出目录下生成 [资金账号]交易统计.xlsx,用 Excel 或 WPS 打开。

命令行参数

参数 说明 默认值
-s, --source 结算单文件目录 config.yaml 或交互输入
-o, --output 报告输出目录 当前工作目录
-t, --type 结算单类型: cfmmc / rohon / ctp ctp
-m, --method 收益率方法: log / pct log
-r, --risk-free 无风险利率 0.03
futures-analysis -s ./data -o ./output -t ctp -m log -r 0.03

配置文件

程序运行时在当前目录查找 config.yaml,模板参见 config.example.yaml

SOURCE_DIR: './data'
STATEMENT_TYPE: 'ctp'
OUTPUT_DIR: './output'
RISK_FREE_INTEREST_RATE: 0.03
STATISTIC_METHOD: 'log'

命令行参数优先级高于配置文件。

输出报告

工作表 内容
账户净值 每日净值、份额、收益率
年度统计 年化收益、波动率、夏普、最大回撤等
账户统计 每日权益、保证金、风险度、出入金
成交明细 全部成交记录
平仓明细 全部平仓记录
行权明细 期权行权/放弃记录
交易分析(按合约) 含行权盈亏列
交易分析(按品种) 含行权盈亏列
交易分析(按买卖) 含行权盈亏,手续费含行权费

图表:

  • 净值走势图 · 权益+风险度双轴图 · 各品种交易分布饼图 · 品种盈亏柱状图 · 胜率/盈亏率雷达图 · 收益率分布直方图

统计指标

指标 说明
平仓盈亏 平仓交易利润总和
行权盈亏 期权行权/放弃按开仓成本计算的实际盈亏
净利润 平仓盈亏 + 行权盈亏 - 手续费(含行权费)
交易成功率 盈利次数 / 总交易次数
交易盈亏率 盈利手数 / 总交易手数
年化收益率 折算至年度的收益率
最大回撤 历史最大净值回撤幅度
夏普比率 风险调整后收益,越高越好

项目结构

futures-settlement-analysis/
├── src/futures_analysis/
│   ├── __init__.py
│   ├── analysis.py       # 统计分析(含行权盈亏计算)
│   ├── loader.py         # 结算单加载与解析
│   └── format.py         # Excel 输出与图表
├── main.py               # 程序入口
├── config.example.yaml   # 配置文件模板
├── pyproject.toml        # 项目配置
├── docs/                 # 文档
└── underlying-asset-information/  # 合约信息子模块(交易所/品种/乘数)

常见问题

Q: 支持哪些期货公司?

输出格式符合 CTP、中国期货监控中心或融航系统标准即可。

Q: 如何分析多个账户?

分别创建不同的配置文件,修改 SOURCE_DIR 指向各账户的结算单目录。

Q: 提示找不到文件?

检查 config.yamlSOURCE_DIR 路径是否正确,确认目录存在。

Q: Excel 打不开?

确认文件未被其他程序占用,推荐 Excel 2016+ 或 WPS 打开。

开发

git clone http://ifilevault.myasustor.com:3100/tridro/futures-settlement-analysis.git
cd futures-settlement-analysis
git submodule update --init --recursive
uv sync
uv run python -m pytest .tests/ -v

许可证

MIT License - 详见 LICENSE

作者

Tridro - tridro@beneorigin.com