期货结算单数据分析工具,支持CTP/监控中心/融航等多种格式
Project description
futures-settlement-analysis
期货结算单数据分析工具,支持 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 输出与图表
│ └── data/ # 合约元数据(交易所/品种/乘数)
├── main.py # 程序入口
├── config.example.yaml # 配置文件模板
├── pyproject.toml # 项目配置
└── docs/ # 文档
常见问题
Q: 支持哪些期货公司?
输出格式符合 CTP、中国期货监控中心或融航系统标准即可。
Q: 如何分析多个账户?
分别创建不同的配置文件,修改
SOURCE_DIR指向各账户的结算单目录。
Q: 提示找不到文件?
检查
config.yaml中SOURCE_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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file futures_settlement_analysis-0.1.2.tar.gz.
File metadata
- Download URL: futures_settlement_analysis-0.1.2.tar.gz
- Upload date:
- Size: 28.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fae2cc7092784f72696ed1afef1566bc104512b079d54bb440f189302794e197
|
|
| MD5 |
b09d79789bb98643cfa8a9a783540cc1
|
|
| BLAKE2b-256 |
11924ec7bcc42ec43b3d1f590be6d7f190f9c8a6ebe8ee3bc7950b1cec427acb
|
File details
Details for the file futures_settlement_analysis-0.1.2-py3-none-any.whl.
File metadata
- Download URL: futures_settlement_analysis-0.1.2-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7487a5bb19873f7ad474329e74a7c12caa7e3aa56ab7813704c19abc79090ec7
|
|
| MD5 |
0a2841ac4238ab5c197a5336e6910236
|
|
| BLAKE2b-256 |
7e0147f799a19156f594069ce2775cc86f580d657cf6ba1917b38abff3bf2c27
|