Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/quant/misc.md
T
csh e1f7ce052c feat(skills): add tsl api reference skill
Bundle the TSL API index and markdown references under the skill, route TSL docs to use it, and update the codegen index generator to maintain the bundled data.
2026-07-07 16:36:15 +08:00

20 KiB
Raw Blame History

因子与量化 / 其他

adjustSmaple(bk_name, beg_t, from_no, to_no)

根根据FromNoToNo选取StockArr在EndT的市盈率升序后的股票组合,再根据PercentType确定股票的比例,根据比例分配资金,返回股票的资金分配及购买股数

参数 类型 说明
bk_name string 字符串,板块名称,在第二次跟踪时要选股的板块名称StockArr:数据表,初始股票组合
beg_t datetime 日期型时间,开始跟踪日期EndT:日期型时间,结束跟踪日期AdjustMonth:整数,在跟踪期间调整的月份数
from_no int 整数,起始行号
to_no int 整数,截止行号

返回:array

bsByMacd(short, _type)

MACD买入条件选股,DIF上穿(即突破)DEA。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数。

参数 类型 说明
short int 整数,计算MACD指标线的短线Long:整数,计算MACD指标线的长线M:整数,计算MACD指标线的交易日长度
_type int 结果类型

返回:bool

示例

oV:=BackUpSystemParameters();
setsysparam(pn_stock(),'SH600004');
setsysparam(pn_date(),inttodate(20110913));
setsysparam(pn_cycle(),cy_day());
Short:=12;
Long:=26;
M:=9;
Type:=2;
v:= SsByMACD(Short,Long,M,type);
RestoreSystemParameters(oV);
return v;

cbBalanceRatio()

1)当指定日不在在计息日与实际到期日之间,转债余额比例为nil; 2)当指定日在在计息日与实际到期日之间,返回转债余额比例。

返回:float

class()

策略回测框架。 提供天软策略回测框架、策略清算、策略绩效评价。用户只需: a)设置回测时的基本属性(成员变量) b)重载GetTimeSeries方法提供调仓周期 c)重载GetTradeOrder方法提供目标比例(比例类组合)或交易明细(数量类组合) d)调用BackTest方法进行回测 e)调用查询结果,获得资产配置、持仓、交易、绩效评价等常见评价类指标 详细说明及相关范例见专题,如下链接。

返回:any

fiRtToDrawdownUnderwater(r)

高点回撤序列(%)

参数 类型 说明
r array 数组,收益率(%),可为一维数字数组,或者用一列表示一个资产收益率(%)序列的二维数组

返回:array

frameCovRblw(data, alpha)

协方差RBLW压缩估计

参数 类型 说明
data array 二维数据表,T×N,T期样本数量,N个股票
alpha float 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见RBLW协方差压缩估计

返回:array

indexDataToShowable(index_table, base_value)

把计算存贮好的指数数据转换

参数 类型 说明
index_table array 数据表,指数结果表,必须含有’Date’,’Close’字段
base_value float 实数,基准值

返回:array

示例

SetSysParam(PN_Stock(),'SZ000002');
SetSysParam(PN_DATE(),IntToDate(20121026));
t:=Nday(20,'Date',sp_time(),'Close',close());
Return array('转换前':t,'转换后':IndexDataToShowable(t,1000));

kline(n1, n2, n3, n4)

K线;蜡烛线

参数 类型 说明
n1 int 整数
n2 int 整数
n3 int 整数
n4 int 整数

返回:Graph

示例

SetSysParam(pn_stock(),'SH000001');
SetSysParam(pn_date(),inttodate(20140123));
Return KLine(5,10,20,60);

mfIsMissValue(a, _type, zero_eps)

是否缺失值判断

参数 类型 说明
a float 实数, 可以为数组或者标量
_type any 整数,
zero_eps float 实数, 与0的差距范围,实数;默认 epsi()

返回:array

