DRANGE(begn TO endn)
  指定只从查询结果集中输出从begn到endn之间的行。当begn到endn是0或者正整数的时候,位置偏移从第一条开始算,第一条位置为0,当为负数的时候,偏移从最后一条开始算,最后一条的偏移为-…
字段的表达与返回
  在SQL语句中,可以直接用字段名访问字段的值,在TSL中,必须用[字段名字符串表达式]来访问,例如一个字段名为close,访问其则为["close"]。
多字段聚集
表达式可以用 * ,也可以用 StartFieldIndex To EndFieldIndex如 0 to 2的模式。
*表示每个字段进行聚集,0 to 2表示第一个到第三个字段求聚集。Select…
Correlof
算法:

备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的相关系数…
Covof
算法:

备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的协方差 …
Slopeof
算法: or

备注:移动条件统计时,满足条件长…
Interceptof
算法:

其中,b为回归斜率
备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30日…
Rsqof
算法:

其中,r即为相关系数
备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30…
Steyxof
算法:

备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的相对标准…
Slopeandinterceptof
算法:
备注:移动条件统计时,满足条件长度的数据必须大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的回归斜率和截距
[code]
begt:=201…
SQL时间序列统计缓存标志与性能加速
  技术时间序列统计相关聚集函数会自动进行数据缓存以进行加速,例如:
  EMAOf(["close"],true,30)在执行的时候,每一步计算均会利用前一个计算的缓存。这样效率可以得到大…
