Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/quant/misc.md
T
2026-07-29 07:58:05 +00:00

23 KiB
Raw Blame History

因子与量化 / 其他

adjustSmaple(bk_name, beg_t, from_no, to_no)

声明:function

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

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

返回:array

bsByMacd(short, _type)

声明:function

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;

CB_BalanceRatio()

声明:function

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

返回:float

class()

声明:function

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

返回:any

FI_rt_To_DrawdownUnderwater(r)

声明:function

高点回撤序列(%)

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

返回:array

frameCov_RBLW(data, alpha)

声明:function

协方差RBLW压缩估计

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

返回:array

indexDataToShowable(index_table, base_value)

声明:function

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

参数 类型 说明
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)

声明:function

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);

MF_isMissValue(a, _type, zero_eps)

声明:function

是否缺失值判断

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

返回:array

MICD_f(n, n1, n2, _type)

声明:function

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

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

返回:array

OBVMa_v(n, m)

声明:function

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

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

返回:float

Options_SkewCal_Detail(option_arr, op_type)

声明:function

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

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

返回:array

pf_InverstmentRatio(wp, wb)

声明:function

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

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

返回:any

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

声明:function

Rachev比率。

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

返回:float

RCCD_f(n, n1, n2, _type)

声明:function

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

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

返回:array

Schmidt_orth(data, if_std)

声明:function

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

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

返回:array

ssByMtm(n, m)

声明:function

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;

Stocks_Assoc_Concept(stocksarr, endt, concept_bk_arr)

声明:function

基于概念的股票关联网络

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

返回:array

VOSC_v(short, long)

声明:function

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

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

返回:float

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

声明:function

获取时间序列。生成字段’计算指标开始日’,’持仓截止日’,其中’计算指标开始日’为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)

声明:function

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

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

返回:array

示例

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

splitDiv2(len, n)

声明:function

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

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

返回:array

示例

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

splitArrayQk(arr)

声明:function

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

参数 类型 说明
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)

声明:function

数组等分区间,分不平均时,前面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)

声明:function

增加表头。

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

返回:any

示例

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

gridLogo(str, dir)

声明:function

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

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

返回:int

示例

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

setToFirstValue(t1, t2)

声明:function

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

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

返回:TableArray

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

声明:function

加权资本成本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)

声明:function

计算资产组合的期望收益率,与自定义的系统变量’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)

声明:function

计算满足条件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)

声明:function

判断起始日期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)

声明:function

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

参数 类型 说明
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)

声明:function

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

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

返回:TableArray

示例

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

needAdjustSmaple(beg_t, current_date, adjust_month)

声明:function

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

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

返回:TableArray

示例

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

emptyvalue()

声明:function

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

返回:Real

riskFreeRateofReturnDayly(rf, cy, rate_type, days_in1y)

声明:function

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

参数 类型 说明
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)

声明:function

调用网格执行func

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

返回:array

gettablebyReg(reg)

声明:function

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

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

返回:array

示例

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

tryInsetTable(path, value)

声明:function

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

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

返回:int

示例

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

getAllThemespools(end_t, details)

声明:function

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

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

返回:array

示例

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

fileterValue(v, w)

声明:function

找出需要过滤处理的日期

参数 类型 说明
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);
//结果: