Files
playbook/skills/tsl-api-reference/references/codegen/module/tsrm-risk-matrix.md
T

12 KiB
Raw Blame History

风险模型 / 风险矩阵

TSRM_RiskMatrix

声明:class

风险矩阵计算框架

fFactorRet

声明:field

因子收益率(%)

可见性:public

类型:array

fSpecificRet

声明:field

特异性收益率(%)

可见性:public

类型:array

fConstName

声明:field

国家因子名称 国家因子

可见性:public

类型:string

fIndustry

声明:field

行业因子名称

可见性:public

类型:array

fStyle

声明:field

风格因子名称

可见性:public

类型:array

fEvalStockValue

声明:field

计算股票市值的字符串表达式

可见性:public

类型:string

fEvalIndustry

声明:field

获取行业名称的字符串表达式

可见性:public

类型:string

fEvalStyle

声明:field

获取风格因子值的字符串表达式

可见性:public

类型:string

ffr_Cov_Half

声明:field

计算因子收益率协方差的加权半衰期 504

可见性:public

类型:integer

ffr_Cov_Lag

声明:field

因子收益率协方差 newey-west 调整的滞后期 2

可见性:public

类型:integer

ffr_IF_Eigen

声明:field

是否进行 eigenfactor 调整 False

可见性:public

类型:bool

fsr_Half

声明:field

计算特质收益率方差的加权半衰期 84

可见性:public

类型:integer

fsr_NW_Lag

声明:field

特质收益率方差的 newey-west 调整的滞后期 5

可见性:public

类型:integer

fsr_IF_Struct

声明:field

是否进行结构化调整 True

可见性:public

类型:bool

fsr_SH_q

声明:field

特质收益率方差的贝叶斯收缩的经验系数 q 1

可见性:public

类型:real

ffr_Data_Len

声明:field

计算因子收益率协方差矩阵时需要的数据长度 252

可见性:public

类型:integer

fsr_Data_Len

声明:field

计算特质收益率方差的数据长度 252

可见性:public

类型:integer

fIfGrid

声明:field

是否启用网格 True

可见性:public

类型:bool

fIfLimitGridN

声明:field

是否限制网格个数 True

可见性:public

类型:bool

fGridN

声明:field

网格数 3

可见性:public

类型:integer

ffrCov

声明:field

因子收益率协方差矩阵,含调整过程

可见性:public

类型:array

fFinalFRCov

声明:field

最终的因子收益率协方差矩阵

可见性:public

类型:array

main(begt, endt, index_id)

声明:function

一般来说,用户直接调用该函数就可以计算因子收益率协方差矩阵和特质收益率方差

可见性:public

参数 类型 说明
begt datetime 开始日,日期类型,获取因子收益率和特质收益率的开始日期
endt datetime 截止日,日期类型,获取因子收益率和特质收益率的截止日期
index_id string 指数代码,字符串,获取对应指数成分的因子收益率和特质收益率

calFRCov()

声明:function

计算每一期因子收益率的协方差和各种调整后的协方差

可见性:public

calSRVar()

声明:function

计算每一期股票特质收益率的方差

可见性:public

getStockValue(endt, stockarr)

声明:function

计算股票列表在截止日的流通市值

可见性:public

参数 类型 说明
endt datetime 截止日,日期类型
stockarr array 一维数组,股票列表

getFRSR(begt, endt, index_id)

声明:function

获取因子收益率和股票特质收益率数据,根据所给参数, 使用内置算法计算因子收益率和特

可见性:public

参数 类型 说明
begt datetime 开始日,日期类型,获取因子收益率和特质收益率的开始日期
endt datetime 截止日,日期类型,获取因子收益率和特质收益率的截止日期
index_id string 指数代码,字符串,获取对应指数成分的因子收益率和特质收益率

neweyWest1(data, q, tao, ifvar, cov_var)

声明:function

协方差矩阵或方差的 NeweyWest 调整

可见性:public

参数 类型 说明
data array 二维表,需要计算协方差矩阵的原始数据,列数代表变量个数,行数代表样本长度
q integer Integer Newey West 调整的最大滞后期数
tao integer Integer,协方差的指数加权的半衰期
ifvar boolean Bool,是否方差调整,真表示做方差调整,假表示做协方差调整
cov_var array 二维表,Newey West 调整前的协方差矩阵

