客户端 v3.19.0 新绩效分析介绍
概述
无论通过策略进行量化交易、还是通过界面进行手工交易,都需要对资金账户的交易结果进行绩效分析,以此评估和改进交易策略。绩效分析作为一个掘金量化平台的重要模块,旨在为平台用户呈现清晰可靠的绩效分析结果,同时提供交易明细、分析报告的便捷导出,支持用户延展个性化分析,帮助用户更好地打磨和迭代策略。
绩效分析入口
掘金平台的绩效分析模型支持从多种来源的交易数据(掘金回测和仿真、第三方交易记录)分析绩效,目前新版本客户端已集成回测和仿真交易的绩效分析,可通过以下入口进入绩效界面。
回测
- 量化研究 > 我的策略-回测记录 > 绩效分析
仿真
- 策略交易 > 仿真账户 > 绩效分析
- 账户管理 > 仿真账户 > 绩效分析
绩效分析模块功能
绩效分析维度
以资金账户为独立分析单元
- 支持单策略的绩效分析
- 1个策略关联1个账户运行
- 支持复合策略的绩效分析
- 1个策略(如期现策略)运行在N个账户,以账户为单元分析绩效
- N个策略运行在一个账户,以账户为单元统计总绩效
自定义分析参数
- 自定义分析时间段:支持本月,本年,近一年,成立以来,自定义时间段
- 自定义基准标的:支持指数,基金,股票,可转债,期货
绩效概览
- 绩效指标:累计收益率、最大回撤、年化收益率、Alpha、Beta、夏普比率、索提诺比率、卡玛比率、信息比率、特雷诺比率......
绩效指标 | 指标说明 |
---|---|
期初资产 | 设定开始日期的总资产。期初资产=首日入金-首日出金+前一日总资产,设定开始日期为首日时,前一日总资产=0 首日是回测开始时间所在日期 或 仿真账户第一笔入金所在日期 |
期末资产 | 设定截止日期的总资产。 |
累计盈亏 | 开始日期至截止日期,不含出入金的累计盈亏。累计盈亏=期末资产-期初资产-开始日期至截止日期的净入金(不含首日净入金) |
累计手续费 | 开始日期至截止日期的累计手续费。 |
累计收益率 | 累计收益率=截止日期单位净值/开始日期单位净值-1 |
基准收益率 | 基准收益率=截止日期基准标的价格/开始日期基准标的价格-1 |
超额收益率 | 超额收益率(算术法)=累计收益率-基准收益率 |
年化收益率 | 年化收益率(复利法)=(期末净值/期初净值)^(250/交易日数量)-1 |
最大回撤 | 开始日期至截止日期,每日净值相较于前续净值最高点的净值变动率序列中,下跌幅度最大的值。 t日最大回撤MaxDrawDownt= −max(1−Pj/Pi),Pi和Pj分别为i日和j日的总资产,其中t≥j>i |
年化波动率 | 年化波动率=sqrt(250)*策略每日收益率的标准差 |
胜率 | 胜率=平仓盈利次数/(平仓盈利次数+平仓亏损次数),平仓盈利和平仓亏损包含交易费用,不包括未平仓的浮动盈亏 |
Alpha | 投资的非系统性风险。Alpha=年化收益率-无风险利率-Beta*(基准年化收益率-无风险利率) |
Beta | 投资的系统性风险。Beta=策略和基准每日收益率的协方差/基准每日收益率的方差 |
夏普比率 | 承受每一单位总风险,会产生多少超额回报。夏普比率=(年化收益率-无风险利率)/年化波动率 |
索提诺比率 | 承受每一单位下行风险,会产生多少超额回报。索提诺比率=(年化收益率-无风险利率)/下行风险 下行风险=min(策略每日收益率-最低目标日收益率)的标准差=min(策略每日收益率-无风险利率/250,0)的标准差 |
卡玛比率 | 承担单位风险(最大回撤)所获得的收益率。卡玛比率=年化收益率/最大回撤绝对值 |
信息比率 | 超额风险所带来的超额收益。信息比率=年化超额收益率/年化超额波动率 年化超额收益率=(1+超额收益率)^(250/交易日数量)-1 年化超额波动率=跟踪误差=超额每日收益率的年化标准差=sqrt(250)*超额每日收益率的标准差 超额每日收益率(算术法)=策略每日收益率-基准每日收益率 |
特雷诺比率 | 每单位系统风险资产获得的超额报酬。特雷诺比率=(年化收益率-无风险利率)/Beta |
无风险利率 | 市场无风险利率。 |
交易天数 | 开始日期至截止日期的交易日数量。 |
- 绩效曲线:净值收益回撤图,日收益率图,点击折线或柱图可查看当日账户交易明细。
持仓分析
- 持仓分布:仓位资金分布图,点击折线或柱图可查看当日账户持仓明细。
- 每日快照:当日盈亏、浮动盈亏、资金余额、持仓市值和保证金......,点击日期可以查看当日账户资金明细。
交易统计
胜率、盈亏比、最大单次盈利/亏损,平均单次盈利/亏损、最大连续上涨/下跌天数、最大回撤持续天数、最长不创新高天数、年换手率......
统计指标 | 指标说明 |
---|---|
交易天数 | 从开始日期到截止日期,交易日数量。 |
上涨天数 | 从开始日期到截止日期,当日净值较上日净值上涨(>0)的交易日数量。 |
下跌天数 | 从开始日期到截止日期,当日净值较上日净值上涨(>0)的交易日数量。 |
最大连续上涨天数 | 从开始日期到截止日期,净值连续上涨(>0)的交易日数量。 |
最大连续下跌天数 | 从开始日期到截止日期,净值连续下跌(<0)的交易日数量 |
平仓次数 | 从开始日期到截止日期,以平仓为判断标志,交易次数为所有平仓的次数。 |
盈利次数 | 从开始日期到截止日期,含费用的平仓盈利次数(统计不包括未平仓的浮盈)。 盈利交易是指开平仓差价产生的毛利减去开平仓费用成本>0的交易。 |
亏损次数 | 从开始日期到截止日期,含费用的平仓亏损次数(统计不包括未平仓的浮亏)。 亏损交易是指开平仓差价产生的毛利减去开平仓费用成本<0的交易。 |
日胜率 | 从开始日期到截止日期,上涨天数/交易天数。 |
胜率 | 从开始日期到截止日期,盈利次数 /(盈利次数+亏损次数)。 |
最大单次盈利 | 从开始日期到截止日期,含费用的平仓盈利中,最大一次的盈利(统计不包括未平仓的浮盈)。 |
平均单次盈利 | 从开始日期到截止日期,含费用的平仓盈利中,每次平仓实现盈利额(>0)的平均值(统计不包括未平仓的浮盈)。 |
最大单次亏损 | 从开始日期到截止日期,含费用的平仓亏损中,最大一次的亏损(统计不包括未平仓的浮亏)。 |
平均单次亏损 | 从开始日期到截止日期,含费用的平仓亏损中,每次平仓实现亏损额(<0)的平均值(统计不包括未平仓的浮亏)。 |
盈亏比 | 从开始日期到截止日期,平均单次盈利/平均单次亏损 的绝对值。 |
最大回撤持续天数 | 从开始日期到截止日期,最大连续回撤发生的开始时间至结束时间的交易日数量。 |
最大连续回撤 | 从开始日期到截止日期,连续净值最大回撤。连续净值是指跟踪的最小频度净值。 |
最大日回撤 | 从开始日期到截止日期,日频净值最大回撤。 |
最大周回撤 | 从开始日期到截止日期,周频净值最大回撤。 |
最大月回撤 | 从开始日期到截止日期,月频净值最大回撤。 |
最大回撤时段 | 从开始日期到截止日期,最大连续回撤发生的开始时间和结束时间。 |
最长不创新高天数 | 从开始日期到截止日期,整个周期中最长不创新高天数=max(连续回撤持续天数+连续回撤恢复天数-1)。 |
单日最大上涨 | 从开始日期到截止日期,日频净值最大单日涨幅。 |
单日最大下跌 | 从开始日期到截止日期,日频净值最大单日跌幅。 |
年换手率 | 从开始日期到截止日期,年化双边换手率。, N为交易日数量,M为持仓标的数量,wi,j为第i天标的j的持仓权重. |
每日明细
- 从绩效概览/持仓分析/交易统计/信号分析页,从图表点击某一日,可进入每日明细页查看所选交易日的资金、持仓、委托详情。
- 直接点击每日明细页,选择日期直接查看当日详情,点击代码可查看该标的全部交易信号。
- 完整交易数据明细可使用“数据导出”功能,导出csv到本地扩展个性化分析。
- 当日资金
字段 | 说明 |
---|---|
日期 | 当日日期。 只展示开始日期到截止日期的每个交易日,也包含有出入金的非交易日(回测和仿真) |
总资产 | 当日日期的总资产nav 总资产=资金余额+当日持仓 |
资金余额 | 当日日期的资金余额balance 资金余额包含期货浮动盈亏(费前) |
当日持仓 | 当日日期的持仓市值(证券)或持仓占用保证金(期货) 当日持仓包含证券浮动盈亏 证券为持仓市值=Σ(当前价*持仓数量), 期货为持仓占用保证金=Σ(成本价*持仓数量*合约乘数*保证金率) 非盯市结算:成本价为持仓均价(费前),当前价为当日收盘价 |
浮动盈亏 | 当日持仓的(逐笔)浮动盈亏fpnl总和 浮动盈亏=Σ[持仓方向*(当前价-成本价)*持仓数量*合约乘数], 多头持仓方向=1,空头持仓方向=-1 非盯市结算:成本价为持仓均价(费后),当前价为当日收盘价(证券)或当日结算价(期货) |
当日盈亏 | 当日总资产-前一日总资产 |
当日买入开仓交易额 | 买/开成交金额=Σ(成交价*成交数量*合约乘数) |
当日买入平仓交易额 | 买/平成交金额=Σ(成交价*成交数量*合约乘数) |
当日卖出开仓交易额 | 卖/开成交金额=Σ(成交价*成交数量*合约乘数) |
当日卖出平仓交易额 | 卖/平成交金额=Σ(成交价*成交数量*合约乘数) |
手续费 | 对应日期的手续费总和 |
- 当日持仓
字段 | 说明 |
---|---|
代码名称 | 交易所.标的代码 标的名称 |
方向 | 持仓方向PositionSide |
数量 | 持仓数量volume |
当前价 | 当前时间行情价格price,即收盘价,期货为结算价。 显示精度为最小报价单位。(注意:ETF、可转债为3位小数,ETF期权为4位小数)。 回测复权模式为前复权时,当前价为回测结束时间定点前复权价格。 回测复权模式为后复权时,当前价为后复权价格。 |
成本价 | 持仓均价vwap(费后),显示精度为最小报价单位。(注意:ETF、可转债为3位小数,注意ETF期权为4位小数) 回测复权模式为前复权时,成本价为回测结束时间定点前复权价格。 回测复权模式为后复权时,成本价为后复权价格。 |
持仓市值 | 持仓市值market_value=持仓方向*当前价*持仓数量*合约乘数, 多头持仓方向=1,空头持仓方向=-1 |
浮动盈亏 | (逐笔)持仓浮动盈亏fpnl=持仓方向*(当前价-成本价)*持仓数量*合约乘数, 多头持仓方向=1,空头持仓方向=-1 |
- 当日委托
字段 | 说明 |
---|---|
委托时间 | 该笔委托的委托时间。 |
成交时间 | 该笔委托的最后成交时间。 |
代码 | 交易所.标的代码 |
名称 | 标的名称 |
方向 | 委托方向 / 委托动作 |
备兑标志 | 期权是否备兑委托,仅委托包含期权时展示此字段 |
价格 | 委托价格price 市价委托显示“市价”,限价委托显示具体价格,显示精度为最小报价单位。(注意:ETF、可转债为3位小数,ETF期权为4位小数) |
数量 | 委托量volume |
已成交量 | 委托已成量filled_volume |
成交均价 | 委托已成均价filled_vwap(费前),显示精度为最小报价单位。(注意:ETF、可转债为3位小数,ETF期权为4位小数) |
手续费 | 该笔委托最终状态的交易手续费commission |
状态 | 委托成交状态,根据OrderStaus委托状态判断。 |
信号分析
- 行情图信号打点分析:支持多频度分析,可在1分钟/5分钟/15分钟/30分钟/60分钟/日线频度对信号进行复盘。
- 交易标的信号明细:选择标的查看交易信号,点击委托时间可查看当日账户详情。
绩效报告导出
- PDF报告名称:支持自定义报告名称
- 报告展示内容包括:基本信息,绩效指标,净值表现,交易统计
数据导出
回测周期或仿真账户创建以来的净值、持仓、交易数据,可通过“数据导出”功能导出csv到本地。
- 净值数据:日期时间、持仓市值、持仓占用保证金、资金余额、总资产、份额、单位净值、净值累计收益率、净值每日收益率、净值回撤、每日盈亏方向、基准行情价格、基准累计收益率、基准每日收益率、基准行情回撤
英文字段名 | 中文字段名 | 说明 |
---|---|---|
date | 日期时间 | 从开始日期到截止日期的每一个交易日(yyyy-mm-dd 16:00:00),也包含有出入金的非交易日(回测和仿真) |
total_market_value | 持仓市值 | |
cash_balance | 资金余额 | |
total_asset_value | 总资产 | 总资产=资金余额+持仓市值(现货) 总资产=资金余额+持仓占用保证金+浮动盈亏(期货) |
shares | 份额 | T日收盘总份额=T-1日收盘总份额+出入金(T-1日15:30至T日15:30)/T-1日收盘净值,初始份额=初始总资产 |
nav | 单位净值 | 采用基金净值法计算的单位净值,净值=每日收盘总资产/每日收盘总份额,初始净值=1 |
strategy_yield | 净值累计收益率 | (T日净值-1)×100%,初始值为0% |
strategy_yield_daily | 净值每日收益率 | (T日净值/T-1日净值-1)×100%,初始值为0% |
strategy_drawdown | 净值回撤 | T日净值/开始日期至T日的净值最高点-1,初始值为0% |
profit_loss | 每日盈亏方向 | 1=盈利,-1=亏损,初始值为0 |
benchmark_price | 基准行情价格 | T日基准行情价格,基准是沪深300指数(000300) |
benchmark_yield | 基准累计收益率 | (T日基准行情价格/初始入金日基准行情价格-1)×100%,基准是沪深300指数(000300),初始值为0% |
benchmark_yield_daily | 基准每日收益率 | (T日基准行情价格/T-1日基准行情价格-1)×100%,基准是沪深300指数(000300),初始值为0% |
benchmark_drawdown | 基准行情回撤 | T日基准行情价格/开始日期至T日的基准行情价格最高点-1,基准是沪深300指数(000300),初始值为0% |
- 持仓数据:持仓标的代码、日期时间、持仓方向、持仓数量、持仓均价、当前价、持仓市值
英文字段名 | 中文字段名 | 说明 |
---|---|---|
symbol | 持仓标的代码 | |
tdate | 日期时间 | 从开始日期到截止日期的每一个交易日(yyyy-mm-dd 16:00:00),也包含有出入金的非交易日(回测和仿真) |
side | 持仓方向 | 多,空 |
posi_balance | 持仓数量 | |
posi_vwap | 持仓均价 | |
price | 当前价 | |
market_value | 持仓市值 | 当前价×持仓数量×乘数 |
- 交易数据:交易时间、委托成交时间、业务类型、交易标的代码、委托价格、委托数量、持仓方向、成交数量、成交均价、成交金额、费用、发生金额、资金余额、持仓余量、持仓均价
英文字段名 | 中文字段名 | 说明 |
---|---|---|
trade_time | 交易时间 | yyyy-mm-dd 16:00:00 成交事件:委托时间 其他事件:发生时间 |
order_fill_time | 委托成交时间 | yyyy-mm-dd 16:00:00 成交事件:委托最新成交时间 其他事件:显示- |
btype | 业务类型 | 成交事件:买入开仓,卖出开仓,买入平仓,卖出平仓,...... 其他事件:银证转入,银证转出,股票分红,现金分红,利息归本,...... |
symbol | 交易标的代码 | |
order_price | 委托价格 | |
order_volume | 委托数量 | |
side | 持仓方向 | 成交事件的持仓方向:多,空 其他事件的持仓方向:显示- |
volume | 成交数量 | 有正负,视具体事件:股票分红为正,买入开仓为正,卖出开仓为正,卖出平仓为负,买入平仓为负 |
vwap | 成交均价 | 委托的成交均价(费前),不是持仓均价 |
amount | 成交金额 | 有正负,视具体事件:银证转入为正,银证转出为负,现金分红为正,利息归本为正,买入开仓为负,卖出开仓为负,卖出平仓为正,买入平仓为正。 交易事件(证券买入开仓/证券卖出平仓/期货买入开仓/期货卖出开仓)成交金额数值=-volume*vwap*multiplier*margin_ratio,vwap为成交均价(费前) 交易事件(期货卖出开仓/期货买入开仓)成交金额数值=-volume*posi_vwap*multiplier*margin_ratio,posi_vwap为持仓均价(费前) |
fee | 费用 | 交易成本费用,印花税、佣金、规费、过户费等汇总费用 |
net_amount | 发生金额 | 事件实际发生金额,成交金额-费用 |
cash_balance | 资金余额 | 当前事件发生后,账户资金余额 |
posi_balance | 持仓余量 | 当前事件发生后,交易标的代码的剩余持仓数量 |
posi_vwap | 持仓均价 | 当前事件发生后,剩余持仓的持仓均价(费后) |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论