INSERT语句
  将新行添加到数据库表或者内存表/矩阵中。
  语法
  INSERT [INTO]
  <Expression | {<SQLTABLE |…
UPDATE语句
  更新数据库表或者内存表/矩阵中的数据。
  语法
  UPDATE <Expression | {<SQLTABLE | HUGESQLTABLE…
矩阵查找和遍历
  MFind可以查找矩阵中的符合条件的行列以及值。
  例如,我们在一个随机矩阵中寻找值大于0.9的值所处在的位置:
[code] A:=Rand(10,10);
 B:=MFin…
基于小波分析的金融时间序列消噪方法及应用
  选取2009年4月20日~2011 年5 月19 日期间800个交易日的沪深市场沪深300日综合指数收盘价信号作为原始序列[img type="tslxml" file="media2024-…
支持标量和多维矩阵的基础函数
[htm]<table><tbody><tr style="background-color: #D3D3D3; font-weight: bold;"><td>
函数名</td><td>
函数名…
基础统计函数的错误数据处理
  和abs这类函数不同,基础统计函数默认是允许有nil值的,例如
[code]
  A:=array(1,2,3,nil,4);
  B:=array(1,2,3,"ABCD",4…
有瑕疵的全局缓存管理方式
全局缓存的生成,一种模式是在由应用模型内来设置:
例如: if not GetGlobalCache(CacheName,V) then
    Begin
     V:=Ca…
期望的方式
如果全局缓存的生成和更新,交由系统,那么我们期望的应用开发是如下模式:
if not GetGlobalCache(CacheName,V) then
     V:=CalCDataC…
平台的初始化和监控的权限管控
  如果初始化和监控TSL需要调用内外部的TSL函数来进行数据准备,设计者推荐用户采用data:=sudo("modeluser",getcalCData())的模式来进行数据的一些准备工作,因为…
STATIC静态计算
  语法:STATIC Expression [name nameEx…
TYPE
  用来定义类:
  Type abCD=class
  Public
   V:Integer;
   Function returnV();
   Begi…
CLASS
  类关键字,用来定义类,见TYPE
  也可以返回指定的类,如class(abCD)
  也可以用来得到强制类型的对象,例如class(abCD,aObje…
FINDCLASS
  查找类,与CLASS用法类似。
  返回指定名称的类:FindClass("abCD")
  得到强制类型的对象:FindClass("abCD",aObject),返回强制对象a…
Q:Nday/Nday2/Nday3能不能推移到当前时间之后的数据?
A:不能直接用负数代表向后推移。用户可用ref获得向后推移N日的日期EndT1,再设置当前的时间为EndT1,最后用nday/nday2/nday3来获取N日的数据。
如:
  EndT:=i…
Q:如何取历史交易日序列
A:
取交易日序列,同取行情数据。只是我们在取数的过程中,只取日期这个字段。
取市场交易日序列范例如下:
[Code]
  begt:=inttodate(20100101);
[]运算符
  []是对特殊的运算符,和()类似,他们总是成对出现的,有[的时候,必定有匹配的]作为结尾。
  我们在前面的章节里看到过MOV EAX,[EBP+4]这样的指令,这里的[]是取地址EB…
DEBUGRETURN
  调试返回,后面跟返回值,可在任何地方直接将结果返回,而不是象RETURN一样返回到上一级别,这有助于用户调试使用。
如下面示例,返回为3而不是4:
[code]
A:=abCD(3); …
Q:任务管理说明
A:任务管理主要是对登录的账号、执行的在线任务或委托执行的任务进行查看或者终止任务等操作。
1、怎么进入任务管理窗口:左上角点击“帮助”-》“任务管理”,即进入任务…
矩阵查找和遍历
MFind可以查找矩阵中的符合条件的行列以及值。
例如,我们在一个随机矩阵中寻找值大于0.9的值所处在的位置:
[code]
A:=Rand(10,10);
B:=MFind(A,MCell>…
Q:天软平台与C++的交互
  附件《天软平台与C++的交互》介绍了天软.NET平台的API常用接口,对开发包的程序做了整理和注解。需要更详尽的API接口请查看TSSVRAPI.h文件。开发包中有简单详尽的范例可供参考,主要…
2014-05-08-应用专题-性能优化系列02:使用TechCacheDo提高技术指标的性能
1、天软最新推出了技术指标加速方法TechCacheDo
2、要使用技术指标加速方法TechCacheDo很简单,只需要[strong]用TechCacheDo和B…
天软金融分析.NET函数大全
 注意: 
1、类型声明:TSL的函数定义无需参数类型声明,也无需返回类型声明,在以下函数说明里,我们采用了PASCAL的函数声明模式,只是为了让用户更容易地理解各个函数的具体含义和对参数的…
Q:如何实现盘中监控
说明:SendRunningData、Sleep 的监控应用,与 while do 语句结合构成简单的监控程序应用,实现盘中监控的功能。其结构如下:[code]
w…
Q:如何按今天持仓量得到明天实际主力合约?
A:按收盘数据发布常律,最好在收盘半小时后计算。
以下案例算法:取今日该品种所有在市合约的收盘后持仓量最大的合约,如果选出来为持仓量为0,则用昨日主力替代。
注:该实现仅供参考不完全代表实际结果。…
Q:如何提取当月最后一个交易日
A:场景一:指定日当月最后一个交易日
方式一:通过月线下的指定日当月量后一个市场交易日来获取
[code]
endt:=20…
2020-07-06客户端升级说明
2020-07-06 升级
---------------------------------------------
[strong][attention]升级…
Q:科创板存托凭证(CDR)上市交易规则特别说明
[title1]A:2020-10-28日,依据上交所公告,科创板第一支存托凭证(CDR)689009,9号公司将于2020-10-29日上市,科创板存托凭证的重点规则和事项总结如下:[/title1…
期货仓单日报-郑商所
数据说明
 期货交易所实行期货仓单日报制度,每日在交易所网站公布期货标准仓单数据,在每个交易日结算完成后发布。

更新日志
Q:在python中如何在调用天软语句串中实现变量传参?
A:python调用天软语句串的方式进行交互,这里的天软语句串即为天软平台的脚本代码,是通过字符串的形式传送到交互接口中的。
在这种交互方式中,用户需要在python中拼出天软脚本字符串,并且拼出来…
Q:如何通过交易明细数据统计周期内的主买主卖量/金额?
A:天软行情数据说明请参考:FAQ:Q:高频、超高频数据说明
具体实现参考,封装三个函数
封装函数,即将下列函数新建为用户函数进行调用,新建函数的操作请参…
Q:怎么截取字符串
截取字符串即获取字符串的子串,用户可使用leftstr,rightstr,midstr等函数。
leftstr(s,N)是取前N个字符,即左起取N个字符。
例如:return leftstr("a…
Q:怎么临时设置系统参数?
A:spec、speCDate、specall仅对该语句有效。
[title3]1、如果临时设置系统股票,可用spec…
期货仓单日报-大商所
数据说明
 期货交易所实行期货仓单日报制度,每日在交易所网站公布期货标准仓单数据,在每个交易日结算完成后发布。

数据来源
Q:提取所有主力合约一段时间的收盘价,其中合约代码为列名
说明:
矩阵遍历::运算中,mrow指当前行标值,mcol指当前列标值,mcell就是当前单元格的值,::就是一个双层循环遍历,对二维数组中的每个元素进行的遍历,然…
Q:SQL时间序列统计缓存标志与性能加速
技术时间序列统计相关聚集函数会自动进行数据缓存以进行加速,例如:

EMAOf([“close”],true,30)在执行的时候,每一步计算均会利用前一个计算的缓存。
这样效率可以得到大大的提高…
Q:怎么获取指数实时k线与黄线数据?
A:指数实时k线与黄线数据可以通过模型Index_ActuTimeHOLCAndYLData来获取,导出数据后可在excel进行绘图得到
[ul][b]定义:[/b…
Q:excel调用天软函数的文件,拷贝到其它电脑之后无法使用?
A:excel调用天软模型获取数据在本机上正常,将该文档复制到其它电脑上,打开后,无法正常使用,对比显示如下:


[title1]解决办法:[/titl…
String
范例(t):

Return string(L'abCD');
//返回值为字符串:abCD
WideString
范例(t):

Return widestring('abCD');
//返回值为Unicode字符串:L’abCD’。
Eval
范例(t):

范例01:
[code]
//表达式是字符串表达式。&转换字符串为表达式。
A:='1';
B:='2';
Return eval(&('A+B'));//返回值为表达…
SetProfiler
范例(t):
范例01:1+2+4的优化信息返回
[code]
  SetProfiler(7);
  a:=array();
  SetSysParam(PN_Stock(),'SH…
类类型声明的位置
  与其他类型不同,类类型必须在实例化之前声明并给定一个名称。有三种地方可以声明类类型:
  1、在程序(program)的最外层声明类,在执行语句块的前面,而不能在过程或函数中声明.
字符串取指定位置的字符StringValue[Index]
  字符串取单个字符的方法是 StringValue[Index]的模式,例如"ABCD"[1]的结果为"A"子串是,表明取第一个字符。
形参与实参的转换
  在TSL语言中,与绝大多数语言不同的是,对形参与实参的支持是通过调用者而不是函数申明来实现的。
  例如:
[code]
  RealA:=100;
  RealB:=20…
VarByRef编译选项
  编译选项。
  插入{$VarByRef-}可以关闭允许参数值修改的编译选项,系统默认是允许修改的,一旦关闭了编译选项,[attention…
单元的特殊定义
  单元可以省略Interface和Implementation关键字,一旦省略关键字,所有单元内的内容均对引用者可视。
例:
   Unit SpecialUnit;
   fun…
MFind矩阵查找
  MFind可以查找矩阵中的符合条件的行列以及值。
  例如,我们在一个随机矩阵中寻找值大于0.9的值所处在的位置:
[code]
A:=Rand(10,10);
B:=MFind(…
统计分布简介
  介绍统计各种分布函数前,我们先简单的介绍下概率论理论下常使用的几个函数:
    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…
分布函数
  TinySoft金融分析平台上提供了有关统计分布的函数:概率密度,(累计)分布函数,分位数函数(分布逆函数),随机数函数,估计函数
  概率密度,(累计)分布函数,分位数的函数命名使用规…
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…
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…
IncDay
范例(t):

[code]
inCDays:=InCDay(strtodatetime('2010-08-01'),10);
return datetostr(inCDays); //输出:…
LeftStr
范例(t):
         
return LeftStr('abcccCDddd',2);
//结果:’ab’
RightStr
范例(t):
         
return RightStr('abcccCDddd',2);
//结果:’dd’
AnsiContainsText
范例(t):


[code]

text:='abCDefg' ;

return AnsiContainsText(text,'AbCD');
//输出:1,包含

[/co…
AnsiStartsText
范例(t):



text:='abCDefg';

return AnsiStartsText('Abc',text);
//输出:1

参考:[r…
AnsiEndsText
范例(t):



text:='abCDefg';

return AnsiEndsText('Efg', text);
//输出:1

参考:[re…
AnsiMatchText
范例(t):


[code]

AText := 'ABZ';

AValues:= array();

AValues[0]:='abCDefg';

AValues[1]:…
AnsiContainsStr
范例(t):



AText:='abCDefg';

Return AnsiContainsStr(AText,'BCD');
//输出:1

参考…
AnsiStartsStr
范例(t):



Atext:='abCDefg';

Return AnsiStartsStr('abCD',Atext);
//输出:1

参考:…
AnsiEndsStr
范例(t):



text:='abCDefg';

return AnsiEndsStr('efg', text);
//输出:1

参考:[ref…
AnsiMatchStr
范例(t):


[code]

AText := 'ABZ';

AValues:= array();

AValues[0]:='abCDefg';

AValues[1]:…
ReverseString
范例(t):
return ReverseString('abCDe1234');
//返回字符串:4321edcba

ho tostn(r);//输出:&qu…
StartsText
范例(t):



text:='abCDefg';

return StartsText('Abc',text);
//输出:1

EndsText
范例(t):



text:='abCDefg';

return EndsText('Efg', text);
//输出:1

StartsStr
范例(t):



Atext:='abCDefg';

Return StartsStr('abCD',Atext);
//输出:1

EndsStr
范例(t):



text:='abCDefg';

return EndsStr('efg', text);
//输出:1

Pivot
范例(t):
[code]
//指定条件,行标为日期,列标为名称,值为收盘价、涨幅、振幅的数据透视表
  stocks:=array("SZ000001","SZ…
Pivot_table
范例(t):
[code]
//指定条件,行标为申万行业,列标为日期,按平均值汇总值为涨幅、振幅的的数据透视表数据
  stocks:=GetBKByDate("SH000010&q…
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…
Getlogicdrive
范例(t):
return rdo2 GetlogiCDrive();
//有C、D盘,结果为12,即0b1100
TextToURL
范例(t):
ASrc:= "#abCD 10";
return TextToURL(ASrc);
//结果:%23abCD%20%2010
URLToText
范例(t):
aSrc:= "%23abCD%20%2010";
return URLToText(aSrc);
//结果:#abCD 10
Sp_time
 范例(t):
 范例一:设置的日期为交易日时sp_time()的结果
 [code]
 //系统证券代码对应的交易时间
 setsysparam(pn_stock(),'SZ000…
SpecDate,临时修改当前时间的快捷方法
类似于Spec,同样存在SpeCDate(Exp,Date)来临时修改时间。
例如我们要取2008-12-31日的收盘,我们也可以使用
[code]
SpecClose:=SpeCDate(Cl…
时间序列数据统计函数
下列的数据统计函数的最大优势是数据并不需要提取出来,直接利用平台计算,这样的效率是最高的。这些数据统计函数不同于其他统计函数,例如Mean函数可以做平均值,但是Mean的对象是一个一维数组。这样,假如…
平台模型远程调用客户端函数,访问客户端的资源
我们在使用平台模型的时候,经常有需要要访问客户端本地资源。打个比方,我们需要导出计算的数据,而等待整个模型的返回特别长,所以可能我们需要边运行,边导出数据。又或者整个的数据结果集非常大,无法单次返回,…
Drange( BeginIndex to Endindex)
例如:
[code]
A:=array();
For i:=0 to 999 do
A[i][“ABCD”]:=i;
Return Select Drange(10 to 99) * fro…
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”]:=…
WITH ON
一个On运算符在JOIN的时候的计算复杂度为两个运算的表的元素个数相差,是一个N*M的复杂度。事实上,绝大多数JOIN是可以优化的。我们TSL里支持WITH ON语法,使得计算复杂度降低到N+M的关系…
Q:取个股时间序列数据
范例1:取个股一段时间内1小时线的收盘价、涨幅、RSI、MACD
[code]
begt:=20190401T;
 endt:=20190513T;
 …
Q:如何提取基金一段时间的每日净值数据?
A:第一种方法:天软有基金净值表格数据,表ID为328,用户可直接提取进行筛选。
范例1:
[code]
 begt:=20…
Q:日成交量为0的分钟线数据在什么时候过滤?
A:对于分钟线数据,盘中有成交明细,就会实时生成分钟线。
在盘后:
1、盘后4点半会落地成数据文件,该数据过滤掉了当日成交量为0的分钟线数据。
2、在下一个交易日开盘前会清掉最新的缓存,比如有夜…
Q:市场交易日的推移实现
具体实现代码:
[code]
 datetime1:=20210104T; //可作为参数,指定日
 roll_n:=-2;     //可作为参数,推N个交易日

 //…
::=的复杂应用-取数据
  ::=除了用来替代这样的功能以外,还可以做很多其他的事情。例如,假定我们有一个数组,列下标为时间字符串,横下标为股票代码。
  例如:
[code]
  Stks:=Array(…
Drange( BeginIndex to Endindex)
例如 :
A:=array();
For i:=0 to 999 do
  A[i][“ABCD”]:=i;
//返回序号为 10 到 99 的数据。
Return Select Dr…
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…
Hypoth_Kstest
范例(t):
Return Hypoth_Kstest(randn(0,1,100),’both’,a,CDf);

结果:
[img type="ts…
Cov
算法:
备注:数据长度必须保持一致且大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的协方差
[code]
begt:=20181001T;
Endt:…
Correl
算法:ra,b=cov(a,b)σaσb,其中cov(a,b)为a,b序列协方差,σ为总体标准差。
备注:数据长度必须保持一致且大于等于2范例(t):
万科A在2018/10/1~2018/10/…
Slope
算法: or

备注:数据长度必须保持一致且大于等…
Intercept
算法:
备注:数据长度必须保持一致且大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘收盘价的相回归截距
[code]
begt:=20181001T;
Rsq
算法:
备注:参数数据长度必须保持一致且大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的乘积矩相关系数平方
[code]
begt:=20181001T…
Steyx
算法:
备注:数据长度必须保持长度一致且大于2。范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘的相对标准偏差
[code]
begt:=20181001T;
E…
Slopeandintercept
算法:
备注:参数数据长度必须保持一致且大于等于2范例(t):
万科A在2018/10/1~2018/10/30日线收盘与大盘收盘价格的回归斜率和截距
[code]
begt:=2018100…
SysSendMail
说明:利用SMTP服务器发送邮件,成功返回真,否则返回假。如果有MSG这个参数,则当失败的时候返回失败的具体信息到MSG参数。
定义一:SysSendMail(AHost,ASubject,ATo,…
where进行条件查询
  假如我们有一个二维数组EnglishScore,结构如下:
  学号姓名英语成绩
  01 张三 80
  02 李四 60
  03 王五 90
  …
RCCD_f
算法:
(1)RC=收盘价/N日前的收盘价;
(2)ARC=昨日RC的N日平滑移动平均;
(3)DIF=昨日ARC的N1日简单平均 - 昨日ARC的N2日简单平均;
(4)RCCD=DIF的N…
MICD_f
算法:
(1)MI =收盘价 - 昨收盘价;
(2)AMI =MI的N日平滑移动平均,权重为1;
(3)DIF=昨日AMI的N1日简单平均 - 昨日AMI的N2日简单平均;
(4)MICD=D…
当前值
[table rsplit="$" csplit="#"]函数名#别名#备注
$ROCMa_v #变动率移动平均#
$MFI_v #资金流向指标MFI#
$[…
图形实现
天软提供一些基本的图形函数可以作出下列图形:
  单一图形(如:K线)、多类图形(如:带MA的K线)、
  图形组合(如:K线+MACD+VOL)
天软作图函数的本质是在于将一个二维数组中的…
Q:天软是否有期货上市时公布的挂盘基准价?
A:交易所在合约上市通知中,一般可能会公布期货合约的挂盘基准价,如下:

对于这个数据天软在该期货合约上市日行情数据的昨结算价及昨收中有体现,对应字段如下:…
Q:gfzero()属性的使用(正值向上,负值向下)
A:零轴gfzero()是组合图形的一个属性,即需在函数graphgroup中设置,不能在Graph中设置。
[tit…
Q:天软随机数
A:天软随机数产生的函数及算法简介
算法与随机种子:FAQ:Q:Rand和Randg的算法,如何得到随机数
[title2]随机数基础函数:[…
Q:如何在分钟线中高效地加入昨持仓量?
场景描述:在取到的高频的行情数据表中,需要添加昨日的持仓量
测试数据源:1分钟线的带夜盘的期货合约行情数据
[code]
se…
FundExt_SCDQk
范例(t):
[code]
FundID := "SH500001";
SetSysParam(pn_Stock(), FundID);
RDate := 20111231…
FundExt_BCDQk
范例(t):
[code]
FundID := "SH500001";
SetSysParam(pn_Stock(), FundID);
RDate := 20111231…
FundExt_BCDCExt
范例(t):
[code]
SetSysParam(pn_Stock(),"SH500001");
RDate := 20111231;

return FundExt_…
MICD_DIF_v
算法:

MI =收盘价-昨收盘价;

AMI =MI的N日平滑移动平均,权重为1;

DIF =昨日AMI的N1日简单平均 - 昨日AMI的N2日简单平均。范例(t):
[code] …
MICD_MICD_v
算法:

(1)MI =收盘价-昨收盘价;

(2)AMI =MI的N日平滑移动平均,权重为1;

(3)DIF =昨日AMI的N1日简单平均 - 昨日AMI的N2日简单平均;

(4…
RCCD_RCCD_v
算法:
(1)RC=收盘价/N日前的收盘价;
(2)ARC=昨日RC的N日平滑移动平均;
(3)DIF=昨日ARC的N1日简单平均 - 昨日ARC的N2日简单平均;
(4)RCCD=DIF的N…
RCCD_DIF_v
算法:
(1)RC=收盘价/N日前的收盘价;
(2)ARC=昨日RC的N日平滑移动平均;
(3)DIF=昨日ARC的N1日简单平均 - 昨日ARC的N2日简单平均。范例(t):
[code] …
ACD_f
算法:
若收盘价>昨日收盘价,DIF=收盘价-最低价和昨日收盘价的较小值;
若收盘价=昨日收盘价,DIF=0;
若收盘价<=昨日收盘价,DIF=收盘价-最高价和昨日收盘价的较大值;
ACD=N…
ACD
范例(t):
[code]
SetSysParam(pn_stock(),'SH000001');
  SetSysParam(pn_date(),inttodate(20140123));…
当前值
[table rsplit="$" csplit="#"]函数名#别名#备注
$VMa_v #变异移动平均#
$BBI_v #多空指标#
$[a id=2…
ACD_v
算法:

(1)若收盘价>昨日收盘价,DIF=收盘价-最低价和昨日收盘价的较小值;

(2)若收盘价=昨日收盘价,DIF=0;

(3)若收盘价<=昨日收盘价,DIF=收盘价-最高价和昨日…
ACDMa_v
算法:
(1)若收盘价>昨日收盘价,DIF=收盘价-最低价和昨日收盘价的较小值;
(2)若收盘价=昨日收盘价,DIF=0;
(3)若收盘价<=昨日收盘价,DIF=收盘价-最高价和昨日收盘价的较大…
PSY
范例(t):
[code]
SetSysParam(pn_stock(),'SH000001');
SetSysParam(pn_date(),inttodate(20140123));
Re…
CDP
范例(t):
[code]
SetSysParam(pn_stock(),'SH000001');
SetSysParam(pn_date(),inttodate(20140123));
Re…
图形
[table rsplit="$" csplit="#"]函数名#别名#备注
$ASI#震动升降指标#
$[a id=27655]…
MACD
范例(t):
[code]
SetSysParam(pn_stock(),'SH000001');
SetSysParam(pn_date(),inttodate(20140123));
Re…
当前值
[table rsplit="$" csplit="#"]函数名#别名#备注
$WVAD_v#威廉变异离散量#
$[a id=27667…
DBCD_v
算法:

BIAS =(收盘价-收盘价的NI日简单平均)/ 收盘价的N1日简单平均*100;

DIF =BIAS - 前N2日BIAS;

DBCD=DIF的M日平滑移动平均,权重为1。…
MACD_DIF_v
算法:
DIF =Short日收盘价的移动平均 - Long日收盘价的移动平均。范例(t):
[code]
//计算白云机场截止2011年9月8日的平滑移动平均DIF线。
oV:=BackUp…
MACD_DEA_v
算法:
(1)DIF =收盘价的Short日移动平均 - 收盘价的Long日移动平均;
(2)DEA =DIF的M日移动平均。范例(t):
[code]
//计算白云机场截止2011年9月8日…
MACD_MACD_v
算法:
(1)DIF =收盘价的Short日移动平均 - 收盘价的Long日移动平均;
(2)DEA =DIF的M日移动平均;
(3)MACD =2*(DIF - DEA)。范例(t):
[c…
DBCD_f
算法:

(1)BIAS =(收盘价-NI日收盘价的简单平均)/N1日收盘价的简单平均*100;

(2)DIF =BIAS - 前N2日BIAS;

(3)DBCD=DIF的M日平滑移动…
MACD_f
算法:
(1)DIF =Short日收盘价的移动平均 - Long日收盘价的移动平均;
(2)DEA =M日DIF的移动平均;
(3)MACD =2*(DIF - DEA);
(4)Type=…
MACD_Ex
算法:
(1)根据每个close数据,计算每个时间点的短期移动平均数据和长期移动平均数据;

其中,短期移动平均数据放在字段['short']中,['short']=前一时间点的['short'…
技术指标选股
[table rsplit="$" csplit="#"]函数名#别名#备注
$SsByMA#MA卖出条件选股#
$[a id=2770…
SsByMACD
算法:
(1)DIF =收盘价的Short日移动平均 - 收盘价的Long日移动平均;
(2)DEA =DIF的M日移动平均。
(3)type=3,判断DIF是否下穿(即跌破)DEA;
(4)…
BsByMACD
算法:
(1)DIF =收盘价的Short日移动平均 -收盘价的 Long日移动平均;
(2)DEA =DIF的M日移动平均。
(3)type=2,判断DIF是否下穿(即跌破)DEA;
(4)…
Divergence
范例(t):
[code]
//单只股票日线DIF(顶背离)
//使用单个股票在指定截止日endt最近N个交易日的日线最高价及平滑异同平均DIF线,计算在指定的截止日endt是否存在顶背离
o…
SelectStockIndex
范例(t):
[code]
SetSysParam(PN_CYCLE(),cy_day());
ReturnSelectStockIndex("SZ000541;SH600000&qu…
SelectStockIndex_Call
范例(t):
[code]
StockArr:= array("SH600460","SZ000920","SH600718");
BegT:= inttodate(20120925);
En…
TrueTransactionYtm
范例(t):
[code]
Return SelectStockIndex_Call(

array("SH600460","SZ000920",&qu…
MarkowitzBasicData
范例(t):
[code]
StockArr:=array("SZ000099","SH600000","SZ000002");
Return MarkowitzBasiCData(
Stoc…
MarkowitzVARRp
范例(t):
[code]
w:=array(1,2,3,4);
  StockArr:=array("SZ000099","SH600000",&qu…
SIMBasicData
范例(t):
[code]
Return SIMBasiCData(

Array("SH600718","SH600100"),

inttoda…
SIMSumAlphap
范例(t):
[code]
SIMBasiCData(

Array("SH600718","SH600100"),

inttodate(2012…
SIMSumBetap
范例(t):
[code]
SIMBasiCData(

Array("SH600718","SH600100"),

inttodate(2012…
SIMSumVarEj
范例(t):
[code]
SIMBasiCData(

Array("SH600718","SH600100"),

inttodate(2012…
SIMVARRp
范例(t):
[code]
SIMBasiCData(

Array("SH600718","SH600100"),

inttodate(2012…
LastBasicData
范例(t):
[code]
//获取SZ000002的公司全称
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),'SZ000002'…
sp_time
范例(t):
范例一:设置的日期为交易日时sp_time()的结果
[code]
//系统证券代码对应的交易时间
setsysparam(pn_stock(),'SZ000002');
se…
时间序列统计缓存标志与性能加速
技术时间序列统计相关函数会自动进行数据缓存以进行加速,例如:
EMA(Close(),30)在执行的时候,如果存在在Nday或者MA,EMA等序列函数中,每一步计算均会利用前一个交易日计算的缓存。这…
SpecDate
范例(t):
[code]
setsysparam(pn_stock(),'SZ000002');
  setsysparam(pn_date(), inttodate(20110909));…
Spec
范例(t):
  [code]
//获得两个指数时间序列净值曲线
setsysparam(pn_stock(),'SH000904');
  setsysparam(pn_date(), …
SpecAll
范例(t):
[code]
return specall(close(),
array(pn_stock():'SZ000001',
pn_date():inttodate(20140117)…
SpecDateValue
范例(t):
[code]

SetSysParam(pn_stock(),'SZ000001');

SetSysParam(pn_date(),20180917T);

return…
支持的Office常量函数列表
  TSL语言已经以函数的方式支持Office的绝大多数常量,用户可以函数的方式来使用这些常量.
  以下是所有支持的常量函数,具体关于他们的用途以及使用方法请参考Office的相关帮助手册…
Word常量函数
  TSL语言已经以函数的方式支持Word的绝大多数常量,用户可以函数的方式来使用这些常量,例如wdBlue这个颜色常量可以以wdBlue()的方式来访问。
  Word的常量主要应用在Wo…
Q:天软自定义多选参数类型的功能与用法说明
“自定义多选”参数类型
功能说明:在函数的参数类型中新增“自定义多选”类型,此类型适用于需要进行多项勾选的情景

[tit…
2023-07-21客户端升级说明
2023-07-21 升级:
------------------------------------
修正:[strong]T…
期货仓单日报-广期所
数据说明
 期货交易所实行期货仓单日报制度,每日在交易所网站公布期货标准仓单数据,在每个交易日结算完成后发布。

数据来源
Q:使用网格计算提高计算效率时,如何合理控制并发数?
如何确定可使用的最大并发数:
由于在执行任务时,主程序会占用一个并发数,所以,可使用的最大并发数会小于账号的总并发个数。
账号如果是多人使用的,也要考虑到其他使用…
参数缺省值
功能:天软函数支持缺省参数的定义,即通过定义设置参数默认值,当缺省该参数时不再是Nil,方便调用时使用。

用法: function funcName(参数名=缺省值,...)
说明:函数的缺…
BuildOptionComboValue
范例(t):
[code]

//返回结果值为1的Value值

s:='abCD=0\r bCDe=1\r';

return rdo2 BuildOptionComboValue(…
2023-12-08客户端升级说明:对字符串加密sysencodecryptstr
2023-12-8 升级说明
---------------------------------
[strong]升级:新增函数sysencodecryptstr…
framePivot_table
范例(t):
[code]
//指定条件,首列为申万行业,后续列标为日期,按平均值汇总值为涨幅、振幅的的数据透视表数据
  stocks:=GetBKByDate("SH000010…
sf_betainv1
范例(t):
y := array(0.01,0.01)->0.99;
return sf_betainv1(y,2,4);

[img type="t…
DLL外部函数引入
  TSL语言直接支持对动态库的调用,当然,在金融分析.NET平台上由于安全的原因需要设置后才可以运行,但是我们可以用RDO2等模式来调用本地的动态库函数。
  TSL调用动态库的函数申明基…
多线程调用案例
  创建多线程程序例子:利用windows API 的CreateThread函数创建多线程调用,通过控制台结束指定线程。
代码如下:
[code]
a:=array();
//将abCD
TSL调用外部动态库的函数
语法:Function newFuncName(p1:DataType;p2:Datetype;…):returnType;[attention]exte…
32位windows下的调用方式申明
一般的调用方式的申明约定有以下这几种:
Register
Pascal
CDecl
Stdcall
Safecall
Fastcall
Windows的API使用stdcall模式。
Q:如何获取股票的交易提示?
A:天软提供了国内股票市场比较全面的数据,本文提供如批量获取常见的交易提示数据。

常见交易提示指标接口
[table rsplit="$" csplit="…
查找执行文件的依赖关系
  在实现编译成可执行文件以及动态库的过程中,有一个重要的过程,即查找执行文件的依赖关系。
  因此,天软提供了SysGetFunCDepends模型,专门获取指定目标的依赖关系。
  …
SysGetFuncdepends
范例(t):
范例01:查找函数的依赖关系
[code]
obj:=Findfunction("stockzf"); 
v:=SysGetFunCDepen…
hd_SpecDate
范例(t):
[code]
SetSysParam(pn_stock(),'sz000001');//设置股票
SetSysParam(PN_Cycle(),cy_day());//设置周期
hd_SpecAndSpecDate
范例(t):
[code]
SetSysParam(PN_Cycle(),cy_day());设置周期
SetSysParam(PN_Rate(),0);设置为不复权
return hd_Sp…
teach_gfMacd_Eval
算法:
DIFF线 收盘价短期、长期指数平滑移动平均线间的差。
DEA线  DIFF线的M日指数平滑移动平均线。
MACD线 DIFF线与DEA线的差,彩色柱状线。范例(t):
[code] …
Q:股票.中上协行业(CAPCHY)分类代码列表
A:股票.中上协行业(CAPCHY)总共有两级分类,分类代码列表如下:
行业分类代码为:CAPCHY


取数参考:FAQ:Q:股票与基金一些常见的分类属性代码及取数介绍
通…
Fund_PF_HoldFeeling_Stat
范例(t):

[code]
FundID := "OF000001";
  begt := 20200101t;
  endt := 20240301t;
  RollNYea…
Fund_PF_HoldFeeling_Trend
范例(t):

[code]
  FundID := "OF000001";
  begt := 20200101t;
  endt := 20240301t;
  MANum…
ReplaceStrByReg
范例(t):
[code]
return ReplaceStrByReg("abCDeak","A","kkkk");
//结果:ab…
ReplaceTextByReg
范例(t):
[code]
return ReplaceTextByReg("abCDeak","a","kkkk");
//结果:k…
ParseRegExpr3
范例(t):
[code]
return ParseRegExpr3("abCDeak","ab","kkkk","ir&qu…
1、范例:类TsDate-对整数日期的扩展
如下所示,类TsDate对天软日期的一些常用方法进行了重载,使得整数日期可直接调用这些方法。
[code]
td:=new TsDate(20240329);
echo "字符串日期","---…
Q:系统参数的获取跟设置的几种方式说明
在天软中,系统参数的获取跟设置,有以下几种方法:
方式一:使用setsysparam一个个设置:作用于整个函数;
方式二:使用 …
Q:如何快速实现多个证券的某个指标的加总
A:第一步:下载下面附件,在天软客户端中导入函数TSDN_SumOfStocks到账号中,保存为用户函数。
[attachment id=39202][/attac…
Q:通过模型计算获取主要财务指标(42)的指标值
A:股票主要财务指标(42)表采集自股票的财报,该表主要记录定期报告的公布日及扣除非经常性损益后的净利润字段数据,其它指标属于非必须公布的数据,即若公告中有公布则采集,若无公布则记录为0。
因此,如…
平台模型远程调用客户端函数,访问客户端的资源
  我们在使用平台模型的时候,经常有需要要访问客户端本地资源。打个比方,我们需要导出计算的数据,而等待整个模型的返回特别长,所以可能我们需要边运行,边导出数据。又或者整个的数据结果集非常大,无法单…
frameIndex_getilocDZ
范例(t):
return frameIndex_getiloCDZ(array('成长','估值','动量'));

[img type="tslxml…
Q:如何将数据通过追加模式写入到本地txt文件中
A:可以通过指定写出模型WriteFile的pos参数为-1,设置为追加模式实现。
函数说明可参考:FAQ:WriteFile

[title1]如实现一个追加模式写入到本地txt…
如何将数据通过追加模式写入到本地csv文件中
A:可以通过指定写出模型WriteFile的pos参数为-1,设置为追加模式实现。
函数说明可参考:FAQ:WriteFile

[title1]如实现一个追加模式将数组写入到本地…
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…
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,…
Q:天软中如何计算证券波动率
A:低频数据计算波动率
可使用已有公用模型:
N日标准差(用对数收益率计算的N日标准差,即波动率):FAQ:StockStdev2
支持任意周期,效率…
Q:天软客户端的缓存目录如何指定?
A:目前天软提供的新一代客户端(NG版)支持自定义指定用户数据缓存目录。
用户数据缓存默认存储在C盘,用户可通过如下方式,将缓存目录自定义至其他盘符
[strong]方式一:修改快捷方式属性(推荐…
Q:20250822-天软期货衍生代码调整前后对照表及对程序的影响与处理建议
A:2025-08-22:天软对期货主力代码、次主力代码、指数线代码、连续代码的编码规则进行了调整
具体调整内容请参考:FAQ:Q:20250822-期货主力代码、次主力代码、指数线代码、连续代码的编码规则调整及影响
关于期货各代码的编码规则参考:[F…
函数的调用
与Pascal语法不同的是,无论函数是否有参数,调用均需要使用()。
例如:
[code]
t1:=funcA(100,200,"abc");//多参数函数的调用
t2:=today();//…
字符串的非转义表达%%
如果有程序代码或者其他多行的字符串,转移表达描述起来相当复杂, TSL使用%%符来支持不需要转义的原始串, %%支持UNICODE和UTF-8的L和U前导串。

[strong]说明:[/stro…
Q:客户端作图时各图形标签名称及图形标签显示位置说明
A:图形名称控制图形标签的显示名称,
  图形的数据列名控制图形标签的显示位置:
   1.含中文的列名图形标签显示在数值窗口位置;
   2.英文列名图形标签显示在图形的左上角。…
Q:债券收益率曲线取数代码序列
代码规则:BTS+6位数字,如BTS000001,代表央票,BTS000033,代表国债
[code]
Return getbk('债券收益率曲线');
[/…
WeightedPopnCovariance
范例(t):
[code]
begt := 20190101T;
endt := 20190415T;
stocks := array('SH000001','SH000300','SH600…
WeightedCovariance
范例(t):
[code]

begt := 20190101T;
 
endt := 20190415T;
stocks := array('SH000001','SH000300'…
WeightedCovariance_freq
范例(t):
[code]
begt := 20190101T;
endt := 20190415T;
stocks := array('SH000001','SH000300','SH600…
WeightedCorrelM
范例(t):
[code]
begt := 20190101T;
endt := 20190415T;
stocks := array('SH000001','SH000300','SH600…
EwmMean
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
  sp_s(pn_date(),20190415T);
  x := nday3(50,stockz…
EwmStd
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
sp_s(pn_date(),20190415T);
x := nday3(50,stockzf3());…
EwmVar
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
  sp_s(pn_date(),20190415T);
  x := nday3(50,stockz…
EwmCorrel
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
sp_s(pn_date(),20190415T);
a:=nday3(50,stockzf3());
EwmCov
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
sp_s(pn_date(),20190415T);
a:=nday3(50,stockzf3());
EwmSlope
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
sp_s(pn_date(),20190415T);
a:=nday3(50,stockzf3());
EwmIntercept
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
sp_s(pn_date(),20190415T);
a:=nday3(50,stockzf3());
EwmResidual
范例(t):
[code]
sp_s(Pn_stock(),'SH000300');
sp_s(pn_date(),20190415T);
a:=nday3(50,stockzf3());
CorrelM_ewm
范例(t):
[code]
begt := 20190101T;
  endt := 20190415T;
  stocks := array('SH000001','SH000300',…
Covariance_ewm
范例(t):
[code]
begt := 20190101T;
  endt := 20190415T;
  stocks := array('SH000001','SH000300',…
Network_Node_DegreeCentrality
范例(t):
[code]
matrix := array((0.0,5.1,19.36,0.0,0.0),
           (5.1,0.0,10.26,0.0,0.…
Network_Node_ClosenessCentrality
范例(t):
[code]
matrix := array((0.0,5.1,19.36,0.0,0.0),
           (5.1,0.0,10.26,0.0,0.…
Network_Node_BetweennessCentrality
范例(t):
[code]
matrix := array((0.0,5.1,19.36,0.0,0.0),
           (5.1,0.0,10.26,0.0,0.…
Network_Node_NetCentrality
范例(t):
[code]
matrix := array((0.0,5.1,19.36,0.0,0.0),
           (5.1,0.0,10.26,0.0,0.…
Network_Node_EigenvectorCentrality
范例(t):
[code]
matrix := array((0.0,5.1,19.36,0.0,0.0),
           (5.1,0.0,10.26,0.0,0.…
技术面因子
[htm]指标汇总 <br/><table><tbody><tr><td>
类别</td><td>
模型名</td><td>
功能</td></tr><tr><td>
动量</td><td> …
Index_TA_CD_Convergence
范例(t):获取上证50指数SH000016在20220610日趋同度指标
[code]
  indexid := "SH000016";
  endt := 2022…
Index_TA_CD_Divergence
范例(t):获取上证50指数SH000016在20220610日收益率分歧度(%)指标
[code]
  indexid := "SH000016";
  endt :…
Stocks_TA_CD_Divergence
范例(t):获取股票池SZ000001和SZ000002在20220610日收益率分歧度(%)指标
[code]
  StocksArr := Array("SZ000001&quo…
Index_TA_CD_HTStockZF
范例(t):获取上证50指数SH000016在20220610日头部涨幅(%)
[code]
  indexid := "SH000016";
  endt := 20…
Stocks_TA_CD_HTStockZF
范例(t):获取股票池SZ000001和SZ000002在20220610日头部涨幅(%)
[code]
  StocksArr := Array("SZ000001",&…
Index_TA_CD_CorrHT
范例(t):获取上证50指数SH000016在20220610日过去60日头尾相关性指标
[code]
  indexid := "SH000016";
  endt …
模型汇总
[htm]<table><tbody><tr><td>
接口分类</td><td>
接口名称</td><td>
接口定义</td></tr><tr><td>
成交持仓</td><td>
成交…
模型汇总
[htm]<table><tbody><tr><td>
接口分类</td><td>
接口名称</td><td>
接口定义</td></tr><tr><td>
成交持仓</td><td>
成交…