neweyWest2(data, q, tao, vol_q, vol_tao, ifvar, cov_var)

声明:function

协方差矩阵或方差的 NeweyWest 调整,与 NeweyWest1 的差别主要是:

可见性:public

参数 类型 说明
data array 二维表,需要计算协方差矩阵的原始数据,列数代表变量个数,行数代表样本长度
q integer Integer,相关系数的 Newey West 调整的最大滞后期数
tao integer Integer, 相关系数的指数加权的半衰期
vol_q integer 方差的 Newey West 调整的最大滞后期数
vol_tao integer 方差的指数加权的半衰期
ifvar boolean Bool,是否方差调整,真表示做方差调整,假表示做协方差调整
cov_var array 二维表,Newey West 调整前的协方差矩阵

eigenFactor(cov, t, m_times, a, rand_data)

声明:function

因子收益率协方差矩阵的 eigenfactor 调整

可见性:public

参数 类型 说明
cov array 因子收益率协方差矩阵
t integer Integer,模拟产生的数据长度
m_times integer Integer,模拟次数
a real Real,放缩经验系数
rand_data array Array,模拟随机数据,用于测试算法的正确性,因为无法指定随机数生成的一致性, 只能通过传递确定的数据当作随机数据计算,用户不需要使用该参数

volR_B(f, sigma, weights)

声明:function

计算波动率状态调整所需的 Bias 数据

可见性:public

参数 类型 说明
f array 一维数组,当期收益率
sigma array 一维数组,期初预测标准差
weights array 一维数组,权重

volatility_Regime(cov_var, b, tao)

声明:function

对协方差矩阵或方差执行波动率状态调整

可见性:public

参数 类型 说明
cov_var array 二维表,协方差矩阵
b array 一维数组,Bias 统计量序列
tao integer Integer,半衰期

structureAdjustment(var, ret, factor, e_0, industry, styles)

声明:function

股票特质收益率方差的结构化调整

可见性:public

参数 类型 说明
var array 股票特质收益率方差向量或方差矩阵
ret array 二维数组,股票特质收益率
factor array 二维数组,因子值
e_0 real Real,调整系数
industry array 一维数组,行业名称
styles array 一维数组,风格因子名称

bayesian_Shrinkage(var, capital, n_group, q)

声明:function

股票特质收益率方差的贝叶斯收缩调整

可见性:public

参数 类型 说明
var array 股票特质收益率方差估计结果
capital array 一维数组,市值
n_group integer Integer,分组数
q real Real,经验系数

tsrm_StockSWIndustryNameLv1()

声明:function

使用 mf_industry 接口获取行业名称

可见性:public

tsrm_StockSWIndustryIDLv1()

声明:function

利用 TSRM_StockSWIndustryNameLv1 获取新申万一级行业分类标准下的行业名称,返回对应

可见性:public

示例

范例01:调用示例

BegT := 20210104T;
EndT := 20210106T;
IndexID := "SH000300";
mfm := new TSRM_RiskMatrix();
mfm.FFR_IF_Eigen := false;   //不进行特征值调整
mfm.FSR_IF_Struct := false;  //不进行结构化调整
mfm.Main(BegT,EndT,IndexID);
return
array('因子协方差矩阵':mfm.FFinalFRCov,'特质收益方差':mfm.FFinalFSRVar);

范例02:利用样例数据计算风险矩阵 (运行时间大概是 3 到 5 分钟)

FactorRet := TSRM_Sample_Data(1);  //获取因子收益样例数据
SpecificRet := TSRM_Sample_Data(2);   //获取特质收益样例数据

mfm := new TSRM_RiskMatrix();
mfm.FFactorRet := FactorRet;
mfm.FSpecificRet := SpecificRet;
mfm.FFR_IF_Eigen := false;   //不进行特征值调整
mfm.FSR_IF_Struct := false;  //不进行结构化调整
mfm.Main();
return
array('因子协方差矩阵':mfm.FFinalFRCov,'特质收益率方差':mfm.FFinalFSRVar);