micdF(n, n1, n2, _type)

异同离差动力指数,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数。

参数 类型 说明
n any 整数,交易日天数
n1 any 整数,交易日天数
n2 any 整数,交易日天数
_type any 结果类型

返回:array

obvMaV(n, m)

能量潮的M日移动平均,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()和复权基准日pn_rateday()相关。调用时需注意设置系统参数。

参数 类型 说明
n any 整数,交易日天数
m any 整数,交易日天数

返回:float

optionsSkewCalDetail(option_arr, op_type)

多个期权Skew计算详情,与系统时间、周期相关,返回每个期权的隐含波动率、期权类型、Delta

参数 类型 说明
option_arr array 多个期权代码,数组类型
op_type any 期权类型,整型,取值如下

返回:array

pfInverstmentRatio(wp, wb)

投资比例与超配。总表为wb左连接wp,超配比例=wp表’比例’字段-wb表’比例’字段,若不存在该字段则用0代替。

参数 类型 说明
wp array 数据表类型,组合
wb array 数据表类型,基准

返回:any

pfRachev(t, fname1, alpha, beta, rf)

Rachev比率。

参数 类型 说明
t array 数据表类型
fname1 string 字符串,列名
alpha float 实数,盈利置信度
beta float 实数,亏损的置信度
rf float 实数,无风险收益率(%)

返回:float

rccdF(n, n1, n2, _type)

异同离差变化率指数,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数。

参数 类型 说明
n any 整数,交易日天数
n1 any 整数,交易日天数
n2 any 整数,交易日天数
_type any 结果类型

返回:array

schmidtOrth(data, if_std)

施密特正交化,对矩阵进行正交,区别于SymOrthogonal,不会改变第一列

参数 类型 说明
data array 二维数字数组, 二维数组 行下标为数字或字符串的二维数组
if_std any 用户自定义, 是否标准化

返回:array

ssByMtm(n, m)

MTM卖出条件选股,MTM的M日均线下穿(即跌破)0。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数。

参数 类型 说明
n int 整数,统计天数
m int 整数,计算MTM均线的交易日长度

返回:bool

示例

oV:=BackUpSystemParameters();
setsysparam(pn_stock(),'SH600004');
setsysparam(pn_date(),inttodate(20110913));
setsysparam(pn_cycle(),cy_day());
N:=12;
M:=6;
v:=SsByMTM(N,M);
RestoreSystemParameters(oV);
return v;

stocksAssocConcept(stocksarr, endt, concept_bk_arr)

基于概念的股票关联网络

参数 类型 说明
stocksarr array 一维数组类型,股票序列
endt datetime 日期类型,截止日
concept_bk_arr array 一维数组类型,概念板块代码序列,默认为全部板块

返回:array

voscV(short, long)

成交量震荡,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()和复权基准日pn_rateday()相关。调用时需注意设置系统参数。

参数 类型 说明
short any 整数,短期交易日天数
long any 整数,长期交易日天数

返回:float

getDateArr(begt, endt, days_interval, show_cycle, t)

获取时间序列。生成字段’计算指标开始日’,’持仓截止日’,其中’计算指标开始日’为begt到Endt的时间往前推一年,’持仓截止日’为begt到endt。

参数 类型 说明
begt TdateTIME TdateTIME 开始日期
endt Tdatetime 截止日期
days_interval integer integer 指标开始计算日向前推移年份
show_cycle String String 周期
t 数据表类型,源数据

返回:any

示例

return getDateArr(20111230T,20120914T,1,'日线');
返回:

splitDiv(len, n)

网格参数划分,分不平均时,余数给最后一个网格

参数 类型 说明
len int 整型,参数个数
n int 整型,网格个数

返回:array

示例

return unit(multi_proc_unit).splitDiv(14,5); // array(0,2,4,6,8,14)

splitDiv2(len, n)

网格参数划分,分不平均时,前面M个网格加一

