一、什么是基金绩效回测
根据基金的历史数据,模拟基金的生命周期中发生的事件,来计算出模拟场景下模拟产品的各种指标数据.
一句话概括,用市场上真实的历史数据,模拟基金的成立,申购赎回买入卖出标的的过程,并根据行情计算出基金的收益率等数据.
二、回测的整体顺序
基金成立 => 申购赎回 => 标的交易 => 根据行情计算指标
三、 回测功能模块
模拟组合 => 成立 => 变更 => 查询 => 查看回测数据
现金流=> 录入现金流(申购/赎回/融资)
交易=> 录入交易标的(股票/债券/基金[公募/私募]/期货/期权/回购)
持仓明细 => 单日持仓查看(资产大类统计)
持仓查询 => 查看持仓具体的标的
收益 => 查看标的具体的每日收益(买入卖出收益/估增)/交易费用
四、回测交易的类型
| 标的类型 | 交易方向 |
|---|---|
| 股票/债券/基金 | 买入 卖出 融券-借券 融券-还券 |
| 期货/期权 | 多头开仓 多头平仓 空头开仓 空头平仓 |
| 回购 | 逆回购 正回购 |
五、 回测需要计算的指标
相同点
| 指标名称 | 计算方式 |
|---|---|
| 资产类合计 | 各账户余额 + 各持有标的市值 |
| 负债类合计 | 融资/融券-借券/正回购 |
| 资产净值 | 资产类合计 - 负债类合计 |
| 实收资本 | 成立金额+申购金额-赎回金额 |
| 单位净值 | 资产净值/实收资本 |
| 日收益率 | (今日单位净值 - 昨日单位净值) / 昨日单位 |
| 标的当日市值 | 标的持有数量 * 标的当日收盘价 |
| 标的当日收益额 | 当日市值 - 当日买入市值 + 当日卖出市值 - 昨日市值 |
| 标的持仓数量 | 原持仓数量 - 当日卖出数量 + 当日买入数量 |
| 持仓成本(买入) | 原持仓成本 + 交易金额 + 交易成本 |
| 持仓成本(卖出) | 原持仓成本 *(1 - 交易数量 / 原持仓数量)+ 交易成本 |
| 单位持仓成本 | 总持仓成本 / 持仓数量 |
差异点
| 标的类型 | 指标名称 | 计算方式 |
|---|---|---|
| 股票 | 持仓数量(转股) | 原持仓数量 * (1 + 转股比例) |
| 股票 | 分红(派息) | 原持仓数量 * 派息比例 |
| 债券 | 票息 | 当期日利率 * 持仓市值 |
| 基金 | 分红(派息) | 原持仓数量 * 派息比例 |
| 基金 | 持仓数量(分红再投资) | 原持仓数量 + 当日收盘价 * 分红派息金额 |
| 期货/期权 | 保证金 | 当日合约保证金比例 * 持有市值 |
| 期货/期权 | 市值 | 只统计每日盈亏到账户,资产类合计不统计持有市值 |
| 期货/期权 | 行权 | 不考虑行权逻辑,只计算估值 |
| 回购 | 利息/付息 | 回购日利率 * 回购总金额 |
| 股票/债券/基金(融券) | 收益额 | 按照正常股票计算后 * -1 |
六、 例子
2024-06-03 基金成立 募集100W
2024-06-04 基金申购额 10W
2024-06-05 基金赎回额 5W
2024-06-06 基金融资额 100W 融资利率 1%
2024-06-07 买入 某股票A 1W股 交易价格(100元) 手续费(500元)
行情: 2024-06-07 某股票A 收盘价 110元
账户情况
| 日期 | 余额 | |
|---|---|---|
| 股票账户 | 2024-06-03 | 1000000 = 100W |
| 2024-06-04 | 1100000 = 100W + 10W | |
| 2024-06-05 | 1050000 = 110W - 5W | |
| 2024-06-06 | 2040000 = 105W + 99W | |
| 2024-06-07 | 1039500 = 204W - 100W零五百 | |
各指标情况
| 日期 | 资产类合计 | 负债类合计 | 资产净值 | 实收资本 | 单位净值 |
|---|---|---|---|---|---|
| 2024-06-03 | 1000000 | 0 | 1000000 | 1000000 | 1 |
| 2024-06-04 | 1100000 | 0 | 1100000 | 1100000 | 1 |
| 2024-06-05 | 1050000 | 0 | 1050000 | 1050000 | 1 |
| 2024-06-06 | 2040000 | 1000000 | 1040000 | 1050000 | 0.9904 |
| 2024-06-07 | 2139500 | 1000000 | 1139500 | 1050000 | 1.0852 |