_And
与,返回位运算二进制X And 二进制Y
范例(t):
Return _And(6,3); //返回十进制(6=110) and 3=(11) 最后得到二进制10
//结果:2
参考:[ref]_Or[/…
mb_IconHand
消息对话框的图标控制字,显示手,一般对类型控制字消息显示框的装饰。
范例(t):

[code]

a:=3;

c:= rdo2 mb_YesNo().| rdo2mb_IconHand();
  b:=rdo2 MessageBox('a>2,…
DefaultConnectAndLogin
连接并登录服务器,如果成功则返回0,否则返回出错代码。
参考:ConnectServer LoginServer …
SendExecuteAndWait
递交请求给服务器执行,如果成功则返回0,否则返回错误代码。 当RemoteExec的字符串为空串,且Online为假时,为提交实时订阅得到最新的行情状态并结束订阅请求。
参考:实时行情订阅。 …
Expand
展开用户名,例如用于邮件列表。需要服务器配置,暂不支持。
Q:同时开多个Command Window,系统参数的设置是否相互影响
A:会相互影响,以当前最新设置的系统参数为准。
来源于FAQ
Q:Command send to client timeout
A:
等待执行命令超时。这个错误信息,一般出现在本地数据与服务器交互的情况下,即使用rdo2 将本地数据导入到服务器中或者从服务器中导出到本地。一般等待时间为300秒,如果超过该时间则报错。
来源于FAQ
Q:Rand和Randg的算法,如何得到随机数
A:
天软中的rand函数是VC的一个内置函数,randg的算法是:
[code]
function RandG(Mean, StdDev: Extended): Extended;
来源于FAQ
Q:C的程序中,建立与TS连接时,报“Defaultconnectandlogin编译错误,或者找不到该函数”?
A:错误如下提示的:

首先,确认是否有tsl编译库,这个文件夹一般独立于TS…
来源于FAQ
Q:通过com启动matlab的command window 是否具备matlab界面程序全部功能?
A:是的,与直接启动matlab后的功能一样…
来源于FAQ
randomize
已废弃函数。 初始化随机因子,在产生随机数之前应该先调用一次这个函数初始化随机数发生,单独执行此函数,并不会产生随机因子。 初始化随机因子,相当于产生一个种子,随机数函数根据这个种子产生随机数。目前天软的随机因子的产生于Intel的MKL库相关,直接指定一个种子,产生的随机数与这个种子相关。所以在执行随机函数时,也可不做初始化随机因子的操作。
参考:random RandomFrom …
random
定义1:random():Real;
说明:返回一个0到1之间的随机数
返回:实数。

定义2:random(value:Integer):Integer;
说明:如果无参数,则返回0->1…
RandomFrom
返回一个随机的数组元素,这个数组是由参数Avalue传递进来的。
范例(t):

[code]
A:=array('a','b','c','d','e','f');
Return randomFrom(A);
//返回值为随机返回A字符串中一个字符:’b’…
DateTimeToJulianDate
将TDateTime类型的参数转换成儒略日类型。儒略日类型类型是自从格林威治公元前4713年1月一日中午到计时点的天数,包括小数。这种时间用在天文学,地球物理学等需要精确时间的地方
范例(t):

[code]
return DateTimeToJulianDate(strtodatetime('2014-01-01 10:00:00'));
//输出2456658.91…
JulianDateToDateTime
将儒略日类型的时间转换成TDateTime类型的时间。儒略日类型类型是自从格林威治公元前4713年1月一日中午到计时点的天数,包括小数。这种时间用在天文学,地球物理学等需要精确时间的地方
范例(t):

[code]
A := JulianDatetoDateTime(2456658.91667);
return DatetimetoStr(A); //输出2014-01…
TryJulianDateToDateTime
将儒略日类型的时间转换成TDateTime类型的时间并存到参数AdateTime中。函数返回布尔型真假值,表示是否可以转换成功 儒略日类型类型是自从格林威治公元前4713年1月一日中午到计时点的天数,包括小数。这种时间用在天文学,地球物理学等需要精确时间的地方
范例(t):

[code]
flag:=TryJulianDateToDateTime(2456658.91667,T);
if flag then

return Datetimet…
DateTimeToModifiedJulianDate
将TDateTime类型的参数转换成新儒略日类型。新儒略日类型类型是在儒略日类型上改进的,计时发法是自从格林威治1958年11月17日午夜到计时点的天数,包括小数
范例(t):

[code]
a := DateTimeToModifiedJulianDate(strtodatetime('2014-01-01 10:00:00'));
return a…
ModifiedJulianDateToDateTime
将新儒略日类型的参数AValue转换成TDateTime类型的。新儒略日类型类型是在儒略日类型上改进的,计时发法是自从格林威治1958年11月17日午夜到计时点的天数,包括小数
范例(t):

[code]
t := ModifiedJulianDateToDateTime(56658.41667);
return datetimetostr(t); //输出2014…
TryModifiedJulianDateToDateTime
与ModifiedJulianDateToDateTime函数非常类似,将新儒略日类型的参数AValue转换成TDateTime类型的值存到参数AdateTime中。函数返回布尔型真假值,表示是否转换成功 新儒略日类型类型是在儒略日类型上改进的,计时发法是自从格林威治1958年11月17日午夜到计时点的天数,包括小数
范例(t):

[code]
flag:=TryModifiedJulianDateToDateTime(56658.41667,t);
if flag then

return date…
Sprand1
创建与矩阵S结构相同的稀疏格式矩阵,并将其中的非零元素替换为均匀分布随机数
范例(t):
[code]
//创建与矩阵S相同结构的稀疏均匀随机矩阵
S:=array((0,0,3,0,0),
      (0,0,0,0,0),
      …
Sprand2
创建m*n稀疏均匀随机矩阵,其中非零元素所占比例为pct
范例(t):
//创建10*10稀疏均匀随机矩阵
A:=sprand2(10,10,0.3);
return A;

//结果:
  [img type=&…
Sprandn1
创建与矩阵S结构相同的稀疏格式矩阵,并将其中的非零元素替换为正态分布随机数
范例(t):
[code]
//创建与矩阵S相同结构的稀疏正态随机矩阵
S:=array((0,0,0,0,0),
      (0,0,0,5,0),
      …
Sprandn2
创建m*n稀疏正态随机矩阵,其中非零元素所占比例为pct
范例(t):
//创建10*10稀疏正态随机矩阵
A:=sprandn2(10,10,0.2);
return A;

//结果:
  [img type=…
Sprandsym1
创建与矩阵S结构相同的稀疏格式矩阵,以下三角矩阵为基准的对称正态分布随机矩阵
范例(t):
[code]
//创建与矩阵S相同结构的对称稀疏正态随机矩阵
S:=array((6,1,0,14,0),
      (0,7,0,0,15),
    …
Sprandsym2
创建n*n稀疏正态随机矩阵,以下三角矩阵为基准对称正态分布随机矩阵,其中非零元素所占比例大约为pct
范例(t):
//创建10*10对称稀疏正态随机矩阵
A:=sprandnsym2(10,0.2);
return A;

//结果:
  [img typ…
ExpandTable
按指定字段展开表格,根据Keyfield展开指定列。展开的列值必须二维数据表,否则保留原值。
范例(t):
[code]
//按照分红送股列展开数据
data:=Query("","SH600000;SZ000002",True,"&qu…
TransDataStandardize
空(NIL)数据标准化。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑。
RandomRange
返回一个介于参数AFrom(包括)和参数ATo(不包括)之间的随机整数
范例(t):
return RandomRange (4.7,8.5); 
//结果:5//返回4到8之间的随机整数
参考:[ref]简单函数对数组支持[/ref…
SumsAndSquares
计算一组实数的总和以及平方和,执行完毕后,总和存在参数Sum,平方和存在参数SumOfSquares中
范例(t):
[code]
a:=array(2,3,1,5,6,7);
//b是总和,c是平方和
SumsAndSquares (a,b,c);
return array(b,c);
[…
MeanAndStdDev
估计一组数据的平均值和标准差。执行完毕后,平均值放在参数Mean中,标准差放在参数StdDev中
范例(t):
[code]
a:=array(5.3,3.9,5.6,5,7.5,7.6);
//b是返回的平均值,c是返回的标准差
MeanAndStdDev (a,b,c);
Retur…
RandG
随机产生均值为Mean,标准差为StdDev的服从高斯分布的数据。往往用于模拟取样误差。
范例(t):
return RandG (2,3);
//结果:3.05   //3.05是均值为2,标准差为3的高斯分布的一个样本数据
参考:[ref]简单…
Standarize_II
数据预处理,对二维数字数组进行标准化化处理;行:样本个数;列:因子个数.
范例(t):
//每列之和为0
A:=rand(5,5);
A:=Standarize_II(a,7);
Return A;

返回结果:
[img typ…
Randnorm
产生正态分布的随机数
范例(t):
return randnorm(0,1,10,array("a","b"));

结果:
[img type…
Randunid
产生离散均匀分布的随机数
范例(t):
return randunid(10,10,array("a","b"));

结果:
[img type=…
Randgeo
产生几何分布的随机数
范例(t):
return randgeo(10,10,array("a","b"));

结果:
[img type=&…
Randhyge
产生超几何分布的随机数
范例(t):
return randhyge(100,10,20,10,array("a","b"));

结果:
[im…
Randbino
产生二项分布的随机数
范例(t):
return randbino(10,0.5,10,array("a","b"));

结果:
[img t…
Randnbin
产生负二项分布的随机数
范例(t):
return randnbin(10,0.5,10,array("a","b"));

结果:
[img t…
Randunif
产生均匀分布的随机数
范例(t):
return randunif(1,10,10,array("a","b"));

结果:
[img ty…
Randpoiss
产生泊松分布的随机数
范例(t):
return randpoiss(10,10,array("a","b"));

结果:
[img typ…
Randexp
产生指数分布的随机数
范例(t):
return randexp(1,10,array("a","b"));

结果:
[img type=&…
Randch2
产生卡方分布的随机数
范例(t):
return randch2(30,10,array("a","b"));

结果:
[img type=…
Randt
产生学生T分布的随机数
范例(t):
return randt(30,10,array("a","b"));

结果:
[img type=&q…
Randf
产生F分布的随机数
范例(t):
return randf(20,30,10,array("a","b"));

结果:
[img type=…
Randgam
产生伽马分布的随机数
范例(t):
return randgam(2,2,100,array("a","b"));

结果:
[img typ…
Randbeta
产生贝塔分布的随机数
范例(t):
return randbeta(2,4,100,array("a","b"));

结果:
[img ty…
Randrayl
产生瑞利分布的随机数
范例(t):
return randrayl(1,100,array("a","b"));

结果:
[img type…
Randwbl
产生威布尔分布的随机数
范例(t):
return randwbl(1,1.5,100,array("a","b"));

结果:
[img ty…
Randlogn
产生对数正态分布的随机数
范例(t):
return randlogn(0,1,10,array("a","b"));

结果:
[img type…
RandLaplace
产生拉普拉斯的随机数
范例(t):
return randLaplace(0,2,10,array("a","b"));

结果:
[img t…
RandCauchy
产生柯西的随机数
范例(t):
return randCauchy(0,2,10,array("a","b"));

结果:
[img ty…
Regress_AicAndSbic
信息准则函数,判断序列的最佳滞后阶数,分别计算AIC和SBIC统计量,并把结果赋值到一个一维数组,第一个是Aic值,第二个Sbic值。当选择最佳滞后阶数时,统计量越小越好。 AIC和SBIC的表达式如下所示: [img type="tslxml" file="media2024-03-20_WEfCpvnqqtg5qGJa/image573.png"][/img] [img type="tslxml" file="media2024-03-20_WEfCpvnqqtg5qGJa/image574.png"][/img] [img type="tslxml" file="media2024-03-20_WEfCpvnqqtg5qGJa/image575.png"][/img] 其中:T为样本容量;k为自变量个数;u为残差;
范例(t):

[code]
U:=array(0.245863,0.056726,-0.145411,-0.287547,-0.410684,0.012821,0.073042,0.20190…
Time_RandomTest
Ljung和Box提出的修正Qm统计量,用于检验序列是否为白噪声,原假设为白噪声序列,即纯随机序列。(Hypothesis为1表示接受原假设,0表示拒绝原假设) Qm统计量的计算公式如下: [img type="tslxml" file="media2024-03-20_WEfCpvnqqtg5qGJa/image671.png"][/img] 其中:[img type="tslxml" file="media2024-03-20_WEfCpvnqqtg5qGJa/image669.png"][/img]是自相关系数,T是样本容量,m是最大滞后长度
范例(t):
[Code]
y:=randNorm(0,1,200);
m:=6;
alpha:=0.05;
return Time_RandomTest(y,m,alpha);
[/Co…
Slopeandintercept
两个数据间的回归斜率和截距
算法:
备注:参数数据长度必须保持一致且大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘收盘价格的回归斜率和截距
[code]
begt:=2018100…
MeanAndPopnStdDevWithRate
带权重总体标准差以及平均值。
算法:
μ=1nRi*Di1nRi
σ=1nRi*inRi*Di2-(1nRi*Di)21nRi
其中μ为均值,σ为标准差范例(t):
[code]
MeanAndPopnStdDevWit…
BetaAndAlpha
得到斜率和截距。
范例(t):

BetaAndAlpha(array(3,6),array(4,12),k,b);

return k;

//返回:0.375
Expanding_Unit
[htm]功能描述:
<br/>&nbsp;&nbsp;&nbsp;扩充统计单元库,扩充统计方法,提高运算效率,譬如cumsum
<br/> 输&nbsp;&nbsp;入:
<br/>&nbsp…
SysCloseHandle
关闭一个句柄,如互斥锁,文件句柄等。
范例(t):
[Code]

//启动windows平台下的windows命令处理程序,然后关闭启动该程序时返回的句柄

toolPath := "C:\\Program File…
StockPFAndRatioInfo3
提取股票的指定报告期的报告期分红送股情况,与系统股票pn_stock()、当前时间pn_date()相关。

算法:

如果ReturnType为0 ,则返回报告期分红送股实施数据。

否则,返回空数组。范例(t):
[code]
//计算SZ000002,2017年年报的分红送股实施数据
StockBuyandHoldReturn
提取股票的持仓不动收益率(%),与系统股票pn_stock()、当前时间pn_date()、周期pn_cycle(),除权方式pn_rate()相关。

算法:

取每股期末股数和累计分红得到数组t;

取开始日前一天的收盘价BegValue;

截止日收盘价*每股期末股数+累计分红EndValue;

(EndValue / Be…
StockPFAndRatioInfo_ExDate
报告期分红送股情况_实施。 分红送股实施数据从分红送股表中取得。
范例(t):
[code]
oV:=BackUpSystemParameters2();
//取'万科A'在2011年报告期分红送股情况_实施;
setsysparam(pn_stock(),…
StockBuyandSellByInsider
提取股票的区间高管增减持详情,与系统股票pn_stock()、当前时间pn_date()相关。
算法:

(1)取表"股票.董事、监事、高管持股变动"中'变动开始日'大于等于开始日,'变动截止日'小于等于截止日的数据。并在该基础上增加两列:'原始收盘'、'复权收盘'得到数组data;

BK_HSGBAndSAmount
指定日通道的买入及卖出成交额(元/港币),南向港股通交易单位为港币,北向沪深股通交易单位为元。与系统参数(股票,日期)相关。 系统参数: PN_Stock():沪深港通板块代码: 港股通'HG000001',沪股通'HG000002',港股通(深)'HG000003',深股通'HG000004' PN_Date():日期
BK_HSGBAndSCjbs
指定日通道的买入及卖出成交笔数,单位:笔。与系统参数(股票,日期)相关。 系统参数: PN_Stock():沪深港通板块代码: 港股通'HG000001',沪股通'HG000002',港股通(深)'HG000003',深股通'HG000004' PN_Date():日期
BK_HSGAMarketBAndSAmount
指定日北向的买入及卖出成交额(元)。与系统参数(日期)相关。
BK_HSGHMarketBAndSAmount
指定日南向的买入及卖出成交额(港币)。与系统参数(日期)相关。
BK_HSGBAndSAmountSum
区间通道的买入及卖出成交额(亿元/港币),南向港股通交易单位为亿港币,北向沪深股通交易单位为亿元。与系统参数(通道代码)相关。
BK_HSGBAndSCjbsSum
区间通道的买入及卖出成交笔数,单位:万笔。与系统参数(通道代码)相关。
BK_HSGBAndSAmountAvg
区间日均通道的买入及卖出成交额(亿元/港币),南向港股通交易单位为亿港币,北向沪深股通交易单位为亿元。与系统参数(通道代码)相关。
算法:区间通道的买入及卖出成交额/区间交易天数…
BK_HSGBAndSCjbsAvg
区间日均通道的买入及卖出成交笔数,单位:万笔。与系统参数(通道代码)相关。
算法:通道的买入及卖出成交笔数区间和/区间交易天数…
BK_HSGNMarketBAndSAmountSum
区间北向通道股票买入及卖出成交额。 如果返回0,说明区间通道无交易
范例(t):
  [code]
  //获取北向通道在区间20220701-20220718 股票买入及卖出成交额
return BK_HSGNMarketBAndSAmountSum(…
BK_HSGStocksBAndSAmountPercent
区间股票买入及卖出成交额占买入及卖出成交额比(%),与系统参数(通道代码)相关。 访问代码:沪深港通虚拟代码,如'HG000001'。
  算法:区间股票买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取港股通(沪)在区间20220701-2…
BK_HSGSMarketETFBAndSAmountPercent
南向通道区间ETF买入及卖出成交额占买入及卖出成交额比(%)。
  算法:区间ETF买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取南向通道在区间20220701-20…
BK_HSGETFBAndSAmountPercent
访问代码:沪深港通虚拟代码,如'HG000001'。。区间ETF买入及卖出成交额占买入及卖出成交额比(%),与系统参数(通道代码)相关。
  算法:区间ETF买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取港股通(沪)在区间20220701-…
BK_HSGSMarketBAndSAmountPercent
南向通道区间股票买入及卖出成交额占买入及卖出成交额比(%)。
  算法:区间股票买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取南向通道在区间20220701-202…
BK_HSGSMarketETFBAndSAmountSum
南向通道区间ETF买入及卖出成交额,南向港股通交易单位为亿港币,北向沪深股通交易单位为亿元。 如果返回0,说明区间南向通道无交易
范例(t):
  [code]
  //获取南向通道在区间20220701-20220718 ETF买入及卖出成交额
return BK_HSGSMarketETFBAndSAmount…
BK_HSGSMarketBAndSAmountSum
区间南向通道股票买入及卖出成交额。 如果返回0,说明区间通道无交易
范例(t):
  [code]
  //获取南向通道在区间20220701-20220718 股票买入及卖出成交额
return BK_HSGSMarketBAndSAmountSum(…
BK_HSGNMarketETFBAndSAmountPercent
北向通道区间ETF买入及卖出成交额占买入及卖出成交额比(%)。
  算法:区间ETF买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获北向通道在区间20220701-202…
BK_HSGNMarketETFBAndSAmountSum
北向通道区间ETF买入及卖出成交额,南向港股通交易单位为亿港币,北向沪深股通交易单位为亿元。 如果返回0,说明区间北向通道无交易
范例(t):
  [code]
  //获取北向通道在区间20220701-20220718 ETF买入及卖出成交额
return BK_HSGNMarketETFBAndSAmount…
BK_HSGStocksBAndSAmountSum
访问代码:沪深港通虚拟代码,如'HG000001'。。区间通道股票买入及卖出成交额,南向港股通交易单位为亿港币, 北向沪深股通交易单位为亿元。与系统参数(通道代码)相关。 如果返回0,说明区间通道无交易
范例(t):
  [code]
  //获取港股通(沪)在区间20220701-20220718 股票买入及卖出成交额
  SetSysParam(PN_Stock(),'HG000…
BK_HSGETFBAndSAmountSum
访问代码:沪深港通虚拟代码,如'HG000001'。。区间通道ETF买入及卖出成交额,南向港股通交易单位为亿港币, 北向沪深股通交易单位为亿元。与系统参数(通道代码)相关。 如果返回0,说明区间通道无交易
范例(t):
  [code]
  //获取港股通(沪)在区间20220701-20220718 ETF买入及卖出成交额
  SetSysParam(PN_Stock(),'HG00…
BK_HSGNMarketBAndSAmountPercent
北向通道区间股票买入及卖出成交额占买入及卖出成交额比(%)。
  算法:区间股票买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取北向通道在区间20220701-202…
BK_HSGStocksBAndSAmount
指定日当前通道股票买入及卖出成交额,南向港股通交易单位为亿港币,北向沪深股通交易单位为亿元。 与系统参数(证券,日期)相关。 访问代码:沪深港通虚拟代码: HG000001(港股通(沪))HG000002(沪股通) HG000003(港股通(深))HG000004(深股通) 如果返回0,说明指定日当前通道股票无交易或无相关数据的交易
范例(t):
  [code]
  //  获取港股通(沪)20220718股票买入及卖出成交额(亿港币)
  SetSysParam(PN_Stock(),'HG000001')…
BK_HSGSMarketBAndSAmount
指定日南向通道股票买入及卖出成交额(亿),南向港股通交易单位为港币。 与系统参数(日期)相关。 如果返回0,说明指定日当前通道股票无交易或无相关数据的交易
范例(t):
  [code]
  //  获取南向通道20220718股票买入及卖出成交额
  SetSysParam(PN_Date(),20220718T);
return…
BK_HSGSMarketETFBAndSAmount
指定日南向通道ETF买入及卖出成交额,南向港股通交易单位为港币,北向沪深股通交易单位为元。 与系统参数(日期)相关。 如果返回0,说明指定日南向通道ETF无交易或无相关数据的交易
范例(t):
  [code]
  //  获取南向通道在20220718 ETF买入及卖出成交额(元)
  SetSysParam(PN_Date(),20220718T);
BK_HSGNMarketBAndSAmount
指定日北向通道股票买入及卖出成交额(亿) 与系统参数(日期)相关。 如果返回0,说明指定日当前通道股票无交易或无相关数据的交易
范例(t):
  [code]
  //  获取北向通道20220718股票买入及卖出成交额
  SetSysParam(PN_Date(),20220718T);
return…
BK_HSGNMarketETFBAndSAmount
指定日北向通道ETF买入及卖出成交额,南向港股通交易单位为港币,北向沪深股通交易单位为元。 与系统参数(日期)相关。 如果返回0,说明指定日当前通道ETF无交易或无相关数据的交易
范例(t):
  [code]
  //  获取北向通道在20220718 ETF买入及卖出成交额(港币)
  SetSysParam(PN_Stock(),'HG000001')…
BK_HSGETFBAndSAmount
指定日当前通道ETF买入及卖出成交额,南向港股通交易单位为亿港币,北向沪深股通交易单位为亿元。 与系统参数(证券,日期)相关。 访问代码:沪深港通虚拟代码: HG000001(港股通(沪))HG000002(沪股通) HG000003(港股通(深))HG000004(深股通) 如果返回0,说明指定日当前通道ETF无交易或无相关数据的交易
范例(t):
  [code]
  //  获取港股通(沪)20220718 ETF买入及卖出成交额(亿港币)
  SetSysParam(PN_Stock(),'HG000001…
BK_HSGActiveBAndSAmountNoN
指定日第N大活跃股的买入及卖出金额(元/港币),南向港股通交易单位为港币,北向沪深股通交易单位为元。与系统参数(股票,日期)相关。 系统参数: PN_Stock():沪深港通板块代码: 港股通'HG000001',沪股通'HG000002',港股通(深)'HG000003',深股通'HG000004' PN_Date():日期
BK_HSGActiveBAndSAmountPercentNoN3
指定日第N大活跃股的买入及卖出金额占该通道的买入及卖出成交额比(%),与系统参数(股票,日期)相关。 系统参数: PN_Stock():沪深港通板块代码: 港股通'HG000001',沪股通'HG000002',港股通(深)'HG000003',深股通'HG000004' PN_Date():日期
算法:(第N大活跃股的买入及卖出金额/该通道的买入及卖出成交额)*100…
BK_HSGActiveBAndSAmountSumN
指定日前N大活跃股的买入及卖出金额之和,与系统参数(股票,日期)相关。 系统参数: PN_Stock():沪深港通板块代码: 港股通'HG000001',沪股通'HG000002',港股通(深)'HG000003',深股通'HG000004' PN_Date():日期
算法:前N大活跃股的买入及卖出金额之和…
BK_HSGActiveBAndSAmountPercentSumN3
指定日前N大活跃股的买入及卖出金额之和占该通道的买入及卖出成交额的比(%),与系统参数(股票,日期)相关。 系统参数: PN_Stock():沪深港通板块代码: 港股通'HG000001',沪股通'HG000002',港股通(深)'HG000003',深股通'HG000004' PN_Date():日期
算法:(前N大活跃股的买入及卖出金额之和)/(该通道的买入及卖出成交额)*100…
ListAAndB
判断一个股票是否同时发行有A股和B股
范例(t):
[code]
//返回" SH600602"是否同时发行A、B股
ov:=BackUpSystemParameters();
SetSysParam(pn_s…
ListAAndH
判断一个股票是否同时发行有A股和H股
范例(t):
[code]
//返回" SH600602"是否同时发行A、H股
ov:=BackUpSystemParameters();
SetSysParam(pn_s…
AandB
返回所有A股和B股的对应列表。
范例(t):
//返回A股和B股的对应列表
Return AAndB ();

[img type="tslxml" file="m…
StockAlphaBetaAndRisk
指定日α、β、系统风险、非系统风险,与当前股票pn_stock(),当前时间pn_date()相关。
范例(t):
[code]
//SZ300296 利亚德,指数代码为SH000001, 2000年1月1日到2018年9月27日的α、β、系统风险、非系统风险。
setsysparam(pn_s…
Stock_RestrictedBanDate
指定日最近的一个解禁日,与系统参数(证券代码,时间)相关 最近的未来的一个解禁日(包括当日)
范例(t):
  [code]
  // "SZ002327"在20220906最近的一个解禁日
  SetSysParam(pn_stock(),"S…
OP_GetPutAndCallratio
看跌看涨比率
算法:到日期为Ex_endt日的指定期权品种为StockID的 在指定时间endt的所有认购期权成交量与认沽期权成交量的比值,到期日<=0表示取所有代码范例(t):
[code]
Return O…
FundCashAndBonusInfo
基金区间分红和拆分情况,与系统证券pn_stock()相关。
范例(t):
[code]
//取基金金泰2005年2月1日到2012年3月5日之间的分红和拆分情况
Setsysparam(pn_stock(),'SH500001');
Return Fu…
BondDaysBetweenDatedandMaturityDate
零息债券起息日到到期日的实际天数
BondDaysBetweenDatedandSettlement
零息债券起息日到结算日的实际天数
BondDaysBetweenPreviousCouponandNextCoupon
上一个付息日与下一个付息日之间的天数
BondDaysBetweenPreviousCouponandSettlement
计息天数,上一个付息日与结算日之间的天数。
BondDaysBetweenSettlementandMaturity
结算日至到期日的剩余天数
BondDaysBetweenSettlementandNextCoupon
结算日至下一个付息日的计息天数
BondNumbersBetweenSettlementandMaturity
剩余付息次数,结算日至到期日剩余付息次数。
BondYearsBetweenDatedandMaturity
起息日到到期日的整年数
BondYearsBetweenDatedandSettlement
到期一次还本付息债券起息日至结算日的整年数
BondYearsBetweenSettlementandMaturity
结算日至到期日剩余整年数
BondNumbersBetweenSettlementandFutureDay
评估日与未来评估日之间的付息次数
StockInandOutIndexCompisteDetail
查询指定股票做为成分股在指定指数INDEXID指定时间内begt到endt,调入和调出指数详情.
范例(t):
[code]
SetSysParam(PN_Stock(),’SZ000690’);
begt:=20000801T;
endt:=20190101T;
return Stoc…
StocksHighAndLowVol
板块区间最高/低成交量(万)
范例(t):
[code]

//返回沪深300区间最高成交量
stks := getbkbydate('SH000300',inttodate(20101231));;
BegT:= in…
StocksHighandLowAmount
板块区间最高/最低成交金额(万)
范例(t):
[code]

//返回沪深300区间最高成交金额
  stks:= getbkbydate('SH000300',inttodate(20101231));
  BegT…
StocksHighandLowValue
板块区间最高/最低市值(修正)
范例(t):
范例1:
[code]

//返回沪深300区间总股本加权最高市值
  stks:= getbkbydate('SH000300',inttodate(20101231));…
Bk_LongDebtToNetAssetsandDebtRatio
计算板块长期债务与营运资金比率(非百分数);板块为pn_bk()设置的当前系统板块。 加权时,其值为板块个股长期负债简单加总和的平均值/(板块个股流动资产简单加总和的平均值–板块个股流动负债简单加总和的平均值) 算术平均时,先求报告期内板块个股的长期债务与营运资金比率,其值为板块个股长期负债/(板块个股流动资产–板块个股流动负债), 然后再对板块内个股的长期债务与营运资金比率之和求平均。
范例(t):
[Code]
//返回沪深300 2012年上半年长期债务与营运资金比率(非百分数)
d:=inttodate(20120830);
Setsysparam(pn_date(),…
Bk_MOTaxandExpensesRatio
计算板块销售税金率(%),板块为pn_bk()设置的当前系统板块。 1)加权时,其值为板块个股主营业务税金及附加的简单加总和的平均值/板块个股的主营业务收入的简单加总和的平均值*100% 2)算术平均时,先求报告期内板块个股的销售税金率,其值为板块个股主营业务税金及附加/板块个股主营业务收入*100%,然后再对板块个股的销售税金率之和求平均。
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块销售税金率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d);
Bk_TaxandExpenses
计算板块主营业务税金及附加,结果和参数Returntype有关,板块为pn_bk()设置的当前系统板块。 1)ReturnType为平均值时,其值为板块个股的主营业务税金及附加的简单加总和 / 板块个股的个数。 2)ReturnType为合计时,其值为板块个股的主营业务税金及附加的简单加总和。
范例(t):
[Code]
//返回沪深300 2012年中报的板块主营业务税金及附加
d:=inttodate(20120830);
Setsysparam(pn_date(),d);
s…
StocksTaxandExpenses
计算板块平均主营业务税金及附加
范例(t):
[code]
//返回2017年9月30日沪深300板块平均主营业务税金及附加
EndT := inttodate(20170903);
setsysparam(pn_date(…
Bk_MOTaxandExpensesRatio_Q
计算板块销售税金率(季度)(%),板块为pn_bk()设置的当前系统板块。 1) 加权时,其值为板块个股本期的主营业务税金及附加的简单加总和的平均值 / 板块个股的本期的主营业务收入的简单加总和的平均值*100%。 2) 算术平均时,先求报告期内板块个股的销售税金率,其值为板块个股本期的主营业务税金及附加/板块个股本期的主营业务收入*100%,然后再对板块内个股的销售税金率之和求平均。
范例(t):
[Code]
//返回沪深300 2012年中报的加权板块销售税金率(季度)(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d…
BkPEAndPB_hx
市盈率、市净率
算法:
板块市盈率(总股本加权) = 市价总值和/(净利润和*加权系数)
板块市盈率(流通股本加权)=∑(股票i流通市值)/∑(股票i报告期净利润/股票i报告期总股本*股票i报告期流通股本*加权系…
IsValueBetweeMaxAndMin
从一张表中返回指定字段的数值在指定区间段内的个数。
算法:从数据t中选出字段为FieldNamed的数据,如果该数据在LowValue到HighValue中,统计个数n加1,最后返回n。范例(t):
[code]
   t:=select * …
Bk_ListAAndH
返回板块同时发行A、H股公司数,当前板块通过setsysparam(pn_bk(),bkname)进行设置,其中bkname为当前板块名称。
范例(t):
[code]

//返回沪深300在20180918日上市的仅发行A、H股个数
EndT := inttodate(20180918);
stockArr := getbkby…
Bk_ListAAndB
返回板块同时发行A、B股公司数,当前板块通过setsysparam(pn_bk(),bkname)进行设置,其中bkname为当前板块名称。
范例(t):
[code]

//返回沪深300在20180918日上市的公司仅发行A、B股个数
EndT := inttodate(20180918);
stockArr := getbk…
IE_EntrustmentContractingandLease
资产托管承包或租赁
范例(t):
[code]

Return IE_EntrustmentContractingandLease();

//返回字符串”资产托管承包或租赁”

//结果:”资产托管承包或…
IE_LawsuitsandArbitration
诉讼
范例(t):

return IE_LawsuitsandArbitration()

//返回字符串'诉讼仲裁'
StockHighAndLow
区间最高&最低,与系统证券pn_stock()有关,周期为日线,已复权(比例复权,基准日为EndT)。
算法:
Days为时间段内的交易日数;
若Days不为0,h=begt到endt区间的最高的最高价,L=begt到endt区间的最低的最低价;
若Days为0,则h,l取开始日前一天的收盘价。范…
KLineAndBoll2
带BOLL的K线;带BOLL的K线:图形叠加的方法2。直接使用函数参数,调用MergeGraph进行图形叠加;
范例(t):
[code]
setsysparam(pn_stock(),'SH600000');
setsysparam(pn_date(),inttodate(20140123));
r…
KLineAndMA
带Ma的K线
范例(t):
[code]
setsysparam(pn_stock(),'SH600000');
setsysparam(pn_date(),inttodate(20140123));
Re…
BkRiskAndReturn_Pgm
组合的贝塔值与风险(组合采取等资金加权)
范例(t):
[code]
//返回深证A股板块及其下个股加权beta/alpha/平均收益率/标准差/残差标准差/相关系数
  bkname:="深证A股";
  i…
BksRiskAndReturn_Pgm
不同组合的贝塔值与风险比较(组合采取等资金加权)
范例(t):
[code]

//返回深证A股及上证A股的风险指标
  bkname:="深证A股;上证A股";
  indexid:='SH000001';
 …
AllBKYieldAndRisk
所有板块Period期的预期收益和风险
范例(t):
Return AllBKYieldAndRisk(20,inttodate(20120628));

//结果:
[img type="t…
BKyieldAndRisk
某个板块Period期的预期收益和风险
范例(t):
  Return BKyieldAndRisk("深证A股",20,inttodate(20120728));

//结果:
yieldAndRisk
某个板块的成分股Period期的预期收益和风险
范例(t):

return yieldAndRisk("深证A股",20,inttodate(20120728));

//结果:
[im…
BkAndIndexKLine
板块K线和指数K线迭加,板块指数与大盘指数迭加
范例(t):
[code]
  Return BkAndIndexKLine(

array("SH600718","SZ000002"),

&…
StandarizeBkData_III
组合样本标准化(格式II),根据板块中的样本上市日期,自动调整组合
范例(t):
[code]
Return StandarizeBkData_III(array("SZ002001","SZ002020","SZ…
StandarizeBkData_II
根据不同日期的组合,按照各种加权方法自动计算各个投资品种的投资比例
范例(t):
[code]
 t:=array(('代码':'SZ000002','日期':41209),('代码':'SZ000001','日期':41209));
Return Stand…
StandarizeBkData_I
组合样本标准化(格式I),标准化日期,即将日期这一字段为Nil设置为数据表的第一行的值
范例(t):
[code]
 t:=array(('代码':'SZ000003','日期':nil),('代码':'SZ000002','日期':41209),('代码':'SZ000001',…
CashandCashEquivalentsPerShares
每股现金净流量,与系统参数(证券代码)相关 1、支持报告期、TTM、最近会计年度、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,见【范例2】 3)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例3】 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,见【范例4】 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例5】
算法:每股现金净流量 = 现金及现金等价物净增加额 / 总股本
其中,
现金及现金等价物净增加额来源【股票.合并现金流量表】中‘现金及现金等价物净增加额’字段,在不同算法中处理如下:
[htm…
SalesofGoodsandServicesCashGrowRatio
销售商品、提供劳务收到的现金增长率(%),与系统参数(证券代码)相关 1、支持报告期、TTM、最近会计年度、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,见【范例2】 3)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例3】 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,见【范例4】 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例5】
算法:销售商品、提供劳务收到的现金增长率(%) =(本期销售商品、提供劳务收到的现金-上年同期销售商品、提供劳务收到的现金)/abs(上年同期销售商品、提供劳务收到的现金)*100
其中,
销售…
MOTaxandExpensesRatio
销售税金率(%) 1、支持报告期、TTM、最近会计年度、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,见【范例2】 3)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例3】 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,见【范例4】 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例5】
算法:销售税金率(%) = 主营业务税金及附加 / 主营业务收入 * 100
其中,
主营业务税金及附加来源【股票.合并利润分配表】中‘营业税金及附加’字段,在不同算法中处理如下:
[htm]…
LongDebtToNetAssetsandDebtRatio
长期债务与营运资金比率 长期债务与营运资金比率常用于衡量企业的长期偿债能力。 1、支持报告期、最近会计年度的提取,不支持TTM、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例2】 3)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,不支持,结果为报告期RDate的数据 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,不支持,结果为报告期RDate的数据 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例3】
算法:长期债务与营运资金比率=长期负债/(流动资产-流动负债)
其中,
长期负债来源【股票.合并资产负债表】中的‘长期负债合计’字段,在不同算法中处理如下:
[htm]<table><tbody…
InventoryAndAccontTurnOverDays
营业周期,与系统参数(证券代码)相关 1、支持报告期、TTM、最近会计年度、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,见【范例2】 3)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例3】 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,见【范例4】 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例5】
算法:营业周期 = 存货周转天数 + 应收帐款周转天数
其中,
存货周转天数 = 财务周转天数 / 存货周转率
财务周转天数来源当前计算范围的自然日天数,在不同算法中处理如下:
[htm]<…
EndingBalanceofCashAndEquivalent
现金及现金等价物的期末余额,与系统参数(证券代码)相关 现金及现金等价物余额来源【股票.合并现金流量表】中‘期末现金及现金等价物余额’字段,在不同算法中处理如下: [htm]
分类 指标算法
报告期 指定报告期的期末现金及现金等价物余额
TTM 时点数据返回报告期的值
最近会计年度 截止报告期最近年度报告期的期末现金及现金等价物余额
单季度 时点数据返回报告期的值
[/htm]
范例(t):
范例01:报告期指标提取
[code]
//2024年年报白云机场的现金及现金等价物的期末余额
setsysparam(pn_stock(),'SH600004');
se…
TaxandAdditionalExpenses_12
最近12个月的主营业务税金及附加。 (1)主营业务税金及附加取自合并利润分配表; (2)根据最近12个月的算法得到最近12个月的主营业务税金及附加【注1】。
范例(t):
[code]
//指定2011年报,取万科A的最近12个月的主营业务税金及附加
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
TaxandAdditionalExpenses_Year
最近N年的主营业务税金及附加。 (1)取向后兼容的最新年报Q1,取N-1年前同期的年报Q2; (2)在合并利润分配表取Q2报告期的主营业务税金及附加。
范例(t):
[code]
//指定2011年报,取万科A的两年前主营业务税金及附加
oV:=BackUpSystemParameters2();
setsysparam(pn_stock()…
pf_CovarianceANDCorrelation
计算组合收益的相关系数矩阵tCorr与相关协方差矩阵tCov。 根据组合基本信息、计算开始日BegT、计算截止日EndT、区间最少交易点个数阀值 MinTradeDays、收益率计算方法ReturnMehthod、衰减因子Lamda(对于均值-方差法,Lamda=0;Risk Metric方法,一般取Lamda=0.94),计算组合的各个证券的均值、各个证券的标准差、协方差矩阵、相关系数矩阵。
范例(t):
[code]

s:=array;

s[0:1]['代码']:=array('SH600000','SH600028');

s[0:1]['行业代码']:=array(…
pf_MarginalStandardDeviation1
边际标准差,组合中某一证券比例发生变化导致的组合标准差的变化。
算法:
(1)取证券i的区间对数收益率序列 Yi
(2)取证券j的区间对数收益率序列 Yj
(3)计算证券i的标准差 Si
(4)计算证券j的标准差 Sj
(5)计算证券i与证券j的相关系数…
pf_VARKurtosisAndSkewness
计算峰度与偏度。
范例(t):
[code]

GetBkWeightByDate('SH000300', 20111231T,t);

s:=select ['指数代码'] as '行业代码',['代码']…
pf_MarginalStandardDeviation2
边际标准差,组合中某一证券比例发生变化导致的组合标准差的变化。
范例(t):
[code]

GetBkWeightByDate('SH000300', 20111231T,t);

s:=select ['指数代码'] as '行业代码',['代码']…
StockStandardDeviation
标准差,按照证券区间复权后的对数收益率序列,计算证券收益率序列的标准差,与系统参数(股票,周期相关)。
算法:
1、取证券区间的对数收益率序列y
2、计算证券区间对数收益率序列y的标准差范例(t):
[code]

SetSysParam(PN_Stock(),'SH000300');

pf_StandardDeviation2
组合标准差,根据组合中每个证券的比例和证券证券之间的协方差矩阵,计算组合的标准差,与系统参数(周期相关)。
范例(t):
[code]

s:=array;

s[0:1]['代码']:=array('SH600000','SH600028');

s[0:1]['行业代码']:=array(…
pf_IncrementalStandardDeviation2
增量标准差,增加某一证券后组合标准差和剔除某一证券后组合标准差之差,与系统参数(周期相关)。
算法:
证券i的组合标准差(%)(剔除后) = sqrt(sqr(组合标准差) - sum(Bi * Bj * COVij))
证券i的增量标准差(%) = 组合标准差 - 证券i的组合标准差(%…
pf_ComponentStandardDeviation2
成份标准差,组合中某一证券对组合标准差的贡献,与系统参数(周期相关)。
算法:
(1)取证券i与证券j对齐后的区间对数收益率序列 Yi 和 Yj
(2)计算证券i的标准差 Si
(3)计算证券j的标准差 Sj
(4)计算证券i与证券j的协方差 COVij = su…
pf_ComponentStandardDeviationPercent2
成份标准差贡献度,组合中某一证券对组合标准差的百分比贡献,与系统参数(周期相关)。
算法:
1、取证券i与证券j对齐后的区间对数收益率序列 Yi 和 Yj
2、计算证券i的标准差 Si
3、计算证券j的标准差 Sj
4、计算证券i与证券j的协方差 COVij = sum((Y…
StockSemiStandardDeviation
下方标准差,按照证券区间内复权后的对数收益率序列,计算证券的下方标准差,与系统参数(股票,周期相关)。
算法:
(1)取证券区间的对数收益率序列y
  (2)从y中取出小于下方标准差阀值的序列x
  (3)计算序列x相对于阀值的标准差范例(t):
[code]
SetSysParam(…
StockStandardDeviation2
标准差(考虑区间最少交易点后),对于期初未上市的证券,或者区间交易数据点个数过少的证券,用证券所属行业标准差,作为此证券标准差的替代,与系统参数(股票,周期相关)。
算法:
1、取证券区间的对数收益率序列y
2、计算证券区间对数收益率序列y的标准差范例(t):
[code]
SetSysParam(PN_Stock(),'SH600000');
SetS…
BrinsonOfBPercentandReturn
返回数组t中所有成分股,在EndT当天的所属行业、市值(万)、涨幅(%)、比例(%)、贡献度(%)、配置比例(%)等数据。 涨幅(%)=(EndT这天的收盘价-EndT前一天的收盘价)/EndT前一天的收盘价*100; 比例(%)=所指证券EndT-1这天的流通市值/数组t中所有证券在EndT-1这天的流通市值总和*100; 贡献度(%)=涨幅*比例(%); 配置比例(%)=所指证券EndT-1这天的流通市值/数组t中所有证券在EndT-1这天的流通市值总和*100。
范例(t):
[code]
//取沪深300的Brinson-基准t-1日比例和t日涨幅
t:=Query("沪深300","",True,"&…
BrinsonOfPPercentandReturn
考虑买卖后的t-1日组合各个品种占净值的比例。 根据t-1日持有的资产配置、持仓明细,以及t日的交易明细、申购赎回金额,统计出今日持有明细、涨幅等数据。
范例(t):
[code]
endt:=40547;
//t-1日资产配置
tpZCPZ:=array(
("截止日":40543.00,"股票市值"…
BrinsonOfRbIStandarize
标准化基准和组合的行业。 基准和组合的行业可能不同。如:组合只持有5个行业的股票,而基准有22个行业。 为了后续计算的时候方便,顾对组合中不持有的行业的比例、贡献度、涨幅设置为0。 函数没有返回值,将直接修改tP和tB。参数的传递方法是地址传递,被调用的函数修改了参数,也会传递回调用的函数。
范例(t):
[code]
EndT:=40547;
//实际组合大类资产
tP:=array(
("资产类别":"现金","截止日&quo…
BrinsonOfBuyAndHold
买入持仓的Brinson归因。函数已废弃。
范例(t):
[code]
t1:=array(
("代码":"000001","名称":"深发展A","比例(%)":0.1,"所属行业":"行业一"),
("代码":"600050","名…
BrinsonOfRbIStandarize_del
说明:函数已废弃
pf_StandardDeviation
组合-标准差(%),计算组合收益率序列的标准差(样本标准差)。用类SQL的stdevof关键字计算。
范例(t):
[Code]

//此处以申万采掘行业指数收益率序列作为用户组合的收益率序列
BegT := inttodate(20110101);
EndT := inttodate(20…
pf_ReturnandRisk
组合-风险回报,展示多个周期的多个风险指标
范例(t):
[Code]
//此处以浦发银行收益率序列作为用户组合的收益率序列,基准为上证指数
stockid := 'SH600000';
IndexId := 'SH000001';
sp_slopeandintercept
移动回归斜率和截距。两个表达式最近N个交易日的回归斜率和截距
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的回归斜率和截距
[code]
setsysparam(pn_Stock(),"SZ000002");
Se…
TS_ATGetParamterandDefaultValue
获得指定策略的缺省参数
范例(t):
[code]
argv:=array("柜台名":"Tinysoft","账号属性":"","账号":"10000003","密码":"10000003");
h:=TT_Use…
BlackAndWhite
单色打印。 类型:写
IsServerMDTZAndListTForm
指出FTP服务器是否支持FTP MDTM和LIST-T 命令。
 …
Slopeandinterceptof
回归斜率和截距的聚集函数
算法:
备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的回归斜率和截距
[code]
begt:=201…
Rand
初始化一个随机数组
范例(t):
范例01:
[code]
//生成0-1,10*10的随机矩阵,
SetSysParam(PN_Precision(),4);
  return rand(10,10); …
MRand
定义一:MRand(L1[,…LN][,randominfo:array]):FMArray
说明:初始化一个N维随机数矩阵,随机矩阵是否是实数还是整数矩阵,取决于参数RandomInfo
Q:python中通过pandas的read_sql方法以ODBC方式连接天软服务器时出现异常警告
问题描述
 使用pandas的read_sql方法连接天软时出现异常提示:UserWarning: pandas only support SQLAlchemy …
来源于FAQ
Randomchoice
随机抽样 返回一个随机的数组元素, 这个数组是由参数Avalue传递进来的。
pmstand_array
参数转化为一维数组,参数格式兼容
范例(t):
范例1
  V:=2;
  return pmstand_array(v);//array(2);

范例2
[code]
  V:="…
PortfolioBackTesting_Quantity_TradeOfDividendandSplit
T日股票分红、送股,基金分红、拆分以及债券付息、兑付交易数据
范例(t):
[code]
pfInfoData:=array(('分红再投资':0));
EndT:=inttodate(20230810);
tpGP:=array(
("组I…
PortfolioBackTesting_Quantity_VolAfterDividendandSplit
根据T日分红、送股、配股数据调整昨持仓(数量、总成本、成本价)
范例(t):
[code]
PfInfoData :=array((
        "自动参与配股":1,
        "分…
Stock_PEBand
返回指定证券P/E Bands数据。
范例(t):
[code]
//返回平安银行P/E Bands数据
setsysparam(pn_stock(),'SZ000001');
return Stock_PEBand(202001…
Stock_PBBand
返回指定证券P/B Bands数据。
范例(t):
[code]
//返回平安银行P/B Bands数据
setsysparam(pn_stock(),'SZ000001');
return Stock_PBBand(202001…
Stocks_IPOGetDataAndIndustry
返回指定证券列表发行上市数据。
范例(t):
[code]
//指定证券列表发行上市数据
StockArr:="SH688286;SH688408";
return Stocks_IPOGetDataAn…
Stocks_IssueAndList
返回指定板块指定区间新股上市情况和交易情况的相关数据。
范例(t):
[code]
//返回上证A股在20220101至20220201期间新股上市情况和交易情况的相关数据
return Stocks_IssueAndList('上证A股',2022…
Stocks_IPOGetDataAndCompare
返回指定证券同行业上市明细数据。
范例(t):
[code]
//返回万科A申万一级行业同行业上市明细数据
Return Stocks_IPOGetDataAndCompare("SZ000002",1); …
Block_HSGCapitalFlowAndMarket
返回指定区间指定沪深港板块的资金流向与市场价格走势数据。
范例(t):
[code]
//返回港股通(沪)在指定日20210110-20210121区间沪深港板块的资金流向与市场价格走势数据
Return Block_HSGCapitalFlowAnd…
Block_HSGAmountInfoAndTop10
返回指定日指定沪深港板块的十大活跃股成交统计。
范例(t):
[code]
//返回港股通(沪)在指定日20210111的十大活跃股成交统计
Return Block_HSGAmountInfoAndTop10("HG000001&…
bd_ExPand
扩展函数教学范例,获取截止日的流动股本
范例(t):
[code]
SetSysParam(pn_stock(),'sz000001');
return bd_ExPand(20171231T);//计算截止到2017年12月31日时…
hd_SpecAndSpecDate
Spec函数与SpecDate函数结合教学函数,返回指定股票ID到截止日Endt前Days个最高价中的最大者。与系统参数(周期、复权等相关)。
范例(t):
[code]
SetSysParam(PN_Cycle(),cy_day());设置周期
SetSysParam(PN_Rate(),0);设置为不复权
return hd_Sp…
fn_MainAndSubFunc
函数的定义与调用教学函数。函数本身调用了另外一个累积求和的函数,返回0到9的累积求和。
范例(t):
return fn_MainAndSubFunc();
//返回:45
fp_MarketAndBk
getbk教学函数。返回指定板块下的所有股票代码。
范例(t):
return fp_MarketAndBk('安徽');
返回:
[img type="tslxml" file="media2024-04-18_…
HandleExcept
Try-Except教学函数。对字符串‘123x’进行整形转字符串,如果捕获到错误,则返回整数0。
范例(t):
return HandleExcept();
//返回:0
TSWEB_Block_HSGAccumCapitalFlowAndMarketMove
WEB报表,获取累计净买入和市场基准指数累计涨幅(金额单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10沪股通累计净买入和市场基准指数累计涨幅
BKID:= "HG000002";
BegT:=in…
TSWEB_Block_HSGNetFlowAndMarket
WEB报表,沪深港通板块净买入(金额单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块净买入
BKID:= "HG000001;HG000003";
BegT:=int…
TSWEB_Block_HSGCapitalFlowAndForexMove
WEB报表,沪深港通板块资金流向与外汇走势对比(数据从2014-11-17开始,金额单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块资金流向与外汇走势对比
BKID:= "HG000001;HG000003";
B…
TSWEB_Block_HSGBSAmountAndMarketMove
WEB报表,买卖金额(金额单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块买卖金额
BKID:= "HG000001;HG000003";
BegT:=in…
TSWEB_Block_HSGBSAmountAndMarketRatio
WEB报表,买卖合计与市场(金额单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块买卖合计与市场
BKID:= "HG000001;HG000003";
BegT:…
TSWEB_Block_HSGBalanceAndMarket
WEB报表,板块额度余额(金额单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块额度余额
BKID:= "HG000001;HG000003";
BegT:=in…
TSWEB_Stock_HSGHolingAndMarketTrend
报表,获取指定股票区间持仓数据(市值单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10日万科A持仓数据
StockID:= "SZ000002";
BegT:=inttodate(…
TSWEB_Stock_HSGHolingChangeAndMarketTrend
报表,获取指定股票区间持仓变动(市值单位:亿元/亿港币)
范例(t):
[code]
//返回2023-07-10至2024-07-10日万科A持仓变动
StockID:= "SZ000002";
BegT:=inttodate(…
TSWEB_Market_HSGAmountAndActiveTop10AmountAndPercent
报表,指定日沪深港通总况及十大成交(单位:亿元/亿港币)
范例(t):
[code]
//返回截止至2024-07-10日沪深港通总况及十大成交
EndT:=inttodate(20240710);
return TSWEB_Market_HSGAm…
TSWEB_Stock_IPOGetDataAndCompare
返回指定股票同行业的上市信息
范例(t):
[code]
//返回申万一级行业华能水电(SH600025)同行业的上市信息
IndustryType:=1;
StockID:= "SH600025"; …
BK_HSGBAndSAmountField
当前通道的买入及卖出成交额(元/港币)字段名,与系统参数(证券)相关。南向港股通交易单位为港币,北向沪深股通交易单位为元。
范例(t):
[code]


//获取港股通(沪)的买入及卖出成交额(港币)字段名
SetSysParam(PN_Stock(),'HG000001');
return BK_HSGBA…
BK_HSGETFBAndSAmountField
当前通道ETF买入及卖出成交额字段名。南向港股通交易单位为港币,北向沪深股通交易单位为元。
范例(t):
[code]


//获取港股通(沪)ETF买入及卖出成交额字段名
return BK_HSGETFBAndSAmountField(); 
//返回:ETF买入及卖出成交…
BK_HSGStocksBAndSAmountField
当前通道股票买入及卖出成交额字段名。南向港股通交易单位为港币,北向沪深股通交易单位为元。
范例(t):
[code]


//获取港股通(沪)股票买入及卖出成交额字段名
return BK_HSGStocksBAndSAmountField(); 
//返回:股票买入及卖出成…
Stock_GetRestrictedBanData
获取指定日限售解禁数据。
范例(t):
[code]


// "SZ002327"在20220905的限售解禁数据

  return Stock_GetRestrictedBanData…
RAndDExpensesRatio
研发费用比例(%) 1、支持报告期、TTM、最近会计年度、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,见【范例2】 3)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例3】 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,见【范例4】 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例5】
算法:研发费用比例(%) = 研发费用 / 营业收入 * 100
其中,
研发费用来源【股票.合并利润分配表】中‘研发费用’字段,在不同算法中处理如下:
[htm]<table><tbody><…
TaxandAdditionalExpenses_Q
主营业务税金及附加,与系统参数(股票)相关。
范例(t):
[code]

//SZ000728 2022第四季度主营业务税金及附加
  SetSysParam(pn_stock(),"SZ000728");
GetBondSYLQKByTypeAndYears
区间债券对应年期的到期收益率。
范例(t):
[code]



return GetBondSYLQKByTypeAndYears(20150101T,20181231T,10,'BTS000033');
[/code…
Pn_BondStandardDate
债券基准公布日串,用于债券取现金流。
范例(t):
return Pn_BondStandardDate();
//结果:BondStandardDate
StandardShowReport
清除多个报告期数据项都为0的财务字段。
范例(t):
[code]
//万科A利润分配表(清除数据为0的财务字段)
r:=InterestDistribute("SZ000002",0);
return Stan…
StockIssueAndList_Call
上市公司新股发行及上市情况。
范例(t):
[code]
return StockIssueAndList_Call(Array("SH600026"),20020101T,20021231T);
[/c…
StockPFAndRatioInfo
区间分红送股情况,与系统参数(股票代码)相关。
范例(t):
[code]
SetSysParam(PN_Stock(),"SZ000002");
return StockPFAndRatioInfo(20010101T,…
MarketAndTotalValueStructure
板块流通市值结构表。
范例(t):
[code]
return MarketAndTotalValueStructure("上证A股;深证A股",20030430T,0,20,5,0);
[/co…
StandGrowthOfNReport
N期标准化增长率
算法:N期标准化增长率=(当期-去年同期)/过去N期标准差范例(t):
[code]
setsysparam(pn_stock(),"SH600519");
Exp:=@La…
SysPidOfHandle
根据进程句柄获取进程ID。在Linux上,返回和进程句柄值相同的整数
范例(t):
范例01:根据进程句柄获取进程ID
[code]
//TSL解析器路径
path := "D:\\Program Files\\AnalyseNG.NET\\TSL.exe"; …
SysHandleOfPid
Windows上获取进程id对应的句柄,Linux上获取指定文件ID的复制ID。得到的句柄可用函数[FAQ id=21436][/FAQ]进行关闭。
范例01:根据进程ID获取进程句柄
打开记事本,在任务管理器中查找对应进程ID:

[code]
ret:= SysHandleOfPid(35880)…
RandCopula
生成服从copula分布的随机数
范例(t):
范例01:gaussian分布
[code]
Rho :=array(
    (1.0000,0.9239,0.0358),
    (0.9239,1.0000…
Stock_ShareHolderIncreaseAndReduce
股东增减持
范例(t):
[code]
//SH600031在2024年的股东增减持数据
  SetSysParam(pn_stock(),"SH600031");
  ret…
Bk_CashFlowInvestingAndFinancingRatio
板块现金投资筹资比率,与系统参数pn_bk()相关。
   算法:现金投资筹资比率=经营活动产生的现金流量净额/投资和筹资活动的现金流出合计范例(t):
[code]
//A股板块在20231231的板块现金投资筹资比率(算术平均)
  …
CashFlowInvestingAndFinancingRatio
现金投资筹资比率,与系统参数(证券代码)相关 1、支持报告期、TTM、最近会计年度、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,见【范例2】 3)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例3】 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,见【范例4】 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例5】
算法:现金投资筹资比率=经营活动产生的现金流量净额 / 投资和筹资活动的现金流出
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中…
StockHoldersIncreaseAndReduceDataQJ
获得指定区间大股东不同变动类型下的增减持数量、市值、比率
范例(t):
[code]
   //"SZ000001"在20090527全部大股东增持数量
   return StockHoldersIncreaseAnd…
LongDebtToNetAssetsandDebtRatio
长期债务与营运资金比率 1、支持报告期、最近会计年度的提取,不支持TTM、单季度的提取,用法如下, 在调用模型之前,通过设置系统参数指定对应算法: 1)不设置时,默认提取指定报告期RDate的数据,见【范例1】 2)设置SetSysParam(CT_YearData(),True)与setsysparam(CT_RecentYear(),N)表示获取最近N个会计年度数据,见【范例2】 3)设置SetSysParam(CT_TTMData(),True),表示获取TTM数据,不支持,结果为报告期RDate的数据 4)设置SetSysParam(CT_QuarterData(),True),表示获取单季度的数据,不支持,结果为报告期RDate的数据 5)当同时设置多个参数时,按优先级从高到低:TTM>单季度>最近N个会计年度 2、支持通过设置当前时间获取调整前与调整后数据,见【范例3】
算法:长期债务与营运资金比率 = 长期负债 / (流动资产-流动负债)
其中,
长期负债来源【股票.合并资产负债表】中‘长期负债合计’字段,在不同算法中处理如下:
[htm]<table><tb…
randomfrom
从一组数据中随机抽取一个样本
范例(t):
Data:=array(5,3,6,8,9,10,4);
return randomfrom(Data); 
//结果:9
参考:[ref]统计…
StocksHoldersIncreaseAndReduceDataQJ
获得指定区间股票列表大股东不同变动类型下的增减持市值、比率、股票个数、股票列表
范例(t):
[code]
   //"SH600236"和"SH600131"在20150101到20151231全部大股东增持市值
   …
Stock_NonRecurringGainsAndLosses
非经常性损益
范例(t):
[code]
   //获取中航成飞最近6个报告期的非经常性损益数据
  SetSysParam(pn_stock(),"SZ302132");
StocksRestrictedBanAndNRSPercentQJ
区间解禁市值占未流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300成分股在20250910到20250916的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
StocksRestrictedBanAndRSPercent
指定日解禁市值占流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300成分股在20250916的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
  endt:…
StocksRestrictedBanAndRSPercentQJ
区间解禁市值占流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300成分股在20250910到20250916的解禁市值占流通市值比例(%)
  stockarr:=getbk('沪深300');
StocksRestrictedBanAndNRSPercent
指定日解禁市值占未流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300成分股在20250916的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
  endt:…
StocksRestrictedBanFutureAndRSPercentQJ
指定日未来解禁市值占流通市值(解禁前)比例(%),其中未来解禁市值: 小于等于今天(today()):SUM(解禁数量*收盘价(历史)) 大于今天(today()):SUM(解禁数量*收盘价(Endt))
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占流通市值比例(%)
  stockarr:=getbk('沪深300');
  …
StocksRestrictedBanFutureAndNRSPercentQJ
指定日未来解禁市值占未流通市值(解禁前)比例(%),其中未来解禁市值: 小于等于今天(today()):SUM(解禁数量*收盘价(历史)) 大于今天(today()):SUM(解禁数量*收盘价(Endt))
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
  …
BK_RestrictedBanAndNRSPercent
指定日解禁市值占未流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  BKname:='沪深300';
  endt:=20250916T…
BK_RestrictedBanAndRSPercent
指定日解禁市值占流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  BKname:='沪深300';
  endt:=20250916T…
BK_RestrictedBanFutureAndNRSPercentQJ
指定日未来解禁市值占未流通市值(解禁前)比例(%),其中未来解禁市值: 小于等于今天(today()):SUM(解禁数量*收盘价(历史)) 大于今天(today()):SUM(解禁数量*收盘价(Endt))
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占未流通市值比例(%)
  BKName:='沪深300';
  endt:=20…
BK_RestrictedBanAndRSPercentQJ
区间解禁市值占流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占流通市值比例(%)
  BKName:='沪深300';
  begt:=2…
BK_RestrictedBanAndNRSPercentQJ
区间解禁市值占未流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占未流通市值比例(%)
  BKName:='沪深300';
  begt:=…
BK_RestrictedBanFutureAndRSPercentQJ
指定日未来解禁市值占流通市值(解禁前)比例(%),其中未来解禁市值: 小于等于今天(today()):SUM(解禁数量*收盘价(历史)) 大于今天(today()):SUM(解禁数量*收盘价(Endt))
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占流通市值比例(%)
  BKName:='沪深300';
  endt:=202…
Stock_RestrictedBanAndRSPercentQJ
区间解禁数量占流通股本(解禁前)比例(%),与系统参数(证券代码)相关
范例(t):
[code]
   // "SZ002327"在20250101到20250910的解禁数量占流通股本比例(%)
  SetSysParam(pn_s…
Stock_RestrictedBanAndNRSPercent
指定日解禁数量占未流通股本(解禁前)比例(%),与系统参数(证券代码,时间)相关
范例(t):
[code]
   // "SZ002327"在20220909的解禁数量占未流通股本比例(%)
  SetSysParam(pn_stock(),&…
Stock_RestrictedBanAndRSPercent
指定日解禁数量占流通股本(解禁前)比例(%),与系统参数(证券代码,时间)相关
范例(t):
[code]
   // "SZ002327"在20220909的解禁数量占流通股本比例(%)
  SetSysParam(pn_stock(),&q…
Stock_RestrictedBanAndNRSPercentQJ
区间解禁数量占未流通股本(解禁前)比例(%),与系统参数(证券代码)相关
范例(t):
[code]
   // "SZ002327"在20250101到20250910的解禁数量占未流通股本比例(%)
  SetSysParam(pn_…
Stocks_GetRestrictedBanData
限售解禁扩展取数
IndexRestrictedBanAndRSPercentQJ
区间解禁市值占流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占流通市值比例(%)
  indexid:='SH000300';
  beg…
IndexRestrictedBanAndNRSPercentQJ
区间解禁市值占未流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  be…
IndexRestrictedBanAndRSPercent
指定日解禁市值占流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  endt:=20250…
IndexRestrictedBanFutureAndNRSPercentQJ
指定日未来解禁市值占未流通市值(解禁前)比例(%),其中未来解禁市值: 小于等于今天(today()):SUM(解禁数量*收盘价(历史)) 大于今天(today()):SUM(解禁数量*收盘价(Endt))
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  endt…
IndexRestrictedBanAndNRSPercent
指定日解禁市值占未流通市值(解禁前)比例(%)
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  endt:=20250…
IndexRestrictedBanFutureAndRSPercentQJ
指定日未来解禁市值占流通市值(解禁前)比例(%),其中未来解禁市值: 小于等于今天(today()):SUM(解禁数量*收盘价(历史)) 大于今天(today()):SUM(解禁数量*收盘价(Endt))
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占流通市值比例(%)
  indexid:='SH000300';
  endt:…
stocks_ShareHolderIncreaseAndReduce
股东增减持
范例(t):
[code]
   //A股20240930-20241231期间股东增减持数据
  return stocks_ShareHolderIncreaseAndReduce…
Q:天软中如何做两个表的合并(类似python中pandas.merge方法)
A:TSL语言中对于表连接实现已经有非常完整的功能,具体可参考:FAQ:Q:天软表连接的应用(join)
上述功能是在sql语句中完成的,考虑到有些用户在使用时,希望通过模型来完成此功能,因此,这里…
来源于FAQ
fund_CumBuyAndSell
累计买入和卖出
范例(t):
[code]
   //华夏成长累计买入和卖出数据
  return spec(fund_CumBuyAndSell(4,2,0,1),"OF000001&qu…
Fund_NvalueAndBsInfoNWINValue
净值收益率
范例(t):
[code]
   //华夏成长净值收益率数据
  return spec(Fund_NvalueAndBsInfoNWINValue(20251001T,2025103…
funds_CumBuyAndSell
累计买入和卖出
范例(t):
[code]
   //南方基金 累计买入和卖出数据
  return funds_CumBuyAndSell("南方",20241231,0);
funds_FC_MajorChange_CumulativeBuyAndSell
投资组合-重大变动-累计买入及卖出股票
TSWEB_Fund_UnitsAndHoldersHS
基金-份额及持有人-持有人-持有人结构-持有人结构
TSWEB_Fund_UnitsAndHoldersTradingSeat
基金-份额及持有人-持有人--交易席位-交易席位
TSWEB_Fund_UnitsAndHoldersDDShareSplit
基金-份额及持有人-分红送配-份额拆分-份额拆分
TSWEB_Fund_UnitsAndHoldersEtfSRConstituentStock
基金-份额及变动-ETF申购赎回-成分股
TSWEB_Fund_UnitsAndHoldersEtfSRBasicInformation
基金-份额及持有人-持有人--交易席位-交易席位 N,Inptype,Sorttype,Displaytype参数无意义,在此仅为统一web界面 资产占比的前N项,N在Fund_PFBasicConfig中控制
TSWEB_Fund_UnitsAndHoldersSR
基金-份额及变动-申购赎回-申购赎回
TSWEB_Fund_UnitsAndHoldersSRdata
基金-份额及变动-申购赎回-申购赎回
TSWEN_Fund_NvalueAndBsInfoBIRFundManager
基金0004-净值和基本资料-基本资料-基金经理-离任基金经理
TSWEN_Fund_NvalueAndBsInfoBICFundManager
基金0004-净值和基本资料-基本资料-基金经理-在任基金经理
TSWEN_Fund_NvalueAndBsInfoNWINValue
基金0004-净值和基本资料-净值与收益-净值-净值
Fund_NvalueAndBsInfoNWINValueQJ
基金0004-净值和基本资料-净值与收益-净值-净值
TSWEB_Fund_PFMajorChangesALPurchasesAndSales
基金-投资组合-重大变动-累计买入及卖出股票 单位:数量(万),市值(万)
StandardArray
TSL返回的数组是一种array of olevariant结构,允许混合数据类型,可以将字符串,整数浮点混合在一个数组中,这样在某些其他系统中,会存在处理上的难度,为了兼容这些系统,允许指定返回的结果集为一个标准的数组。当使用这个设置的时候,必需保障返回的数据结果集是规范的类型一致的结果集,否则可能会出现错误。可设置的值定义为: 0:任意类型。 1:浮点数组。 2:字符串数组。 3:整数数组。
AdminCommand
提交管理员命令。
SimplyAdminCommand
提交管理员命令。
bond_CBShareAndBalance
可转债转股及余额
范例(t):
[code]
   //烽火转债 的 可转债转股及余额数据
  setsysparam(pn_stock(),"SH110062");
  re…
TSWEB_FBlock_DealsandPositionConSum
期货对比-龙虎榜-合约统计-合约汇总-成交与持仓
TSWEB_FBlock_DealsandPositionInsSum
期货对比-龙虎榜-机构统计-机构汇总-成交与持仓 注:2020年1月1日开始,除中金所外,所有商品期货行情的成交量、持仓量都为单边计算,之前是双边计算 中金所一直是单边计算
TSWEB_Future_DealsandPositionList
期货分析-龙虎榜-龙虎榜单-成交与持仓 注:2020年1月1日开始,除中金所外,所有商品期货行情的成交量、持仓量都为单边计算,之前是双边计算 中金所一直是单边计算
HG_ForeignExchangeAndGoldReserves
官方储备资产
范例(t):
[code]
   //官方储备资产数据
  return HG_ForeignExchangeAndGoldReserves(20250101T,20251114T,0…
Fund_AttackAndDefense
基金攻防能力指标
范例(t):
[code]
FundID := "OF000001";
IndexID := "SH000300";
EndT := 20211014T…
Fund_HD_DressAndTrade
指定基金池中各基金业绩粉饰与交易能力因子
范例(t):
[code]
  Rdate := 20210630;
  FundID := "OF000082";
  fundpool := array(&quo…
Index_MD_BuyandSellByInsider
范例(t):获取申万有色金属行业指数SW801050在2022-07-01~2022-08-31董监高增减持指标
[code]
  begt := 20220701t;
  endt :=…
Stocks_MD_BuyandSellByInsider
范例(t):获取股票池SZ000001、SZ000002和SH600000在2010-03-01~2022-03-31董监高增减持指标
[code]
  StocksArr := array(…
时间序列数据分析的特殊需要
  时间序列数据处理往往有着和其他数据处理不同的应用要求。我们回顾下TS-SQL对聚集函数的支持,如果我们需要求所有数据的最高气温、最低气温以及平均气温,使用select avgof(["平均气温…
SELECTOPT(Options)
指定SELECT的选项,控制SELECT的行为, Options 为以下数值的组合(以下数值的_XOR或者相加)
下表中二进制位从0开始,可通过2^N(2的N次方)形式获取该位设置的值。
同时设置…
ON条件
  Join,Left Join,Right Join,Full Join允许添加On的条件,用法范例:
  Select * from a join b on [1].["ID"]=[2]…
字段的表达与返回
  在SQL语句中,可以直接用字段名访问字段的值,在TSL中,必须用[字段名字符串表达式]来访问,例如一个字段名为close,访问其则为["close"]。
聚集函数
[htm]&#160;&#160;为了防止和TSL其他函数产生冲突,聚集函数一般都以OF结尾,例如平均值是AVGOF,求和是 SumOf。 <br/>&#160;&#160;TSL支持的SQL语法的聚…
AGGVALUE
一般用于多字段聚集中,返回当前参与聚集的列的值。用法如SUM( *,AggValue>10)。
示例:
[code]
t:=Rand(10,array("A","B","C","D"));
t…
Slopeandinterceptof
算法:
备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的回归斜率和截距
[code]
begt:=201…
TSQLBatchInsert
范例(t):
范例1:新建对象D,插入5行3列随机数
[code]
  D:=new selobj();
  insert into D rand(5,array('a','b','c'…
TSQLDelete
范例(t):
插入数据后,对数据进行条件删除操作
[code]
  D:=new selobj();
  insert into D insertfields(["a&quot…
多维矩阵的子矩阵
  TSL支持多维矩阵的子矩阵。
[code]
  A:=Rand(8,8,nil,8,8);//8*8*8*8的四维矩阵
  B:=A[:,0,:,:];//B为一个三维矩阵
矩阵的多维遍历
  对一个矩阵如果只是直接使用::或者::=仅仅只能做二维遍历,结合子矩阵算符可以进行多维遍历。
  遍历的时候用mIndex(N)可以访问第N维下标,mIndexCount可以访问维度数。…
MRand
定义一:MRand(L1[,…LN][,randominfo:array]):FMArray
说明:初始化一个N维随机数矩阵,随机矩阵是否是实数还是整数矩阵,取决于参数RandomInfo
数据类型的判断
[htm]在天软语言中,datatype(v)可以判断任意数据的数据类型,而FMArray数组的数据类型对应的是分类27。 <br/>例如:Datatype(mrand(3)) ->类型是27 <br…
::与::=的应用举例
范例01:将随机矩阵中,行列标相同的单元格的值赋值为1
[code]
//方法一:::的实现
F1:=mrand(5,4);
F1::mcell:=mrow=mcol?1:mcell;
Re…
子矩阵提取
以下均假设A是一个矩阵。
数组取数是使用[]运算符,FMArray矩阵也如此。
例如A[2,3]表示行下标为2列下标为3的值。相对于其它方式,有降维效果。

N:M的方式可以取矩阵的下标连续的…
原有数字类型函数
  原有支持array的基础函数,所有数字类型的函数均支持
例如abs,roundto等等。
暂时未对基础函数的返回类型是字符串的进行支持,因为fmarray目前并不支持字符串,亦未做自动ar…
矩阵初始化
  矩阵的初始化支持如下:Zeros初始化0矩阵,ones初始化1矩阵,eye初始化单位矩阵,rand初始化随机矩阵,Nils初始化空矩阵。除了eye以外,其他的几个初始化函数在带一个参数的时候为…
子矩阵提取
[attention]
 Arr := Rand(10,10);  Brr := Arr[:,0];
  取出Arr的第0列的所有元素赋值给Brr,结果为一个一维数组…
矩阵查找和遍历
  MFind可以查找矩阵中的符合条件的行列以及值。
  例如,我们在一个随机矩阵中寻找值大于0.9的值所处在的位置:
[code] A:=Rand(10,10);
 B:=MFin…
矩阵代码优化
  对于二维数组的行操作快于列操作,例如求一个1000*1000的方阵各行的和与各列的和。
[code]  X := Rand(1000,1000) ;
  Sumr := array…
基本统计函数
[htm]<table><tbody><tr><td>
函数名</td><td>
功能</td><td>
参数</td><td>
输出</td></tr><tr><td>

Min
</…
删除行列,重命名,排序
  a := `array("a":(0,1),"b":(2,3));   RenameField(a,'b','c');
  Return a;
  把a…
mt_decompose_qr:QR分解
范例(t):
[code]
H := corr(rand(100,4));
mt_decompose_qr(H,Q,R);    //QR分解
return array(Q,R);
[…
线性方程组的求解
    
  使用矩阵左除计算来…
支持标量和多维矩阵的基础函数
[htm]<table><tbody><tr style="background-color: #D3D3D3; font-weight: bold;"><td>
函数名</td><td>
函数名…
基础统计函数对二维数组的处理
  基础统计函数支持对二维数组的处理,并支持选择行列操作,指定移动步数,选择部分字段以及异常处理模式后再做统计。
  这些功能分别由五个可选的附加参数进行控制,依次分别为:
  [str…
基础统计函数统计支持移动
默认情况下,对整列或整行进行统计,要需要指定统计移动点数,则可增加第二个附加参数,值为指定的移动点数。
如有数组A,生成如下:
[code]
  A:=Rand(10,array("A","…
基础统计函数指定内容统计
  默认情况下,对所有行或列进行统计,要需要指定统计范围,则可增加第三个附加参数,值为统计的列或行下标或下标数组,缺省为NIL表示全部。

以Mean平均值为例
[code]
  A:…
支持一维数组和二维矩阵的基础统计函数
[htm]<table><tbody><tr style="background-color: #D3D3D3; font-weight: bold;"><td>
函数名</td><td>
函数名…
构造函数
构造函数是一个特殊的方法,用来创建和初始化一个实例对象。
声明一个构造函数就像声明一个函数一样,可以无参数也可以有参数,不同的是方法名必须是create,在创建实例时会自动查找适合的构造函数。
F…
属性Property
属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵…
TStream对象
TStream类型是TMemoryStream,THandleStream,TFileStream对象的父类,本身是一个纯虚对象,不可被直接创建。
Q:获取交易日推移的几种方式(包括已公布假期日历的未来交易日)
A:已有相关公用函数(支持未来交易日,依据SH000001的753表数据):
StockEndTAfterNDay:指定日期向后推N个交易日期,函数说明:[FAQ …
Q:Rand和Randg的算法,如何得到随机数
A:
天软中的rand函数是VC的一个内置函数,randg的算法是:
[code]
function RandG(Mean, StdDev: Extended): Extended;
Q:期货代码、名称(连续合约、主力合约、指数合约)编制规则
A: 天软期货代码编码规则:
期货的编码规则:
非月均价期货:品种+合约到期年份(2位数字)+合约到期月份(2位数字),如:IF…
取数组的列下标
在用fieldnames取数组的列下标,作用的数组的行下标必须是默认下标,即不能是字符串下标,
得用FieldNamesOfStrSubscript替代;
同时在重命名数组下标时,RenameFi…
2025-09-18-应用专题-业绩归因01:天软风格因子归因框架(更新版)
附件:2025-09-18-深圳天软科技-应用专题-业绩归因01:天软风格因子归因框架(更新版).pdf

摘要
1、多因子模型与基于组合持仓归因的关系:定义了股票收益率、因子暴露度、因子收益率、特…
Q:For … IN 遍历的用法说明
定义:For 控制变量1,控制变量2 IN 数组 DO 语句;
说明
控制变量1:当前行下标
控制变量2:当前行,可省
[…
Q:我取了一年的成交明细数据,为什么返回空值
A:
每个用户对应服务器上一定的空间,如果超过这个空间的最大值,就会返回空值。对于这种数据量较大的情况,建议以天软平台作为分析工具,对源数据进行一定的处理后,将结果集(数据量已经变小)导出;或者…
Q:如何将一个一维数组赋值给一个二维数组的一列
A:
方法一:for循环
[Code]
  arr1:=array();
   for i:=0 to 9 do      //生成一个一维数组
   …
Q:如何将二维数组不规则的下标转化成从0开始计数的连续的数字下标
A:假设a的下标既有数字,也有字符串,参考范例如下:
a:=rand(array('a',1,'c'),array('aa','bb'));
b:=msize(a);   //得到a数组的行数…
Q:如何删除数组的某一列
A:使用函数DeleteField
定义:DeleteField(Arr:[Array|Matrix];Index:Any;merge:Boolean=True):Boolean;
说明…
Q:如何新增一列
A:方法有很多,在不同的情况下可使用不同的方法;
for循环
[Code]
  a:=rand(100,array('a','b'));
  for i:=0 to length(a…
Q:如何提取一段时间内的所有报告期
A: 通过reporthist可以返回某只股票所有的报告期,再截取在该段时间内的所有报告期。
e.g. 取万科A在2001年1月1日到2006年5月底的所有报告期。
[Code]
beg…
Q:请问如何获得在指定日转变为ST股的股票?
A:用户可以根据股票名称变更表的数据进行判断。思路如:变动日=指定日,变更前名称没有包含ST,且变更后名称包含ST。
下面给出一段范例:
[code]
  //获得所有的A股
  st…
String
  在TSL语言中,字符串常量的表达方式是采用单引号或者双引号括起来。例如123表示数值为123的整数,而"123"则表示内容为123的的字符串,是两种不同的数据类型。由于字符串中可能会包括一些特…
逻辑运算符
  逻辑运算符就是对真假的Boolean类型进行运算的算符。
[htm]<table><tbody><tr bgcolor=#C0C0C0 style="font-weight: bold;">…
算符优先级
  什么是优先级呢?
  例如1+2*3,是先计算2*3,再计算1+,这就表示*的优先级高于+,1+2*3等同于1+(2*3)。
2>2+1,是先计算2+1,再计算2>,结果2>3为假,表…
FOR
for 语句用来描述已知重复次数的循环结构。for 语句有三种形式:
(1) for 控制变量:=初值 to 终值 [step 步长] do 语句;
(2) for 控制变量:=初值 down…
Q:如何提取十大股东、十大流通股东数据
A: 十大股东对应ID:24,数据说明参考:FAQ:十大股东
  十大流通股东对应ID:26,数据说明参考:FAQ:十大流通股东
  注:十大…
Q:指令::-:变量类型不是Array
A:一般情况下,天软变量无需事先声明即可使用。但是如果在使用数组时,直接将一个数组赋值给某个未声明的变量是可以的,譬如r:=rand(10,10);是允许的。但是直接给数组的某个单元格赋值,譬如r[0…
Q:mdo/mdo2的使用方法(MATLAB交互)
A:
除了调用本地的MATLAB以外,金融分析.NET还支持在服务器后台配置的方法来支持MATLAB编译出来的函数提供调用,此方法仅适用购买了天软落地服务器及MATLAB授权的用户。
如果返回…
Q:如何提取指数历史成份股权重
A:
2020-05-20
日新增国证指数(即巨潮指数)的权重数据,更新处理与中证指数一致。

[title1]2020-05-20以前数据情况说明[/ti…
矩阵初始化
矩阵的初始化支持如下:Zeros初始化0矩阵,ones初始化1矩阵,eye初始化单位矩阵,rand初始化随机矩阵,Nils初始化空矩阵。除了eye以外,其他的几个初始化函数在带一个参数的时候为初始化一…
矩阵大小
有时,我们需要知道矩阵的大小,在我们平台中可以利用mSize,mRows,mCols可以很方便地获得矩阵的大小以及行列等相关信息。A为一个三行两列的随机数组:
[code]
A:=Rand(3,a…
子矩阵和子数组提取

首先说明:
  在天软中数组和矩阵的用法基本是一样的!

示例1:取出Arr的第0列的所有元素赋值给Brr,结果为一个一维数组。
[code]
Arr := Rand(10,10); …
矩阵查找和遍历
MFind可以查找矩阵中的符合条件的行列以及值。
例如,我们在一个随机矩阵中寻找值大于0.9的值所处在的位置:
[code]
A:=Rand(10,10);
B:=MFind(A,MCell>…
矩阵代码优化
对于二维数组的行操作快于列操作,例如求一个1000*1000的方阵各行的和与各列的和。
[code]
X := Rand(1000,1000) ;
Sumr := array();
Mtic …
1.2 使用界面返回优化信息
在我们的平台中可以界面设置返回函数优化信息,其中包含函数所调用的运算符,调用的子程序及其所耗时间。在上面的函数返回结果中进行如下操作:
[img type="tslxml" file="medi…
2.3 矩阵运算
矩阵操作符的运算速度远远快于for循环,例如求矩阵的乘法。
[code]
A := Rand(300,300);
B := Rand(300,300);
Mult := array(); …
2.5 Select语句
函数要减少运算时间,要尽量避免重复计算以及重复调用函数。这个在Select语句里面尤其要引起注意。
[code]
data := rand(100,10)-0.5;
select * fro…
2.7 系统参数
我们这里的系统参数主要使用来做函数间的数据缓存。如果我们在取得一个系统参数的一部分,比如该系统参数的子数组,我们习惯先使用GetSysParam得到系统参数整个数组,再取该子数组。
[code]…
2.8 []运算的优化
我们来看看下面一段代码所使用的时间:
[code]
Function demo_timeq();
Begin
  a := array();
  for i:= 0 to 99 do…
2023-12-05-数据更新-期货数据007:关于增加期货日成交持仓排名数据及访问方法(更新版)
数据说明:
 (1)仅供使用深圳天软科技金融数据仓库的客户;
 (2)如果用户使用其他服务商的数据,此项功能无效
[tit…
Q:如何计算数组中符合某条件的个数?比如某列的值小于0
A:
1)可以用select的方式,将符合条件的数据取出来,再用length计算个数。
[code]
//计算'zf'列大于0的天数
  setsysparam(pn_stock(),'S…
2.9 使用对象
  因为对象中数据的共享性,即对象调用类方法时,是不需要传递参数的,而函数则不同,每一次调用函数都需要进行参数的传递,因此有时通过创建对象调用类方法可以提高代码效率。见下面例子:
[code] …
Q:如何获取未来的交易日数据
A:已有相关公用函数(支持未来交易日,依据SH000001的753表数据):
StockEndTAfterNDay:指定日期向后推N个交易日期,函数说明:FAQ:StockEndTAfterNDay
Q:golang与天软交互-ODBC方式
1、安装golang
https://golang.google.cn/dl/
2、配置天软tinyodbc数据源
[FAQ …
Apache运行模式选择
pache中一共有三种工作方式:CGI模式、FastCGI模式、Apache模块DLL。优先使用cgi模式。
一、cgi
  AddHandler cgi-script .cgi
  A…
矩阵运算
矩阵运算在提升运算性能上尤为突出,建议多使用矩阵运算方法,视频介绍内容:
1)矩阵初始化:(Rand、Zeros、Ones、Eye、Nils),一维矩阵
2)矩阵操作符(Union、|、:*、…
Q:检查COM注册是否成功
A:天软客户端的com注册非常简单,打开天软客户端,点击左上角 系统—》系统设置—》注册com,点击之后会出现“Registered ok”这样的弹出窗口。
建议在注册com的时候,关闭电脑上的安…
Q:证券数据专家中提供的基础数据现状
A : 证券数据专家中提供的数据现状,见:附件:2025-03-10证券数据专家中提供的数据现状.pdf

[table rsplit="$" csplit="#"]资产类别#表名#表ID#…
Q:多因子中如何实现因子正交化?
A:可重写标准化处理方法:StandarizeData,在做完常规的标准化处理后进行正交处理,可参考范例:附件:MultiF_OrthDemo.fun 的实现…
Q:如何将一个序列平均分成若干等分
A:对于这种问题,处理方法有很多,主要的思想是通过下标来进行划分。
假设希望对某个指标进行排序,平均分成10等份,从大到小依次给予10到1的分值,参考范例如下:
[Code]
 //构造随机…
Q:如何在Excel里面通过VBA调用天软函数
A:
天软提供了插件及VBA两种方式来实现Excel调用天软;插件方式由于每个单元格都需要和天软进行一次交互,速率较慢,这里建议用户使用VBA的模式,同MATLAB调用天软,基本模式是相同的,只需…
Q:如何在excel中新建一个sheet,并将数据写到该sheet中
A:利用rdo2 exportfile只能将数据写到指定的excel中,如果想实现在已存在的excel中新增一个sheet,并将数据写入到该sheet的指定区域,请参考下面范例。

[code] …
Q:如何提取当月最后一个交易日
A:场景一:指定日当月最后一个交易日
方式一:通过月线下的指定日当月量后一个市场交易日来获取
[code]
endt:=20…
2020-09-02客户端升级说明
2020-09-02 升级
----------------------------------------------------
[attention][st…
詹姆士.卡里纳中小型成长股选股法则
背景:
 詹姆士.卡里纳(James L. Callinan)是美国著名的成长型基金经理人,1987年进入普南投资公司(Putnam Investments)任职…
沪深港通每日成交汇总
数据说明
 每天的沪港通、深港通股票的成交汇总数据,数据采集自上交所和联交所网站。
 港股通(沪)数据:从联交所采集公布的港元数据,从上交所采集公布的人民币数…
内部代码与证券代码对照表
数据说明
 该表记录的是内部代码与标准证券代码映射关系,以及申万行业代码与申万指数代码的映射关系。
 如:新股申购中的申购代码与标准代码映射;
  配股…
债券派息和利率
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2023-04-14#增加字段:实际付息日,暂仅对可转债有效
$202…
市场交易日历
数据说明
 设置当前股票为SH000001进行提取沪深交易所市场交易日数据
 港股市场交易日序列取数代码:HKHSI001 ,北向HSG000002、南向HS…
证券及股票期权投资者资金余额及变动
数据说明
 证券交易结算资金数据从2012年4月开始提供;

 融资融券担保资金数据从2015年11月开始提供;

 股票期权保证金数据从2015年2…
Q:股票tick级别周期策略回测实现
策略:
  天软目前没有tick数据,提供的是level1的交易明细快照数据,交易所的tick数据大约每三秒一笔,因此可以将回测框架的周期设置为3秒,从而实现t…
雪拜.戴维斯长期成长投资法
背景:
 雪拜.戴维斯(Shelby Davis)是戴维斯精选顾问公司(Davis Selected Advisers)创办人,自1969年开始操作戴维斯纽约创投…
Q:天软是否有概念板块?
A:数据源说明:
天软提供了概念板块,该数据采集于其它第三方公开数据源(搜狐证券)。
[strong][attention](该数据仅供用户参考,对数据内容不做相…
每股指标
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-07-17#新增字段:
 9900029 每股EBITD…
现金流指标
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-07-17#新增字段:
 9900716 现金股东权益比…
Q:指数数量类回测的简单实现
策略:
 中证500指数做多
 当ema20上穿ema60的时候开仓,仓位80%,当已经持有时不再开仓;
 ema20下穿ema60的时候全部平仓;
查尔士.布兰帝价值型选股法则
背景:
 查尔士.布兰帝(Charles Brandes)是证券分析之父班杰明.葛拉汉(Benjamin Graham)的传人之一,在1970年初,担任过班杰明.…
麦克.劳尔集中价值选股法则
背景:
 麦克.劳尔(Michael Lauer)是美国知名的价值型投资组合经理人,投资经历逾20年,大学时半工半读,以开出租车支付学费,1979年毕业后,因精通…
史帝芬.路佛价值型选股法则
背景:
 史帝芬.路佛(Steven C. Leuthold)是路佛威登资本管理公司(Leuthold Weeden Capital Management)的创办…
杰瑞黛.魏斯蓝筹股投资法
背景:
 杰瑞黛.魏斯是美国著名投资建议刊物【投资体质趋势】(Investment Quality Trend)的资深编辑兼发行人,【投资体质趋势】创刊于1966…
戴维.凯兹相对价值型选股法则
背景:
 戴维.凯兹(David A. Katz)是美国知名的价值型投资组合经理人,以优异的成绩(summa cum laude:平均学年成绩3.8以上)毕业于联…
斯皮罗士.谢加拉斯成长型选股法则
背景:
 斯皮罗士.谢加拉斯(Spiros Segalas)是美国著名的老牌成长型基金经理人,1955年毕业于普林斯顿大学(Princeton Universit…
Q:如何提取指定日在市交易的ETF交易代码集合?
A:可通过一级市场代码获取基金的设立日与退市日进行判断,最后再获取其交易代码
如下:
[code]
  endt:=20201230T;
  stocks:=getbkall('ETF…
如何在组合优化框架内(TSPortfolioOptimizer)设置多个非线性约束
可以用TSPortfolioOptimizer类的属性FMulticon设置多个非线性约束。
例:
实现:优化目标:收益率最大,…
Q:如何通过交易明细数据统计周期内的主买主卖量/金额?
A:天软行情数据说明请参考:FAQ:Q:高频、超高频数据说明
具体实现参考,封装三个函数
封装函数,即将下列函数新建为用户函数进行调用,新建函数的操作请参…
2020-07-28客户端升级说明
2020-07-28 升级
[strong]新增:支持python3.8与python3.9的版本。[/strong…
特别提示-停牌
数据说明
 本表提供股票、基金、债券的停牌信息。
 关于停牌的详细说明及访问方法,详见:FAQ:2021-11-30-数据更新-股票数据006:关于增加特别提示-停复牌数据及访问方法(更新版)

[title2]数据来…
沪深港通每日十大成交活跃股
数据说明
 每天的沪港通股票的十大成交股票数据,数据采集自联交所网站。
 该表的访问代码:
     HG000001(港股通(沪)),
  …
偿债能力
数据更新情况
 1、数据开始时间:上市以来

基本概况
[table rsplit="$" csplit="#"]表ID#…
经营能力
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-06-23#新增字段:
 9900432 净营业周期
ETF申购赎回-基本信息
数据更新情况
 1、数据开始时间:上市以来

 2、数据更新频率:每日【注1】
 【注1】
  深交所每日8:15左右更新当天的数据,上交所每日8…
基金指数收益率
更新日志
更新日期更新记录
2025-10-29变更【注1】说明,新增【注2】
指数成份
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2024-09-13#新增字段:入选调整类型、剔除调整类型
$2021…
成份股权重
数据说明
 目前提供的指数历史成份股权重数据为申万指数及中证指数。其中,申万指数的成份股权重数据每天提供。中证指数,由于目前中证指数公司只公布每个月的最后一个交易…
威廉.瑞弗斯收益成长型选股法则
背景:
 威廉.瑞弗斯(William H. Reaves)是美国知名的公共事业股投资组合经理人,投资经历长达55年,1946年即在大型券商担任公用事业股分析师,…
霍华.罗斯曼审慎致富投资法
背景:
 霍华.罗斯曼(Howard Rothman)是华尔街著名的投资分析公司-远见投资顾问公司(Vision Investment Advisor, VIA)…
Q:如何统计区间内每日大小单流入流出数据
A:天软中,统计区间主买与主卖需要通过交易明细的主买卖标识方向进行区分,而大小单则需要根据成交量或成交额进行区分汇总。

本文针对大小单数据做了一些常用场景的实例供用户参考使用,[strong]用…
Q:怎么获取指数实时k线与黄线数据?
A:指数实时k线与黄线数据可以通过模型Index_ActuTimeHOLCAndYLData来获取,导出数据后可在excel进行绘图得到
[ul][b]定义:[/b…
Q:Python交互中如何传递DataFrame类型数据执行
A:天软和python都能支持json串,在交互过程中,可以通过json串作为数据转换的桥梁,解决编码不一致及数据类型不匹配等的问题。
交互文档:FAQ:2019-05-08-应用专题-第三方交互07:天软平台和PYTHON的交互
Json…
Q:如何提取多个基金的一段时间内的月度收益率并存放在一个表中
A:需求分析:
1、天软提供了基金的月度收益率数据,数据在表格617中。
2、天软还提供了取一个基金在一段区间内的指定周期的收益率序列,取的数据源也是617中的,…
Q:pyTSL接口中如何并发执行多个天软任务
A:每个天软账号都有多个并发数权限(可执行个数,一般是5个),在构建天软任务时,可以充分使用这些并发数来提高效率。
 比如在需要天软完成多个独立运算或取数时,可以把该类任务分成多个,根据自己并发数…
Q:如何正确匹配到财务数据的公布日?
A:本文中主要解决:当天软的报告期相关的财务数据表格中无公布日时,如何快速得到公布日数据。

[title1]相关数据简介:[/…
股票质押回购交易汇总
数据说明
 该表记录了各交易所能够进行股票质押回购业务的所有股票的汇总数据,数据采集自上交所和深交所网站


数据来源
Q:天软中如何提取社保组合股票持仓
A:社保组合持仓,目前有的就是股东的十大股东、十大流通股东里面,汇总股东为社保组合的个股及占比。
所以,社保组合持股占股票前十大才能被统计到,不能代表全部。

可直接获取股票.机构持股(27)中…
股票质押回购交易明细
数据说明
 该表记录了各交易所能够进行质押回购业务各个股票、基金、债券的初始交易和购回交易等交易数据数据

数据来源
[t…
股票质押回购余量
数据说明
 该表记录了由上交所、深交所、中国证券登记结算有限责任公司披露各个证券累计到当天的待购回余量等数据

数据来源
股票质押回购平均质押率
数据说明
 该表记录了由上交所、深交所披露的所有股票的平均质押率,范围仅为A股,不包含基金、债券

数据来源
[table…
非经常性损益
数据说明
 该表记录股票的非经常性损益数据

数据来源
 上市公司公告:招股意向书(说明书)、定期报告。

[tit…
Q:Python中指定天软服务器执行命令
天软客户端中指定服务器节点的方式:FAQ:Q:如何指定天软服务器进行执行命令

Python两种交互方式指定服务器
TSLPy交互方法使用参考:[FAQ id=1…
转融通证券出借交易
数据说明
 该表记录股票、基金、债券等证券的出借交易数据,包括各个证券,在各期限各申报类型下汇总的成交量、费率等数据。自2024年7月11日起,证金公司暂停了转融…
ToSTM
范例(t):

return tostm(array(1,23,4,5,6,7,));//返回以.stm为后缀名的二进制文件。


//可选参数的应用
[co…
random
定义1:random():Real;
说明:返回一个0到1之间的随机数
返回:实数。

定义2:random(value:Integer):Integer;
说明:如果无参数,则返回0->1…
RandomFrom
范例(t):

[code]
A:=array('a','b','c','d','e','f');
Return randomFrom(A);
//返回值为随机返回A字符串中一个字符:’b’…
GetProfilerInfo
范例(t):
范例01:不弹出profiler窗口
[code]
  setprofiler(7); //记录TSL源代码函数调用+二进制函数的调用+指令调用的优化信息
  a:=99;…
矩阵初始化
  TSL的矩阵支持多维矩阵。
  矩阵初始化系统内置支持如下:
   Zeros初始化0矩阵,
   ones初始化1矩阵,
   eye初始化单位矩阵,
  …
Rand
范例(t):
范例01:
[code]
//生成0-1,10*10的随机矩阵,
SetSysParam(PN_Precision(),4);
  return rand(10,10); …
获得矩阵的大小
  利用MSize,MRows,MCols可以很方便地获得矩阵的大小以及行列等相关信息。
  例…
MFind矩阵查找
  MFind可以查找矩阵中的符合条件的行列以及值。
  例如,我们在一个随机矩阵中寻找值大于0.9的值所处在的位置:
[code]
A:=Rand(10,10);
B:=MFind(…
MFind矩阵替换
  Mfind处理可以用来查找,还可以用Mfind替换掉特殊值,例如:
  A:=Rand(10);
  Mfind(A,Mcell>0.9,NIL,0.9);可以将大于0.9的值替换…
Mfind用于将逻辑数组变换为下标数组
  在TSL的子矩阵下标值允许使用下标数组,而某些矩阵语言则还允许使用逻辑数组,即只取出为真的下标,MFIND可以将逻辑数组转换为下标数组。
  [code] 
A:=Rand(100,…
统计分布简介
  介绍统计各种分布函数前,我们先简单的介绍下概率论理论下常使用的几个函数:
    1)perms
  列出样本的所有排列或者排列的种类
[code]  perms (ar…
离散均匀分布
  若随机变量有n个不同值,具有相同概率,则我们称之为离散均匀分布,通常发生在我们不确定各种情况发生的机会,且认为每个机会都相等,例如:投掷骰子等.
  设离散随机变量[img type="…
几何分布
  在n+1次伯努利试验的第n+1次试验才得到第一次成功的机率.详细的说,是n+1次伯努利试验,前n次皆失败,第n+1次才成功的机率.
[center][img type="tslxml" fi…
超几何分布
  超几何分布是统计学上一种离散概率分布.它描述了由有限个物件中不放回的抽出n个物件,成功抽出指定种类的物件的次数.例如在有N个总体,其中m个是不及格的.超几何分布描述了在该总体中抽出n个样本,其…
二项分布
  如果随机变量X服从参数为n和p的二项分布,我们记[img type="tslxml" file="media2024-01-05_CI2SdWbmxlnsfXvn/image173.png"]…
负二项分布
  称随机变量服从参数为[img typ…
均匀分布
  称随机变量服从上的均匀分布如果它有密…
泊松分布
  泊松分布适合于描述单位时间内随机事件发生的次数.如某一服务设施在一定时间内到达的人数,电话交换机接到呼叫的次数、汽车站台的候客人数、机器出现的故障数、自然灾害发生的次数、DNA序列的变异数、放…
指数分布
  一个指数分布的概率密度函数是:
[center][img type="tslxml" file="media2024-01-05_CI2SdWbmxlnsfXvn/image253.png"…
正态分布
  正态分布又名高斯分布,若随机变量服从…
卡方分布
  若来自正态总体的个随机变量[img …
学生T分布
  T分布亦称学生分布,它的概率密度函数是:
[center][img type="tslxml" file="media2024-01-05_CI2SdWbmxlnsfXvn/image349…
F分布
  称随机变量服从参数为的[img ty…
伽玛分布
  伽玛分布是统计学的一种连续概率函数。gam分布中的参数[img type="tslxml" file="media2024-01-05_CI2SdWbmxlnsfXvn/image387.pn…
贝塔分布
  概率论中还有一种称为贝塔分布的概率密…
瑞利分布
  称随机变量服从参数为b的瑞利分布,如果它有概率密度:
[center][img type="tslxml" file="media2024-01-05_CI2SdWbmxlnsfXvn/im…
威布尔分布
  概率密度函数:
[center]
对数正态分布
  许多偏态分布变量经过适当选择的变化后,就服从或近似服从正态分布,对数变换是典型的例子之一。
  称随机变量服从参数为[img type="tslxml" file="media2024-…
拉普拉斯分布
  在概率论与统计学中,拉普拉斯分布是以皮埃尔-西蒙·拉普拉斯的名字命名的一种连续概率分布.由于它可以看作是两个不同位置的指数分布背靠背拼接在一起,所以它也叫作双指数分布.两个相互独立同概率分布指…
柯西分布
  柯西分布也叫作柯西-洛仑兹分布,它是以奥古斯丁·路易·柯西与亨得里柯西分布也叫作柯西-洛仑兹分布,它是以奥古斯丁·路易·柯西与亨得里克·洛仑兹名字命名的连续概率分布,其概率密度函数为
[ce…
分布特征检验
  本节中,我们将介绍几种判断一组数据是否服从给定分布的假设检验。正态分布是许多检验的基础,比如F检验,t检验,卡方检验等在总体不是正太分布是没有任何意义。因此,对一个样本是否来自正态总体的检验是…
随机性检验


随机性检验模型Time_RandomTest

我们来查看下,上证收盘价差分后的…
ARMA模型拟合
  ARMA模型有两个预先要给定的参数,p,q。这两个参数用户可以通过观察自相关系数以及偏自相关系数初步给定,再使用信息准则最小原则在旁边寻找。

[strong]偏自相关系数模型[/stro…
Mt_decompose_lu
范例(t):
H := corr(rand(100,4));
Mt_decompose_lu(H,L,U);
return array(L,U);

结果:
chol
范例(t):
[code]
H := corr(rand(100,4));
chol(H,L,p);        //乔列斯基分解
if p = -1 then return…
mt_decompose_qr
范例(t):
范例01:
[code]
H := corr(rand(100,4));
mt_decompose_qr(H,Q,R);    //QR分解
return array(Q…
mt_decompose_eig
范例(t):
[code]
H := corr(rand(100,4));
mt_decompose_eig(H,wr,wi,vr);
return array(wr,wi,vr);
[/c…
Standarize_II
范例(t):
//每列之和为0
A:=rand(5,5);
A:=Standarize_II(a,7);
Return A;

返回结果:
[img typ…
Betainc
范例(t):
[code]
a:=3;
b:=4;
tail:='upper';
x:=rand(10);
return array(betainc(x,a,b),betainc(x,a,…
分布函数
  TinySoft金融分析平台上提供了有关统计分布的函数:概率密度,(累计)分布函数,分位数函数(分布逆函数),随机数函数,估计函数
  概率密度,(累计)分布函数,分位数的函数命名使用规…
Hist
范例(t):
A := randnorm(0,1,10000);
return hist(A,30,center);

结果,一维数字数组
[img type=…
sf_normpdf
范例(t):
x := array(-2,0.1)->2;
return sf_normpdf(x,0,1);

结果:
[img type="tsl…
sf_normcdf
算法:
标准正态分布的概率密度函数为:
pt=12πe-t22      t∈(-∞,+∞)
则随机变量x对应分布函数(x):
(x)=12π-∞xe-t22dt
定义函数erf…
sf_norminv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_norminv(y,0,1);

结果:
[img type=&q…
Randnorm
范例(t):
return randnorm(0,1,10,array("a","b"));

结果:
[img type…
Normfit
范例(t):
[code]
x := randnorm(0,1,10,array("a","b"));
return normfit(x,0.05);
sf_unidpdf
范例(t):
x := 1->10;
return sf_unidpdf(x,10);

结果:
[img type="tslxml" fi…
sf_unidcdf
范例(t):
x := array(-4,0.1)->4;
return sf_unidcdf(x,0,1);

结果:
[img type="tsl…
sf_unidinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_unidinv(y,10);

结果:
[img type=&qu…
Randunid
范例(t):
return randunid(10,10,array("a","b"));

结果:
[img type=…
sf_geopdf
范例(t):
x := 1->10;
return sf_geopdf(x,0.5);

结果:
[img type="tslxml" fi…
sf_geocdf
范例(t):
x := 1->10;
return sf_geocdf(x,0.5);

结果:
[img type="tslxml" f…
sf_geoinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_geoinv(y,0.5);

结果:
[img type=&quo…
Randgeo
范例(t):
return randgeo(10,10,array("a","b"));

结果:
[img type=&…
sf_hygepdf
范例(t):
x := 1->20;
return sf_hygepdf(x,100,10,20);

结果:
[img type="tslxml&…
sf_hygecdf
范例(t):
x := 1->10;
return sf_hygecdf(x,100,10,20);

结果:
[img type="tslxml&…
sf_hygeinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_hygeinv(y,100,10,20);

结果:
[img ty…
Randhyge
范例(t):
return randhyge(100,10,20,10,array("a","b"));

结果:
[im…
sf_binopdf
范例(t):
x := 1->20;
return sf_binopdf(x,10,0.5);

结果:
[img type="tslxml&quo…
sf_binocdf
范例(t):
x := 1->10;
return sf_binocdf(x,10,0.5);

结果:
[img type="tslxml&quo…
sf_binoinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_binoinv(y,10,0.5);

结果:
[img type…
Randbino
范例(t):
return randbino(10,0.5,10,array("a","b"));

结果:
[img t…
binofit
范例(t):
x := randbino(10,0.5,1);
return binofit(x,10,0.05);

结果:返回p的估计以及在alpha的显著…
sf_nbinpdf
范例(t):
x := 1->20;
return sf_nbinpdf(x,10,0.5);

结果:
[img type="tslxml&quo…
sf_nbincdf
范例(t):
x := 1->10;
return sf_nbincdf(x,10,0.5);

结果:
[img type="tslxml&quo…
sf_nbininv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_nbininv(y,10,0.5);

结果:
[img type…
Randnbin
范例(t):
return randnbin(10,0.5,10,array("a","b"));

结果:
[img t…
sf_unifpdf
范例(t):
x := 1->10;
return sf_unifpdf(x,1,10);

结果:
[img type="tslxml"…
sf_unifcdf
范例(t):
x := 1->10;
return sf_unifcdf(x,1,10);

结果:
[img type="tslxml"…
sf_unifinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_unifinv(y,1,10);

结果:
[img type=&q…
Randunif
范例(t):
return randunif(1,10,10,array("a","b"));

结果:
[img ty…
DateTimeToJulianDate
范例(t):

[code]
return DateTimeToJulianDate(strtodatetime('2014-01-01 10:00:00'));
//输出2456658.91…
JulianDateToDateTime
范例(t):

[code]
A := JulianDatetoDateTime(2456658.91667);
return DatetimetoStr(A); //输出2014-01…
TryJulianDateToDateTime
范例(t):

[code]
flag:=TryJulianDateToDateTime(2456658.91667,T);
if flag then

return Datetimet…
DateTimeToModifiedJulianDate
范例(t):

[code]
a := DateTimeToModifiedJulianDate(strtodatetime('2014-01-01 10:00:00'));
return a…
ModifiedJulianDateToDateTime
范例(t):

[code]
t := ModifiedJulianDateToDateTime(56658.41667);
return datetimetostr(t); //输出2014…
TryModifiedJulianDateToDateTime
范例(t):

[code]
flag:=TryModifiedJulianDateToDateTime(56658.41667,t);
if flag then

return date…
DateTimeToUnix
范例(t):

[code]
return DateTimeToUnix(strtodatetime('2014-01-01 10:00:00'));
//输出1388570400
[/co…
UnixToDateTime
范例(t):

[code]
T:=UnixToDateTime(1388570400);
return datetimetostr(T);
//输出2014-01-01 10:00:00 …
Histogram
范例(t):
范例一:
return Histogram(Randn(0,1,1000),array(-3,0.5)->3, '0.00'); 

//结果: …
Field_AddSuffix
范例(t):
[code]
//给随机数组批量加后缀
T:=rand(10,10);
Suffix:= "@A";
Ifcopy:=True;
return Field…
RenameFieldByFormat
范例(t):
[code]
//给随机数组批量加后缀
T:=rand(10,10);
Suffix:= '%s'$"@A";
Ifcopy:=True;
return …
Field_AddPrefix
范例(t):
[code]
//给随机数组批量加前缀
T:=rand(10,10);
Suffix:= "A";
Ifcopy:=True;
return Field_…
Sprand1
范例(t):
[code]
//创建与矩阵S相同结构的稀疏均匀随机矩阵
S:=array((0,0,3,0,0),
      (0,0,0,0,0),
      …
Sprand2
范例(t):
//创建10*10稀疏均匀随机矩阵
A:=sprand2(10,10,0.3);
return A;

//结果:
  [img type=&…
Sprandn1
范例(t):
[code]
//创建与矩阵S相同结构的稀疏正态随机矩阵
S:=array((0,0,0,0,0),
      (0,0,0,5,0),
      …
Sprandn2
范例(t):
//创建10*10稀疏正态随机矩阵
A:=sprandn2(10,10,0.2);
return A;

//结果:
  [img type=…
Sprandsym1
范例(t):
[code]
//创建与矩阵S相同结构的对称稀疏正态随机矩阵
S:=array((6,1,0,14,0),
      (0,7,0,0,15),
    …
Sprandsym2
范例(t):
//创建10*10对称稀疏正态随机矩阵
A:=sprandnsym2(10,0.2);
return A;

//结果:
  [img typ…
Spnnz
范例(t):
//稀疏正态随机矩阵A中非零元素数目
A:=Sprandn2(5,5,0.2);
return spnnz(A); //返回4(随机)
Spnonzeros
范例(t):
//提取稀疏正态随机矩阵A中非零元素
A:=Sprandn2(5,5,0.2);
return Spnonzeros(A);

//结果:
 …
Reshape
范例(t):
//默认拉伸为一个一维数组
A:=Rand(3,6);
return B:=Reshape(A);


[code]
//A 是一个4*3的矩…
ReIndex
范例(t):

[code]
//修改数字列名数组为字符串列名数组,即将0,1,2(自增数字)列名重构为"a","b","c"列名的数组
A:=rand(10,3);
s:=array("a…
ExpandTable
范例(t):
[code]
//按照分红送股列展开数据
data:=Query("","SH600000;SZ000002",True,"&qu…
简单函数对数组支持
  以前平台多数基本函数(比如sin)都不支持数组的输入,升级之后的函数不仅支持了数组,还加入了对于异常值的处理。func(In1,In2...InN[,Out1,...OutN]),In参数除支…
_And
范例(t):
Return _And(6,3); //返回十进制(6=110) and 3=(11) 最后得到二进制10
//结果:2
参考:[ref]_Or[/…
_Or
范例(t):
Return _Or (6,3);
//结果:7  
//返回十进制(6=110) or 3=(11) 最后得到二进制111,十进制是7
参…
_Not
范例(t):
[code]
Return _Not (4);
//结果:-5  
//返回十进制_not (4=00000100) 取非运算最后得到二进制11111011,十进制//是-…
_Xor
范例(t):
[code]
Return _Xor (6,3);
//结果:5  
//返回十进制 (6=110) Xor (3=011) 最后得到二进制101,十进制是5
[/cod…
_Shl
范例(t):
[code]
Return _Shl (6,3); 
//结果:48 
//返回十进制 (6=110) _Shl 3 最后得到二进制110000,十进制是48
[/cod…
_Shr
范例(t):
[code]
Return _Shr (36,3);
//结果:4  
//返回十进制 (36=100100) _Shr 3最后得到二进制00000100,十进制是4
[…
_Rol
范例(t):
[code]
Return _Rol (36,3); 
//结果:288 
//返回十进制 (36=100100) 左移3位,最后得到二进制100100000,十进制是//2…
_Ror
范例(t):
[code]
Return _Ror (36,2); 
//结果:9 
//返回十进制 (36=100100) 右移2位,最后得到二进制00001001,十进制是9
[/…
IsZero
范例(t):
[code]
a:=1.400000000001;
b:=1.399999999999;
return IsZero(a-b,0.000000001); //在9位小数的精度下 …
CompareValue
范例(t):
return CompareValue (3,4,0.5);  
//结果:-1
//表示3与4之间的差距超过0.5则正常比较,否则认为相等
参…
SameValue
范例(t):
return SameValue (3,4,0.5); 
//结果:0
//表示3与4之间的差距在0.5之内认为相等,否则认为不相等
参考:[…
RandomRange
范例(t):
return RandomRange (4.7,8.5); 
//结果:5//返回4到8之间的随机整数
参考:[ref]简单函数对数组支持[/ref…
InRange
范例(t):
return InRange (4.3,4,8); 
//结果:1       
参考:简单函数对数组支持
EnsureRange
范例(t):
return EnsureRange (4.3,4,8); 
//结果:4.3     
参考:简单函数对数组支持
MinValue
范例(t):
范例01:一维数组求最小值
a:=array(2,3,1,5,6,7);
return MinValue (a);
//结果:1

范例02:二…
MaxValue
范例(t):
范例01:一维数组求最大值
[code]
a:=array(5.3,3.9,5.6,5,6.5,7.6);
return MaxValue (a);
//结果:7.6
[/c…
Mean
范例(t):
范例01:一维数组求平均值
a:=array(2,3,1,5,6,7);
return mean(a);
//结果:4

范例02:二维数组指定…
Sum
范例(t):
范例01:一维数组求和
a:=array(2,3,1,5,6,7);
return sum(a);
//结果:24

范例02:二维数组指定列+…
SumOfSquares
范例(t):
a:=array(2,3,1,5,6.5,7.5);
return SumOfSquares (a);
//结果:124
参考:[ref]统计函数功…
Norm
范例(t):
范例01:一维数组求平方和的平方根
[code]
a:=array(5,3,5,5,7,7);
return Norm(a);
//结果:13.490737563232
[/…
SumsAndSquares
范例(t):
[code]
a:=array(2,3,1,5,6,7);
//b是总和,c是平方和
SumsAndSquares (a,b,c);
return array(b,c);
[…
StdDev
范例(t):
范例01:一维数组求样本标准差
[code]
a:=array(5.3,3.9,5.6,5,7.5,7.6);
return StdDev (a);
//结果:1.460707…
PopnStdDev
范例(t):
范例01:一维数组求总体标准差
[code]
a:=array(5.3,3.9,5.6,5,7.5,7.6);
return PopnStdDev (a);
//结果:1.33…
Variance
范例(t):
范例01:一维数组求样本方差
[code]
a:=array(5.3,3.9,5.6,5,7.5,7.6);
return Variance (a);
//结果:2.13366…
PopnVariance
范例(t):
范例01:一维数组求总体方差
[code]
a:=array(5.3,3.9,5.6,5,7.5,7.6);
return PopnVariance(a);
//结果:1.77…
MeanAndStdDev
范例(t):
[code]
a:=array(5.3,3.9,5.6,5,7.5,7.6);
//b是返回的平均值,c是返回的标准差
MeanAndStdDev (a,b,c);
Retur…
RandG
范例(t):
return RandG (2,3);
//结果:3.05   //3.05是均值为2,标准差为3的高斯分布的一个样本数据
参考:[ref]简单…
Skewness
范例(t):
范例01:一维数组求偏度
[code]
Data:=array(5,3,6,8,9,10,4);
return Skewness (Data);
//结果:0.11
[/co…
skewness2
范例(t):
范例01:一维数组求偏度
[code]
Data:=array(5,3,6,8,9,10,4);
return Skewness2(Data); 
//结果:0.09  …
Kurtosis
范例(t):
范例01:一维数组计算峰度
[code]
Data:=array(5,3,6,8,9,10,4);
return kurtosis(Data);
//结果:-1.64
[/c…
kurtosis2
范例(t):
范例01::一维数组计算峰度
[code]
Data:=array(5,3,6,8,9,10,4);
return kurtosis2(Data);
//结果:1.57
[/…
Geomean
范例(t):
范例01:一维数组计算几何平均数
[code]
Data:=array(5,3,6,8,9,10,4);
return GeoMean (Data);
//结果:5.93
[…
Harmean
范例(t):
范例01:一维数组计算调和平均数
[code]
Data:=array(5,3,6,8,9,10,4);
return Harmean(Data);
//结果:5.44
[/…
Product
范例(t):
一维数组计算累乘值
[code]
Data:=array(5,3,6,8,9,10,4);
return Product (Data); 
//结果:259200 //返回…
统计函数功能拓展
  我们以前的统计函数,只支持对于一维数组的处理,现在一并支持了对二维数组的处理,对行列操作的选择,移动统计,选择部分字段做统计等功能。
比如func(In1,In2...InN[,Out1,.…
SysExec
范例(t):
范例01:播放视频
[Code]
//调用windows media player的进程,播放文件D :\\test1\\when_ever.flv
toolPath := "C…
SysWaitForSingleObject
范例(t):
[code]
SysexecNewpipe(); //创建管道
path:="D:\\TinySoftNG\\AnalyseNG.NET\\TSL.exe"; …
SysWaitForMultipleObjects
范例(t):
[code]
   SysexecNewpipe(); //创建管道
   path:="D:\\TinySoftNG\\AnalyseNG.NET\\TSL.e…
SysCloseHandle
范例(t):
[Code]

//启动windows平台下的windows命令处理程序,然后关闭启动该程序时返回的句柄

toolPath := "C:\\Program File…
SysexecSetenvs
范例(t):
范例01:仅设置的环境变量有效,不使用本地系统环境变量
[code]
//设置环境变量,不使用系统环境变量
SysexecSetenvs(array("test=test","t…
SysexecNewpipe
范例(t):
[code]
  //创建读写管道
  SysexecNewpipe(0);
  path:="D:\\TinySoftNG\\AnalyseNG.NET\\…
SysexecDeletepipe
范例(t):
[code]
//创建读写管道
SysexecNewpipe(0);
path:="D:\\Program Files\\Analyse.NET\\TSL.exe&qu…
SysexecReadpipe
范例(t):非阻塞模式下输出内容的读取
[code]
pyPath:="D:\\Program Files\\Python\\Python38\\python.exe";
p…
SysExecWritepipe
范例(t):
[code]
 //创建读写管道
SysexecNewpipe(0);
path:="D:\\TinySoftNG\\AnalyseNG.NET\\TSL.exe&q…
PyCall
范例(t):
[code]
rdo2 PyRun("import numpy");
//不给状态值,默认方式下调用python的randint函数
return rdo2 …
MATLAB引擎调用范例
例如,用matlab做矩阵求逆的例子:
  a:=rand(10,10);
MPutVar("MatlabA",a);
MEval("MatlabB=inv(a)");
b:=MGetVa…
BLP测试范例
//下属例子为订阅两支指数的最新价格,价格到达则回调hello函数。
a:=array();
a[0]:=array("FSSTI Index", "LAST_PRI…
tsAppServer
范例(t):

[Code]

a:=rand(10,10);

return tsAppServer();

//结果:192.168.101.45:3328(Z:\server\b…
SaveTable
注意:
在保存用户数据的时候可以分目录保存,只需在目录层次间添加‘\\’即可;在不同的目录下可以将数据保存为相同的数据名称。
另外,该目录的分类方法在左上角工具栏中的“数据”可查看到分类,但是…
SendRunningData
范例(t):
[code]
//在原窗口输出个数,无需加Nwdow参数
n:=0;
While n<100 do
Begin
  Echo n;
SendRunningData(n)…
ConnectServer
范例(t): http模式代理登陆

[code]

cTS:=ConnectServer("tsl.tinysoft.com.cn",443,array("Ad…
RemoteAddress
范例(t):
[code]
#python交互范例,python代码
import sys
sys.path.append('D:\\tinysoft\\Analyse.NET\\')
i…
StockPFAndRatioInfo3

算法:

如果ReturnType为0 ,则返回报告期分红送股实施数据。

否则,返回空数组。范例(t):
[code]
//计算SZ000002,2017年年报的分红送股实施数据
StockBuyandHoldReturn

算法:

取每股期末股数和累计分红得到数组t;

取开始日前一天的收盘价BegValue;

截止日收盘价*每股期末股数+累计分红EndValue;

(EndValue / Be…
StockPFAndRatioInfo_ExDate
范例(t):
[code]
oV:=BackUpSystemParameters2();
//取'万科A'在2011年报告期分红送股情况_实施;
setsysparam(pn_stock(),…
StockBuyandSellByInsider
算法:

(1)取表"股票.董事、监事、高管持股变动"中'变动开始日'大于等于开始日,'变动截止日'小于等于截止日的数据。并在该基础上增加两列:'原始收盘'、'复权收盘'得到数组data;

BK_HSGETFBAndSAmount
范例(t):
  [code]
  //  获取港股通(沪)20220718 ETF买入及卖出成交额(亿港币)
  SetSysParam(PN_Stock(),'HG000001…
ListAAndB
范例(t):
[code]
//返回" SH600602"是否同时发行A、B股
ov:=BackUpSystemParameters();
SetSysParam(pn_s…
ListAAndH
范例(t):
[code]
//返回" SH600602"是否同时发行A、H股
ov:=BackUpSystemParameters();
SetSysParam(pn_s…
AandB
范例(t):
//返回A股和B股的对应列表
Return AAndB ();

[img type="tslxml" file="m…
StockAlphaBetaAndRisk
范例(t):
[code]
//SZ300296 利亚德,指数代码为SH000001, 2000年1月1日到2018年9月27日的α、β、系统风险、非系统风险。
setsysparam(pn_s…
Stock_RestrictedBanDate
范例(t):
  [code]
  // "SZ002327"在20220906最近的一个解禁日
  SetSysParam(pn_stock(),"S…
StockInandOutIndexCompisteDetail
范例(t):
[code]
SetSysParam(PN_Stock(),’SZ000690’);
begt:=20000801T;
endt:=20190101T;
return Stoc…
Bk_StdDev
算法:
按照加权方式(由RightType决定)计算组合日收益率(每日Rebalance)序列
计算组合日收益率的样本标准差范例(t):
可参考[htm]<a href="http:/…
Bk_TreynorMeasure
算法:
(1)按照加权方式(由RightType决定)计算组合日收益率(每日Rebalance)序列,求均值Rp
(2)将上述得到的序列求β,假设无风险收益率为Rf,一年交易240天,48周则Tr…
Bk_Var
范例(t):
[code]
//假设用户板块mybk成分股为2009年12月31日沪深300成分股
EndT := inttodate(20091231);
stockArr := getbk…
StocksHighAndLowVol
范例(t):
[code]

//返回沪深300区间最高成交量
stks := getbkbydate('SH000300',inttodate(20101231));;
BegT:= in…
StocksHighandLowAmount
范例(t):
[code]

//返回沪深300区间最高成交金额
  stks:= getbkbydate('SH000300',inttodate(20101231));
  BegT…
StocksHighandLowValue
范例(t):
范例1:
[code]

//返回沪深300区间总股本加权最高市值
  stks:= getbkbydate('SH000300',inttodate(20101231));…
Bk_LongDebtToNetAssetsandDebtRatio
范例(t):
[Code]
//返回沪深300 2012年上半年长期债务与营运资金比率(非百分数)
d:=inttodate(20120830);
Setsysparam(pn_date(),…
Bk_MOTaxandExpensesRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块销售税金率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d);
Bk_TaxandExpenses
范例(t):
[Code]
//返回沪深300 2012年中报的板块主营业务税金及附加
d:=inttodate(20120830);
Setsysparam(pn_date(),d);
s…
StocksTaxandExpenses
范例(t):
[code]
//返回2017年9月30日沪深300板块平均主营业务税金及附加
EndT := inttodate(20170903);
setsysparam(pn_date(…
Bk_MOTaxandExpensesRatio_Q
范例(t):
[Code]
//返回沪深300 2012年中报的加权板块销售税金率(季度)(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d…
BkPEAndPB_hx
算法:
板块市盈率(总股本加权) = 市价总值和/(净利润和*加权系数)
板块市盈率(流通股本加权)=∑(股票i流通市值)/∑(股票i报告期净利润/股票i报告期总股本*股票i报告期流通股本*加权系…
IsValueBetweeMaxAndMin
算法:从数据t中选出字段为FieldNamed的数据,如果该数据在LowValue到HighValue中,统计个数n加1,最后返回n。范例(t):
[code]
   t:=select * …
Bk_ListAAndH
范例(t):
[code]

//返回沪深300在20180918日上市的仅发行A、H股个数
EndT := inttodate(20180918);
stockArr := getbkby…
Bk_ListAAndB
范例(t):
[code]

//返回沪深300在20180918日上市的公司仅发行A、B股个数
EndT := inttodate(20180918);
stockArr := getbk…
Q:python中通过pandas的read_sql方法以ODBC方式连接天软服务器时出现异常警告
问题描述
 使用pandas的read_sql方法连接天软时出现异常提示:UserWarning: pandas only support SQLAlchemy …
2012-04-08-模型更新-关于财务数据的调整及访问方法
本次升级,属于财务数据访问的重大升级。
1、简要分析了财务数据存在“调整前、调整后”…
Q:如何提取定向增发的数据
A:
查看 “证券数据专家-> 基本数据-> 股票-> 增发”,通过双击指标将该指标加入到平台的下方,选择股票、报告期等参数。增发表的数据包括公开增发和定向增发的数据,发行方式为“非公开发行”,…
TSL中的字段
例如a:=”abcd”;
[a]表示字段abcd,也可以采用[“abcd”],是一样的含义。
Select [a] from Table end;//表示返回列abcd而不是列a
同样[0]表示…
JOIN
[code]
A:=Array();
B:=array();
For i:=0 to 99 do
begin
A[i][“ABCD”]:=Random();
A[i][“INDEX”]:=…
聚集函数
为了防止和TSL其他函数产生冲突,聚集函数一般都以OF结尾,例如平均值是AVGOF,求和是SumOf。
聚集函数支持条件聚集,并且支持序列化,例如移动平均。
例如:
[code]
A:=arr…
Q:如何把数据导出成TXT文件,如果导出数据有很多行,怎么操作,stm,txt,csv文件大小,stm只被天软接受吗,stm文件如何导入?
A:直接使用WriteFile函数就可导出txt文件,范例如下:
str:= 'WriteFile demo';
rdo2 WriteFile(rwraw(),'',"d:\\tes…
Q:天软中提供哪些港股通数据?分别如何提取?
A:其各类数据的取数方式与A股一样。
相关信息如下表所示:
[table rsplit="$" csplit="#"]板块#板块名#证券代码#成份开始日
$港股通(沪)#港股通(沪)#HG000…
Q:如何提取基金一段时间的每日净值数据?
A:第一种方法:天软有基金净值表格数据,表ID为328,用户可直接提取进行筛选。
范例1:
[code]
 begt:=20…
Q:日成交量为0的分钟线数据在什么时候过滤?
A:对于分钟线数据,盘中有成交明细,就会实时生成分钟线。
在盘后:
1、盘后4点半会落地成数据文件,该数据过滤掉了当日成交量为0的分钟线数据。
2、在下一个交易日开盘前会清掉最新的缓存,比如有夜…
Q:如何实现多个指标按百分位排名进行打分
A:可封装打分函数例如:getScorebyRank(t,FileName,r,s,sortdir)
实现指定列按指定顺序排序后,按排序的百分位进行分组,进行打分。…
分红送股
数据说明
  记录A股、新三板、港股的派发红利、送股、转增、股份合并、股份拆细等数据,不包括股权分置改革数据,股权分置改革数据记录在股票.股权分置对价方案(In…
Q:如何在策略回测框架(TsBackTesting)中做高频回测时设置成交价为下一条交易明细价格数据?
A:在实盘操作中,在当前时间点进行选股模型的运算后,并不能立刻以当时的价格达成交易,所以,在高频回测中,有些用户也希望以下一个时点的价格来模拟实盘交易的情况,达到更接近实盘操作的目的。
[title…
标准券折算率
更新日志
更新日期更新记录
2019-09-06表中修改指标::标准券折算率
杰克.布拉希稳定成长选股法则
背景:
 杰克.布拉希(Jack Brush)是美国知名的股市数量分析大师,毕业于美国空军学院(United States Air Force Academy),…
盈利能力
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-06-23#新增字段:
 9900126 税前利润率(%…
Q:Alpha101因子的数据提取
A:重要说明:
 2022-03-14日起,天软不再公开101因子的衍生数据,因此,下面的提取衍生数据的相关接口已下架,需要该因子数据的用户可以通过商务了解天软因…
Q:港股、陆港通(南北向)交易日序列如何提取?
 A:天软的市场交易日历表(表ID:753)新增了港股、陆港通交易日历,数据具体取数代码及开始时间见下表:
[table rsplit="$" csplit="#"] 代码 # 市场/通道名称 #…
Q:在天软中能查到明天停牌和明天是第一天带ST的股票吗?
A:停牌数据采集于交易所网站,交易所一般在09:50之前大部分公布完成,在7:50-9:50时间区间内,天软系统将每5分钟从交易所采集一次,9:50之后以15分钟一次的频率采集数据,直到收盘。而从平时…
Q:市场交易日的推移实现
具体实现代码:
[code]
 datetime1:=20210104T; //可作为参数,指定日
 roll_n:=-2;     //可作为参数,推N个交易日

 //…
MIndexcount
说明:在对多维矩阵进行遍历(用MFind、MFindSparse或者::,:.,::=,:.=)的时候,表示当前元素所在的总维度
范例:
//打印当前遍历时的维度数。
[code]
a:=…
MIndex
说明:在对多维矩阵进行遍历(用MFind、MFindSparse或者::,:.,::=,:.=)的时候,Mindex(N)表示第N维的下标
范例:
[code]
a:=rand(3,4,ni…
Apache 2.2 Module模式:
   在 httpd.conf 中加入:
  LoadModule tsl_module
C:/Tinysoft/tsl/MOD_TSL2.dll
  AddType tslsc…
Apache 2.X CGI模式:
在 httpd.conf 中加入:
<Directory
"C:/Tinysoft/tsl">
  AllowOverride
None
  Options None
 …
Apache 1.x Module模式:
   在 httpd.conf 中加入:
  LoadModule tsl_module
C:/tsl/mod_tsl1.dll
  AddModule mod_tsl.c
Apache 1.x CGI模式:
在 httpd.conf 中加入:
<Directory
"C:/Tinysoft/tsl">
  AllowOverride
None
  Options
None
(2) 应收账款周转天数
   应收帐款周转天数,指公司从产品销售到获得客户付款所需要的时间(天数)。

  对于企业内部的管理者而言, 可以采用应收帐款流通在外的天期 (Days of Sales Outstan…
uniffit
范例(t):
x := randunif(1,10,100);
return uniffit(x,0.05);

结果:返回a,b的估计以及他们的在alpha的…
sf_poisspdf
范例(t):
x := 1->20;
return sf_poisspdf(x,10);

结果:
[img type="tslxml" f…
sf_poisscdf
范例(t):
x := 1->20;
return sf_poisscdf(x,10);

结果:
[img type="tslxml" …
sf_poissinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_poissinv(y,10);

结果:
[img type=&qu…
Randpoiss
范例(t):
return randpoiss(10,10,array("a","b"));

结果:
[img typ…
poissfit
范例(t):
x := randpoiss(1,100);
return poissfit(x,0.05);

结果:返回lambda的估计以及他们的在alph…
sf_exppdf
范例(t):
x := array(0,0.1)->4.5;
return sf_exppdf(x,1);

结果:
[img type="tslx…
sf_expcdf
范例(t):
x := array(0,0.1)->4.5;
return sf_expcdf(x,1);

结果:
[img type="tslx…
sf_expinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_expinv(y,1);

结果:
[img type="…
Randexp
范例(t):
return randexp(1,10,array("a","b"));

结果:
[img type=&…
expfit
范例(t):
x := randexp(1,100);
return expfit(x,0.05);

结果:返回parm的估计已经他们的在alpha的显著性水平…
sf_ch2pdf
范例(t):
x := 0->50;
return sf_ch2pdf(x,30);

结果:
[img type="tslxml" fil…
sf_ch2cdf
范例(t):
x := 0->50;
return sf_ch2cdf(x,30);

结果:
[img type="tslxml" fi…
sf_ch2inv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_ch2inv(y,30);

结果:
[img type=&quot…
Randch2
范例(t):
return randch2(30,10,array("a","b"));

结果:
[img type=…
sf_tpdf
范例(t):
x := array(-2.5,0.1)->2.5;
return sf_tpdf(x,30);

结果:
[img type="ts…
sf_tcdf
范例(t):
x := array(-2.5,0.1)->2.5;
return sf_tcdf(x,30);

结果:
[img type="ts…
sf_tinv1
范例(t):
y := array(0.01,0.01)->0.99;
return sf_tinv1(y,30);

结果:
[img type="…
Randt
范例(t):
return randt(30,10,array("a","b"));

结果:
[img type=&q…
sf_fpdf
范例(t):
x := array(0,0.1)->3;
return sf_fpdf(x,20,30);

结果:
[img type="tslx…
sf_fcdf
范例(t):
x := array(0,0.1)->3;
return sf_fcdf(x,20,30);

结果:
[img type="tslx…
sf_finv1
范例(t):
y := array(0.01,0.01)->0.99;
return sf_finv1(y,20,30);

结果:
[img type=&q…
Randf
范例(t):
return randf(20,30,10,array("a","b"));

结果:
[img type=…
sf_gampdf
范例(t):
x := array(0,0.1)->13;
return sf_gampdf(x,2,2);

结果:
[img type="tsl…
sf_gamcdf
范例(t):
x := array(0,0.1)->13;
return sf_gamcdf(x,2,2);

结果:
[img type="tsl…
sf_gaminv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_gaminv(y,2,2);

结果:
[img type=&quo…
Randgam
范例(t):
return randgam(2,2,100,array("a","b"));

结果:
[img typ…
sf_betapdf
范例(t):
x := array(0,0.01)->1;
return sf_betapdf(x,2,4);

结果:
[img type="ts…
sf_betacdf
范例(t):
x := array(0,0.01)->1;
return sf_betacdf(x,2,4);

结果:
[img type="ts…
sf_betainv
范例(t):
y := array(0.01,0.01)->0.99;
r:= sf_betainv(y,2,4,x);
return x;

结果:
[i…
Randbeta
范例(t):
return randbeta(2,4,100,array("a","b"));

结果:
[img ty…
sf_raylpdf
范例(t):
x := array(0,0.05)->9;
return sf_raylpdf(x,1);

结果:
[img type="tslx…
sf_raylcdf
范例(t):
x := array(0,0.05)->3;
return sf_raylcdf(x,1);

结果:
[img type="tslxm…
sf_raylinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_raylinv(y,1);

结果:
[img type=&quo…
Randrayl
范例(t):
return randrayl(1,100,array("a","b"));

结果:
[img type…
sf_wblpdf
范例(t):
x := array(0,0.05)->3;
return sf_wblpdf(x,1,1.5);

结果:
[img type="t…
sf_wblcdf
范例(t):
x := array(0,0.05)->3;
return sf_wblcdf(x,1,1.5);

结果:
[img type="t…
sf_wblinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_wblinv(y,1,1.5);

结果:
[img type=&q…
Randwbl
范例(t):
return randwbl(1,1.5,100,array("a","b"));

结果:
[img ty…
sf_lognpdf
范例(t):
x := array(0,0.1)->5;
return sf_lognpdf(x,0,1);

结果:
[img type="tsl…
sf_logncdf
范例(t):
x := array(0,0.1)->5;
return sf_logncdf(x,0,1);

结果:
[img type="tsl…
sf_logninv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_logninv(y,0,1);

结果:
[img type=&q…
Randlogn
范例(t):
return randlogn(0,1,10,array("a","b"));

结果:
[img type…
sf_Laplacepdf
范例(t):
x := array(-8,0.1)->8;
return sf_Laplacepdf(x,0,2);

结果:
[img type=&quot…
sf_Laplacecdf
范例(t):
x := array(-8,0.1)->8;
return sf_Laplacecdf(x,0,2);

结果:
[img type=&quot…
sf_Laplaceinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_Laplaceinv(y,0,2);

结果:
[img type…
RandLaplace
范例(t):
return randLaplace(0,2,10,array("a","b"));

结果:
[img t…
sf_Cauchypdf
范例(t):
x := array(-60,1)->60;
return sf_Cauchypdf(x,0,2);

结果:
[img type="…
sf_Cauchycdf
范例(t):
x := array(-60,1)->60;
return sf_Cauchycdf(x,0,2);

结果:
[img type="…
sf_Cauchyinv
范例(t):
y := array(0.01,0.01)->0.99;
return sf_Cauchyinv(y,0,2);

结果:
[img type=…
RandCauchy
范例(t):
return randCauchy(0,2,10,array("a","b"));

结果:
[img ty…
NormPlot
范例(t):
x:=rand(10);
return NormPlot(x);

结果:
array(
("采样位数":0.1719769…
Hypoth_Kstest
范例(t):
Return Hypoth_Kstest(randn(0,1,100),’both’,a,cdf);

结果:
[img type="ts…
Corr
范例(t):
A:=rand(3,4);
Return corr(A,1);//返回的是一般相关系数矩阵

输出结果:
[img type="tslx…
CorrelationMatrix
范例(t):
a := rand(4,3);
return CorrelationMatrix(a,1);

结果
[img type="tslxml…
Covariance
范例(t):
a := rand(4,3);
return Covariance(A);

结果
[img type="tslxml" fi…
Corrcoef
范例(t):
A:=rand(7,4);
Return corrcoef(A); //返回简单相关系数分析

输出结果:
[img type="ts…
Corr_partial
范例(t):
[Code]
x := rand(100,3);
y := rand(100,2);
z := rand(100,2);
return corr_partial(x,y,z,2…
Regression
范例(t):
[code]
Y:=array(0.001,0.564,0.193,0.809,0.585,0.48,0.35,0.896,0.823,0.747);
X:= array(
(0…
Regress_AicAndSbic
范例(t):

[code]
U:=array(0.245863,0.056726,-0.145411,-0.287547,-0.410684,0.012821,0.073042,0.20190…
Regress_VIF
范例(t):
return Regress_VIF(rand(100,10));

[img type="tslxml" file="…
boxcox
范例(t):
data := rand(100);
return boxcox(data);

结果:
[img type="tslxml"…
Regress_TTest_RWLS
算法:OLS:普通最小二乘法回归,不需要给权重参数weight,不需要给约束参数restrictiveness
WLS:加权最小二乘法回归,需要给权重参数weight,不需要给约束参数restric…
ComponentScoreMatrix
算法:
将Cm进行转置得到CmT,获得R的逆矩阵rinv,将两个矩阵经过矩阵的乘法得到矩阵t,将t进行转置获得tT范例(t):
[code]
//设置样本矩阵
zt:=array((0.759…
FactorScoreMatrix
算法:
将Cs和Z进行转置得到CmT和zT,将两个矩阵经过矩阵的乘法得到矩阵r,将r进行转置获得rT范例(t):
[code]
//设置样本矩阵
zt:=array((0.7592,1.759…
ComponentMatrix
算法:
计算特征根开平方根乘以对应位置的特征向量得到数组Z;
将数组Z进行转置得到矩阵ZT,对特征根进行排序,按照从小到大的顺序找到特征根的累计方差贡献率大于或等于85%为止对应在数组ZT的值得到…
RotatedComponentMatrix
算法:
计算相对方差,然后把矩阵进行规范化,最后进行方差的最大旋转范例(t):
[code]
//设置样本矩阵
zt:=array((0.7592,1.7593,21.9279,48.5626…
FScoreResult
算法:
通过矩阵的乘法获得矩阵F,矩阵F的第一列为数组R的第一项,数组R的其他项为矩阵FactorArr的值范例(t):
[code]
//设置样本矩阵
zt:=array((0.7592,1…
Time_Diff
范例(t):
A := rand(100,10);
return Time_Diff(A,1);//得到A的一阶差分
参考:diff …
Time_ACF
算法:[img type="tslxml" file="media2024-03-20_WEfCpvnqqtg5qGJa/image666.png"][/img…
Time_PACF
范例(t):
[Code]
y:=array(64.00,60.00,60.1,59.95,61.5,71.5,75.05,77.5,73.2,75.3);
return Time_PACF(y…
Time_RandomTest
范例(t):
[Code]
y:=randNorm(0,1,200);
m:=6;
alpha:=0.05;
return Time_RandomTest(y,m,alpha);
[/Co…
AR
范例(t):
[Code]
elps:=Randnorm(0,1,200);
y:=array();
y[0]:=0;
y[1]:=0;
for i:=2 to 199 do
y[i]:…
ARMA
范例(t):
[Code]
elps:=randnorm(0,1,200);
y:=array();
y[0]:=0;
for i:=1 to 199 do
y[i]:=0.8*y[i-1…
Time_ARp
范例(t):

[code]
elps:=Randnorm(0,1,200);
y:=array();
y[0]:=0;
y[1]:=0;
for i:=2 to 199 do
y[i…
Time_MAq
范例(t):


[code]

{已知一个MA模型,通过产生样本去模拟MA模型,求出拟合系数再跟原模型系数比较}

elps:=Randnorm(0,1,200);

y:=arr…
Time_ARMA
范例(t):
[code]
{已知一个ARMA模型,通过产生样本去模拟ARMA模型,求出拟合系数再跟原模型系数比较}
elps:=Randnorm(0,1,200);
y:=array(); …
Slopeandintercept
算法:
备注:参数数据长度必须保持一致且大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘收盘价格的回归斜率和截距
[code]
begt:=2018100…
MeanAndPopnStdDevWithRate
算法:
μ=1nRi*Di1nRi
σ=1nRi*inRi*Di2-(1nRi*Di)21nRi
其中μ为均值,σ为标准差范例(t):
[code]
MeanAndPopnStdDevWit…
BetaAndAlpha
范例(t):

BetaAndAlpha(array(3,6),array(4,12),k,b);

return k;

//返回:0.375
ExportFile
范例(t):
范例01:
[Code]
data:=rand(10,5);
   ret:=rdo2 exportfile(ftxls(),"","c:\\test.xls",data);…
ImportFile
范例(t):
范例01:
[Code]
Data1:=rand(10,5);
ret1:=rdo2 exportfile(ftxls(),"","c:\\test.xls",data1);
ftStream
范例(t):

导出操作:
[code]
data:=rand(10,array("A","B","C"));
r:=rdo2 Exportfile(ftStream(),'','E:\\t…
Q:为什么2016年1月4日看上去像缺失了高频数据?
A:“2015年12月4日,上交所、深交所、中金所正式发布指数熔断相关规定,熔断基准指数为沪深300指数,采用5%和7%两档阈值。

2016年1月4日,A股遇到史上首次“熔断”。早盘,两市双双低…
ThisRow的其他用途
在处理二维数据结构的时候,ThisRow同样是有用的,我们使用update的时候,由于需要使用set [FieldName]=Value的模式,当字段特别多的时候,使用起来就很麻烦,这个时候,This…
TS-SQL和多重嵌套查询
  在前边的章节中,我们学习了多表的联接,但是有时候我们还是需要使用到多重嵌套查询,举一个例子:
  假定B还是英语成绩结果集,D则是上课出勤记录,我们要返回一个结果集,在B的基础上增加一列…
RefsOf访问上级结果集
  RefsOf的定义为:RefsOf(Exp,UpLevel)
 其中Exp是一个任意的计算表达式,UpLevel是上几级,1表示上一级,2表示上两级,依此…
BK_HSGNMarketBAndSAmountSum
范例(t):
  [code]
  //获取北向通道在区间20220701-20220718 股票买入及卖出成交额
return BK_HSGNMarketBAndSAmountSum(…
BK_HSGStocksBAndSAmountPercent
  算法:区间股票买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取港股通(沪)在区间20220701-2…
BK_HSGSMarketETFBAndSAmountPercent
  算法:区间ETF买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取南向通道在区间20220701-20…
BK_HSGETFBAndSAmountPercent
  算法:区间ETF买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取港股通(沪)在区间20220701-…
BK_HSGSMarketBAndSAmountPercent
  算法:区间股票买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取南向通道在区间20220701-202…
BK_HSGSMarketETFBAndSAmountSum
范例(t):
  [code]
  //获取南向通道在区间20220701-20220718 ETF买入及卖出成交额
return BK_HSGSMarketETFBAndSAmount…
BK_HSGSMarketBAndSAmountSum
范例(t):
  [code]
  //获取南向通道在区间20220701-20220718 股票买入及卖出成交额
return BK_HSGSMarketBAndSAmountSum(…
BK_HSGNMarketETFBAndSAmountPercent
  算法:区间ETF买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获北向通道在区间20220701-202…
BK_HSGNMarketETFBAndSAmountSum
范例(t):
  [code]
  //获取北向通道在区间20220701-20220718 ETF买入及卖出成交额
return BK_HSGNMarketETFBAndSAmount…
BK_HSGStocksBAndSAmountSum
范例(t):
  [code]
  //获取港股通(沪)在区间20220701-20220718 股票买入及卖出成交额
  SetSysParam(PN_Stock(),'HG000…
BK_HSGETFBAndSAmountSum
范例(t):
  [code]
  //获取港股通(沪)在区间20220701-20220718 ETF买入及卖出成交额
  SetSysParam(PN_Stock(),'HG00…
BK_HSGNMarketBAndSAmountPercent
  算法:区间股票买入及卖出成交额/买入及卖出成交额*100
  如果返回0,说明区间通道无交易范例(t):
  [code]
  //获取北向通道在区间20220701-202…
BK_HSGStocksBAndSAmount
范例(t):
  [code]
  //  获取港股通(沪)20220718股票买入及卖出成交额(亿港币)
  SetSysParam(PN_Stock(),'HG000001')…
BK_HSGSMarketBAndSAmount
范例(t):
  [code]
  //  获取南向通道20220718股票买入及卖出成交额
  SetSysParam(PN_Date(),20220718T);
return…
BK_HSGSMarketETFBAndSAmount
范例(t):
  [code]
  //  获取南向通道在20220718 ETF买入及卖出成交额(元)
  SetSysParam(PN_Date(),20220718T);
BK_HSGNMarketBAndSAmount
范例(t):
  [code]
  //  获取北向通道20220718股票买入及卖出成交额
  SetSysParam(PN_Date(),20220718T);
return…
BK_HSGNMarketETFBAndSAmount
范例(t):
  [code]
  //  获取北向通道在20220718 ETF买入及卖出成交额(港币)
  SetSysParam(PN_Stock(),'HG000001')…
OP_GetPutAndCallratio
算法:到日期为Ex_endt日的指定期权品种为StockID的 在指定时间endt的所有认购期权成交量与认沽期权成交量的比值,到期日<=0表示取所有代码范例(t):
[code]
Return O…
FundCashAndBonusInfo
范例(t):
[code]
//取基金金泰2005年2月1日到2012年3月5日之间的分红和拆分情况
Setsysparam(pn_stock(),'SH500001');
Return Fu…
转融券交易明细
数据说明

 该表记录股票的转融券交易明细数据,包括个股各期限的融出数量、费率等数据。自2024年7月11日起,证金公司暂停了转融券相关业务,数据影响参考[FA…
转融券余量
数据说明
 该表记录股票转融券余量数据,包括各个证券融出未偿还的余量、余额。自2024年7月11日起,证金公司暂停了转融券相关业务,数据影响参考[FAQ id=3…
Q:如何调整数据结果中多维数组的显示格式
A:在数据结果页面中二维及以上的数据正常显示格式为每层是个二维表格,内部嵌套剩余维度的数组
 可以在每层结果中点击“数据”->“强制为一维显示”对该层结果降维显示,
 比如一个五维数据表(行-…
Q:天软用户数据的查看与管理
A:用户数据是天软提供给客户用于临时存储数据的数据存储方式。
该数据存储于天软服务器中,与天软函数一样会占用账号的存储空间,所以一般推荐存储临时的小文件数据,大文件数据建议用户保存在用户本地,避免占…
Q:天软服务器远端连接信息的INI文件配置方法
A:可将天软服务器登陆信息配置到tslclient.ini文件中,方便登陆时直接调用,避免每次都需要输入账号信息,也方便程序的维护。
具体步骤如下:
[title…
柏顿.墨基尔成功选股法则
背景:
 柏顿.墨基尔(Burton G. Malkiel)是普林斯顿大学(Princeton University)华友银行的讲座教授(Chemical Ban…
麦克.贝利2-2-2选股法则
背景:
 麦克.贝利(Michael Berry)是亚利桑那大学数量分析博士(PhD in quantitative analysis from Arizona …
李.古柏中小型成长股选股法则
背景:
 李.古柏(Lee Kopp)是美国知名的成长型投资组合经理人(Portfolio Manager),投资经历长达40年,1956年以优异的成绩毕业于明尼…
威廉.纳葛维兹小型价值股投资法则
背景:
 威廉.纳葛维兹(William J. Nasgovitz)是美国著名的价值型基金经理人,投资经历长达33年以上,1966年毕业于威斯康辛大学麦迪逊分校(…
惠特尼.乔治小型价值股投资法则
背景:
 惠特尼.乔治(Whitney George)是美国著名的基金经理人,投资经历长达22年以上,毕业于三一学院(Trinity College),曾任职于多…
阿梅特.欧卡默斯价值型集中投资法则
背景:
 阿梅特.欧卡默斯(Ahmet Okumus)1969年出生于土耳其的伊斯坦堡,16岁时就对于土耳其股市产生兴趣,1989年因求学需要移民至美国,就读于圣…
戴维.卓曼反向操作价值型选股法则
背景:
 戴维.卓曼(David Dreman)是美国知名的价值型基金经理人,他所管理的史卡德卓曼高报酬权益基金(Scudder Dreman High Retu…
詹姆士.欧斯拉格成长型投资法
背景:
 欧斯拉格(James D. Oelschlager)是美国著名的成长型基金经理人,投资经历长达30年以上,1967年毕业于西北大学,1969年至1985…
史考特.布雷克价值选股投资法则
背景:
 史考特˙布雷克(Scott M. Black)是美国知名的价值型投资经理人(Portfolio Manager),投资经历长达27年,曾任职于全录公司(…
葛廉.毕克斯达夫中大型成长股选股法则
背景:
 葛廉.毕克斯达夫(Glen E. Bickerstaff)是美国知名的成长型基金经理人,投资经历20年以上,曾任太平洋世纪顾问公司(Pacific Ce…
戴维.波伦价值型系统评价法则
背景:
 戴维.波伦(David M. Polen)是美国知名的价值型投资组合经理人,投资经历长达35年,原本担任股票经纪人,也是美国第一批获得合格财务规划师(C…
理查德&马文价值导向选股法则
背景:
 理查德.柏奇渥(Richard Buchwald)与马文.克莱恩(Marvin Kline)均为财务分析师(Chartered Financial An…
考夫曼基金新上市股投资法则
背景:
 考夫曼基金是美国著名以投资新上市公司为主的基金,1986年,罗伦斯.奥瑞安(Lawrence Auriana)及汉斯.乌许(Hans Utsch)自创始…
吉姆.史莱特祖鲁原则投资法
背景:
 吉姆.史莱特(Jim Slater)是英国知名的成长型投资大师,投资经历长达37年,1960年代即取得会计师资格,为他所服务的礼兰公司(Leyland)…
Q:时间轴|数据点不对等的情况下,K线与折线组合图形的实现
实现
 使用价格分段算法对历史K线分割,得到每个分割点的日期时间和价格,用这个数据作为拐点,在K线图上绘制出折线图。
 在天软终端上绘制折线图需要给出线段上…
2021-04-06客户端升级说明
2021-04-06升级:
--------------------------------
 更新:format函数处理长度超过1K的串的时候可能会出现未处理…
Q:天软宝塔线的高中低值的实现
A:本文中主要还原天软宝塔线图形实现过程中相关指标计算的过程。
首先在天软中,我们可以画一段时间的宝塔线如下图所示:
[code]
  begt:=20210301T;
  endt:=2…
Q: 指定日申万行业代码与申万行业指数代码的相互转换
内部代码对照表(136):
申万行业代码与申万行业指数代码是一一对应的关系,其关系可通过天软的股票.内部代码对照表进行查询,可直接通过天软的接口:StockIndu…
Q:2021-07-09日回测框架升级可能出现报错的问题解决办法
A:2021-07-09日之后执行回测模型,个别用户可能会出现比如以下的类似报错:

[img id=19377][/im…
Q:python中如何将数组类型的参数传入天软函数中执行?
说明:
  python中可用列表(list)作为数组类型参数传给天软函数执行
  一维数组可直接传入一个list 例:["SZ000001","SZ0000…
Q:python如何把天软数据分批导入到本地
说明:
 在获取行情大数据时有时会发现电脑卡顿甚至死机的情况,需要合理分批导出数据到本地。下载说明请参考:FAQ:Q:如何合理下载大量高频行情数据?
 有时在与…
Q:python如何通过远程登录的方式打印echo后的信息
说明:
 python与天软平台的交互中,python通过远程登录的方式可直接打印天软平台的echo信息

远程登陆交互配置请参考:[FAQ id=15212…
Q:回测-比例类-指定资产占比的条件下进行市值等量对冲
A:由于比例回测中,用户提供的持仓数据中"比例(%)"代表的是占总市值比例,所以,等市值对冲,若无其它要求,可以各给50%,若考虑留备用仓位防止暴仓,一般可留用10%的现金,则可各分配45%,即期货与…
Q:pyTSL接口中如何传递DataFrame类型数据执行
A:提供以下两种方式的范例:
方式一:pyTSL提供方法DataFrameToTSArray,可以把dataframe转成TS array风格的数据结构。
方式二:天软和python都能支持jso…
Q:如何通过代码的方式使用任务管理命令
A:任务管理主要是对登录的账号、执行的在线任务或委托执行的任务进行查看或者终止任务等操作。
详细说明:FAQ:Q:任务管理说明
 [attent…
Q:中证指数发布渠道变更,部分指数代码开始不再有行情
A:根据中证指数公司的“关于调整部分指数发布渠道的公告”:

中证指数有限公司决定自2021年2月5日起,调整部分指数的发布渠道(详见附件)。发布渠道调整后,指数代码不变。”
中证公告网址: …
Q:查找与公用函数同名的函数列表
A:在天软中,可以存在与公用函数同名的情况,且用户函数若与公用函数同名时,会优先调用用户函数。
所以,通常情况下,要避免与公用函数同名。
当用户认为天软公用函数不完全满足用户自己的需求时,可以通过…
Q:如何在do python方式与天软交互中处理DataFrame数据类型
A:天软和python都能支持json串,在交互过程中,可以通过json串作为数据转换的桥梁,解决编码不一致及数据类型不匹配等的问题。
交互文档:FAQ:2019-05-08-应用专题-第三方交互07:天软平台和PYTHON的交互
Json…
班杰明.葛拉汉防御价值型投资法
背景:
 班杰明.葛拉汉是华尔街公认的证券分析之父,1894年生于伦敦,1895年举家迁居纽约,9岁时父亲过世,幼年生活困苦,1914年毕业于哥伦比亚大学,进入证…
威廉.米勒中心价值成长投资法
背景:
 威廉.米勒(William H. Miller)是美国传奇性的基金经理人,毕业于华盛顿李大学(Washington & Lee University)经…
约翰.罗杰士中小型价值成长选股法则
背景:
 约翰.罗杰士(John Rogers)是美国知名的基金经理人,投资经历长达21年,毕业于普林斯顿大学(Princeton University)经济系,…
汤玛士.贝利微型成长股投资法则
背景:
 汤玛士.贝利(Thomas Barry Ⅲ)是美国知名的成长型投资大师,投资经历长达30年,1967年毕业于爱荷华大学(University of Io…
理查德.崔赫斯积极成长动能型选股法则
背景:
 理查德.崔赫斯(Richard Driehaus)是美国知名的动能型投资组合经理人(Portfolio Manager),投资经历长达32年,1968至…
贾布利.瓦森营收成长动能选股法则
背景:
 贾布利.瓦森(Gabriel Watson)是美国知名的动能型投资组合经理人(Portfolio Manager),毕业于圣地亚哥州立大学(San Di…
贾布利.瓦森成长动能型机械式选股法则
背景:
 贾布利.瓦森(Gabriel Watson)是美国知名的动能型投资组合经理人(Portfolio Manager),毕业于圣地亚哥州立大学(San Di…
Q:天软中如何实现市场的超大单,大单,中单,小单按分钟汇总的成交金额走势图
个股实现
说明: 获取个股指定日分钟线大单成交金额(万)数据
代码:
[code]
Fu…
Q:有夜盘数据时,如何确定当前时点的数据属于哪个交易日?
A:由于交易时间段的不一致,要通用各大证券类型,可根据一般白盘截止时间进行划分推算。
比如,一般国内证券会在下午4点前收盘,晚盘在晚上8点后开盘,考虑到港股可能是在4点左右,我们可以将白盘截止时间设…
福斯特.佛莱斯积极成长选股策略
背景:
 福斯特.佛莱斯(Foster Friess) 1940年生于美国威斯康星州莱斯湖畔,1974年与Lynn Friess共同创立佛莱斯联合公司(Fries…
理查德.考克支持赢家操作法则
背景:
 理查德.考克(Richard Koch)是英国知名的企业家、创投专家及作家,年轻时创立英国著名的创投公司-LEK Partnership and Str…
威廉.欧尼尔CANSLIM投资法则
背景:
 威廉.欧尼尔(William J. O'Neil)是美国知名的成长型投资大师,投资经历长达40年,毕业于南美以美大学(Southern Methodis…
安东尼.贾利亚反向操作选股投资法则
背景:
 反向思考(Contrary Thinking)是股市流传已久的古老智慧,但一直只能以谚语式的层次,提供投资者模糊的操作概念,因为市场是否处于极端乐观或悲…
罗兰.怀李吉价值成长投资选股法则
背景:
 罗兰.怀李吉(Roland Whitridge)生于1938年,在1984年接掌戴维.包布森(David L. Babson & Co.)的包布森价值基…
柯林.麦克连成长价值优势投资法则
背景:
 柯林.麦克连(Colin McLean)是英国知名的价值型投资大师,投资经历长达25年,毕业于英国格拉斯哥大学经济统计系,曾在FS保险公司(FS Ass…
Q:天软随机数
A:天软随机数产生的函数及算法简介
算法与随机种子:FAQ:Q:Rand和Randg的算法,如何得到随机数
[title2]随机数基础函数:[…
Robustfit_M基于M估计的稳健回归及其检验函数说明
定义:Robustfit_M(Y,X:Array,alpha:Real,constant:Boolen,wfun:String,tune:Real,options:A…
Q:如何通过脚本代码的方式使用委托执行功能
A:由于分析研究的特殊性,有些复杂的分析模型或者复杂的数据向导运算无法在短时间内得到结果,可以使用另一种执行的方式:委托执行。
委托执行不需要用户在线等待结果的返回,运算的结果会存放在服务器的用户…
2021-11-23客户端升级说明:建议用户升级客户端
2021-11-23升级说明
[attention][strong]升级:客户端库支持tostm(Data,1)可以转换为新格式的流文件。平台功能升级。[/stro…
IE_EntrustmentContractingandLease
范例(t):
[code]

Return IE_EntrustmentContractingandLease();

//返回字符串”资产托管承包或租赁”

//结果:”资产托管承包或…
IE_LawsuitsandArbitration
范例(t):

return IE_LawsuitsandArbitration()

//返回字符串'诉讼仲裁'
StockHighAndLow
算法:
Days为时间段内的交易日数;
若Days不为0,h=begt到endt区间的最高的最高价,L=begt到endt区间的最低的最低价;
若Days为0,则h,l取开始日前一天的收盘价。范…
KLineAndBoll2
范例(t):
[code]
setsysparam(pn_stock(),'SH600000');
setsysparam(pn_date(),inttodate(20140123));
r…
KLineAndMA
范例(t):
[code]
setsysparam(pn_stock(),'SH600000');
setsysparam(pn_date(),inttodate(20140123));
Re…
BkRiskAndReturn_Pgm
范例(t):
[code]
//返回深证A股板块及其下个股加权beta/alpha/平均收益率/标准差/残差标准差/相关系数
  bkname:="深证A股";
  i…
BksRiskAndReturn_Pgm
范例(t):
[code]

//返回深证A股及上证A股的风险指标
  bkname:="深证A股;上证A股";
  indexid:='SH000001';
 …
TSFL_TSMutiFactor_01
范例(t):
[code]
IndexId:="SH000300";
BegT:=20250101t;
EndT:=20251231t;
FactorArr:=array…
AllBKYieldAndRisk
范例(t):
Return AllBKYieldAndRisk(20,inttodate(20120628));

//结果:
[img type="t…
BKyieldAndRisk
范例(t):
  Return BKyieldAndRisk("深证A股",20,inttodate(20120728));

//结果:
yieldAndRisk
范例(t):

return yieldAndRisk("深证A股",20,inttodate(20120728));

//结果:
[im…
BkAndIndexKLine
范例(t):
[code]
  Return BkAndIndexKLine(

array("SH600718","SZ000002"),

&…
StandarizeBkData_III
范例(t):
[code]
Return StandarizeBkData_III(array("SZ002001","SZ002020","SZ…
StandarizeBkData_II
范例(t):
[code]
 t:=array(('代码':'SZ000002','日期':41209),('代码':'SZ000001','日期':41209));
Return Stand…
StandarizeBkData_I
范例(t):
[code]
 t:=array(('代码':'SZ000003','日期':nil),('代码':'SZ000002','日期':41209),('代码':'SZ000001',…
CashandCashEquivalentsPerShares
算法:每股现金净流量 = 现金及现金等价物净增加额 / 总股本
其中,
现金及现金等价物净增加额来源【股票.合并现金流量表】中‘现金及现金等价物净增加额’字段,在不同算法中处理如下:
[htm…
SalesofGoodsandServicesCashGrowRatio
算法:销售商品、提供劳务收到的现金增长率(%) =(本期销售商品、提供劳务收到的现金-上年同期销售商品、提供劳务收到的现金)/abs(上年同期销售商品、提供劳务收到的现金)*100
其中,
销售…
MOTaxandExpensesRatio
算法:销售税金率(%) = 主营业务税金及附加 / 主营业务收入 * 100
其中,
主营业务税金及附加来源【股票.合并利润分配表】中‘营业税金及附加’字段,在不同算法中处理如下:
[htm]…
LongDebtToNetAssetsandDebtRatio
算法:长期债务与营运资金比率=长期负债/(流动资产-流动负债)
其中,
长期负债来源【股票.合并资产负债表】中的‘长期负债合计’字段,在不同算法中处理如下:
[htm]<table><tbody…
InventoryAndAccontTurnOverDays
算法:营业周期 = 存货周转天数 + 应收帐款周转天数
其中,
存货周转天数 = 财务周转天数 / 存货周转率
财务周转天数来源当前计算范围的自然日天数,在不同算法中处理如下:
[htm]<…
BasicInfoExtId_SourceCode
范例(t):
return BasicInfoExtId_SourceCode();

结果:
[htm]<table><tbody><tr><td>
9900…
BasicInfoExtId_Convert
范例(t):
return BasicInfoExtId_Convert();

结果:
[htm]<table><tbody><tr><td>
name</t…
BasicInfoExtId
范例(t):
return BasicInfoExtId();

结果:
[htm]<table><tbody><tr><td>
name</td><td>
EndingBalanceofCashAndEquivalent
范例(t):
范例01:报告期指标提取
[code]
//2024年年报白云机场的现金及现金等价物的期末余额
setsysparam(pn_stock(),'SH600004');
se…
TaxandAdditionalExpenses_12
范例(t):
[code]
//指定2011年报,取万科A的最近12个月的主营业务税金及附加
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
TaxandAdditionalExpenses_Year
范例(t):
[code]
//指定2011年报,取万科A的两年前主营业务税金及附加
oV:=BackUpSystemParameters2();
setsysparam(pn_stock()…
pf_CovarianceANDCorrelation
范例(t):
[code]

s:=array;

s[0:1]['代码']:=array('SH600000','SH600028');

s[0:1]['行业代码']:=array(…
pf_VARByDeltaNormal_Sub
范例(t):
[code]

s:=array;

s[0:1]['代码']:=array('SH600000','SH600028');

s[0:1]['行业代码']:=array(…
pf_MarginalStandardDeviation1
算法:
(1)取证券i的区间对数收益率序列 Yi
(2)取证券j的区间对数收益率序列 Yj
(3)计算证券i的标准差 Si
(4)计算证券j的标准差 Sj
(5)计算证券i与证券j的相关系数…
pf_VARKurtosisAndSkewness
范例(t):
[code]

GetBkWeightByDate('SH000300', 20111231T,t);

s:=select ['指数代码'] as '行业代码',['代码']…
pf_MarginalStandardDeviation2
范例(t):
[code]

GetBkWeightByDate('SH000300', 20111231T,t);

s:=select ['指数代码'] as '行业代码',['代码']…
StockStandardDeviation
算法:
1、取证券区间的对数收益率序列y
2、计算证券区间对数收益率序列y的标准差范例(t):
[code]

SetSysParam(PN_Stock(),'SH000300');

pf_StandardDeviation2
范例(t):
[code]

s:=array;

s[0:1]['代码']:=array('SH600000','SH600028');

s[0:1]['行业代码']:=array(…
pf_IncrementalStandardDeviation2
算法:
证券i的组合标准差(%)(剔除后) = sqrt(sqr(组合标准差) - sum(Bi * Bj * COVij))
证券i的增量标准差(%) = 组合标准差 - 证券i的组合标准差(%…
pf_ComponentStandardDeviation2
算法:
(1)取证券i与证券j对齐后的区间对数收益率序列 Yi 和 Yj
(2)计算证券i的标准差 Si
(3)计算证券j的标准差 Sj
(4)计算证券i与证券j的协方差 COVij = su…
pf_ComponentStandardDeviationPercent2
算法:
1、取证券i与证券j对齐后的区间对数收益率序列 Yi 和 Yj
2、计算证券i的标准差 Si
3、计算证券j的标准差 Sj
4、计算证券i与证券j的协方差 COVij = sum((Y…
StockSemiStandardDeviation
算法:
(1)取证券区间的对数收益率序列y
  (2)从y中取出小于下方标准差阀值的序列x
  (3)计算序列x相对于阀值的标准差范例(t):
[code]
SetSysParam(…
StockStandardDeviation2
算法:
1、取证券区间的对数收益率序列y
2、计算证券区间对数收益率序列y的标准差范例(t):
[code]
SetSysParam(PN_Stock(),'SH600000');
SetS…
BrinsonOfBPercentandReturn
范例(t):
[code]
//取沪深300的Brinson-基准t-1日比例和t日涨幅
t:=Query("沪深300","",True,"&…
BrinsonOfPAttribution
范例(t):
[code]
//取沪深300的Brinson-基准t-1日比例和t日涨幅
t:=Query("沪深300","",True,"&…
BrinsonOfPPercentandReturn
范例(t):
[code]
endt:=40547;
//t-1日资产配置
tpZCPZ:=array(
("截止日":40543.00,"股票市值"…
BrinsonOfRbIStandarize
范例(t):
[code]
EndT:=40547;
//实际组合大类资产
tP:=array(
("资产类别":"现金","截止日&quo…
BrinsonOfBuyAndHold
范例(t):
[code]
t1:=array(
("代码":"000001","名称":"深发展A","比例(%)":0.1,"所属行业":"行业一"),
("代码":"600050","名…
BrinsonOfRA_del
范例(t):
[code]
t1:=array(
("代码":"000001","名称":"深发展A","比例(%)":0.1,"所属行业":"行业一"),
("代码":"600050","名…
pf_StandardDeviation
范例(t):
[Code]

//此处以申万采掘行业指数收益率序列作为用户组合的收益率序列
BegT := inttodate(20110101);
EndT := inttodate(20…
pf_ReturnandRisk
范例(t):
[Code]
//此处以浦发银行收益率序列作为用户组合的收益率序列,基准为上证指数
stockid := 'SH600000';
IndexId := 'SH000001';
sp_slopeandintercept
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的回归斜率和截距
[code]
setsysparam(pn_Stock(),"SZ000002");
Se…
pn_Precision
范例(t):
范例1:设置与生效

[code]

setsysparam(PN_Precision(),3);//设置有效

 ov:=BackupSystemParameters2…
Tsorder2开发范例
案例:
  开发一个算法交易策略,每间隔5秒以买一价买入100股,同时将小于买一价的未成交委托单做撤单处理。
[Code]
Type MyOrder=class(TsOrder2)
  …
TS_ATStart
范例(t):
[code]
/////////////////////////////////范例I:非篮子交易///////////////////////////////////////
TS_ATGetParamterandDefaultValue
范例(t):
[code]
argv:=array("柜台名":"Tinysoft","账号属性":"","账号":"10000003","密码":"10000003");
h:=TT_Use…
支持的Office常量函数列表
  TSL语言已经以函数的方式支持Office的绝大多数常量,用户可以函数的方式来使用这些常量.
  以下是所有支持的常量函数,具体关于他们的用途以及使用方法请参考Office的相关帮助手册…
ExcelSetCells
范例(t):
[Code]

//设置本地文件C:\VBA.xls的Sheet1的第1行到第5行,第1列到第5列的数据
a:=rand(5,5);
ret:=rdo2 ExcelSetCe…
ExcelQuit
范例(t):
[Code]

//关闭本地文件:C:\VBA1.xls,C:\VBA2.xls

ret:=rdo2 excelopen("C:\\VBA1.xls"…
支持的Excel常量函数列表
  TSL语言已经以函数的方式支持Excel的绝大多数常量,用户可以函数的方式来使用这些常量.
  以下是所有支持的常量函数,具体关于他们的用途以及使用方法请参考Excel的相关帮助手册,在…
Word常量函数
  TSL语言已经以函数的方式支持Word的绝大多数常量,用户可以函数的方式来使用这些常量,例如wdBlue这个颜色常量可以以wdBlue()的方式来访问。
  Word的常量主要应用在Wo…
Q:如何在回测中计算组合换手率指标
A:场景:在回测返回结果中加入换手率指标
  实现方法:
在执行回测BackTest方法后,可以通过函数GetTradeDa…
Q:如何汇总概念板块每日成交数据
A:汇总概念板块每日成交数据,可参考FAQ_StockGNbkDailySummary模型,需导入后使用。 …
2023-06-08客户端升级说明
2023-06-08 升级说明:
-------------------------------------------
[strong]修正:用户定义的多选列表…
Q:如何通过第三方接口下载当天的行情及基本面数据(以python为例)
A:在使用第三方交互接口访问天软数据库时,不建议频繁进行登录退出的操作
 因为登录与退出,需要远程与服务器进行连接会话,会非常依赖网络的稳定性及服务器的响应性能…
2023-07-21客户端升级说明
2023-07-21 升级:
------------------------------------
修正:[strong]T…
Q:如何通过代理服务器登陆天软服务器
A:用户可通过代理服务器连接天软服务器。
目前天软已支持http代理(默认方式)以及SOCKS5代理。

这里对于常见的几种登陆方式进行具体的代理服务器登陆的实…
Q:TSLPy如何使获取的数据按天软中返回的列进行排序?
A:使用TSLPy接口在天软中获取的数组列表传递到python中,python中显示的下标顺序与天软中可能并不一致,推荐以下方法维持天软中的下标顺序

特别说明:…
Q:python交互如何自动切换到有效的天软服务地址?
A:在使用第三方交互接口连接天软服务器时,当登陆连接不上服务器,且报服务器没有答复或没有反应的错误时,可轮动所有天软服务器地址进行连接,保证正常登陆后再继续执行。
[strong]天软服务器地址[/…
期货交割数据
数据说明
 期货交割是指在期货合约到期时,卖方向买方交付标的资产或现金,买方支付相应的合约价款的过程。

数据来源
上海期…
多参数赋值运算
说明:将数组中的值依次赋值给对应位置的变量
语法:[变量1,变量2,...]:=array(值1,值2,...);

[str…
SetGlobalCache
范例(t):
[code]
 a:=rand(1000,100);
 return SetGlobalCache("LLL",a,now()+1); //设置一个名为”…
CheckGlobalCacheExpired
范例(t):
[code]
Setglobalcache("VVV",rand(1000,100));
  Getglobalcache("VVV",…
GetEstSize
 范例(t):
  t:=rand(10,10);
  return GetEstSize(t);

返回整数:8800
注意:其结果是一个估算值,当…
可转债交易公开信息
数据说明
 记录交易所公布的,上市首日交易公开信息、收盘价涨幅达15%、收盘价跌幅达15%、价格振幅达30%等各类披露条件的可转债的买入、卖出金额最大五家会员证券…
Q:导入csv文件中的数据出现乱码
A:数据源文件格式为CSC UTF-8(逗号分隔)(*.csv)时,使用ftcsv()模式进行导入后,结果中的中文出现乱码现象。
原因是:天软客户端为gbk编码,用户通过以前的ftcsv()模式导入…
ShowValue
范例(t):
[code]

//显示一个数组数据
a:=rand(10,10);
  b:=rdo2 ShowValue('测试显示',a,False);
return b;
mb_IconHand
范例(t):

[code]

a:=3;

c:= rdo2 mb_YesNo().| rdo2mb_IconHand();
  b:=rdo2 MessageBox('a>2,…
INI文件配置登陆信息
第一步:在plugin目录下新建ini文件,文件全名为tslclient.ini
  注:客户端用户,该plugin目录在天软安装目录下,一般路径为:C:\Program Files\Tinyso…
ExcelSetCells2
范例(t):
[code]
//设置本地文件C:\VBA.xlsx第1行到到第5行,第1列到第5列的数据
  dir:="C:\\VBA.xlsx";
  shee…
Framemerge
范例(t):
范例1:
[code]
left := `array('a':3->5,'b':rand(3));
right := `array('a':1->4,'b':rand(4),'c…
Frameupdate
范例(t):
[code]
left := `array('a':3->5,'b':rand(3));
right := `array('a':1->4,'b':rand(4),'c':rand…
Describe
范例(t):
范例01:
load_dataset_iris(data);
return Describe(data);

范例02:
[code]
ret…
Simpledescribe
范例(t):
范例01
load_dataset_iris(data);
return SimpleDescribe(data);

范例02
[code…
sf_betainv1
范例(t):
y := array(0.01,0.01)->0.99;
return sf_betainv1(y,2,4);

[img type="t…
Cov2CorrMatrix
范例(t):
A := Covariance(rand(4,3));
return Cov2CorrMatrix(A);

结果:
[img type=&quo…
CorrMatrixAdjust
范例(t):
A := Corr(rand(6,6));
return CorrMatrixAdjust(A,1,5);

结果:
[img type=&qu…
Regress_domin_formula
范例(t):
[code]
   y := rand(10);
   x := rand(10,3);
   mr := Regress_Domin_Formula(y,x)…
Robustfit_M
算法:采用迭代加权最小二乘估计得到最优权重,使得偏差大的样本点权重小、偏差小的样本点权重大,从而降低异常点对于回归的影响。迭代过程如下:
选取LS估计的β0=XTX-1XTY为迭代初始值,求出初始残…
通过进程id实现对进程关闭
  通过进程id对进程的关闭,比如,office中因为某些原因导致崩溃或者挂起时,就可以通过获取程ID将其关闭。
  以下就是通过进程ID关闭整个winword进程。
[code]
//…
多线程调用案例
  创建多线程程序例子:利用windows API 的CreateThread函数创建多线程调用,通过控制台结束指定线程。
代码如下:
[code]
a:=array();
//将abcd…
pmstand_array
范例(t):
范例1
  V:=2;
  return pmstand_array(v);//array(2);

范例2
[code]
  V:="…
Q:如何获取股票的交易提示?
A:天软提供了国内股票市场比较全面的数据,本文提供如批量获取常见的交易提示数据。

常见交易提示指标接口
[table rsplit="$" csplit="…
PortfolioBackTesting_Quantity_TradeOfDividendandSplit
范例(t):
[code]
pfInfoData:=array(('分红再投资':0));
EndT:=inttodate(20230810);
tpGP:=array(
("组I…
PortfolioBackTesting_Quantity_VolAfterDividendandSplit
范例(t):
[code]
PfInfoData :=array((
        "自动参与配股":1,
        "分…
Q:pyTSL如何使用并发取数后把结果导出到一个文件中?
A:当并发任务执行结果返回的结果集格式是一样时,可以将所有结果导出到一个表中。
实现方法参考如下:
方法一:[attention]将第一个包含列名的结果集导出后再…
Q:python交互的各个接口在远端调用天软中是否支持与本地交互
A:1.TSLPy接口支持各个本地交互模型的使用。
  2.pyTSL接口目前只支持ExportFile及ImportFile模型进行本地交互,其它功能需要[at…
2024-04-01新一代客户端升级说明
2024-04-01 升级说明
----------------------------------------------
修订:fmarray = 模式采用…
CreateCaptchaImage
范例(t):
[code]
picparam:=array('width':360, 'height':64,'distort':10.0,'hollow':1,
       …
Stock_FCFF
范例(t):
[code]
//返回平安银行公司自由现金流估值数据
setsysparam(pn_stock(),'SZ000001');
data:=rand(4,12);
return …
Stock_PEBand
范例(t):
[code]
//返回平安银行P/E Bands数据
setsysparam(pn_stock(),'SZ000001');
return Stock_PEBand(202001…
Stock_PBBand
范例(t):
[code]
//返回平安银行P/B Bands数据
setsysparam(pn_stock(),'SZ000001');
return Stock_PBBand(202001…
Stocks_IPOGetDataAndIndustry
范例(t):
[code]
//指定证券列表发行上市数据
StockArr:="SH688286;SH688408";
return Stocks_IPOGetDataAn…
Stocks_IssueAndList
范例(t):
[code]
//返回上证A股在20220101至20220201期间新股上市情况和交易情况的相关数据
return Stocks_IssueAndList('上证A股',2022…
Stocks_IPOGetDataAndCompare
范例(t):
[code]
//返回万科A申万一级行业同行业上市明细数据
Return Stocks_IPOGetDataAndCompare("SZ000002",1); …
Block_HSGCapitalFlowAndMarket
范例(t):
[code]
//返回港股通(沪)在指定日20210110-20210121区间沪深港板块的资金流向与市场价格走势数据
Return Block_HSGCapitalFlowAnd…
Block_HSGAmountInfoAndTop10
范例(t):
[code]
//返回港股通(沪)在指定日20210111的十大活跃股成交统计
Return Block_HSGAmountInfoAndTop10("HG000001&…
bd_ExPand
范例(t):
[code]
SetSysParam(pn_stock(),'sz000001');
return bd_ExPand(20171231T);//计算截止到2017年12月31日时…
hd_SpecAndSpecDate
范例(t):
[code]
SetSysParam(PN_Cycle(),cy_day());设置周期
SetSysParam(PN_Rate(),0);设置为不复权
return hd_Sp…
fn_MainAndSubFunc
范例(t):
return fn_MainAndSubFunc();
//返回:45
fp_MarketAndBk
范例(t):
return fp_MarketAndBk('安徽');
返回:
[img type="tslxml" file="media2024-04-18_…
HandleExcept
范例(t):
return HandleExcept();
//返回:0
定义
在TSL语言中, 虚数单位用j表示,记复数z为a+bj
通过常量定义方式或函数complex(a,b)可以生成复数及复数矩阵
如:z:=4+3j 或z:=complex(4,3)
即表示z是一个…
复数支持的算符列表
[htm]<table><tbody><tr><td>
运算符</td><td>
运算</td><td>
运算对象</td><td>
结果</td><td>
举例</td></tr><tr>…
Complex
范例(t):
范例01:生成一个复数
Return complex(3,4);

// 3.0+4.0j
范例02:生成一个复数矩阵
[code]
retu…
支持复数矩阵的函数列表
除基础函数支持对复数矩阵的操作外,如统计函数、分解函数等也支持复数矩阵的运算,具体列表如下:
[htm]<table><tbody><tr><td>
No</td><td>
函数名</td><t…
SysExec定义二
范例:
范例01:阻塞方式调用子进程执行命令
[code]
path:="D:\\Program Files\\Python\\Python38\\python…
Q:如何一次抽取多个随机样本?
A:随机抽取多个样本或多个样本组,可以调用随机函数RandomChoice实现,FAQ:

应用说明:
抽取多个样本值时,可以通…
TSLObjects
范例(t):
现有类TestClass01,其代码如下:
[code]
type TestClass01=class()
value;
function create(_value)
 …
Q:在官网中搜索提示“检索含非法字符,请重新输入!”
A:搜索的关键字中包含以下内容时会提示“检索含非法字符,请重新输入!”

1.空白字符+特殊字符+空白字符
 [strong]空白字符(\s)[/stron…
TSWEB_Block_HSGAccumCapitalFlowAndMarketMove
范例(t):
[code]
//返回2023-07-10至2024-07-10沪股通累计净买入和市场基准指数累计涨幅
BKID:= "HG000002";
BegT:=in…
TSWEB_Block_HSGNetFlowAndMarket
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块净买入
BKID:= "HG000001;HG000003";
BegT:=int…
TSWEB_Block_HSGCapitalFlowAndForexMove
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块资金流向与外汇走势对比
BKID:= "HG000001;HG000003";
B…
TSWEB_Block_HSGBSAmountAndMarketMove
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块买卖金额
BKID:= "HG000001;HG000003";
BegT:=in…
TSWEB_Block_HSGBSAmountAndMarketRatio
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块买卖合计与市场
BKID:= "HG000001;HG000003";
BegT:…
TSWEB_Block_HSGBalanceAndMarket
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块额度余额
BKID:= "HG000001;HG000003";
BegT:=in…
TSWEB_Stock_HSGHolingAndMarketTrend
范例(t):
[code]
//返回2023-07-10至2024-07-10日万科A持仓数据
StockID:= "SZ000002";
BegT:=inttodate(…
TSWEB_Stock_HSGHolingChangeAndMarketTrend
范例(t):
[code]
//返回2023-07-10至2024-07-10日万科A持仓变动
StockID:= "SZ000002";
BegT:=inttodate(…
TSWEB_Market_HSGAmountAndActiveTop10AmountAndPercent
范例(t):
[code]
//返回截止至2024-07-10日沪深港通总况及十大成交
EndT:=inttodate(20240710);
return TSWEB_Market_HSGAm…
TSWEB_Stock_IPOGetDataAndCompare
范例(t):
[code]
//返回申万一级行业华能水电(SH600025)同行业的上市信息
IndustryType:=1;
StockID:= "SH600025"; …
BK_HSGBAndSAmountField
范例(t):
[code]


//获取港股通(沪)的买入及卖出成交额(港币)字段名
SetSysParam(PN_Stock(),'HG000001');
return BK_HSGBA…
BK_HSGETFBAndSAmountField
范例(t):
[code]


//获取港股通(沪)ETF买入及卖出成交额字段名
return BK_HSGETFBAndSAmountField(); 
//返回:ETF买入及卖出成交…
BK_HSGStocksBAndSAmountField
范例(t):
[code]


//获取港股通(沪)股票买入及卖出成交额字段名
return BK_HSGStocksBAndSAmountField(); 
//返回:股票买入及卖出成…
Stock_GetRestrictedBanData
范例(t):
[code]


// "SZ002327"在20220905的限售解禁数据

  return Stock_GetRestrictedBanData…
RAndDExpensesRatio
算法:研发费用比例(%) = 研发费用 / 营业收入 * 100
其中,
研发费用来源【股票.合并利润分配表】中‘研发费用’字段,在不同算法中处理如下:
[htm]<table><tbody><…
TaxandAdditionalExpenses_Q
范例(t):
[code]

//SZ000728 2022第四季度主营业务税金及附加
  SetSysParam(pn_stock(),"SZ000728");
GetBondSYLQKByTypeAndYears
范例(t):
[code]



return GetBondSYLQKByTypeAndYears(20150101T,20181231T,10,'BTS000033');
[/code…
Pn_BondStandardDate
范例(t):
return Pn_BondStandardDate();
//结果:BondStandardDate
StandardShowReport
范例(t):
[code]
//万科A利润分配表(清除数据为0的财务字段)
r:=InterestDistribute("SZ000002",0);
return Stan…
StockIssueAndList_Call
范例(t):
[code]
return StockIssueAndList_Call(Array("SH600026"),20020101T,20021231T);
[/c…
StockPFAndRatioInfo
范例(t):
[code]
SetSysParam(PN_Stock(),"SZ000002");
return StockPFAndRatioInfo(20010101T,…
MarketAndTotalValueStructure
范例(t):
[code]
return MarketAndTotalValueStructure("上证A股;深证A股",20030430T,0,20,5,0);
[/co…
Q:沪深港通相关数据披露机制调整及模型影响
交易所自2024年8月19日起调整沪深港通交易信息披露机制
深交所公告:https://www.szse.cn/szhk/hkbussiness/news/t20240726_608353.html…
1、范例:类TsDate-对整数日期的扩展
如下所示,类TsDate对天软日期的一些常用方法进行了重载,使得整数日期可直接调用这些方法。
[code]
td:=new TsDate(20240329);
echo "字符串日期","---…
Q:VBA中如何从天软中获取一组股票的数据
A:实现:提取A列指定好的股票组合的最新的收盘价,成交量等数据,可用于盘中刷新。
本章中提供两种写法,主推第二种优化方式,效率高,结果刷新快。

[title2…
StandGrowthOfNReport
算法:N期标准化增长率=(当期-去年同期)/过去N期标准差范例(t):
[code]
setsysparam(pn_stock(),"SH600519");
Exp:=@La…
Q:回测过程中需要调仓数据量特别大时如何处理?
A:在回测时有时会遇到需要处理调仓数据量特别大的情况,比如对上千个代码几年时间中每日做大量的调仓操作,
会导致产生的缓存数据特别大甚至超过阈值(16G)导致运行程序报错,参考:[FAQ id=175…
Q:如何跟踪指数成份股进行比例类回测
A:在回测中获取调仓数据时可以指定指数成分股作为选股样本,再通过选股策略选出目标股票作为调仓数据即可。

回测说明:FAQ:2026-01-26应用专题-回测框架01:策略回测框架TSBackTesting(更新版)
[title1]回测示例[/titl…
Q:如何提取全A股票一段时间的天软风格因子(类Barra)数据
A:天软风格因子说明参考:FAQ:2024-10-22-量化数据-因子研究02:天软风格因子算法与计算说明(更新版)
取数范例
获取A股最近三年的风格因子数据导出到本地,每个日期下的因子表单独保存为一个csv文件…
Q:如何修改数组中某列数据的奇异值(异常值)
A:在处理数组数据时可能会遇到一些异常值比如:nan,nil,inf,处理方法参考:FAQ:Q:空值、INF、NAN的判断及替换方法
或者一些与整体数据偏离较大的奇异值,判定模型参考:[FAQ id=20…
Apache 2.2 Module模式:
在httpd.conf中加入:
  LoadModule tsl_module C:/Tinysoft/tsl/MOD_TSL2.dll
  AddType tslscript-handl…
Apache 2.X CGI模式:
在httpd.conf中加入:
<Directory "C:/Tinysoft/tsl">
  AllowOverride None
  Options None
Apache 1.x Module模式:
在httpd.conf中加入:
  LoadModule tsl_module C:/tsl/mod_tsl1.dll
  AddModule mod_tsl.c
  AddType…
Apache 1.x CGI模式:
在httpd.conf中加入:
<Directory "C:/Tinysoft/tsl">
  AllowOverride None
  Options None
Q:指数财务指标的提取
A:天软目前提供两种方式获取指数财务指标数据:
第一种:提取天软衍生数据(范围:申万一二级行业+报告期数据)

第二种:模型实时计算方式(范围:支持任意组合+支…
模型更新-更新说明:公用函数更新说明
公用函数更新说明:
2025-11-19更新
新增:代码变更相关函数
[table rspl…
ETF_MT_NetInflowAmount
范例(t):
范例01:获取指定ETF在指定日的资金净流入
[code]
return ETF_MT_NetINflowAmount(20250922T,array("OF512000")); …
Q:数量类回测:从外部导入交易数据
问题描述:回测框架文档中有提供比例类-从外部导入组合配置数据的范例,数量类能不能也提供一个类似的范例?
A:当然可以,我们提供了实现该需求的函数,用户可以自行导入或根据自身需求进行修改
附件:[a…
Q:Python调pyTSL接口取数范例01:行情数据的提取
A:根据pyTSL提供的三个取数接口(exec,call,query)从以下四个维度提供实现范例,用户可根据需求参考相关范例:

[table rsp…
Q:Python调pyTSL接口取数范例03:财务数据的提取
A:根据pyTSL提供的两个取数接口(exec,call)从以下五个维度提供实现范例,用户可根据需求参考相关范例:
[table rsplit="$" …
Q:通过模型计算获取主要财务指标(42)的指标值
A:股票主要财务指标(42)表采集自股票的财报,该表主要记录定期报告的公布日及扣除非经常性损益后的净利润字段数据,其它指标属于非必须公布的数据,即若公告中有公布则采集,若无公布则记录为0。
因此,如…
Q:如何提取一段时间内基金每日的总份额
A:基金份额变动表:FAQ:份额变动
该表中,有些类型的基金份额是每日公布的,如ETF等,而有些基金则是只在每日定期公告中进行公布,天软会在每个报告期中进行采集补充。
因此…
Q:如何将数据通过追加模式写入到本地txt文件中
A:可以通过指定写出模型WriteFile的pos参数为-1,设置为追加模式实现。
函数说明可参考:FAQ:WriteFile

[title1]如实现一个追加模式写入到本地txt…
Q:天软数据类型.stm通过函数导入与导出示例
A:.stm是天软数据对象流文件类型,支持复杂数据结构(即如多维数组),目前只能在天软语言中进行打开与操作。
程序中导入导出该可式,可通过模型Importfile与Exportfile实现,操作类型…
如何将数据通过追加模式写入到本地csv文件中
A:可以通过指定写出模型WriteFile的pos参数为-1,设置为追加模式实现。
函数说明可参考:FAQ:WriteFile

[title1]如实现一个追加模式将数组写入到本地…
SetHttpMode
范例(t):
//多段模式下获取指定网址中的内容,实时吐词方式
[code]
sid := createhttpsession();
[attention]SetHttpMode(sid,1)…
标量链式算符
链式比较表达式形式为 a :< b: < c 或 x :== y: > z 等, 运算过程中会将其隐式转换为逻辑与(and)连接的多个独立比较
执行顺序:从左到右依次计算每个比较
支持任意比较运算…
2025-6-7新一代客户端升级说明
2025-6-7 升级说明
---------------------------------------
[attention]升级:编辑器支持函数省略参数。[…
SysSetThreadPriority
范例(t):
范例01:设置当前线程优先级
[code]
ret:=SysSetThreadPriority(1);
if ret=0 then
  return 1;
else …
SysSetThreadName
范例(t):
范例01:设置当前线程名称
[code]
ret:=SysSetThreadName("TinySoft");
if ret=0 then
  return 1;
el…
SysPidOfHandle
范例(t):
范例01:根据进程句柄获取进程ID
[code]
//TSL解析器路径
path := "D:\\Program Files\\AnalyseNG.NET\\TSL.exe"; …
SysHandleOfPid
范例01:根据进程ID获取进程句柄
打开记事本,在任务管理器中查找对应进程ID:

[code]
ret:= SysHandleOfPid(35880)…
sf_mvtcdf
范例(t):
范例01:
[code]
Rho :=array(
    (1.0000,0.9264,0.0406),
    (0.9264,1.0000,0.0613),…
Mvtcdfqmc
范例(t):
范例01:
[code]
Rho :=array(
  (1,0.923912552224476,0.035770327030089),
  (0.923912552…
sf_mvncdf
范例(t):
范例01:
[code]
Rho :=array(
    (1.0000,0.9264,0.0406),
    (0.9264,1.0000,0.0613),…
sf_copulacdf
范例(t):
范例01:gaussian分布
[code]
u := Randunif(0,1,300,3);
 
Rho :=array(
    (1.0000,0.9239,…
sf_copulafit
范例(t):
范例01:gaussian分布
[code]
//返回数组,相关系数矩阵
u := Randunif(0,1,300,3);
  return sf_Copulafit(u…
RandCopula
范例(t):
范例01:gaussian分布
[code]
Rho :=array(
    (1.0000,0.9239,0.0358),
    (0.9239,1.0000…
HISTC
范例(t):
  a:=rand(1000)*5;
  b:=array(0,1,2,3,4,5);
  return HISTC(a,b);

结…
Percentage
范例(t):
[code]
  y:=rand(100,2);
  per:=20;
  style:=0;
  return percentage(y,per,style)…
Q:获取指定日离近完整季度的最后交易日
A:功能实现:返回指定日已完成的最近季度的最后一个交易日。
即,假设今日为20240718T,则最近的已完成的最近季度为20240630
若假设今日为202406…
Q:20250822-天软期货衍生代码调整前后对照表及对程序的影响与处理建议
A:2025-08-22:天软对期货主力代码、次主力代码、指数线代码、连续代码的编码规则进行了调整
具体调整内容请参考:FAQ:Q:20250822-期货主力代码、次主力代码、指数线代码、连续代码的编码规则调整及影响
关于期货各代码的编码规则参考:[F…
Q:为什么风格因子计算结果中,最终合成因子全为0?
A:很有可能是因为指定股票列表中大多数股票都处于停牌状态

在风格因子计算过程中,当[strong]设置了填充已剔除的股票因子值(FillNaN=1)[/str…
Q:如何获取市场的融资融券数据?
A:可通过融资融券汇总表查询各市场的每日的融资融券数据。
各市场的融资融券标的证券
上交所:RZRQ000001
深交所:RZRQ00000…
Stock_ShareHolderIncreaseAndReduce
范例(t):
[code]
//SH600031在2024年的股东增减持数据
  SetSysParam(pn_stock(),"SH600031");
  ret…
Bk_CashFlowInvestingAndFinancingRatio
   算法:现金投资筹资比率=经营活动产生的现金流量净额/投资和筹资活动的现金流出合计范例(t):
[code]
//A股板块在20231231的板块现金投资筹资比率(算术平均)
  …
CashFlowInvestingAndFinancingRatio
算法:现金投资筹资比率=经营活动产生的现金流量净额 / 投资和筹资活动的现金流出
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中…
StockHoldersIncreaseAndReduceDataQJ
范例(t):
[code]
   //"SZ000001"在20090527全部大股东增持数量
   return StockHoldersIncreaseAnd…
correlpaired
范例(t):
范例01
[code]
a := rand(10);
  b := rand(10);
  return correlpaired(a,b); //array((0.17…
correlpaired_side
范例(t):
[code]
a := randnorm(0,1,20,array(0,1,2,3,4));
  dirType := 3;
  return correlpaired_s…
LongDebtToNetAssetsandDebtRatio
算法:长期债务与营运资金比率 = 长期负债 / (流动资产-流动负债)
其中,
长期负债来源【股票.合并资产负债表】中‘长期负债合计’字段,在不同算法中处理如下:
[htm]<table><tb…
randomfrom
范例(t):
Data:=array(5,3,6,8,9,10,4);
return randomfrom(Data); 
//结果:9
参考:[ref]统计…
2025-9-20客户端(新一代)升级说明
2025-9-20 升级说明
-----------------------------------
[strong]修正:本地解释器未支持网格计算的timeou…
2025-9-20:客户端(旧版)升级说明
2025-9-20 升级说明
-----------------------------------
[strong]修正:本地解释器未支持网格计算的timeou…
中央结算系统持股记录
数据说明
中央结算及交收系统(The Central Clearing And Settlement System,缩写为 CCASS),简称中央结算系统,是一个专…
StocksHoldersIncreaseAndReduceDataQJ
范例(t):
[code]
   //"SH600236"和"SH600131"在20150101到20151231全部大股东增持市值
   …
Stock_NonRecurringGainsAndLosses
范例(t):
[code]
   //获取中航成飞最近6个报告期的非经常性损益数据
  SetSysParam(pn_stock(),"SZ302132");
StocksRestrictedBanAndNRSPercentQJ
范例(t):
[code]
   // 沪深300成分股在20250910到20250916的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
StocksRestrictedBanAndRSPercent
范例(t):
[code]
   // 沪深300成分股在20250916的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
  endt:…
StocksRestrictedBanAndRSPercentQJ
范例(t):
[code]
   // 沪深300成分股在20250910到20250916的解禁市值占流通市值比例(%)
  stockarr:=getbk('沪深300');
StocksRestrictedBanAndNRSPercent
范例(t):
[code]
   // 沪深300成分股在20250916的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
  endt:…
StocksRestrictedBanFutureAndRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占流通市值比例(%)
  stockarr:=getbk('沪深300');
  …
StocksRestrictedBanFutureAndNRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占未流通市值比例(%)
  stockarr:=getbk('沪深300');
  …
BK_RestrictedBanAndNRSPercent
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  BKname:='沪深300';
  endt:=20250916T…
BK_RestrictedBanAndRSPercent
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  BKname:='沪深300';
  endt:=20250916T…
BK_RestrictedBanFutureAndNRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占未流通市值比例(%)
  BKName:='沪深300';
  endt:=20…
BK_RestrictedBanAndRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占流通市值比例(%)
  BKName:='沪深300';
  begt:=2…
BK_RestrictedBanAndNRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占未流通市值比例(%)
  BKName:='沪深300';
  begt:=…
BK_RestrictedBanFutureAndRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占流通市值比例(%)
  BKName:='沪深300';
  endt:=202…
Stock_RestrictedBanAndRSPercentQJ
范例(t):
[code]
   // "SZ002327"在20250101到20250910的解禁数量占流通股本比例(%)
  SetSysParam(pn_s…
Stock_RestrictedBanAndNRSPercent
范例(t):
[code]
   // "SZ002327"在20220909的解禁数量占未流通股本比例(%)
  SetSysParam(pn_stock(),&…
Stock_RestrictedBanAndRSPercent
范例(t):
[code]
   // "SZ002327"在20220909的解禁数量占流通股本比例(%)
  SetSysParam(pn_stock(),&q…
Stock_RestrictedBanAndNRSPercentQJ
范例(t):
[code]
   // "SZ002327"在20250101到20250910的解禁数量占未流通股本比例(%)
  SetSysParam(pn_…
IndexRestrictedBanAndRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占流通市值比例(%)
  indexid:='SH000300';
  beg…
IndexRestrictedBanAndNRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250910到20250916的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  be…
IndexRestrictedBanAndRSPercent
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  endt:=20250…
IndexRestrictedBanFutureAndNRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  endt…
IndexRestrictedBanAndNRSPercent
范例(t):
[code]
   // 沪深300板块在20250916的解禁市值占未流通市值比例(%)
  indexid:='SH000300';
  endt:=20250…
IndexRestrictedBanFutureAndRSPercentQJ
范例(t):
[code]
   // 沪深300板块在20250916当日的未来一周的解禁市值占流通市值比例(%)
  indexid:='SH000300';
  endt:…
stocks_ShareHolderIncreaseAndReduce
范例(t):
[code]
   //A股20240930-20241231期间股东增减持数据
  return stocks_ShareHolderIncreaseAndReduce…
Q:如何快速实现数组中满足大于某个数且小于某个数的那些行
A:对于数字数组,一般实现建议:通过关系运算符判断出是否符合条件,即生成真假矩阵,然后再通过mfind查找出为真的单元的行列下标。

目前TSL语言中,支持矩阵关系运算符.<>,.>,.<,.>=…
Q:天软中如何做两个表的合并(类似python中pandas.merge方法)
A:TSL语言中对于表连接实现已经有非常完整的功能,具体可参考:FAQ:Q:天软表连接的应用(join)
上述功能是在sql语句中完成的,考虑到有些用户在使用时,希望通过模型来完成此功能,因此,这里…
fund_CumBuyAndSell
范例(t):
[code]
   //华夏成长累计买入和卖出数据
  return spec(fund_CumBuyAndSell(4,2,0,1),"OF000001&qu…
Fund_NvalueAndBsInfoNWINValue
范例(t):
[code]
   //华夏成长净值收益率数据
  return spec(Fund_NvalueAndBsInfoNWINValue(20251001T,2025103…
funds_CumBuyAndSell
范例(t):
[code]
   //南方基金 累计买入和卖出数据
  return funds_CumBuyAndSell("南方",20241231,0);
策略案例ZQ01-跨品种策略-基于DNS模型曲率预测的活跃券蝶式多头组合
策略原理
预测NS曲率因子的变动产生交易信号
     (1)曲率因子增加:做多长短期
     (2)曲率因子减少:做多中期
[img id…
链式表达式
TSL语言中目前支持的关系运算符:
[table rsplit="$" csplit="#"]关系运算符#大于#小于#不等于#等于#大于等于#小于等于#说明
$标量关系算符 #> #< #<> #…
Q:如何实现股票的T+0回测?
A:国内市场规则本身是不支持部分证券资产(比如:股票,ETF等)的T+0交易的,在天软的回测框架中通过设置部分成员变量可以实现T+0回测,
[strong]目前实现T+0回测需满足以下条件[/str…
基础统计函数统计支持指定行列
统计函数对二维数组进行计算时,默认以列为统计对象进行分别统计。若需要对每行进行统计,则可增加第一个附加参数,并设置为真。
例如:
以Mean平均值为例
[code]
  A:=Rand(1…
MFind单参数模式
Mfind(Matrix:Array):Array;
Mfind在一个参数的时候,则为查找为真的下标,如果参数为一个一维数组,则其返回的结果集也为一个一维数组

例如:找出数组中指定列符合指定条…
矩阵的重构与下标的变换
矩阵的重构Reshape函数可以将一个多维数组拉伸为一维数组,或重构为指定大小的矩阵。
例如:
[code]
A:=Rand(…
Update更新结果集
我们经常会有行记录的数据更新需求,Update就是为了这种需求而产生的。
例一:将列0设置成当前行下标,从0到99
[code]A:=Rand(100,10);
Update A [attent…
Update新增列
Update对数组操作可以允许更新原数组不存在的列,这样操作的结果就是新增该列。

例如:新增列"c"为两列和,而"d"列为行号。
[code]
A:=rand(10,array("a","b…
ExceptObject异常对象
在Except块中,可以用ExceptObject获得当前的异常信息。
  ExceptObject是一个异常对象,包括以下几个成员:
  ExceptObject. ErrInfo 获得错误…
?.模式访问NIL对象
 如果某个内容本身可能是NIL,也可能是对象,如果我们希望当NIL的时候访问方法或者成员不报错返回NIL。
 这个时候我们传统需要使用 a?a.b:nil,如果对象访问是嵌套的,例如a.b.c,…
bond_CBShareAndBalance
范例(t):
[code]
   //烽火转债 的 可转债转股及余额数据
  setsysparam(pn_stock(),"SH110062");
  re…
HG_ForeignExchangeAndGoldReserves
范例(t):
[code]
   //官方储备资产数据
  return HG_ForeignExchangeAndGoldReserves(20250101T,20251114T,0…
基金业绩因子
[htm]指标汇总 <br/><table><tbody><tr><td>
分类</td><td>
模型名称</td><td>
含义</td></tr><tr><td>
业绩评价</td><t…
Fund_AttackAndDefense
范例(t):
[code]
FundID := "OF000001";
IndexID := "SH000300";
EndT := 20211014T…
基金持仓因子
[htm]指标汇总 <br/><table><tbody><tr><td>
分类</td><td>
模型名称</td><td>
含义</td></tr><tr><td>
风格强弱</td><t…
Fund_HD_DressAndTrade
范例(t):
[code]
  Rdate := 20210630;
  FundID := "OF000082";
  fundpool := array(&quo…
情绪面因子
[htm]指标汇总 <br/><table><tbody><tr><td>
类别</td><td>
模型名</td><td>
功能</td></tr><tr><td>
新股指标</td><td…
Index_MD_BuyandSellByInsider
范例(t):获取申万有色金属行业指数SW801050在2022-07-01~2022-08-31董监高增减持指标
[code]
  begt := 20220701t;
  endt :=…
Stocks_MD_BuyandSellByInsider
范例(t):获取股票池SZ000001、SZ000002和SH600000在2010-03-01~2022-03-31董监高增减持指标
[code]
  StocksArr := array(…
ETF_MT_NetInflowAmount
范例(t):获取2022-02-17所有跟踪沪深300ETF基金资金净流入金额
[code]
  fundArr := getbk("上证基金;深证基金;开放式基金;已退市基金&qu…
frameMean_JS
范例(t):
data:=randn(0,1,50,3);
return frameMean_JS(data,'b1');
frameMean_BS
范例(t):
data:=randn(0,1,50,3);
return frameMean_BS(data,'b1');
frameMean_BOP
范例(t):
data:=randn(0,1,50,3);
return frameMean_BOP(data,'b1');
frameCov_LW
范例(t):
[code]
x1:=Randn(0,0.4,100,1);
x2:=Randn(1,10,100,1);
x:=x1 | x2;
return frameCov_LW(X);…
frameCov_RBLW
范例(t):
[code]
x1:=Randn(0,0.4,100,1);
x2:=Randn(1,10,100,1);
x:=x1 | x2;
return frameCov_RBLW(X…
frameCov_OAS
范例(t):
[code]
x1:=Randn(0,0.4,100,1);
x2:=Randn(1,10,100,1);
x:=x1 | x2;
return frameCov_OAS (X…
frameCov_BS
范例(t):
[code]
x1:=Randn(0,0.4,100,1);
x2:=Randn(1,10,100,1);
x:=x1 | x2;
return frameCov_BS(X);…
Q:如何利用天软回测框架实现自己外部数据组合的再平衡?
A:目前天软回测框架已支持用户通过传入外部证券及对应区间每个交易日价格的数据进行回测。
[attention]用户需要提前准备好组合数据,数据包括外部证券编码(区别于天软代码),截止日(每个交易日)…
TS_StyleFactor
范例(t):
[code]
//提取2020-04-07上证50成分股的风格因子
EndT:=20200407T;         //截止日
StockArr:=getbk(…
RM_GetFactorReturnByStocks
范例(t):
[code]
  stocks:=getbk("上证50");
  EndT:=20201223T;
  LastEndT:=MarketLast…
Q:pyTSL中如何实现在天软中取数后导出到指定的Excel的指定Sheet中(Exportfile2功能)
A:由于Exportfile2是一个本地交互的功能,其实现依赖天软本地函数包,而pyTSL是不依赖天软客户端相关模块的,与天软交互过程是纯与天软服务器交互的实现。
[attention]因此,在使用…
1.08财务数据
[table rsplit="$" csplit="#"]函数名#别名#备注
$Stock_InterestSheet#利润分配表#
$[a id=32359][…
2.7.1横比、纵比、环比
[table rsplit="$" csplit="#"]函数名#别名#备注
$Stocks_ZBCompare#纵比|Portrait Contrast# …
中间函数
[table rsplit="$" csplit="#"]函数名#别名#备注
$totalvaluestructure#市价总值结构表#
$StructureCompare#股票市场结构分析#
$[a…
5.02主要财务数据
[table rsplit="$" csplit="#"]函数名#别名#备注
$Funds_HxCompare#横比|Landscape Contrast#…
Q:如何获取南向及北向日线资金流入流出
A:天软提供了沪深港通每日成交汇总的数据,该表记录沪深港通四个通道(沪股通、港股通(沪)、深股通、港股通(深))每日买入及卖出成交额、成交数目等数据。
其取数代码:
HG000001:…
Q:交易规则-涨跌停幅度
A:根据各交易所发布的规则文件汇总得到各证券资产的涨跌停幅度规则。
本文汇总以下市场的涨跌停幅度规则:
[table rsplit="$" csplit="#"]证券资产#交易所#所属市场
$股…