参数 类型 说明
len int 整型,参数长度
n int 整型,网格个数

返回:array

示例

return unit(multi_proc_unit).splitDiv2(14,5); // array(0,3,6,9,12,14)

splitArrayQk(arr)

数组等分区间,余数给最后一个网格

参数 类型 说明
arr array 数组,要划分数组

返回:array

示例

arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(multi_proc_unit).splitArrayQk(arr,5); //array((2,1),(3,4),(9,5),(7,8),(9,15))

splitArrayQk2(arr)

数组等分区间,分不平均时,前面M个网格加一

参数 类型 说明
arr array 数组,要划分数组

返回:array

示例

arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(multi_proc_unit).splitArrayQk2(arr,5);
// array((2,3),(4,5),(7,9),(10,12),(13,15))

addTitle(t, title)

增加表头。

参数 类型 说明
t array 数据表类型,源数据
title String 字符串,表头

返回:any

示例

return addTitle(``array('a':1),'b');
返回:

gridLogo(str, dir)

网格写日志,一个网格id一个文件

参数 类型 说明
str string 字符串型,任务名称
dir string 字符串型,日志文件路径 ,默认为:C:\temp\Gridlog

返回:int

示例

//在C:\\temp\\Gridlog默认路径下写日志文件
return unit(multi_proc_unit).gridLogo('测试');

setToFirstValue(t1, t2)

归一处理,用于在计算复合指数时,在基准数据t2的基础上对t1归一化

参数 类型 说明
t1 TableArray 数据表,必须含有’close’字段
t2 TableArray 数据表,必须含有’close’字段

返回:TableArray

wacc(rf, rm, beta, kd, delta)

加权资本成本WACC%

