13 KiB
回测 / 市场状态轮盘
TS_MarketStateAnalysis
声明:class
基于市场状态的轮盘配置框架
fBegT
声明:field
开始日 incyear(today(),-1)
可见性:public
类型:date
fEndT
声明:field
截止日 today()
可见性:public
类型:date
fCycle
声明:field
调仓周期 cy_month()
可见性:public
类型:string
fIndexID
声明:field
基准指数 SH000300
可见性:public
类型:string
fStateData
声明:field
状态数据 Array()
可见性:public
类型:array
fuStateName
声明:field
未定义状态名称 "未定义"
可见性:public
类型:string
fAllocationMethod
声明:field
配置方法 0
可见性:public
类型:int
fAllocationData
声明:field
配置数据 Array()
可见性:public
类型:array
getAssetWeight(v_beg_t, v_end_t, cy, typ)
声明:function
获取指定区间与周期的资产权重序列
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_beg_t |
datetime | DateTime,区间开始日 |
v_end_t |
datetime | DateTime,区间截止日 |
cy |
string | String,周期 |
typ |
integer | Int,资产列名输出格式,具体如下表: 取值 含义 备注 1 代码 如:SH000300【默认】 2 名称 如:沪深 300 |
返回:array
getAssetReturn(v_beg_t, v_end_t, typ)
声明:function
此方法用于获取各资产区间收益率与累计收益率序列,此收益为资产加入组合后的收益,未
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_beg_t |
datetime | DateTime,区间开始日 |
v_end_t |
datetime | DateTime,区间截止日 |
typ |
integer | Int,资产列名输出格式,具体如下表: 取值 含义 备注 1 代码 如:SH000300,SH000300->累计 【默认】 2 名称 如:沪深 300,沪深 300->累计 3 代码+名称 如:沪深 300(SH000300),沪深 300(SH000300)->累计 |
返回:array
getAssetAttriResult()
声明:function
此方法用于获取资产归因数据,包含代码,名称,收益贡献(%)(累计、累计年化、贡献比例
可见性:public
返回:array
getAssetContriDetail(v_beg_t, v_end_t, typ)
声明:function
此方法用于获取区间资产累计贡献数据
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_beg_t |
datetime | DateTime,区间开始日 |
v_end_t |
datetime | DateTime,区间截止日 |
typ |
integer | Int,资产列名输出格式,具体如下表: 取值 含义 备注 1 代码 如:SH000300【默认】 2 名称 如:沪深 300 3 代码+名称 如:沪深 300(SH000300) |
返回:array
getPerformance(v_beg_t, v_end_t, qk_type, cy)
声明:function
获取不同区间的收益与风险评价指标
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_beg_t |
datetime | DateTime,区间开始日 |
v_end_t |
datetime | DateTime,区间截止日 |
qk_type |
integer | Int,区间类型 取值 含义 备注 0 固定周期 如:年线、季线、月线,与参数 cy 相关 1 滚动周期 包括:本月/季/半年/年、最近 1/3/6 月、最近 1/3/5 年、成立以来 |
cy |
string | String,固定周期 |
返回:array
getPortBenchReturn(v_beg_t, v_end_t)
声明:function
返回区间组合与基准的收益、累计收益、最大回撤序列
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_beg_t |
datetime | DateTime,区间开始日 |
v_end_t |
datetime | DateTime,区间截止日 |
返回:array
getHoldData(v_beg_t, v_end_t, cy)
声明:function
与父类回测框架相比,此接口新增 cy 参数,控制持仓明细返回的周期,支持返回最新、固定
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_beg_t |
datetime | DateTime,区间开始日 |
v_end_t |
datetime | DateTime,区间截止日 |
cy |
string | String,周期,若 cy 为 nil 或空字符串,表示获取最新的持仓明细 |
返回:array
getStateByEndT(v_end_t)
声明:function
此方法用于获取指定日状态数据,用户可重写,字段包含【截止日】、【状态】
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_end_t |
datetime | DateTime,截止日 |
返回:array
getAllocationByEndT(v_end_t)
声明:function
此方法用于获取配置数据,用户可重写,默认为输入的成员变量 FAllocationData
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
v_end_t |
datetime | DateTime,截止日 |
返回:array
getStateDetail(beg_t, end_t, cycle)
声明:function
此方法用于获取按周期划分的每个周期状态,字段包含【截止日】、【状态】
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | DateTime,区间开始日 |
end_t |
datetime | DateTime,区间截止日 |
cycle |
string | String,周期 |
返回:array
getStateStatistics(beg_t, end_t, if_annual)
声明:function
统计各市场状态的次数、占比及对应组合和基准的收益风险指标
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | DateTime,区间开始日 |
end_t |
datetime | DateTime,区间截止日 |
if_annual |
boolean | Bool,是否年化,默认为 0,表示输出指标不年化 |
返回:array
getStateNAV(beg_t, end_t)
声明:function
此方法用于获取各状态区间每日收益数据,包含净值收益率(%)、基准收益率(%)、超额收益
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | DateTime,区间开始日 |
end_t |
datetime | DateTime,区间截止日 |
返回:array
getTradeData(beg_t, end_t)
声明:function
此方法用于获取回测交易明细数据
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | DateTime,区间开始日 |
end_t |
datetime | DateTime,区间截止日 |
返回:array
getHoldData(beg_t, end_t)
声明:function
此方法用于获取回测持仓明细
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | DateTime,区间开始日 |
end_t |
datetime | DateTime,区间截止日 |
返回:array
getPortfolioReturn(beg_t, end_t)
声明:function
此方法用于获取区间组合累计收益率
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | DateTime,区间开始日 |
end_t |
datetime | DateTime,区间截止日 |
返回:real
getStateGroupNAV(beg_t, end_t, return_type)
声明:function
获取不同状态下,组合与基准的收益情况
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | DateTime,区间开始日 |
end_t |
datetime | DateTime,区间截止日 |
return_type |
integer | 返回收益类型 取值 含义 0 仅返回收益(默认) 1 仅返回累计收益 2 返回收益+累计收益 |
返回:array
getStateGroupAttri(if_annual, return_type)
声明:function
获取不同状态下,各个资产对组合绝对收益、风险的贡献情况
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
if_annual |
boolean | Bool,是否年化,默认为 0,表示输出指标不年化 |
return_type |
integer | 返回类型 取值 含义 0 按照"状态"横排展示,仅输出收益贡献(%)与风险贡献(%) 1 按照"状态"竖排展示,输出收益和风险贡献(%)相关的多个指标(默认) |
返回:array