Files
playbook/skills/tsl-api-reference/references/codegen/module/fund-research/position-estimation.md
T

597 lines
10 KiB
Markdown

# 应用专题 / 基金研究 / 风格分析
## `fund_style_index_cfg(type)`
声明:function
基金仓位基准配置函数,用户可自定义
<!-- tags: 持仓 基金产品 比较基准 业绩基准 基金 仓位分析 -->
| 参数 | 类型 | 说明 |
| ------ | ------- | -------------------------------------- |
| `type` | integer | 控制计算方法、数据口径或返回格式的选项 |
返回:array
## `fund_styleQKData(begt, endt, index_id, type)`
声明:function
计算单只基金在指定区间内相对给定基准的风格仓位
<!-- tags: 持仓 基金产品 风格因子 投资风格 基金 仓位分析 -->
| 参数 | 类型 | 说明 |
| ---------- | -------- | -------------------- |
| `begt` | datetime | 区间开始日 |
| `endt` | datetime | 区间截止日 |
| `index_id` | string | 市场基准指数代码 |
| `type` | integer | 用户自定义的基准类型 |
返回:array
## `tsPositionMeasure`
声明:class
复用行情数据、缓存和优化约束,对指定基金与日期执行仓位测算的求解基类
<!-- tags: 基金 仓位测算 数学优化 求解基类 -->
### `FDataNum`
声明:field
回归使用的交易日数,默认 20
可见性:`public`
类型:integer
### `FEndT`
声明:field
仓位测算截止日,默认 `Today()`
可见性:`public`
类型:datetime
### `FCycle`
声明:field
行情数据周期,默认 `日线`
可见性:`public`
类型:string
### `FBaseFund`
声明:field
目标测算基金代码,必须设置
可见性:`public`
类型:string
### `FIndexArr`
声明:field
权益基准代码列表
可见性:`public`
类型:array
### `FBondId`
声明:field
固收基准代码;为空时不配置债券仓位
可见性:`public`
类型:string
### `FifConstant`
声明:field
回归模型是否包含常数项,默认 `True`
可见性:`public`
类型:boolean
### `FObjType`
声明:field
优化目标函数类型;设为 -1 时由 `GetObj` 提供自定义目标
可见性:`public`
类型:integer
### `FConType`
声明:field
约束类型;设为 -1 时由 `GetCon` 提供自定义约束
可见性:`public`
类型:integer
### `FThresholdLower`
声明:field
`FConType` 配合使用的约束下界
可见性:`public`
类型:real
### `FThresholdUpper`
声明:field
`FConType` 配合使用的约束上界
可见性:`public`
类型:real
### `FYdata`
声明:field
目标基金净值收益率序列
可见性:`public`
类型:array
### `FXdata`
声明:field
权益基准收益率矩阵,列顺序与 `FIndexArr` 对应
可见性:`public`
类型:array
### `FOtherX`
声明:field
固收基准收益率序列
可见性:`public`
类型:array
### `Fiffastgetdata`
声明:field
是否优先使用数据仓库中的预计算基金收益率,默认 `True`
可见性:`public`
类型:boolean
### `FifUseCase`
声明:field
是否使用缓存减少重复取数,默认 `True`
可见性:`public`
类型:boolean
### `PortfolioOptimize()`
声明:function
按照优化目标和约束求解仓位配置比例
可见性:`public`
返回:boolean
### `Upm_Endt(EndT)`
声明:function
更新测算截止日并复用约束执行仓位测算
可见性:`public`
| 参数 | 类型 | 说明 |
| ------ | -------- | -------------- |
| `EndT` | datetime | 新的测算截止日 |
返回:boolean
### `Upm_Fund(baseFund)`
声明:function
更新目标基金并复用基准数据和约束执行仓位测算
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------ |
| `baseFund` | string | 新的目标基金 |
返回:boolean
### `GetXData()`
声明:function
设置基金净值收益率数据 `FYdata`;可重写以接入自有数据
可见性:`public`
### `SetXdata()`
声明:function
设置权益基准收益率矩阵 `FXdata`;可重写以接入自有数据
可见性:`public`
### `SetOtherX()`
声明:function
设置固收基准收益率序列 `FOtherX`;可重写以接入自有数据
可见性:`public`
### `GetObj(wa, WEquity_, Wbond)`
声明:function
`FObjType=-1` 时提供自定义优化目标
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ----- | ---------------- |
| `wa` | real | 常数项收益 |
| `WEquity_` | array | 权益资产配置比例 |
| `Wbond` | real | 债券配置比例 |
返回:real
### `GetCon(wa, WEquity_, Wbond)`
声明:function
`FConType=-1` 时提供自定义等式与不等式约束
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ----- | ---------------- |
| `wa` | real | 常数项收益 |
| `WEquity_` | array | 权益资产配置比例 |
| `Wbond` | real | 债券配置比例 |
返回:array
### `GetRealDataNum()`
声明:function
返回对齐市场交易日后基金实际公布的净值点数
可见性:`public`
返回:integer
### `GetPmedParams(wa, WEquity, Wbond)`
声明:function
通过输出参数批量取得优化后的常数项、权益配置和债券配置
可见性:`public`
| 参数 | 类型 | 说明 |
| --------- | ----- | ---------------- |
| `wa` | real | 输出常数项收益 |
| `WEquity` | array | 输出权益配置比例 |
| `Wbond` | real | 输出债券配置比例 |
返回:nil
## `ts_SameTypeFundEquityPercent`
声明:class
在历史回溯场景中批量测算同类基金仓位,并提供缓存、汇总和误差分析接口
<!-- tags: 基金 仓位测算 同类基金 历史回溯 分析框架 -->
### `FEndT`
声明:field
测算截止日,默认 `Today()`
可见性:`public`
类型:datetime
### `FBegT`
声明:field
测算开始日,默认从当前日期向前推一年
可见性:`public`
类型:datetime
### `FCycle`
声明:field
测算周期,默认 `日线`
可见性:`public`
类型:string
### `FIndexArr`
声明:field
默认求解器使用的权益基准代码列表
可见性:`public`
类型:array
### `FBondId`
声明:field
默认求解器使用的固收基准代码
可见性:`public`
类型:string
### `FDataNum`
声明:field
默认求解器使用的回归天数,默认 20
可见性:`public`
类型:integer
### `FPMOBJ`
声明:field
仓位测算求解器;为空时按 `FIndexArr``FBondId``FDataNum` 创建默认 `tsPositionMeasure`
可见性:`public`
类型:object
### `FMinDataNum`
声明:field
约束回归使用的最小基金净值点数,默认 -1 表示不计算点数
可见性:`public`
类型:integer
### `FRDateType`
声明:field
真实仓位报告期序列类型;-1 不输出,0 输出季报仓位
可见性:`public`
类型:integer
### `FVersionId`
声明:field
结果缓存模式,默认 -1 表示不缓存
可见性:`public`
类型:integer
### `FDestDir`
声明:field
缓存结果输出目录
可见性:`public`
类型:string
### `FAnyTimeout`
声明:field
是否实时缓存计算结果,默认 `True`
可见性:`public`
类型:boolean
### `FifNoLog`
声明:field
是否启用静默模式,默认 `False`
可见性:`public`
类型:boolean
### `BackMeasure()`
声明:function
执行同类基金历史仓位测算主流程
可见性:`public`
### `GetTimeSeries()`
声明:function
返回仓位测算时间序列;可重写以提供自定义回溯日期
可见性:`public`
返回:array
### `GetFundArr(vEndT)`
声明:function
返回指定日需要求解仓位的基金列表;可重写以自定义基金筛选
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | -------- |
| `vEndT` | datetime | 当前时点 |
返回:array
### `GetStatfundData(regmxarrday, day)`
声明:function
从指定日已完成的基金仓位结果中筛选进入统计分析的数据;可重写
可见性:`public`
| 参数 | 类型 | 说明 |
| ------------- | -------- | ---------------------- |
| `regmxarrday` | array | 当日各基金仓位测算结果 |
| `day` | datetime | 当前统计日期 |
返回:array
### `GetPMOBJ(vEndT, fund)`
声明:function
返回指定日期、指定基金的仓位求解器参数;可重写以增加个别约束
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | -------- |
| `vEndT` | datetime | 截止日 |
| `fund` | string | 基金代码 |
返回:any
### `GetPMdetail(vBegT, vEndT)`
声明:function
返回区间基金仓位汇总使用的原始测算明细
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | ---------- |
| `vBegT` | datetime | 区间开始日 |
| `vEndT` | datetime | 区间截止日 |
返回:array
### `GetPMdistribution(vBegT, vEndT)`
声明:function
返回不同日期下的基金仓位分布统计
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | ---------- |
| `vBegT` | datetime | 区间开始日 |
| `vEndT` | datetime | 区间截止日 |
返回:array
### `GetOverAllPM(vBegT, vEndT, type_)`
声明:function
返回不同日期和加权方式下的基金整体仓位
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | ---------------- |
| `vBegT` | datetime | 区间开始日 |
| `vEndT` | datetime | 区间截止日 |
| `type_` | integer | 整体仓位加权方式 |
返回:array
### `GetErrorDistribution(vBegT, vEndT)`
声明:function
返回不同日期下基金测算仓位与真实仓位的误差分布
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | ---------- |
| `vBegT` | datetime | 区间开始日 |
| `vEndT` | datetime | 区间截止日 |
返回:array
### `GetOverAllErrorAnalysis(vBegT, vEndT)`
声明:function
返回基金整体仓位误差分析结果
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | ---------- |
| `vBegT` | datetime | 区间开始日 |
| `vEndT` | datetime | 区间截止日 |
返回:array