参数 类型 说明
rf Real 实数,无风险利率(%
rm Real 实数,市场预期收益率(%
beta Real 实数,β系数
kd Real 实数,债务成本(%
delta Real 实数,资产负债率(%

返回:Real

示例

return wacc(3.84,10.84,0.637,4.1,40); //结果:6.6194

getTrueRp(w)

计算资产组合的期望收益率,与自定义的系统变量’TZZHRiMatrix’有关,调用之前先设置该系统变量。并且w的长度必须跟该系统变量的值的长度一致

参数 类型 说明
w Array 一位数字数组,投资品种比例

返回:TableArray

示例

a:=array(2,3,4,5,8);
setSysParam('TZZHRiMatrix',a);
w:=array(1,4,6,3,7);
return getTrueRp(w); //结果:5.19048

adjustSampleByAny(bk_name, beg_t, money, eval_exp, sort_dir, range_type, range_beg, range_end, percent_type, condition)

计算满足条件Condition的股票的EvalExp,选取值在RangeBeg跟RangeEnd之间,按照不同的RangeType类型选择股票,并分配资金

参数 类型 说明
bk_name Striong 字符串,板块名称
beg_t TDateTime 日期型时间,开始时间
money Real 实数,初始资金
eval_exp Expression 表达式
sort_dir Boolean 真假,排序方向
range_type Integer 整数,范围类型
range_beg Real 实数,范围上限
range_end Real 实数,范围下限
percent_type Integer 整数,资金分配方法,用户自定义,含义如下表:
condition Expression 表达式,条件选择

返回:TableArray

示例

return adjustSampleByAny(
"深证A股",
intToDate(20120916),
500,
@close(),
false,
0,
7,
9,
0,
@true);
//结果:

needAdjustSampleByDays(beg_t, current_date, adjust_days)

判断起始日期BegT间隔相应天数AdjustDays是否在系统限定的当前日期CurrentDate内

参数 类型 说明
beg_t 日期型时间,起始日期
current_date 日期型时间,当前时间
adjust_days 整数

返回:Boolean

示例

begt:=intToDate(20121018);
endt:=intToDate(20121026);
return needAdjustSampleByDays(begt,endt,9); //结果:0

encodePortfolioName(name, beg_t, end_t, method_type, yh_type, predict_yield, max_risk)

用于生成投资组合的结果保存的名称

参数 类型 说明
name String 字符串,股票列表
beg_t TDateTime 日期型时间,开始时间
end_t TDateTime 日期型时间,结束时间
method_type Ingteger 整数,0表示’Markowitz法’,1表示’单指数法’
yh_type Integer 整数,0表示’收益,风险最小’,1表示’风险,收益最大’
predict_yield Real 实数
max_risk Real 实数

返回:String

示例

return encodePortfolioName(
"某股票",
intToDate(20120618),i
nttodate(20120919),0,0,0,0);
//结果:’某股票,从20120618到20120919,Markowitz法,限定收益为0求风险最小’

allBkYieldAndRisk(period, start_date)

所有板块Period期的预期收益和风险

参数 类型 说明
period Integer 整数,做足period期
start_date TDateTime 日期型时间,开始时间

返回:TableArray

示例

return allBkYieldAndRisk(20,intToDate(20120628));
//结果:

needAdjustSmaple(beg_t, current_date, adjust_month)

判断CurrentDate是否还在BegT往后推AdjustMonth*30的日期内

参数 类型 说明
beg_t TDateTime 日期型时间,起始时间
current_date TDateTime 日期型时间,当前时间
adjust_month Integer 整数,往后推的月份数,月份间隔数

返回:TableArray

示例

return needAdjustSmaple(intToDate(20120618),intToDate(20120926),4);
//结果:0

emptyvalue()

返回受pn_emptymode控制的空值(实数)

返回:Real

riskFreeRateofReturnDayly(rf, cy, rate_type, days_in1y)

年化无风险收益率转换非年化收益率,与系统参数(股票,时间)相关。

参数 类型 说明
rf real 实数,年化无风险收益率(%)
cy String 周期,非年化收益率周期
rate_type Integer 用户自定义,年化收益率折算为非年化收益率方法
days_in1y Integer 用户自定义

返回:real

示例

setSysParam(pn_stock(),'sz000001');
setSysParam(PN_Date(),20180801T);
return riskFreeRateofReturnDayly(3,cy_day(),'单利',250);
//返回:0.01

fastmap(grid_no, func, parms, parmstype)

调用网格执行func

参数 类型 说明
grid_no int 整型,网格个数,表示另开的网格数,0表示只使用本地服务器
func string 字符串型或函数指针,要调用网格计算的函数
parms array 数组,func的参数列表
parmstype array 数组,parms的对应类型

返回:array

gettablebyReg(reg)

通过正则表达式匹配名称,获取用户数据

参数 类型 说明
reg string 字符串型,匹配的字符串

返回:array

示例

return unit(multi_proc_unit).gettablebyReg('test');

tryInsetTable(path, value)

添加用户数据,如果用户数据存在同名,则插入,否则新建

参数 类型 说明
path string 字符串型,用户数据存储路径
value array 数组,要存储的数据

返回:int

示例

return unit(multi_proc_unit).tryInsetTable('test',array(1,2,3));

getAllThemespools(end_t, details)

默认主题池:主题关键字及其对应的代表指数、成分股

参数 类型 说明
end_t Date 日期, 截止日
details DBData 数据表类型, 返回参数,包含主题详情信息

返回:array

示例

end_t := 20230919T;
return getAllThemespools(end_t);

fileterValue(v, w)

找出需要过滤处理的日期

参数 类型 说明
v TableArray 数据表,必须含有’time’字段
w Array 一维日期型时间数组

返回:TableArray

示例

v:=array(('s':0,'time':41201),('s':6,'time':41202),('s':2,'time':41203),('s':8,'time':41204),('s':2,'time':41207),('s':3,'time':41208));
w:=array(41101,41202,41205,41206,41207,41209);
fileterValue(v,w);
//结果: