时间序列数据分析的特殊需要
  时间序列数据处理往往有着和其他数据处理不同的应用要求。我们回顾下TS-SQL对聚集函数的支持,如果我们需要求所有数据的最高气温、最低气温以及平均气温,使用select avgof(["平均气温…
关于TSL语言
  TSL是Tinysoft StatistiCAl analysisLanguage的简称,她是Tinysoft Corp.专门为了迎合统计分析所开发的编程语言。TSL拥有快捷的数据访问方法、强…
保留字(关键字)
保留字是指在TSL语言中具有特定的含义,是编写使用前必须了解的。目前TSL语言中的保留字一共有:
[table rsplit="$" csplit="#"]函数名#别名…
REALPARAMCOUNT
  系统内置变量,用来得到函数调用时实际被送入的参数个数。用于下标方式获取参数。
  例如:
[code]
  a:=function(i1,i2)
   begin
  …
TO
  循环子句往后,可组成FOR TO DO循环子句,也可以用于CASE和SELECT语句中。
  参见:FORDOWNTO
CASE
  多分支条件语句,CASE OF
基于小波分析的金融时间序列消噪方法及应用
  选取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>
函数名…
全局缓存的基础函数和子矩阵的支持
  绝大多数的函数已经可以完全支持全局缓存,当成和原始数据类型对待,而子矩阵这类的操作也毫无问题。
[code]
  a:=array();
  for i:=1 to 9 do
全局缓存的算符支持
  对于四则运算等算符,以及矩阵运算符,还有集合运算符号等等,全局缓存和原始类型一致。
[code]
  a:=array();
  for i:=1 to 9 do
  fo…
支持SELECT
  对于SELECT而言,全局缓存的表现和其原始数据没有任何差异。
[code]
  a:=array();
  for i:=1 to 9 do
  for j:=1 to …
写入实例化
  当对全局缓存进行各式写入操作时,无论是数据设置,还是UPDATE,INSERT等SQL操作,我们均会将全局缓存实例化,在用户使用的时候和传统数据复制后进行写入操作毫无差异,这样最大化地保证了易…
配置
[htm]配置在plugin\FileMgr.ini中 <br/>一个典型的设置如下: <br/>[Global CAche] <br/>MemoryLoadLimit=90 //在物理内存使用达到9…
有瑕疵的全局缓存管理方式
全局缓存的生成,一种模式是在由应用模型内来设置:
例如: if not GetGlobalCAche(CAcheName,V) then
    Begin
     V:=CA
期望的方式
如果全局缓存的生成和更新,交由系统,那么我们期望的应用开发是如下模式:
if not GetGlobalCAche(CAcheName,V) then
     V:=CAlcDataC…
不推荐的模式
GetGlobalCAche(CAcheName,V);
有的开发者会在升级应用后,将取数程序变成了最简单的模式,假设缓存的获得会成功,这样在项目实施中并无不可,假设数据的初始化和数据变更确定性由系…
未升级的系统对新代码的使用
  由于TSL的设计特性,底层系统函数的优先级高于公共和用户函数,我们建议在未升级全局缓存管理功能的用户处,按照规范新增两个函数SetGlobalCAche以及GetGlobalCAche,返回的…
平台的初始化和监控的权限管控
  如果初始化和监控TSL需要调用内外部的TSL函数来进行数据准备,设计者推荐用户采用data:=sudo("modeluser",getCAlcdata())的模式来进行数据的一些准备工作,因为…
继承
面向对象中,继承是基础。我们可以对已有的类复用和扩展。通过继承我们可以让新类拥有了已有类的数据和行为。也可以扩展新类,使它具有更多的数据和行为。
我们这里称已有类为新类的基类或父类,有的地方也叫超类…
构造函数
构造函数是一个特殊的方法,用来创建和初始化一个实例对象。
声明一个构造函数就像声明一个函数一样,可以无参数也可以有参数,不同的是方法名必须是create,在创建实例时会自动查找适合的构造函数。
F…
作用域
类的每个成员都有一个称为可见性的属性,我们称为作用域。
作用域决定了一个成员在哪些地方以及如何能被访问。TSL用下面3个关键字之一来表示它:[strong]private、protected、pub…
索引器(index)
简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的对象。索引器通常用于对象容器中为其内的对象提供友好的存取界面.

显然,这一功能在创建集合类的场合特别有用,而在其他…
FunctionInfo
调用方法:
  方法.FunctionInfo

获取函数的信息。返回存放函数信息的字符串下标数组。

[htm]<table><tbody><tr><td>
下标</td><td> …
Duplicates
范例(t):


[code]

obj:=CreateObject('TStringList');

  obj.Delimiter:=",";

  ob…
TFileStream对象的创建
范例:
[code]
  FileName:="E:\\Test\\TFileCAse01.txt";
  //-新建一个txt文件并打开
  obj:= CreateObject("T…
Q:Matlab如何从天软中取行情数据
Matlab调用天软前,需先创建一个天软COM对象,代码为:
ts=actxserver('TSExpert.CoExec');
1、取单支股票某时点行情数据
2018-12-07-应用专题-基础算法:TSL最新时间序列统计关键字使用技巧
1)、增加了数据仓库时间序列的统计函数,根据调用方式和对象分为SP统计关键字、类SQL聚集统计函数、底层统计函数。
2)、增加了每种分类的调用方法和相应的优势,并给出了新增的函数的功能和调用。
3…
Q:matlab调用ts取数据时出现错误提示:没有为类 'COM.TSExpert_CoExec' 找到具有匹配签名的方法 'RemoteCallFunc'?
(1)确认matlab与TS的位数相同。登录TS客户端之后,点击左上角“系统”-》“系统设置”-》“注册COM服务”;
(2)确定使用RemoteCAllFunc时参数个数,参数设置出错也会提示该错…
2025-09-18-应用专题-业绩归因01:天软风格因子归因框架(更新版)
附件:2025-09-18-深圳天软科技-应用专题-业绩归因01:天软风格因子归因框架(更新版).pdf

摘要
1、多因子模型与基于组合持仓归因的关系:定义了股票收益率、因子暴露度、因子收益率、特…
Q:如何修改数组的列名(列下标)
A:修改列名,方法很多。可以使用renamefield, reindex2/ reindex,类SQL或者矩阵,其各类方法应用场景如下:
以下所有范例中的案例数据:
Q:请问怎么统计某段时间的资金流向数据?
A:资金流向的函数有:
个股资金流向:
统计资金流出(主卖):StockSectionalSellAmount(BegT,End…
Q:Kdj指标中的算法我点看不懂,其中的@和1{$IFDEF TSLNEWTECHCACHE}、$N{$ENDIF}是什么意思?
A:@在函数中的意思可参考FAQ(在天软首页搜索):@在天软平台中的使用。
一些技术指标的编辑中加入了{$IFDEF TSLNEWTECHCACHE}和{$ENDIF},这些是条件编译的关键字,读程…
SMTP对象的创建
范例(t):
[code]
//范例1:创建smtp对象
Obj:= CreateObject("SMTP");
//范例2:根据配置创建smtp对象,配置写在\tinysoft\analys…
RDo2
注: Rdo2在客户机运行的时候,需要用户在权限上许可,具体可参考:平台模型远程调用客户端函数,访问客户端的资源
范例(t):
[code]
If Rdo2 InputQuery("nput","Hint"…
编译选项与注释符
  在TSL语言中,为了改变编译的行为,会有一些编译选项,而编译选项也是利用注释符来实现的。
  TSL语言的编译选项和PASCAL语言类似,目前支持下列几种用法:
预定义的条件编译标识
  tslnewtechCAche
  如果定义了该标识,表明技术指标相关函数支持缓存定义
  
  tslver31
  如果定义了该标识,表明当前支持版本3.1的语法 …
TDateTime
  日期类型是一种难以表达的类型,也许有的人说是用某年某月某日的表达方法不是很简单吗,但是计算机语言是无国界的,有的国家是用12/30/2010来表达2010年12月31日,有的国家则是用2010…
String
  在TSL语言中,字符串常量的表达方式是采用单引号或者双引号括起来。例如123表示数值为123的整数,而"123"则表示内容为123的的字符串,是两种不同的数据类型。由于字符串中可能会包括一些特…
NIL
  NIL类型是一种很特殊的类型,在TSL语言中,NIL往往用来判断数据是否存在。与NIL相关的函数有IfNil用来判定是否为NIL。
  当然,和DLL程序的外部交互的时候,NIL是有用的…
TFUNCTION
  函数型,存贮一个函数指针,一般用ThisFunction来获取。
  函数型可以用CAll来调用。
  参见:CAll">CAll
COM方法的调用例子
  COM的调用和TSL的对象的调用是没有差异的,也非常类似于PASCAL以及VB等对COM对象的调用。每个COM对象方法或者属性的调用要么返回一个TSL基本类型,如数组,数字,字符串,NIL等,…
逻辑运算符
  逻辑运算符就是对真假的Boolean类型进行运算的算符。
[htm]<table><tbody><tr bgcolor=#C0C0C0 style="font-weight: bold;">…
[]运算符
  []是对特殊的运算符,和()类似,他们总是成对出现的,有[的时候,必定有匹配的]作为结尾。
  我们在前面的章节里看到过MOV EAX,[EBP+4]这样的指令,这里的[]是取地址EB…
算符优先级
  什么是优先级呢?
  例如1+2*3,是先计算2*3,再计算1+,这就表示*的优先级高于+,1+2*3等同于1+(2*3)。
2>2+1,是先计算2+1,再计算2>,结果2>3为假,表…
CASE
多分支条件语句,CAse of
语法一:普通语法。
CASE <Expression> [attention]OF[…
With *,SysParamArray Do,与With **,SysParamArray Do
  假定我临时需要修改系统参数,但需要执行一大堆的代码,这个时候SpeCAll就不方便了,我们引入With *,SysParamArray Do的模式来解决这个问题。
  假定有a:=arr…
Q:如何调用其他函数中的子函数?
A:编辑在函数里的子函数,其他函数是无法直接调用的。如果需要被其他函数调用,有以下几种方法解决:
1、将函数里的子函数提出来,另外编辑为一个函数;
2、将函数编辑为类,类中的方法,只要不是私有…
Q:在使用sql接口导入mysql数据的时候,汉字都显示为?或乱码,怎么解决?
A :数据库配置串中,需要设置字符集格式。
比如在execsql.ini中的配置串中的CharacterSet变量为utf8:
[demo]
ConnectStr=Database=ts_us…
Q:目录别名/虚拟目录的配置(Filemgr.ini、Alias)
A:
用户在访问文件时,可设置虚拟目录,对于使用客户端的用户来说,配置文件在安装目录\plugin\Filemgr.ini(或者在.Net系统->工具->系统设置->系统->打开文件信任配置文件)…
Q:缺少End
A:
在编写函数过程中,用户使用的begin必须和end配对。要end的情况有以下几种,用户请参考之后再检查看哪个地方缺少end结束符:
1)、if…then…else判断语句体:如果判断之后执…
Q: Python用ODBC方式与天软交互报错“ Can't login server”
错误信息:
pyodbc.Error: ('08S01', "[08S01] CommuniCAtion link failure---InternalConnect: CAn't login se…
Q:如何对RemoteCallFunc函数传参
A:RemoteCAllFunc函数第二个参数list即为所传入函数的参数列表,只需在该list添加参数列表需要的变量即可…
tsl在web服务方式下处理office失败解决方案
解决方法:增加Com组件的交互式访问权限
环境:Windows Server 2008 X86, office 2010+ X86
操作:
1、命令行运行”dcomcnfg”或者从“控制面板-管…
Q:天软提供了成分股权重的指数及其开始日期
A:天软已提供中证、上证、申万系列大部分指数的成分股权重。
其中,中证、上证指数,官方数据每个月月末提供一次,其他日期的数据由天软估算衍生;
申万指数由该指数公司每日提供。
获取申万二级,申万三…
Q:天软平台与C++的交互
  附件《天软平台与C++的交互》介绍了天软.NET平台的API常用接口,对开发包的程序做了整理和注解。需要更详尽的API接口请查看TSSVRAPI.h文件。开发包中有简单详尽的范例可供参考,主要…
Apache运行模式选择
pache中一共有三种工作方式:CGI模式、FastCGI模式、Apache模块DLL。优先使用cgi模式。
一、cgi
  AddHandler cgi-script .cgi
  A…
关于WINDOWS操作系统安装服务软件应初始化TCP参数的问题通知
主要影响:
1、在使用共享目录访问的时候,出现错误信息“超出本地计算机网络适配器卡的名称限制”;
2、在使用ORACLE的时候,出现时好时不好的连接问题(仅限于无法建立连接的问题)。

原因…
2014-05-08-应用专题-性能优化系列02:使用TechCacheDo提高技术指标的性能
1、天软最新推出了技术指标加速方法TechCAcheDo
2、要使用技术指标加速方法TechCAcheDo很简单,只需要[strong]用TechCAcheDo和B…
2014-06-09-应用专题-第三方交互03:天软平台与 MATLAB 的交互
1、天软平台与MATLAB交互有两种方式:
(1)在天软平台中调用MATLAB
(2)在MATLAB中通过COM接口调用天软平台
无论哪种调用方式,都应该在开发设计上以调用次数…
2025-04-27-应用专题-数据提取专题04:ETF基金常见数据说明及提取
1、ETF基金既有二级市场数据,也有一级市场数据
2、ETF二级市场数据需要使用二级市场代码提取,一级市场数据需要使用一级市场代码提取。两个代码之间可以相互转化
3、沪深两市时点净值…
2014-09-26-应用专题-第三方交互05:天软平台与 R 的交互(已废弃)
目前COM方式已废弃,建议通过tslr.dll或odbc方式交互。详见:[a href="http://www.tinysoft.com.cn/tsdn/helpdo…
Q:证券数据专家中提供的基础数据现状
A : 证券数据专家中提供的数据现状,见:附件:2025-03-10证券数据专家中提供的数据现状.pdf

[table rsplit="$" csplit="#"]资产类别#表名#表ID#…
天软金融分析.NET函数大全
 注意: 
1、类型声明:TSL的函数定义无需参数类型声明,也无需返回类型声明,在以下函数说明里,我们采用了PASCAL的函数声明模式,只是为了让用户更容易地理解各个函数的具体含义和对参数的…
Q:在MatLab直接调用MarketTradeDayQK(begt,endt) ,为什么执行不出结果?调用的语句如下:
->TS = actxserver('TSExpert.CoExec')
->Arr = TS.RemoteCAllFunc('MarkettradedayQK',datenum(2010,10,3…
Q:同样的参数,Matlab调用天软函数和平台直接运行结果不一样或者Matlab调用无结果
A:
实现Matlab与天软平台的交互需要经过一定的配置,如果在调用的时候,并没有显示相关的报错信息,则说明配置ok,那么这种情况下,仍出现Matlab调用时结果不定也很正常,常见的情况如下:
Q:如何一次性插入多条记录到数据库中
A:
使用Execsql的方法,客户需花费大量的时间在拼接字符串的工作上,资源和时间都不允许,本身效率也不高,可参考使用下面的方法,参考范例如下:
现有数据库:test,表:CAlendar …
Q:使用Execsql语句访问本地数据库时,报错如下:Access denied
A:  Access denied 报错解决方案:
1) 驱动是否选择正确并保证本机的驱动安装成功,注意,不要选择微软提供的驱动,必须选择数据库本身的驱动。
2) 在用Connectman.…
Q:如何在Excel里面通过VBA调用天软函数
A:
天软提供了插件及VBA两种方式来实现Excel调用天软;插件方式由于每个单元格都需要和天软进行一次交互,速率较慢,这里建议用户使用VBA的模式,同MATLAB调用天软,基本模式是相同的,只需…
Q:vba调用平台函数,如何设置系统参数的值
A:设置系统股票的方法如下(其他的系统参数可参考matlab)
[Code]
Dim Obj As Object
Set Obj = CreateObject("TSExpert.CoE…
Q:如何提取当月最后一个交易日
A:场景一:指定日当月最后一个交易日
方式一:通过月线下的指定日当月量后一个市场交易日来获取
[code]
endt:=20…
2020-07-06客户端升级说明
2020-07-06 升级
---------------------------------------------
[strong][attention]升级…
Q:在天软将结果转换成Json串返回到python中解决转码引起的效率低下问题
A:天软的默认编码是GBK,python的默认编码为Unicode,交互过程中字符串需要转码后才能正常显示。
 当天软返回的结果为数组时,按普通的编码解码方式,需要对每个单元格的字符串逐个进行转码…
嘉瑞特.冯.凡古纳成长型投资法
背景:
 嘉瑞特.冯.凡古纳(Garrett Van Wagoner)(以下简称凡古纳)生于1955年,是凡古纳资本管理公司(Van Wagoner CApita…
詹姆士.卡里纳中小型成长股选股法则
背景:
 詹姆士.卡里纳(James L. CAllinan)是美国著名的成长型基金经理人,1987年进入普南投资公司(Putnam Investments)任职…
Q:如何提取指定期货合约所对应的所有期权合约的基本信息
A:一个期权合约,每日都有一条基本信息数据。可以通过取所有期权合约的标的,选取目的标的的期权合约集合,然后再提取每个期权合约第一条基本面数据进行合并实现。比如:
[code]
//提取以期货'AU…
市场交易日历
数据说明
 设置当前股票为SH000001进行提取沪深交易所市场交易日数据
 港股市场交易日序列取数代码:HKHSI001 ,北向HSG000002、南向HS…
Q:股票tick级别周期策略回测实现
策略:
  天软目前没有tick数据,提供的是level1的交易明细快照数据,交易所的tick数据大约每三秒一笔,因此可以将回测框架的周期设置为3秒,从而实现t…
雪拜.戴维斯长期成长投资法
背景:
 雪拜.戴维斯(Shelby Davis)是戴维斯精选顾问公司(Davis Selected Advisers)创办人,自1969年开始操作戴维斯纽约创投…
2020-09-04客户端升级说明
2020-09-04 升级
--------------------------------------------------------
[attentio…
Q:运行程序报错:instruction:usercall: memory overflow
运行程序报错:instruction:userCAll: memory overflow:18446744073709005439(0(grid)),licensed:16777216000,plea…
每股指标
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-07-17#新增字段:
 9900029 每股EBITD…
资本结构
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-06-23#新增字段:
 9900313 债务资本比率(…
现金流指标
更新日志
[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)的创办…
詹姆士.欧沙那希价值型选股法则I
背景:
 詹姆士.欧沙那希(James P. O'shaughnessy)是欧沙那希资本管理公司(O'shaughnessy CApital Management…
哈瑞.伯恩中大型价值选股法则
背景:
 哈瑞.伯恩(Harry Burn Ⅲ)生于1944年,是美国著名的价值型基金经理人,曾任职于Chase Investment Counsel公司,197…
戴维.凯兹相对价值型选股法则
背景:
 戴维.凯兹(David A. Katz)是美国知名的价值型投资组合经理人,以优异的成绩(summa cum laude:平均学年成绩3.8以上)毕业于联…
詹姆士.欧沙那希成长型股票筛选II
背景:
 詹姆士.欧沙那希(James P. O'Shaughnessy) 是欧沙那希资本管理公司(O'shaughnessy CApital Managemen…
汤玛士.麦克修中大型成长股选股法则
背景:
 汤玛士.麦克修(Thomas J. McHugh)是美国老牌的成长型资产管理高手,投资经历长达40年以上,曾为美国著名的皮特肯家族(PitCAirn F…
斯皮罗士.谢加拉斯成长型选股法则
背景:
 斯皮罗士.谢加拉斯(Spiros Segalas)是美国著名的老牌成长型基金经理人,1955年毕业于普林斯顿大学(Princeton Universit…
查尔斯.韩德森大型成长股选股则
背景:
 查尔斯.韩德森(Charles F. Henderson)是美国知名的成长型投资组合经理人,投资经历长达35年以上,毕业于达特茅斯学院(Dartmout…
天软第七届(2015)金融工程及量化投资方法研讨会邀请函 天软科技&中国金融研究院

  您希望在最广泛的量化群体、IT圈子里认识新朋友,互相交流思想,共商量化领域美好的未来么?
  您希望了解天软最近一年来最新的成绩吗?希望见证全新的策略投资交易管理系统吗?希望见证全…
Q:if…if…和if…else有什么区别?
判断语句的标准用法是if...else...
if flag1 then
begin
exp1
end
else 
begin
 exp2
end
判断语句表示如果满足条件f…
Q:天软和VBA交互参数串如何赋值
A:VBA调用TS时,用户可以通过VBA读取单元格的数据作为TS函数的参数传入。如下一段VBA调用TS的代码:
[code]
    '(1)初始化对象 -- 公用
  Dim Obj…
Q:怎么临时设置系统参数?
A:spec、specdate、speCAll仅对该语句有效。
[title3]1、如果临时设置系统股票,可用spec…
2020-07-28客户端升级说明
2020-07-28 升级
[strong]新增:支持python3.8与python3.9的版本。[/strong…
2020-09-18客户端升级说明
2020-09-18 升级
==========================测试============================
修订:测试版本St…
偿债能力
数据更新情况
 1、数据开始时间:上市以来

基本概况
[table rsplit="$" csplit="#"]表ID#…
经营能力
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-06-23#新增字段:
 9900432 净营业周期
威廉.达顿小型价值成长股选股法则
背景:
 威廉.达顿(William M. Dutton别名Bill Dutton)是美国著名的价值型投资人,自1987年开始管理天廓资产管理公司(Skyline…
威廉.瑞弗斯收益成长型选股法则
背景:
 威廉.瑞弗斯(William H. Reaves)是美国知名的公共事业股投资组合经理人,投资经历长达55年,1946年即在大型券商担任公用事业股分析师,…
霍华.罗斯曼审慎致富投资法
背景:
 霍华.罗斯曼(Howard Rothman)是华尔街著名的投资分析公司-远见投资顾问公司(Vision Investment Advisor, VIA)…
麦克.墨菲高科技选股策略
背景:
 麦克.墨菲(Michael Murphy)是『加州高科技股通讯报』的创办人兼编辑,哈佛大学毕业后,曾因吸毒而沦为银行抢匪,被判刑10年,1968年获得假…
詹姆士.欧沙那希成长型股票筛选I
背景:
 詹姆士.欧沙那希(James P. O'Shaughnessy) 是欧沙那希资本管理公司(O'shaughnessy CApital Managemen…
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:pyTSL接口中如何使用任务管理命令
A:任务管理主要是对登录的账号、执行的在线任务或委托执行的任务进行查看或者终止任务等操作。
详细说明:FAQ:Q:任务管理说明

[strong…
Q:pyTSL接口中如何并发执行多个天软任务
A:每个天软账号都有多个并发数权限(可执行个数,一般是5个),在构建天软任务时,可以充分使用这些并发数来提高效率。
 比如在需要天软完成多个独立运算或取数时,可以把该类任务分成多个,根据自己并发数…
Q:Python中指定天软服务器执行命令
天软客户端中指定服务器节点的方式:FAQ:Q:如何指定天软服务器进行执行命令

Python两种交互方式指定服务器
TSLPy交互方法使用参考:[FAQ id=1…
Q:python中如何在交互时自动连接天软服务器,且不产生多余的登陆数
A:针对使用TSLPy模块交互中,python程序中用远程的方式与天软频繁交互可能由于连接失败导致程序的中断问题,这里提供一种较为合理的解决方案:
封装tslcon…
Q:如何解决R语言4.2.0及以上版本原生支持UTF-8导致交互转码引起的异常
A:R语言在4.2.0+版本上实现了对UTF-8的原生支持,但天软默认的是gbk格式,在交互过程中,若存在中文字符,则可能导致交互失败或结果异常,如:
情景一:交互…
StockProfitForecast

//对SZ000007(ST零七)这个公司的2011年中报进行预亏检测
[code]
SetSysParam(pn_stock(),'SZ000007');
RDate:=20110630;…
Eval
范例(t):

范例01:
[code]
//表达式是字符串表达式。&转换字符串为表达式。
A:='1';
B:='2';
Return eval(&('A+B'));//返回值为表达…
Call
范例(t):

//采用字符串方式来调用函数
return CAll("IntTodate",20140101);
//返回41640

CallInArray
范例(t):

范例1:根据函数名称调用,第一个参数为函数名称
[code]
return CAllinarray("StrToIntDef",array('1234',999));
//返…
IncAMonth
范例(t):

[code]
year:=2011;
month:=8;
day:=8;
InCAmonth(year,month,day,4);
Return EncodeDate(y…
DateToStr
范例(t):

EndT:=inttodate(20140117);
Return DateToStr(EndT); //输出 2014-01-17

参考:…
TimeToStr
范例(t):

//输入时间或者日期时间
Return timeToStr(0.5);
return timetostr(now());
参考:[ref]TDa…
DateTimeToStr
范例(t):

EndT:=now();
Return DateTimeToStr(EndT);//输出当前系统日期时间
参考:[ref]TDateTime[/r…
StrToDate
范例(t):

Return StrToDate("2010-02-04");//输出40213
参考:TDateTime
StrToDateDef
范例(t):

Return StrToDateDef("2010-02-30",date());//转换失败输出当前日期40763
参考:[r…
TryStrToDate
范例(t):

[code]
If TryStrToDate("2010-02-04 ",date) then
Return date;//输出40213
[/code…
StrToTime
范例(t):

Return StrToTime("15:20:34");//输出0.64
参考:TDateTime […
StrToTimeDef
范例(t):

[code]
time:=StrToTimeDef("15:61:34 ",time()); 
Return time; //输出当前系统时间
[/co…
TryStrToTime
范例(t):

If TryStrToTime("15:52:35",time) then
Return time;//输出0.66
参考:…
StrToDateTime
范例(t):

Return StrToDateTime("2011-08-08 16:00:16 ");//输出40763.67
参考:[re…
StrToDateTimeDef
范例(t):

[code]
Return StrToDateTimeDef("2011-08-08 16:61:16 ",now());//输出当前系统日期时间
[/co…
TryStrToDateTime
范例(t):

[code]
If TryStrToDateTime("2010-02-04 16:11:35 ",datetime) then
Return datet…
FormatDateTime
范例(t):

[code]
Return FormatDateTime("C",now());//输出2011-08-08 16:27:08
Return FormatDateTime("D…
DateTimeToString
范例(t):

[code]
DateTimeToString(result,'YYYY-MM-DD HH:NN:SS',now()) ;
Return result;//输出当期系统日期时…
GMTToLocalDateTime
范例(t):

[code]
  GMT:="Wed, 01 Jan 2014 10:00:00 GMT ";
  datetime:=GMTToLoCAlDateTi…
StockProfitForecastType
范例(t):
//SH600866(星湖科技)在20050930是否预降
[code]
SetSysParam(pn_stock(),'SH600866');
RDate:=20050930;…
objectstate
范例(t):
[code]
oa := new CA("abc");
echo "\r\n构造已经完成",objectstate(oa);
type CA = class
 static…
FTP对象的创建
范例(t):
范例1:创建对象未指定配置名,手动设置FTP配置并连接登录服务器
[code]
  obj := CreateObject("FTP");
$处理字符串转换与拼装
  对于多个简单类型,如果要拼接为字符串,可以采用$算符。
  比如 "abc"$"Abc"可以得到"abCAbc"
  例如
[code]
A:=1;
B:=2.34;
C:…
匿名函数
  除了匿名函数不允许带函数名以外,定义一个匿名函数和普通函数看起来没啥差异,匿名函数的本质就是函数指针,可以用CAll、CAllInArray或者##来直接调用。

  匿名函数的作用域 …
网格计算案例
  如果用户拥有网格计算的权限,就可以进行网格计算了。
  在TSL中使用网格计算非常简单,仅仅只需要在网格调用的函数前加上#即可。
例如:
[code]
  A:=Array();…
UNIT单元的支持简介
什么是单元?
当公共的函数库越来越多的时候,函数很容易同名,虽然可以通过更名的方式解决函数同名问题,但是当函数越来越多的时候,用户需要把一组处理一类问题的函数放在一起,这样便于使用的查找,也便于源代…
UNIT单元的定义规范
[htm]&#160;&#160;我们不妨来看一段UNIT的范例代码: <br/><div class="text-container" style="clear:both; width:100%; …
隐藏
  Unit的使用具有代码重用,信息隐藏的优势。一个单元的interface中的所有标识符(函数,类等)对于使用该unit的任何程序都是可用的,而这些标识符的实现部分都隐藏在相应的unit中(im…
单元对函数调用影响
  引用函数的时候,会一次从被引用单元的先后次序对函数进行查找,如果用户需要调用指定单元的函数,则可以采用如下方式:
  直接调用模式:
  Unit(UnitA).Interface…
距离计算
  常见的距离有以下几种:
    1)绝对值距离(cityblock):
        [img type="tslxml" file="media2024-01-…
统计分布简介
  介绍统计各种分布函数前,我们先简单的介绍下概率论理论下常使用的几个函数:
    1)perms
  列出样本的所有排列或者排列的种类
[code]  perms (ar…
柯西分布
  柯西分布也叫作柯西-洛仑兹分布,它是以奥古斯丁·路易·柯西与亨得里柯西分布也叫作柯西-洛仑兹分布,它是以奥古斯丁·路易·柯西与亨得里克·洛仑兹名字命名的连续概率分布,其概率密度函数为
[ce…
ARCH波动率模型
  在传统计量经济学模型中,干扰项的方差被假设为常数。但是许多经济时间序列呈现出波动的集聚性,在这种情况下假设方差为常数是不恰当的。我们可以使用Time_ARCH函数来检验回归残差是否服从同方差。…
Granger因果检验
  Granger因果关系检验是研究两个变量是否存在因果关系的常用方法。因果性检验假定了有关x和y每一变量预测的信息全部包含在这些变量的时间序列中,检验构造的回归模型为:
[img type="…
mt_Multiplication
范例(t):
[code]
A:=array((1,3,6),
(0,4,2));
B:=array((1,2),
(4,0),
(3,2));
mt_MultipliCAtion(A,…
mt_Addition
范例(t):
[code]
A:=array((1,3,6),
(0,4,2));
B:=array((1,2,4),
(0,3,2));
mt_Addition(A,B,C);
ret…
mt_Subtraction
范例(t):
[code]
A:=array((1,3,6),
(0,4,2));
B:=array((1,2,4),
(0,3,2));
mt_Subtraction(A,B,C);
mt_Transposition
范例(t):
[code]
A:=array((1,3,6),
(0,4,2));
mt_Transposition(A,C);
return C;
//结果:
array((1,0),…
分布函数
  TinySoft金融分析平台上提供了有关统计分布的函数:概率密度,(累计)分布函数,分位数函数(分布逆函数),随机数函数,估计函数
  概率密度,(累计)分布函数,分位数的函数命名使用规…
Concat
范例(t):

范例01:
[code]
arr :=ConCAt("thank-","you-","very-","mu…
Format
范例(t):

1、把两个数字格式化为字符串:Format('First %d, Second %d', n1, n2);
其中n1和n2是两个整数值,第一个占位符由第一个值替代,第二个占位符由…
SetFormatLocalCode
范例(t):

SetFormatLoCAlCode(0);
return GetFormatLoCAlCode();//输出:0
参考:[ref]GetForm…
GetFormatLocalCode
范例(t):

SetFormatLoCAlCode(0);
return GetFormatLoCAlCode();//输出:0
参考:[ref]SetForm…
Pos
范例(t):

a:=Pos('a','thank you');
return a;//输出:3

[code]         

R…
Copy
范例(t):

a:=Copy('thank you',3,6);
return a;//输出字符串:ank yo
参考:CAt">ConCAt …
UpperCase
范例(t):

Return UpperCAse("sz000001");
//输出:SZ000001
参考:[ref]LowerCAse[/…
LowerCase
范例(t):

Return LowerCAse("万科A");
//输出: 万科a
参考:CAse">UpperCAse …
FloatToStr
范例(t):

Return FloatToStr(23.4);
//输出字符串:"23.4"
参考:IntToHex
CurrToStr
范例(t):

Return CurrToStr(23.24);
//输出字符串:"23.24"
参考:IntToHex
FormatFloat
范例(t):

[htm]<table><tbody><tr><td>
格式串</td><td>
1234</td><td>
-1234</td><td>
0.5</td><td>
0<…
FormatCurr
范例(t):

Return FormatCurr('0.000E+00',232.24);
//输出:2.322E+02
参考:[ref]SetFormatL…
StrToFloat
范例(t):

Return StrToFloat('3434.244');
//输出实数:3434.24
参考:IntToHex [r…
StrToFloatDef
范例(t):

Return StrToFloatDef('a',2);
//输出:2
参考:IntToHex [ref]StrToIn…
TryStrToFloat
范例(t):

TryStrToFloat('321.23',s);
return s; //输出:321.23
参考:IntToHex
StrToCurr
范例(t):

Return StrToCurr('1321.23333');
//输出实数:1321.2333
参考:IntToHex
StrToCurrDef
范例(t):

Return StrToCurrDef('1321.233',3);
//输出:1321.233
参考:IntToHex
TryStrToCurr
范例(t):

TryStrToCurr('1321.2333',s);
return s;
//输出:1321.2333
参考:[ref]IntToHex[/…
ReplaceStr
范例(t):


[code]

AText := "The First LETTER in upperCAse won\'t be replaced by \'one\', bu…
AdjustLineBreaks
范例(t):
范例01:调整字符串的换行模式
[code]
r:= AdjustLineBreaks("Tinysoft \r\n StatistiCAl \r\nanalysis Langua…
ReverseString
范例(t):
return ReverseString('abcde1234');
//返回字符串:4321edcba

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

[code]
egStr:= "ansiIndexText";
strArr:= array("Tinysoft","Stat…
AnsiIndexStr
范例(t):

[code]
//大小写敏感,没有找到相应的字符串,返回-1
egStr:= "ansiIndexstr";
strArr:= array("T…
ByteToCharLen
范例(t):

[code]
//指定最多字节为30后,查找S中30个字节中有多少个字符,
//其中‘天软’占有4个字节,所以30个字节中,S有28个字符。
S:= "天软Tiny…
CharToByteLen
范例(t):

[code]
//在S字符串中取30个字符,统计其所占的字节数。
//其中‘天软’占有4个字节,其余每个字符占1个字节,由此,30个字符占有32个字节
S:= "天…
ByteToCharIndex
范例(t):

[code]
//返回第30字节位置时,是第几个字符位置
//其中‘天软’占有4个字节,其余每个字符占1个字节
S:= "天软Tinysoft StatistiCA
CharToByteIndex
范例(t):

[code]
//返回第30字符对应的字节位置
//其中‘天软’占有4个字节,其余每个字符占1个字节
S:= "天软Tinysoft StatistiCAl ana…
CharLength
范例(t):

[code]
//第2个字符‘软’的字节数
S:= "天软Tinysoft StatistiCAl analysis Language";
return …
NextCharIndex
范例(t):

[code]

//‘软’的开始字节是3,下一个字符是‘T’,‘T’的开始字节位置是5
S:= "天软Tinysoft StatistiCAl analysis L…
AnsiQuotedStr
范例(t):

[code]
S:= "天软Tinysoft StatistiCAl analysis Language";
return AnsiQuotedStr(s,…
AnsiDequotedStr
范例(t):

[code]
S:= "'天软Tinysoft StatistiCAl analysis Language'";
return AnsiDequotedSt…
AnsiLowerCaseFileName
范例(t):

return AnsiLowerCAseFileName("TEST.tsl");

//输出:test.tsl
AnsiUpperCaseFileName
范例(t):

return AnsiUpperCAseFileName("test.tsl");

//输出:TEST.TSL
OutPutTableToCanBeUnderstood
范例(t):
return OutPutTableToCAnBeUnderstood(array(1,2,3));
返回:
[img type="tslxml" f…
DescartesJoin
范例(t):
return DesCArtesJoin(1->3,21->22,3);

返回结果:
[img type="tslxml" f…
TwoRDateCompare_M1
范例(t):
[code]
//返回板块申万数字媒体机构持股情况及变化
BkName:= "申万数字媒体";
RDate:=20220331;
RDate2:=20210…
DelPrecodeCallBack
范例(t):
return DelPrecodeCAllBack('SH600000');

//结果:’ 600000’…
IncPrecodeCallBack
范例(t):
return IncPrecodeCAllBack('000002.SZ');

//结果:’SZ000002’…
ExtractDataLocalRun2
范例(t):
[code]
// 数据展开范例
r:=Query("","SH600000;SZ000002",True,"",&qu…
简单函数对数组支持
  以前平台多数基本函数(比如sin)都不支持数组的输入,升级之后的函数不仅支持了数组,还加入了对于异常值的处理。func(In1,In2...InN[,Out1,...OutN]),In参数除支…
Cos
范例(t):
//求cos(π/3)
return cos(pi()/3);
//结果:0.5
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [ref]Sin…
Sec
范例(t):
//求Sec(π/3)
return Sec(pi()/3);
//结果:2
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [ref]Csc[/…
Csc
范例(t):
//求Csc(π/6)
return Csc(pi()/6);
//结果:2
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [ref]Sec[/…
Secant
范例(t):
//求SeCAnt (π/6)
return SeCAnt(pi()/3);
//结果:2
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [re…
Cosecant
范例(t):
//求CoseCAnt (π/6)
return CoseCAnt (pi()/6);
//结果:2
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持
ArcCos
范例(t):
return ArcCos(0);
//结果:1.57   //约等于π/2
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [ref]Cos[…
ArcSec
范例(t):
//求ArcSec(2)
return ArcSec(2);
//结果:1.05
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [ref]Sec…
Cosh
范例(t):
//求Cosh(2)
return Cosh(2);
//结果:3.76
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [ref]Cos[/re…
SecH
范例(t):
//求SecH(2)
return SecH(2);
//结果:0.27
参考:CA%FD%B6%D4%CA%FD%D7%E9%D6%A7%B3%D6">简单函数对数组支持 [ref]SeCAnt[…
integral
范例(t):

[code]
a:=1;
b:=3;
CAllback:="fun1";
return integral(CAllback,a,b,’Romberg’)…
ig_Trapezoid_1
范例(t):
[code]
a:=1;
b:=3;
CAllback:="fun1";
ig_Trapezoid_1(a,b,CAllBack,v);
return v…
ig_Trapezoid_2
范例(t):
[code]
a:=1;
b:=3;
CAllback:="fun1";
ig_Trapezoid_2(a,b,CAllBack,v);
return v…
ig_Simpson_1
范例(t):
[code]
a:=1;
b:=3;
CAllback:="fun1";
ig_Simpson_1(a,b,CAllBack,v);
return v; …
ig_Gauss
范例(t):
[code]
a:=1;
b:=3;
CAllback:="fun1";
ig_Gauss(a,b,CAllBack,v);
return v;
fun…
ig_Chebyshev
范例(t):
[code]
a:=1;
b:=3;
CAllback:="fun1";
ig_Chebyshev(a,b,CAllBack,v);
return v; …
ig_Simpson_2
范例(t):
[code]
a:=1;
b:=2;
CAllback1:="y1";
CAllback2:="y2";
CAllback3:=&qu…
PyCall
范例(t):
[code]
rdo2 PyRun("import numpy");
//不给状态值,默认方式下调用python的randint函数
return rdo2 …
调用Python范例
例1:
[code]
a:=2;
pyputvar("a",a);//送入变量
pyrun("a = a+1"); //计算
b := pygetvar("a");//获取变量返回结果为 3…
BLP测试范例
//下属例子为订阅两支指数的最新价格,价格到达则回调hello函数。
a:=array();
a[0]:=array("FSSTI Index", "LAST_PRI…
TSTaskAdmin
范例(t):
[code]
rdo2 TSTaskAdmin("oa",CmdReturn,BroadCAstMsg,ErrMsg,3000,1000);
return C…
ReadFundsHoldCache
范例(t):
[code]
setsysparam(pn_date(),20181012T);
Return ReadFundsHoldCAche(20050630,10);
//结果:
[…
StockVaR4
算法:说明:
1.1.0
取离当前时间最近N日/N周前的交易日为begt,当前时间为endt
1.1.1
使用历史模拟法计算begt到endt这个区间的VAR
VaR(区间)算法: …
sf_Normal3_CallBack
范例(t):
[code]
oV:=BackUpSystemParameters2();
SetSysParam('sf_Normal3',1);
return sf_Normal3_CAll…
StockVaR
算法:
1、取股票区间的对数收益率序列y
2、使用历史模拟法(HistoriCAl simulation)计算VaR(置信度95%)
(1)计算序列y的平均值stockmean
(2)计算序列…
Stockisclosecallauction
范例(t):
[code]
//判断CU2109在2020-10-20日是否有收盘集合竞价
 setsysparam(pn_stock(),"CU2109");
 se…
Stockisopencallauction
范例(t):
[code]
//判断CU在2020-10-20日是否有开盘集合竞价
 setsysparam(pn_stock(),"CU2109");
 setsys…
FundCalculatedNAVOfB4

算法:

预估净值 = T-1净值*(1+指数涨幅)范例(t):
[code]
//返回基金OF161028在2018年9月3日的分级B类预估净值
setsysparam(pn_stoc…
FundCalculatedNAVError4

算法:

母基金预估净值相对误差(%)=(母基金预估净值/指定日净值-1)*100%范例(t):
[code]
//返回基金OF161028在2018年9月3日的母基金预估净值相对误差(%…
FundCalculatedNAVAvgError

算法:

母基金预估净值相对误差的均值(%)=mean(预估净值-单位净值)范例(t):
[code]
//返回基金OF161028在22016年1月1日到2018年9月3日的母基金预估净…
FundCalculatedNAV4

算法:

预估净值 = T-1净值*(1+指数涨幅)范例(t):
[code]
//返回基金OF161028在2018年9月3日的母基金预估净值
setsysparam(pn_stock…
FundCalculatedNAV_All

算法:

母基金:

基金T日基金预估净值(用于计算折溢价)=T-1母基金单位净值(调整后)*(1+涨幅)

分级A基金:

基金T日基金预估净值(用于计算折溢价)=经过分红拆分调…
基金评估
[table rsplit="$" csplit="#"]函数名#别名#备注
$FundRachev#Rachev比率#
$[a id=2328…
FundCalmarRatio

算法:

组合CAlmar比率=组合年化收益率*100/最大回撤的绝对值范例(t):
[code]
//OF162714,2016年1月1日到2018年9月3日,无风险年收益率为3,年化的…
BondMacaulayDuration
范例(t):获得债券SH010107在2018/4/4的麦考利久期
[code]
Setsysparam(pn_Stock(),"SH010107");
Setsyspara…
BondMacaulayDuration2_sub
算法:
不处于最后付息周期定期付息债的久期=
[img type="tslxml" file="media2024-01-08_IgYQNpdpfIdoI2Hc/im…
BK_PCF5
算法:
板块市现率(总股本加权) =∑(股票i总市值)/∑(股票i经营活动产生的现金流量净额*加权系数)
板块市现率(流通股本加权) =∑(股票i流通市值)/∑(股票i经营活动产生的现金流量净额/…
BK_PE5
算法:
板块市盈率(算术平均)=∑(股票i总市值/(净利润*加权系数))/股票个数
板块市净率(总股本加权) =∑(股票i市价总值)/∑(股票i报告期净资产)
板块市净率(流通股本加权) =∑(…
BK_PB5
算法:
板块市净率(总股本加权) =∑(股票i市价总值)/∑(股票i报告期净资产)
板块市净率(流通股本加权) =∑(股票i流通市值)/∑(股票i报告期净资产/股票i报告期总股本*股票i报告期流通…
BK_PMI5
算法:
板块市销率(总股本加权)=∑(股票i市价总值)/∑(股票i报告期主营收入*加权系数)
板块市销率(流通股本加权) =∑(股票i流通市值)/∑(股票i报告期主营收入/股票i报告期总股本*股票…
BK_PCF12
算法:
板块市现率(总股本加权) =∑(股票i总市值)/∑(股票i最近12个月经营活动产生的现金流量净额)
板块市现率(流通股本加权) =∑(股票i流通市值)/∑(股票i最近12个月经营活动产生的…
BK_PE12
算法:
板块市盈率(总股本加权) =∑(股票i总市值) /∑(股票i最近12个月净利润)
板块市盈率(流通股本加权) =∑(股票i流通市值) /∑(股票i最近12个月净利润/股票i总股本*股票i流…
BK_PNA12
算法:
板块市净率(总股本加权) =∑(股票i总市值)/∑(股票i报告期净资产)
板块市净率(流通股本加权) =∑(股票i流通市值)/∑(股票i报告期净资产/股票i报告期总股本*股票i报告期流通股…
BK_PMI12
算法:
板块市销率(总股本加权)=∑(股票i总市值)/∑(股票i最近12个月主营收入)
板块市销率(流通股本加权) =∑(股票i流通市值)/∑(股票i最近12个月主营收入/股票i总股本*股票i流通…
StocksPEPBPMIPNA2_Call
算法:
板块市盈率(总股本加权) =∑(股票i总市值) /∑(净利润*加权系数)
板块市盈率(流通股本加权) =∑(股票i流通市值) /∑(股票i报告期净利润/股票i报告期总股本*股票i报告期流通…
StocksPEPBPMIPCF_Call
算法:
总股本/流通股本加权同StocksPEPBPMIPNA2_CAll,区别为报告期取距离EndT最近的上一年度报告期;
板块市盈率(算术平均)=∑(股票i总市值/最近年度报告期净利润)/股票…
StocksPEPBPMIPNA5_Call
算法:
算法同StocksPEPBPMIPNA2_CAll,区别在于此处的报告期由参数RightMethod决定。范例(t):
[code]
//返回沪深300 2010年3月15日的加权市盈率…
StocksPEPBPMIPNA12_Call
算法:
以市盈率为例
板块市盈率(总股本加权) =(股票i总市值)/(股票i最近12个月净利润) 板块市盈率(流通股本加权) =股票i流通市值/(股票i最近12个月净利润/股票i总股本*股票i流通…
Bk_CashToCurrentDebtRatio
范例(t):
[Code]
//返回沪深300 2012年上半年的板块现金和流动负债比率(非百分数)
d:=inttodate(20120830);
Setsysparam(pn_date()…
Bk_OperateActivityCashPS
范例(t):
[Code]
//返回沪深300 2012年上半年总股本加权的板块每股经营活动产生的现金流量净额
d:=inttodate(20120830);
Setsysparam(pn_d…
StocksOperateActivityCashPS
范例(t):
[code]
//返回2010年12月31日沪深300板块每股经营活动产生的现金流量净额
EndT := inttodate(20170903);
setsysparam(pn_…
Bk_CashFlowCurrentDebtRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块现金流量比率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d); …
Bk_CashFlowMainOperationRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块现金主营收入比率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d)…
Bk_CashFlowNetProfitCash
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块现金净利润比率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d);…
Bk_CashFlowTotalAssetsRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块现金总资产比率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d);…
Bk_MainIncomeCashRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块销售现金比率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d); …
Bk_OperateActivityCashGrowRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块经营活动产生的现金流量净额同比增长率(%)
d:=inttodate(20120830);
Setsysparam(pn…
Bk_OperateActivityCashPSGrowRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块每股经营活动产生的现金流量净额同比增长率(%)
d:=inttodate(20120830);
Setsysparam(…
Bk_CashFlowTotalDebtRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块现金总负债比率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d);…
Bk_ReturnonCapitalRatio
范例(t):
[Code]
//返回沪深300 2012年中报加权的板块资本报酬率(%)
d:=inttodate(20120830);
Setsysparam(pn_date(),d);
Bk_Cash_EquivalentIncrease
范例(t):
[Code]
//返回沪深300 2012年中报的板块平均现金及现金等价物净增加额
d:=inttodate(20120830);
Setsysparam(pn_date(),d…
Bk_OperateActivityCash
范例(t):
[Code]
//返回沪深300 2012年中报的板块经营活动产生的现金流量净额
d:=inttodate(20120830);
Setsysparam(pn_date(),d)…
StocksOperateActivityCash
范例(t):
[code]
//返回2017年9月30日沪深300板块平均经营活动产生的现金流量净额
EndT := inttodate(20170903);
setsysparam(pn_d…
StocksCash_EquivalentIncrease
范例(t):
[code]
//返回2017年9月30日沪深300板块平均现金及现金等价物净增加额
EndT := inttodate(20170903);
setsysparam(pn_da…
Bk_OperateActivityCashPSGrowRatio_Q
范例(t):
[Code]
//返回沪深300 2012年中报的加权板块每股经营活动产生的现金流量净额环比(季度)
d:=inttodate(20120830);
Setsysparam(pn…
Bk_OperateActivityCashPS_Q
范例(t):
[Code]
//返回沪深300 2012年中报的加权板块每股经营活动产生的现金流量净额(季度)
d:=inttodate(20120830);
Setsysparam(pn_d…
Q:在多因子框架中如何按因子值自定义分组
A:在多因子框架中,可以通过改写因子分组的成员方法GroupData_EachGroup来自定义因子分组。
 在该方法中通过区分[strong]综合因…
2026-04-10-数据更新-数据更新:天软金融数据库最近更新数据
数据字典:
天软数据字典

数据更新记录:
[table rsplit="$" csplit="#"]更…
平台模型远程调用客户端函数,访问客户端的资源
我们在使用平台模型的时候,经常有需要要访问客户端本地资源。打个比方,我们需要导出计算的数据,而等待整个模型的返回特别长,所以可能我们需要边运行,边导出数据。又或者整个的数据结果集非常大,无法单次返回,…
2014-11-17-应用专题-第三方交互06:天软平台与R交互(基于TSLR.DLL和ODBC两种方式)
摘要
1、R通过TSLR.DLL调用天软平台
(1)R调用天软配置步骤说明
(2)R远程调用服务器方式计算:使用tsl…
Q:主力合约的不同算法实现
2024-6-18更新说明:
特别说明:通过“昨持仓”判断期货主力、次主力合约详情参考:FAQ:2025-08-25-数据更新-期货数据009:关于天软期货主力系列升级的说明(更新版)
Q:多因子中,某一期由于样本被筛选后,量较少,想不做调仓处理,该如何实现
A:实现空仓处理:重写方法UserCAlFactors(Data,vEndT),返回空数组即可;多因子中调仓日不调仓是不行的,需要这种处理是回测做的事。…
Q:天软有哪些系统参数
1、什么是系统参数
  在金融建模中,金融相关的数据常常会与证券代码、时间、周期等等相关,当需要同时提取多个指标,而这些指标都是同一指定票或指定日或指定周期等等…
Q:天软新增的代码树功能及其使用说明
代码树功能说明
可通过代码树快速定位到指定代码块。
一、整体显示
CAl-align:middle;"onclick=see_img("/tsdn/helpdoc/editor/downloadfile.tsl?aid=13683") src="/tsdn/helpdoc/editor/downloadfile.tsl?aid=13683"onmousewheel="return bbimg(this)">

[title…
Q:将数据生成Excel模板图型并导成图片保存到本地
A:这里展示一个实现案例:将用户数据按Excel指定ChartSheet模板生成图型,并将图型转化为图片保存到本地。
封装函数:[strong]TSDemo_Loa…
2020-08-06-应用专题-统计套利系列01:天软股指期货统计套利框架TSStatisticalArbitrage
1、关于统计套利简要介绍:
(1)概述:是一种绝对收益策略,目的是希望在任何时间赚取绝对收益,而非跑赢大盘
(2)获利原理:成对交易,获取的是多空组合的价差收益
2、天软股指期货统计套利框架简介…
Q:如何在策略回测框架(TsBackTesting)中做高频回测时设置成交价为下一条交易明细价格数据?
A:在实盘操作中,在当前时间点进行选股模型的运算后,并不能立刻以当时的价格达成交易,所以,在高频回测中,有些用户也希望以下一个时点的价格来模拟实盘交易的情况,达到更接近实盘操作的目的。
[title…
杰克.布拉希稳定成长选股法则
背景:
 杰克.布拉希(Jack Brush)是美国知名的股市数量分析大师,毕业于美国空军学院(United States Air Force ACAdemy),…
罗伯.巴卡雷纳成长型投资法
背景:
 罗伯.巴卡雷纳 (Robert BaCArella) 1971年毕业于盛乔瑟夫学院( St. Joseph's College),取得会计及财务双主修学…
Q:期权高频风险指标中,出现NAN,0,499.9999这类异常值
A:出现这种情况,可能有两种原因:
1.期权合约当天到期,按照天软BS定价模型方式计算出的结果就会出现异常值。因此不支持计算当天到期的期权风险指标。
2.期权现价超过理论现价时,计算出的结果为NA…
2020-04-13客户端升级说明
2020-04-13升级
修订:一种特殊的CALL在打开优化信息的时候的问题。
-----------------------------------------…
盈利能力
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2025-06-23#新增字段:
 9900126 税前利润率(%…
估值指标
数据更新情况
 1、数据开始时间:上市以来

基本概况
[table rsplit="$" csplit="#"]表ID#…
Q:证券代码有变更的代码有哪些?数据如何处理的?
A:目前为止,有发布代码变更公告的证券有如下:
[table rsplit="$" csplit="#"]变动日#变更前代码#变更前名称#变更后代码#变更后名称
$20100305#SH60084…
Q:Alpha101因子的数据提取
A:重要说明:
 2022-03-14日起,天软不再公开101因子的衍生数据,因此,下面的提取衍生数据的相关接口已下架,需要该因子数据的用户可以通过商务了解天软因…
Q:网格执行的函数有什么要求?
A:网格执行的函数必须是在服务器上已存在的函数,是一个全局函数,或者是全局函数的子函数,不能为一个临时函数定义体。也就是说,不能在执行语句串中(一般第三方执行天软脚 本时),以”#funCA();fu…
Q:python调用天软,返回none或返回错误结果
A:
可能原因有:
  1、天软客户端安装路径没有添加到系统环境变量中(特别要检查这项)
  2、配置完后python没有重启
  3、python脚本…
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
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…
corr_canonical
算法:

典型性分析算法说明:
典型相关分析是用来分析两组随机变量之间的相关性程度的一种统计方法,它能够有效地解释两组随机变量之间相互线性依赖的关系。
比如在实际问题中,经常遇到一部分变量和另…
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_pri
范例(t):
[htm]<table><tbody><tr><td>
解释变量1</td><td>
解释变量2</td><td>
解释变量3</td><td>
解释变量4</td><td> …
Regress_NLM
范例(t):
[htm]<table><tbody><tr><td>
年份</td><td>
消费价格指数CPI
X1(以1978年为100)</td><td>
人均可支配收入
X2(元)…
Regress_AicAndSbic
范例(t):

[code]
U:=array(0.245863,0.056726,-0.145411,-0.287547,-0.410684,0.012821,0.073042,0.20190…
SingleRegression
算法:
采用字符串的方式调用CAllBack函数得到F,利用最小二乘法进行回归得到系数矩阵范例(t):
[code]
x:=array(0.00,1.00,2.00);
y:=array(1.…
SingleLinearRegression_CallBack
算法:
返回第一项为1,第二项为对应位置X的数组范例(t):
[code]
x:=array(0.00,1.00,2.00);
return SingleLinearRegression_CA
MultipleRegression
算法:
采用字符串的方式调用CAllBack函数得到F,运用最小二乘法进行回归得到系数矩阵范例(t):
[code]
x:=array((0.00,0.00),(0.00,1.00),(1.00…
LnRegression_CallBack
算法:
返回第一项为1,若X中元素小于等于0,其余项对应位置为0,否则其余项对应位置为X中取自然对数后的值的数组范例(t):
[code]
x:=array((0.00,0.00),(0.00,…
MultipleRegression_CallBack
算法:
返回第一项为1,其余项为对应位置X的取值的数组范例(t):
[code]
x:=array((0.00,0.00),(0.00,1.00),(1.00,2.00),(2.00,1.00)…
SingleUnLineralRegression_CallBack
算法:
计算X^3的数值范例(t):
[code]
X:=array(1.00,-5.00,6.00);
return SingleUnLineralRegression_CAllBack(…
MultipleUnLinearRegression_Pgm
算法:
(1)采用字符串的方式调用函数得到F;
(2)运用最小二乘方法进行回归得到系数矩阵;范例(t):
[code]
X:=array((15.2,2.6),
       …
MultiUnLineralRegression_CallBack
算法:
返回第一项为常数,第二项为X1,第二项为X2,第三项为X1*X2的数组范例(t):
[code]
X:=array((15.2,2.6),
        (13.9,2…
PrincaipalComponentAnalysis
算法:
将Zt标准化得到zT_s,然后进行转置获得新的数组Z,根据数组Z获得相关系数矩阵R,根据数组R获得特征值和特征向量,获得载荷矩阵Cm,对其进行旋转得到RM,根据R和RM获得因子得分系数矩阵C…
Time_Analyse
范例(t):
[code]
{以招商银行(日收盘价)为例,用AR、MA或ARMA建模,并预测2008-6-20的收盘价及波动值/}
SetSysParam(pn_stock(),"SH…
Fmin
范例(t):
Find values of x that minimize
f(x) = –x1x2x3, starting at the point x = [10;10;10],
subj…
Hooke_Jeeves_Method
算法:
(1)N=数组X0的长度,X0的值赋值给X,X的值赋值给Y,将D0赋值给Dt,采用字符串的方式调用TZZHCAllBack函数得到函数初始值F0,并赋值给Fy;
(2)把Y的值赋值给X,F…
SUMT_Method
算法:
(1)获得N=数组X0的长度,r=1,c=10,epsi=0.0001,STARTINGStep = 1.28,LEASTStep = 0.005;
(2)从nI=0到N-1进行循环,将数…
H_J_Method_Pgm
算法:
运用H-J法求解无约束最优化问题范例(t):
[code]
CAllBack:='H_J_CAllBack';
return H_J_Method_Pgm(CAllBack);
//…
Sumt_Method_CallBack
算法:
设置X对应下标为0的值为X1, X对应下标为1的值为X2,fS1 =0,fS2 =0;
设置函数Fx=(X1 - 3)^2 + (X2 - 2)^2,g=6-X1-X2;
若g<0,fS…
H_J_CallBack
算法:
(1)设置X对应下标为0的值为X1, X对应下标为1的值为X2;
(2)设置函数Fx=X1 * X1 + 2 * X2 * X2 - 4 * X1 - 2 * X1 * X2;
(3)返…
NetPresentValue
范例(t):
[code]
Rate := 0.1;
CAshFlows := Array(100,1000);
PaymentTime := 0;
return NetPresentVal…
flHorizontal
参考:gfFill flSolid flClear CAl">flVertiCAl [ref]flFDiagona…
flFDiagonal
参考:gfFill flSolid flClear flHorizontal [ref]flVertic…
flBDiagonal
参考:gfFill flSolid flClear flHorizontal [ref]flVertic…
flCross
参考:gfFill flSolid flClear flHorizontal [ref]flVertic…
flDiagCross
参考:gfFill flSolid flClear flHorizontal [ref]flVertic…
配置说明
[htm]<table><tbody><tr><td>
项目</td><td>
本地配置</td><td>
服务器配置</td></tr><tr><td>
交互对象</td><td>
本地文…
WriteToLog
范例(t):
[code]
retun WriteToLog('测试','testloCAl','成功');
//结果:在虚拟目录’testloCAl’下生成了名为’测试2018-09-07.l…
IniReadDate
范例(t):


[Code]

{读取本地文件:C:\Program Files\Tinysoft\Analyse.NET\Plugin\test.ini中节名称为Inidata2,键名称…
Q:如何判断指定股票是否注册制上市
A:根据交易所相关公告:
1、上交所在2019年7月22日,首批科创板公司上市交易,实施注册制,即科创板股票都为注册制上市。
2、深交所创业板在2020年8月24…
OP_GetPutAndCallratio
算法:到日期为Ex_endt日的指定期权品种为StockID的 在指定时间endt的所有认购期权成交量与认沽期权成交量的比值,到期日<=0表示取所有代码范例(t):
[code]
Return O…
Fund_CalculatedIOPV
算法:

2015-05-04日前:
  基金份额参考净值(IOPV)=
  (申购、赎回清单(T 日)中必须用现金替代的替代金额
  +申购、赎回清单中(T 日)可以用现金替代…
FundCashAndBonusInfo
范例(t):
[code]
//取基金金泰2005年2月1日到2012年3月5日之间的分红和拆分情况
Setsysparam(pn_stock(),'SH500001');
Return Fu…
BondYieldToMaturity3
算法:
[img type="tslxml" file="media2024-01-08_IgYQNpdpfIdoI2Hc/image112.png"][/i…
Q:Excel如何调用天软函数批量取数
A:天软提供与excel交互的相关接口支持批量取数,包括:
 1.execl中直接调用天软函数返回数组;
 2.excel中使用vba与天软交互对单元格遍历赋值。

[title1]实现范…
Q:天软office交互工具之TSOffice使用说明
天软提供TSOffice,包含了两个模块TsXlsxFile类模块、TsDocxFile类模块,实现对Excel和Word的读写、插入图片表格元素等功能;

支持的平台:Windows,Linux…
Q:天软服务器远端连接信息的INI文件配置方法
A:可将天软服务器登陆信息配置到tslclient.ini文件中,方便登陆时直接调用,避免每次都需要输入账号信息,也方便程序的维护。
具体步骤如下:
[title…
柏顿.墨基尔成功选股法则
背景:
 柏顿.墨基尔(Burton G. Malkiel)是普林斯顿大学(Princeton University)华友银行的讲座教授(ChemiCAl Ban…
李.古柏中小型成长股选股法则
背景:
 李.古柏(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:如何将图形旋转后导入到Word文件中
A:可借助word的"Word.AppliCAtion"接口的功能,对图片进行旋转后导出,具体实现可参考下面给出的案例:
第一步:封装旋转图片并导出到word的功能
[code]
functio…
Q:多因子:因子收益率检验中增加基准收益率对比实现
天软多因子框架基准收益率的实现
  提供新类TSMultiFactor_User继承天软公用框架TSMultiFactor,重写方法CAlTrailingRet…
Q:在任务管理中kill某个程序之后,发现还在占用进程,且flag显示为CNCL
A:CNCL表明的含义是正在CANCEL的意思
一般来说出现的原因是程序返回结果集很大,在取消的时候,正在返回,而这个结果集需要压缩打包,打包需要一定的时间,这个时候无法被打断,需要等待这个结束之后…
Q:如何实现导出大文件到本地?
说明: 
 天软客户端从服务器取数单次返回的结果集最大不超过1G,从客户端直接导出数据到本地并没有严格的限制大小。
 实际能导出大小与电脑的运行内存相关,超…
Q:在天软中如何设置参数的默认值(缺省值)?
A:[strong]天软函数中,参数是按参数位置来识别各个参数变量的
  参数类型是弱类型,即数据类型是不定,可变的
  参数是依次识别,后面的参数可省掉,注意程序中需要做相关的处理,避免导致…
Q:固定取数接口汇总(Infotable取不到或取不全的数据)
简介:
 由于数据量过大,在Infotable|Infoarray方式提取中(数据专家即Infoarray方式),该类表仅保留最近一段时间的数据,如果想获取更多…
Q:如何提取一段时间内国债期货的基本指标数据
A:用户在使用下面专题文档中的接口(专题:FAQ:2025-04-23-应用专题-国债期货:常用国债期货基本指标(更新版)
BondFutureBasicindiCAtors(EndT,MarketID,dbtype,ReturnOpt…
2021-07-16客户端升级说明
该功能已升级到正式服务器。
2021-7-16 升级说明
升级:新增CAlcCTRLWord系统参数设置,控制nil参与计算的警告或者出错,以及浮点除0的警告或…
Q:python中如何将数组类型的参数传入天软函数中执行?
说明:
  python中可用列表(list)作为数组类型参数传给天软函数执行
  一维数组可直接传入一个list 例:["SZ000001","SZ0000…
Q:python如何把天软数据分批导入到本地
说明:
 在获取行情大数据时有时会发现电脑卡顿甚至死机的情况,需要合理分批导出数据到本地。下载说明请参考:FAQ:Q:如何合理下载大量高频行情数据?
 有时在与…
Q:天软指数数据情况说明
A:生成模型:(下载附件后,保存为用户函数即可运行生成)
附件:getTSIndexDataMark.fun
20250317日指数列表:[attachment id=40719…
Q:回测-比例类-指定资产占比的条件下进行市值等量对冲
A:由于比例回测中,用户提供的持仓数据中"比例(%)"代表的是占总市值比例,所以,等市值对冲,若无其它要求,可以各给50%,若考虑留备用仓位防止暴仓,一般可留用10%的现金,则可各分配45%,即期货与…
Q:比例类回测中,某个调仓日不进行调仓该如何实现?
A:场景:指定调仓日整个组合不进行调仓。
实现方法:
方法一:GetTradeOrder方法中,这一期的结果可以用非数组进行替代…
Q:pyTSL接口中如何传递DataFrame类型数据执行
A:提供以下两种方式的范例:
方式一:pyTSL提供方法DataFrameToTSArray,可以把dataframe转成TS array风格的数据结构。
方式二:天软和python都能支持jso…
Q:如何通过代码的方式使用任务管理命令
A:任务管理主要是对登录的账号、执行的在线任务或委托执行的任务进行查看或者终止任务等操作。
详细说明:FAQ:Q:任务管理说明
 [attent…
2022-07-30客户端升级说明
2022-07-30 升级:
--------------------------------------------------------
[attentio…
大师策略
策略概览
说明:
 1.“结果展示函数”是指用户通过该模型可立即得到该策略一段时间内的组合收益等数据,其数据来源于天软对策略回测的缓存数据,非实时计算过程结果。…
Q:python调天软函数参数传递失败,结果返回为空?
A:在python交互中,通过RemoteCAllFunc调天软模型,在传递数组参数时,会出现失败情况。
问题重现案例:
有天软函数
[code]
Funct…
班杰明.葛拉汉防御价值型投资法
背景:
 班杰明.葛拉汉是华尔街公认的证券分析之父,1894年生于伦敦,1895年举家迁居纽约,9岁时父亲过世,幼年生活困苦,1914年毕业于哥伦比亚大学,进入证…
乔治.麦可利斯权益报酬投资法
背景:
 乔治.麦可利斯(George Michaelis )是资源资本公司(Source CApital)的前任基金经理人,及其母公司第一太平洋顾问公司(Fir…
威廉.米勒中心价值成长投资法
背景:
 威廉.米勒(William H. Miller)是美国传奇性的基金经理人,毕业于华盛顿李大学(Washington & Lee University)经…
苏珊.史卡田妃小型价值股选股法则
背景:
 苏珊.史卡田妃(Susan I. Schottenfeld)是美国著名的价值型基金经理人,毕业于宾州大学国际关系及经济系,曾任职于摩根史坦利公司(Mro…
约翰.罗杰士中小型价值成长选股法则
背景:
 约翰.罗杰士(John Rogers)是美国知名的基金经理人,投资经历长达21年,毕业于普林斯顿大学(Princeton University)经济系,…
汤玛士.贝利微型成长股投资法则
背景:
 汤玛士.贝利(Thomas Barry Ⅲ)是美国知名的成长型投资大师,投资经历长达30年,1967年毕业于爱荷华大学(University of Io…
德伍.却斯大型成长动能选股法则
背景:
 德伍.却斯(Derwood S. Chase Jr.)是美国知名的成长型投资大师,投资经历长达48年,毕业于维吉尼亚大学(University of V…
理查德.崔赫斯积极成长动能型选股法则
背景:
 理查德.崔赫斯(Richard Driehaus)是美国知名的动能型投资组合经理人(Portfolio Manager),投资经历长达32年,1968至…
贾布利.瓦森营收成长动能选股法则
背景:
 贾布利.瓦森(Gabriel Watson)是美国知名的动能型投资组合经理人(Portfolio Manager),毕业于圣地亚哥州立大学(San Di…
贾布利.瓦森成长动能型机械式选股法则
背景:
 贾布利.瓦森(Gabriel Watson)是美国知名的动能型投资组合经理人(Portfolio Manager),毕业于圣地亚哥州立大学(San Di…
Q:天软中如何实现市场的超大单,大单,中单,小单按分钟汇总的成交金额走势图
个股实现
说明: 获取个股指定日分钟线大单成交金额(万)数据
代码:
[code]
Fu…
Q:数量类回测框架中,CalcashByTradeData(tjy)通过交易明细计算出剩余资金,其中参数交易明细tjy是如何给,是否会对清算造成影响?
A:CAlCAshByTradeData(tjy)中的tjy数据符合当前GetTradeOrder的输出格式即可。
该接口仅仅只做计算用,输入后的交易明细不会对清算造成影响,即当日所有交易明细最终都…
Q:CalcCTRLWord系统参数设置:控制nil参与计算以及浮点除0的警告或者出错
A:20240913日更新:
1、新增pn_CAlcCTRLWord()常量函数,其值为"CAlcCTRLWord"。
即可通过setsysparam(pn_CA
班杰明.葛拉汉企业主投资法
背景:
 班杰明.葛拉汉是华尔街公认的证券分析之父,1894年生于伦敦,1895年举家迁居纽约,9岁时父亲过世,幼年生活困苦,1914年毕业于哥伦比亚大学,进入证…
华伦.巴菲特企业投资法则
背景:
 华伦.巴菲特(Warren E. Buffett)是全世界有史以来,靠股票赚最多钱的人,1930年8月30日生于内布拉斯加州(Nebraska)的奥玛哈…
麦克.普莱斯低估价值投资法
背景:
 麦克.普莱斯(Michael Price) 是美国价值型基金经理人中的传奇人物,1975年加入海涅证券(Heine Securities),跟着海涅(M…
Q:如何将图形导出到Excel中
A:在天软中,实现将图形导出到Excel文件中,需要先将图形保存在本地,然后再通过com对象,将图片插入到指定excel的位置。
(Excel的com对象Excel.AppliCAtion,具体请参…
Q:在多因子框架中如何传递自定义变量给因子公式模型
A:
 在获取指定日期指标值(多因子)模型TSMF_GetValueByEndT中存在spc_参数可以传递指定变量给因子公式。
 以spc_:=array('变量名':值)的形式传入,
 …
理查德.考克支持赢家操作法则
背景:
 理查德.考克(Richard Koch)是英国知名的企业家、创投专家及作家,年轻时创立英国著名的创投公司-LEK Partnership and Str…
威廉.欧尼尔CANSLIM投资法则
背景:
 威廉.欧尼尔(William J. O'Neil)是美国知名的成长型投资大师,投资经历长达40年,毕业于南美以美大学(Southern Methodis…
伊伯森小型股投资选股准则
背景:
 根据芝加哥的伊伯森顾问公司(Ibboston Associates)对投资报酬率的研究,自1926年至1998年,以每二十年为一计算区间,美国股票投资报…
杰若米.道森长期成长投资法
背景:
 杰若米.道森(Jerome L. Dodson)是巴纳赛斯基金(Parnassus Fund)的创始人兼经理人,生于1943年,毕业于加州大学柏克莱分校…
柯林.麦克连成长价值优势投资法则
背景:
 柯林.麦克连(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:Matlab中如何传数组进天软函数中
A:在天软中,数组都是用array()表示,一维,二维,多维等,矩阵也如此。
在matlab调天软函数的过程中,经常会需要传入数组到天软模型中去使用,下面分别介绍传入一维数组(序列)、二维数组、多维…
Q:如何通过脚本代码的方式使用委托执行功能
A:由于分析研究的特殊性,有些复杂的分析模型或者复杂的数据向导运算无法在短时间内得到结果,可以使用另一种执行的方式:委托执行。
委托执行不需要用户在线等待结果的返回,运算的结果会存放在服务器的用户…
Q:天软能提取哪些指数的成分股及其开始日期
天软提供的指数及成分股数据的开始与截止日期列表
注:本表指的是通过天软指数成份股表提取到指数指定日成份数据的情况,不包括需要通过权重数据提取的指数。
指数权重提供…
CashFlowSheet
范例(t):

return CAshFlowSheet("SH600004",0);

//返回”SH600004”的合并现金流量表

CashFlowSheetQk
范例(t):
[code]

EndT := 20021231;
return CAshFlowSheetQk("SZ000001",EndT,0);

//返回平安2…
IE_ProfitForecast
范例(t):

Return IE_ProfitForeCAst();

//返回字符串”业绩预警”

//结果:”业绩预警”
InfoArray
[table rsplit="$" csplit="#"]函数名#别名#备注
$InfoArray_Jy2#聚源数据库对照表#
$[a id=2646…
InfoId
[table rsplit="$" csplit="#"]函数名#别名#备注
$DataBaseRatioId_CAihui#CAihui常用的财务比率分析数据#
$DBNumeratorValue#基本面单…
StockCallAuctionTradeData
范例(t):
[code]
  //返回万科A在 2020-06-22日开盘前集合竞价期间产生的交易明细

setsysparam(pn_stock(),'SZ000002');
 …
StockCallAuctionClose
范例(t):
[code]
//返回万科A在2020-06-22日开盘前集合竞价收盘价。

setsysparam(pn_stock(),'SZ000002');
return Stock…
StockCallAuctionVol
范例(t):
[code]
//返回万科A在2020-06-22日开盘前集合竞价的成交量。

setsysparam(pn_stock(),'SZ000002');
return Stock…
StockCallAuctionAmount
范例(t):
[code]
//返回万科A在2020-06-22日开盘前集合竞价的成交量。

setsysparam(pn_stock(),'SZ000002');
return Stoc…
StockCallAuctionCjbs
范例(t):
[code]

//返回万科A在2020-06-22日开盘前集合竞价的成交笔数
setsysparam(pn_stock(),'SZ000002');

return Sto…
IndexCapitalFlow
范例(t):
[code]
//返回沪深300在2021年11月12日的资金流向情况
return IndexCApitalFlow('SH000300',20211112T,20211112T…
ES_MI_DecalreSSL
范例(t):
[code]
//返回万科A在2005年1月1日至2007年1月1日是否增发上市。
setsysparam(pn_stock(),'SZ000002');
begt:=intto…
ES_MI_DecalreJY
范例(t):
[code]
//返回万科A在2005年1月1日至2007年1月1日是否公布增发股东大会决议。
setsysparam(pn_stock(),'SZ000002');
begt:…
ES_MI_DecalreYA
范例(t):
[code]
//返回万科A在2005年1月1日至2007年1月1日是否公布增发预案。
setsysparam(pn_stock(),'SZ000002');
begt:=int…
ES_MI_DecalreSS
范例(t):
[code]
//返回万科A在2005年1月1日至2007年1月1日是否增发实施。
setsysparam(pn_stock(),'SZ000002');
begt:=intto…
GetStockCallAuctionTime
范例(t):
[code]
//获取万科A在2020-06-22这一天的开盘前集合竞价数据起止时间。

return GetStockCAllAuctionTime ('SZ000002',2…
StockCallAuctionData
范例(t):
[code]
//获取万科A在2020-06-22这一天的开盘前集合竞价交易明细数据。

setsysparam(pn_stock(),'SZ000002');
  ret…
Xg_Model2_Call
范例(t):
Return Xg_Model2_CAll("深证A股;上证A股",
inttodate(20140123),5,10,1);
Xg_Model2_Call2
范例(t):
[code]

Return Xg_Model2_CAll2("深证A股;上证A股",inttodate(20140101),
inttodate(20140…
PortfolioCalcSys
范例(t):
[code]
  Return PortfolioCAlcSys(

"申万煤炭开采",

1000000,

inttodate(20120825…
SelectStockIndex_Call
范例(t):
[code]
StockArr:= array("SH600460","SZ000920","SH600718");
BegT:= inttodate(20120925);
En…
TrueTransactionYtm
范例(t):
[code]
Return SelectStockIndex_CAll(

array("SH600460","SZ000920",&qu…
TSFL_TSBackTesting_File
范例(t):
[code]
MyPortfolioArr:=array(
("截止日":40543.0,"代码":"SH600000"…
TSFL_TSBackTesting_PercentPortfolio
范例(t):
[code]
BKName:="A股";
BegT:=20250101t;
EndT:=20251231t;
IndexID:="SH000300…
pf_CallBack1
范例(t):
Return pf_CAllBack1(Array(3,4,5),2); //结果:0.3872
pf_IncomeMaxCallBack
范例(t):
[code]
a:=array(2,3,4,5,8);
SetSysParam('TZZHRiMatrix',a);
setSysParam('TZZHRp',3);
w:=a…
CalculateStockIndex
范例(t):
[code]
Return CAlculateStockIndex(

array("SZ000920","SH600718"),

CaculateFundIndex
范例(t):
[code]
Return CAculateFundIndex(


array("SH500001","SH500002",&quot…
CalculateBkIndex
范例(t):
[code]
st:=20200101t;
et:=20240930t;
t:=array(
("日期":st,"代码":"SZ000001","名称":"平安银行","比例(…
CalculateFundBkIndex
范例(t):
[code]
t:=array(
("日期":39994.00,"代码":"OF000031","名称&quo…
FinancialIndexGrowRatio
范例(t):
[code]
oV:=BackUpSystemParameters2();
//取股票"万科A"2011年报营业收入同比增长率
setsysparam(pn_…
FinancialIndexGrowValue
范例(t):
[code]
oV:=BackUpSystemParameters2();
//取股票"万科A"2011年报营业收入同比增加值
setsysparam(pn_…
FinancialIndexGrow_Call
范例(t):
[code]
//返回万科A2017年年报同比增长率
setsysparam(pn_stock(),"SZ000002");
return Financi…
NetCashfromIAPerShares
算法:每股投资活动产生的现金流量净额 = 投资活动产生的现金流量净额 / 总股本
其中,
投资活动产生的现金流量净额来源【股票.合并现金流量表】中‘投资活动产生的现金流量净额’字段,在不同算法中处…
NetCashfromFAPerShares
算法:每股筹资活动产生的现金流量净额=筹资活动产生的现金流量净额/总股本。
其中,
筹资活动产生的现金流量净额数据来源【股票.合并现金流量表】中‘筹资活动产生的现金流量净额’字段,在不同算法中处理…
CashPerShares
算法:每股经营活动现金流量净额 = 经营活动产生的现金流量净额 / 总股本
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如…
CapitalFundPerShares
算法:每股资本公积金 = 资本公积金 / 总股本
其中,
资本公积金来源【股票.合并资产负债表】中‘资本公积’字段,在不同算法中处理如下:
[htm]<table><tbody><tr sty…
CashPerSharesGrowRatio
算法:每股经营活动现金流量净额增长率(%) =(本期每股经营活动现金流量净额-上年同期每股经营活动现金流量净额)/abs(上年同期每股经营活动现金流量净额)*100%
其中,
每股经营活动现金流量…
CashPerSharesGrowRatio2
算法:每股经营活动现金流量净额增长率(%)(最新摊薄)=(本期每股经营活动现金流量净额-上年同期每股经营活动现金流量净额(最新摊薄))/abs(上年同期每股经营活动现金流量净额(最新摊薄))*100 …
CashFlowMainOperationRatio
算法:现金主营收入比 = 经营活动产生的现金流量净额 / 主营业务收入
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下: …
CashFlowCurrentDebtRatio
算法:现金流量比率 = 经营活动产生的现金流量净额 / 流动负债
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下:
[h…
CashFlowNetProfitCash
算法:现金净利润比 = 经营活动产生的现金流量净额 / 净利润
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下:
[ht…
CashFlowTotalAssetsRatio
算法:现金总资产比 = 经营活动产生的现金流量净额 / 资产总计
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下:
[…
CashFlowTotalDebtRatio
算法:现金总负债比率 = 经营活动产生的现金流量净额 / 负债总计
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下:
CashFlowTotalDebtRatio2
算法:债务保障率 = 负债总计 / 经营活动产生的现金流量净额
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下:
[h…
CashandCashEquivalentsPerShares
算法:每股现金净流量 = 现金及现金等价物净增加额 / 总股本
其中,
现金及现金等价物净增加额来源【股票.合并现金流量表】中‘现金及现金等价物净增加额’字段,在不同算法中处理如下:
[htm…
MainIncomeCashRatio
算法:销售现金比率 = 销售商品、提供劳务收到的现金 / 主营业务收入
其中,
销售商品、提供劳务收到的现金来源【股票.合并现金流量表】中‘销售商品、提供劳务收到的现金’字段,在不同算法中处理如下…
NetCashfromIAGrowRatio
算法:投资活动现金流量净额增长率(%) =(本期投资活动现金流量净额-上年同期投资活动现金流量净额)/abs(上年同期投资活动现金流量净额)*100
其中,
投资活动产生的现金流量净额来源【股票.…
NetCashInfroFAGrowRatio
算法:筹资活动现金流量净额增长率(%)=(本期筹资活动现金流量净额-上年同期筹资活动现金流量净额)/abs(上年同期筹资活动现金流量净额)*100
其中,
筹资活动产生的现金流量净额来源【股票.合…
NetCashGrowRatio
算法:经营活动现金流量净额增长率(%)=(本期经营活动现金流量净额-上年同期经营活动现金流量净额)/abs(上年同期经营活动现金流量净额)*100
其中,
经营活动现金流量净额来源【股票.合并现金…
CashMatureDebtRatio
算法:现金到期债务比率 = 经营活动产生的现金流量净额 / 本期到期的债务 = 经营活动产生的现金流量净额 / (本期到期的长期债务+应付票据)
其中,
经营活动现金流量净额来源【股票.合并现金流…
CashDividendRatio
算法: 现金股利保障倍数 = 每股经营活动现金流量净额 / 每股股利
其中,
每股经营活动现金流量净额 = 经营活动产生的现金流量净额 / 总股本
经营活动产生的现金流量净额来源【股票.合并现金…
CashToCurrentDebtRatio
算法:现金流动负债比率 = 经营活动产生的现金流量净额 / 流动负债合计
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下:…
SalesofGoodsandServicesCashGrowRatio
算法:销售商品、提供劳务收到的现金增长率(%) =(本期销售商品、提供劳务收到的现金-上年同期销售商品、提供劳务收到的现金)/abs(上年同期销售商品、提供劳务收到的现金)*100
其中,
销售…
CSStruc7_1
算法:经营活动现金流入占现金流入合计比(%) = 经营活动现金流入小计 / 现金流入合计 * 100
其中,
现金流入合计 = 经营活动现金流入小计 + 投资活动现金流入小计 + 筹资活动现金流入…
CSStruc7_2
算法:投资活动现金流入占现金流入合计比(%) = 投资活动现金流入小计 / 现金流入合计 * 100
其中,
现金流入合计 = 经营活动现金流入小计 + 投资活动现金流入小计 + 筹资活动现金流入…
CSStruc7_3
算法:筹资活动现金流入占现金流入合计比(%) = 筹资活动现金流入小计 / 现金流入合计 * 100
其中,
现金流入合计 = 经营活动现金流入小计 + 投资活动现金流入小计 + 筹资活动现金流入…
CSStruc7_4
算法:经营活动现金流出占现金流出合计比(%) = 经营活动现金流出小计 / 现金流出合计 * 100
其中,
现金流出合计 = 经营活动现金流出小计 + 投资活动现金流出小计 + 筹资活动现金流出…
CSStruc7_5
算法:投资活动现金流出占现金流出合计比(%) = 投资活动现金流出小计 / 现金流出合计 * 100
其中,
现金流出合计 = 经营活动现金流出小计 + 投资活动现金流出小计 + 筹资活动现金流出…
CSStruc7_6
算法:筹资活动现金流出占现金流出合计(%)= 筹资活动现金流出小计 / 现金流出合计 * 100
其中,
现金流出合计 = 经营活动现金流出小计 + 投资活动现金流出小计 + 筹资活动现金流出小计…
ReturnonCapitalRatio
算法:资本报酬率(%) = 净利润 / (股东权益 + 长期负债) * 100
其中,
净利润来源【股票.合并利润分配表】中‘归属于母公司所有者净利润’字段,在不同算法中处理如下:
[htm]<…
AddedWorkingCapital
算法:追加营运资本=本期营运资金-同比营运资金
其中,
本期表示报告期当日,同比表示报告期上一年度同比报告期
营运资本=(流动资产-货币资金-短期投资)-(流动负债-短期借款-应付短期债券-一年…
CashPaidtoInvestments
算法:资本性投资=投资所支付的现金+权益性投资所支付的现金+债权性投资所支付的现金
其中,
投资所支付的现金来源【股票.合并现金流量表】中‘投资所支付的现金’字段,在不同算法中处理如下:
[ht…
TangibleCapital
算法:有形资本=流动资产-流动负债-超额现金+短期借款+应付票据+一年内到期的非流动负债+应付短期债券+固定资产净值+投资性房地产
其中,
流动资产来源【股票.合并资产负债表】中‘流动资产合计’…
Capex
算法:资本性支出=购建固定资产、无形资产和其他长期资产所支付的现金
其中,
购建固定资产、无形资产和其他长期资产所支付的现金来源【股票.合并现金流量表】中‘购建固定资产、无形资产和其他长期资产所支…
BasicInfoExt
范例(t):
//指定2017三季报,取万科A
Return BasicInfoExt();

结果:
[htm]<table><tbody><tr><td> …
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…
TotalCashIn
算法:现金流入合计 = 经营活动现金流入小计 + 投资活动现金流入小计 + 筹资活动现金流入小计
其中,
经营活动现金流入小计来源【股票.合并现金流量表】中‘经营活动现金流入小计’字段,在不同算…
TotalCashOut
算法:现金流出合计 = 经营活动现金流出小计 + 投资活动现金流出小计 + 筹资活动现金流出小计
其中,
经营活动现金流出小计来源【股票.合并现金流量表】中‘经营活动现金流出小计’字段,在不同算…
WorkingCapital
算法:营运资金 = 流动资产 - 流动负债
其中,
流动资产来源【股票.合并资产负债表】中的‘流动资产合计’字段,在不同算法中处理如下:
[htm]<table><tbody><tr style…
CT_RecentYear
范例(t):
[code]
oV:=BackupSystemParameters2();
//对比设置最近2年度和没有设置最近2年度的值
setsysparam(pn_stock(),'SZ0…
CashRatio
算法:现金比(%) = 货币资金 / 资产总计 * 100
其中,
货币资金来源【股票.合并资产负债表】中‘货币资金’字段,在不同算法中处理如下:
[htm]<table><tbody><tr …
CashInfromIA_12
范例(t):
[code]
//计算SZ000002的投资活动现金流入小计
setsysparam(pn_stock(),'SZ000002');
return CAshInfromIA_12…
CashPS_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的每股经营活动现金流量净额
oV:=BackUpSystemParameters2();
setsysparam(pn_s…
CashPSGrowRatio_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的每股经营活动现金流量净额增长率(%)
oV:=BackUpSystemParameters2();
setsyspara…
CashPaidtoInvestments_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的资本性投资
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),…
CashfromSale_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的销售商品、提供劳务收到的现金
oV:=BackUpSystemParameters2();
setsysparam(pn…
CashInfromOA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的经营活动现金流入小计
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
CashOutfromOA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的经营活动现金流出小计
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
CashOutfromIA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的投资活动现金流出小计
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
NetCashfromIA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的投资活动产生的现金流量净额
oV:=BackUpSystemParameters2();
setsysparam(pn_…
NetCashfromOAGrowRatio_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的经营活动产生的现金流量净额增长率(%)
oV:=BackUpSystemParameters2();
setsyspar…
NetCashFromOA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的经营活动产生的现金流量净额
oV:=BackUpSystemParameters2();
setsysparam(pn_…
CashInfroFA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的筹资活动现金流入小计
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
CashOutfromFA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的筹资活动现金流出小计
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
NetCashFromFA_12
范例(t):
[code]
//指定2011年报,取万科A最近12个月的筹资活动产生的现金流量净额
oV:=BackUpSystemParameters2();
setsysparam(pn_…
EndingCash_12
范例(t):
[code]
//指定2011年报,取平安银行最近12个月的货币资金的期末余额
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
MainIncomeGrowRatio_Year
范例(t):
[code]
//指定2011年报,取万科A的最近两年营业收入增长率(%)
oV:=BackUpSystemParameters2();
setsysparam(pn_stock…
MainProfitGrowRatio_Year
范例(t):
[code]
//指定2011年报,取平安银行的最近两年主营业务利润增长率(%)
oV:=BackUpSystemParameters2();
setsysparam(pn_st…
OperatingProfitGrowRatio_Year
范例(t):
[code]
//指定2011年报,取万科A的最近两年营业利润增长率(%)
oV:=BackUpSystemParameters2();
setsysparam(pn_stock…
ProfitBeforeTaxGrowRatio_Year
范例(t):
[code]
//指定2011年报,取万科A的最近两年利润总额增长率(%)
oV:=BackUpSystemParameters2();
setsysparam(pn_stock…
NetProfitGrowRatio_Year
范例(t):
[code]
//指定2011年报,取万科A的最近两年净利润增长率(%)
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(…
CashPS_Year
范例(t):
[code]
//指定2011年报,取万科A的两年前每股经营活动现金流量净额
oV:=BackUpSystemParameters2();
setsysparam(pn_stoc…
CAGR
范例(t):
//已知终值为1,初值为2,年数为3年,求复合增长率
v:= CAGR(1,2,3);
return v;
//结果:-20.63
CashfromSale_Q
范例(t):
[code]
//指定2011年报,取万科A季度的销售商品、提供劳务收到的现金
oV:=BackUpSystemParameters2();
setsysparam(pn_st…
CashInfromIA_Q
范例(t):
[code]
//指定2011年报,取万科A季度的投资活动现金流入小计
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(…
CashOutfromIA_Q
范例(t):
[code]
//指定2011年报,取万科A季度的投资活动现金流出小计
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(…
NetCashfromIA_Q
范例(t):
[code]
//指定2011年报,取万科A季度的投资活动产生的现金流量净额(环比)
oV:=BackUpSystemParameters2();
setsysparam(pn…
CashPS_Q
范例(t):
[code]
//指定2011年报,取万科A季度的每股经营活动现金流量净额
oV:=BackUpSystemParameters2();
setsysparam(pn_stoc…
CashInfromOA_Q
范例(t):
[code]
//指定2011年报,取万科A季度的经营活动现金流入小计
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(…
NetCashFromOA_Q
范例(t):
[code]
//指定2011年报,取万科A季度的经营活动产生的现金流量净额
oV:=BackUpSystemParameters2();
setsysparam(pn_sto…
CashOutfromOA_Q
范例(t):
[code]
//指定2011年报,取万科A季度的经营活动现金流出小计
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(…
EndingCash_Q
范例(t):
[code]
//指定2011年报,取平安银行季度的现金的期末余额
oV:=BackUpSystemParameters2();
setsysparam(pn_stock(),…
CashInfroFA_Q
范例(t):
[code]
oV:=BackUpSystemParameters2();
//取'万科A'在2011年年报最近1季度的筹资活动现金流入小计;
setsysparam(pn_st…
CashOutfromFA_Q
范例(t):
[code]
oV:=BackUpSystemParameters2();
//取'万科A'在2011年年报最近1季度的筹资活动现金流出小计;
setsysparam(pn_st…
NetCashFromFA_Q
范例(t):
[code]
oV:=BackUpSystemParameters2();
//取'万科A'在2011年年报最近1季度的筹资活动产生的现金流;
setsysparam(pn_st…
常用函数
[table rsplit="$" csplit="#"]函数名#别名#备注
$pf_MinRecoveryPeriod#净值突破前值最长时间#
$[a id=28…
pf_CalmarRatio
算法:CAlmar比率=年化收益率/最大回撤率*100范例(t):
[code]

SetSysParam(PN_Stock(),'SZ000001');

SetSysParam(PN_D…
pf_VARByHistoricalSimulation
范例(t):
[code]

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

s:=select ['指数代码'] as '行业代码',['代码']…
StockCashFlowInFuture
范例(t):
[code]
SetSysParam(PN_Stock(),'SZ000001');
return StockCAshFlowInFuture(20170801T,20180803…
pf_CashFlowInFuture2
范例(t):
[code]
s:=array;
s[0:1]['代码']:=array('SH600000','SH600028');
s[0:1]['数量']:=array(500,100)…
pf_tPortfolioCash
范例(t):
[code]
w1:=array(
("日期":41102.0,"股票市值":457520.0,"股票占净值比例(%)"…
择机分析
[table rsplit="$" csplit="#"]函数名#别名#备注
$pf_CAPM#CAPM模型#
$[a id=28729]…
IsCashFlowInfoId
范例(t):

return IsCAshFlowInfoId(48003);

//返回:1
Cross
范例(t):
[code]
//万科在指定区间内的均线穿越情况;
  setsysparam(pn_stock(),'SZ000002');
  end_date := inttodate…
sp_large
算法:
备注:指定表达式与系统当前时间相关,M的取值数据小于N.范例(t):
万科A在2018/10/30最近10个日线交易日内分时数据成交量的最大值
[code]
Setsysparam(p…
sp_small
范例(t):
万科A在2018/10/30最近12月中月末最后5个日线交易日的最小值价格序列
[code]
Setsysparam(pn_Stock(),"SZ000002"…
sp_percentile
范例(t):
万科A在2018/10/30最近10个日线交易日中每天分钟线收盘价格第0.8百分比对应的价格数据序列
[code]
Setsysparam(pn_Stock(),"SZ0…
sp_percentrank
范例(t):万科A在2018/10/30日最近10个交易的收盘价在每天分时价格的百分比排名
[code]
Setsysparam(pn_Stock(),"SZ000002");…
sp_quartile
范例(t):万科A在2018/10/30日最近10个交易日的收盘价在每天第2个四分位的价格序列
[code]
Setsysparam(pn_Stock(),"SZ000002"…
sp_rank
范例(t):万科A在2018/10/30最近10个交易日的收盘价在每日分时价格序列中的排名
[code]
Setsysparam(pn_Stock(),"SZ000002");…
sp_trimmean
范例(t):万科A在2018/10/30最近10个交易日每天交易价格去除掉首尾比例占10%后的平均价格序列
[code]
Setsysparam(pn_Stock(),"SZ000002…
sp_geomean
范例(t):万科A在2018/10/30最近10个交易日每天60分钟线的几何平均价格序列
[code]
Setsysparam(pn_Stock(),"SZ000002"); …
sp_harmean
范例(t):万科A在2018/10/30最近10个交易日每天交易价格的调和平均价格序列
[code]
Setsysparam(pn_Stock(),"SZ000002");
sp_median
范例(t):万科A在2018/10/30前30个交易日中每天交易价格的中位数序列
[code]
Setsysparam(pn_Stock(),"SZ000002");
Set…
sp_mode
范例(t):万科A在2018/10/30前30个交易日中每天交易价格的众数序列
[code]
Setsysparam(pn_Stock(),"SZ000002");
Sets…
sp_product
范例(t):万科A在2018/10/30最近12个月中每月最后5个日线交易日累计涨幅序列
[code]
Setsysparam(pn_Stock(),"SZ000002"); …
sp_totalvariance
范例(t):万科A在2018/10/30最近10个交易日每天交易价格的总体偏差
[code]
Setsysparam(pn_Stock(),"SZ000002");
Sets…
sp_norm
范例(t):万科A在2018/10/30最近10个交易日每天成交价格相对平均价格波动的标准差
[code]
Setsysparam(pn_Stock(),"SZ000002")…
sp_skewness
范例(t):万科A在2018/10/30最近10个交易日每天交易价格的偏度序列,其中偏度的计算用的是3秒线的价格序列
[code]
Setsysparam(pn_Stock(),"SZ000002…
sp_kurtosis
范例(t):万科A在2018/10/30最近10个交易日每天交易价格的峰度序列
[code]
Setsysparam(pn_Stock(),"SZ000002");
Sets…
sp_skewness2
范例(t):万科A在2018/10/30最近10个交易日每天交易价格的偏度序列
[code]
Setsysparam(pn_Stock(),"SZ000002");
Sets…
sp_kurtosis2
范例(t):
万科A在2018/10/30最近10个交易日每天交易价格的峰度序列
[code]
Setsysparam(pn_Stock(),"SZ000002");
Se…
sp_cov
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的协方差序列
[code]
setsysparam(pn_Stock(),"SZ000002");
Sets…
sp_correl
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的相关系数序列
[code]
setsysparam(pn_Stock(),"SZ000002");
Set…
sp_slope
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的回归斜率
[code]
setsysparam(pn_Stock(),"SZ000002");
Setsy…
sp_intercept
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的回归截距
[code]
setsysparam(pn_Stock(),"SZ000002");
Setsy…
sp_rsq
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的Pearson乘积矩相关系数的平方
[code]
setsysparam(pn_Stock(),"SZ000002&q…
sp_steyx
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的相对标准偏差
[code]
setsysparam(pn_Stock(),"SZ000002");
Set…
sp_slopeandintercept
范例(t):2018/10/30万科与大盘最近10天每天与大盘走势的回归斜率和截距
[code]
setsysparam(pn_Stock(),"SZ000002");
Se…
TechCacheDo打开技术类缓存
范例(t):
[code]
TechCAcheDo
Begin
for i:=0 to length(Days)-1 do
begin
setsysparam(pn_Date(),Days…
SpecAll
范例(t):
[code]
return speCAll(close(),
array(pn_stock():'SZ000001',
pn_date():inttodate(20140117)…
系统参数名称函数
[table rsplit="$" csplit="#"]函数名#别名#备注
$pn_Stock#当前股票#
$pn_Date#当前时间#
$[a id=289…
子单数据结构
[htm]<table><tbody><tr><td>
字段名</td><td>
数据类型</td><td>
说明</td></tr><tr><td>
Datatype</td><td>
s…
Tsorder2开发范例
案例:
  开发一个算法交易策略,每间隔5秒以买一价买入100股,同时将小于买一价的未成交委托单做撤单处理。
[Code]
Type MyOrder=class(TsOrder2)
  …
TT_CancelWT
范例(t):
[code]
timeout := 3000;
h := TT_UserLogin("XXX证券", "M", "123456", "888888", timeout);
if…
查询资金
证券返回
[htm]<table><tbody><tr><td>
序号</td><td>
字段名称</td><td>
中文名称</td><td>
标准输出</td><td>
说明</td>…
查询委托
证券返回
[htm]<table><tbody><tr><td>
序号</td><td>
字段名称</td><td>
中文名称</td><td>
标准输出</td><td>
说明</td>…
查询成交
证券返回
[htm]<table><tbody><tr><td>
序号</td><td>
字段名称</td><td>
中文名称</td><td>
标准输出</td><td>
说明</td>…
查询持仓
证券返回
[htm]<table><tbody><tr><td>
序号</td><td>
字段名称</td><td>
中文名称</td><td>
标准输出</td><td>
说明</td>…
成交回报
证券返回
[htm]<table><tbody><tr><td>
序号</td><td>
字段名称</td><td>
中文名称</td><td>
标准输出</td><td>
说明</td>…
支持的Office常量函数列表
  TSL语言已经以函数的方式支持Office的绝大多数常量,用户可以函数的方式来使用这些常量.
  以下是所有支持的常量函数,具体关于他们的用途以及使用方法请参考Office的相关帮助手册…
支持的Excel常量函数列表
  TSL语言已经以函数的方式支持Excel的绝大多数常量,用户可以函数的方式来使用这些常量.
  以下是所有支持的常量函数,具体关于他们的用途以及使用方法请参考Excel的相关帮助手册,在…
Word常量函数
  TSL语言已经以函数的方式支持Word的绝大多数常量,用户可以函数的方式来使用这些常量,例如wdBlue这个颜色常量可以以wdBlue()的方式来访问。
  Word的常量主要应用在Wo…
Q:如何在回测中计算组合换手率指标
A:场景:在回测返回结果中加入换手率指标
  实现方法:
在执行回测BackTest方法后,可以通过函数GetTradeDa…
2023-06-08客户端升级说明
2023-06-08 升级说明:
-------------------------------------------
[strong]修正:用户定义的多选列表…
2023-06-16客户端升级说明
2023-06-16 升级说明:
------------------------------------
修正:pyCAll直接调用失败未做失败返回的问题。
Q:关于系统昨收函数SectionPrevClose()的效率说明
A:SectionPrevClose()在取系统昨收数据时,特别是在设置高频行情的情况下,执行效率相对于close()等常见指标表现会比较慢。
原因:天软的日线行情…
Q:陆港通(南向与北向)结算参与者分类指标
使用说明
 本文档主要介绍天软针对中央结算系统持股明细数据而开发结算参与者分类指标模型
 [strong]数据…
Q:如何通过代理服务器登陆天软服务器
A:用户可通过代理服务器连接天软服务器。
目前天软已支持http代理(默认方式)以及SOCKS5代理。

这里对于常见的几种登陆方式进行具体的代理服务器登陆的实…
2023-09-20客户端升级说明
2023-09-20 升级说明
----------------------------------
升级:分发支持oa看到网格…
2023-09-22客户端升级说明:解决首页白屏问题
2023-09-22 升级说明
------------------------------------------
修正:代理…
Q:股票与基金一些常见的分类属性代码及取数介绍
A:本节点内容主要介绍,由天软进行维护的与时间相关的这类分类数据信息。方便用户进行使用。
天软目前提供的分类属性如下:
[table rsplit="$" csp…
命名参数调用
功能:调用函数时,通过给指定参数名进行传值,无需区分先后次序。
多用于数学方法的调用(在定义时可搭配缺省参数的使用)、OFFICE的COM调用以及PYTHON的一些…
SetGlobalCache
范例(t):
[code]
 a:=rand(1000,100);
 return SetGlobalCAche("LLL",a,now()+1); //设置一个名为”…
GetGlobalCache
范例(t):
[code]
mtic;
 for i:=0 to 999999 do
 getglobalCAche("LLL",V);
 return arra…
CheckGlobalCacheExpired
范例(t):
[code]
SetglobalCAche("VVV",rand(1000,100));
  GetglobalCAche("VVV",…
GetGlobalCacheInfo
范例(t):
[code]
if GetGlobalCAche("LLL",V) then
 
return GetGlobalCAcheInfo(V);

[/c…
ListGlobalCache
范例(t):
getglobalCAche("LLL",v);
return listglobalCAche();

[img type=&…
ListGlobalCacheRemoved
范例(t):
范例1:
[code]
SetGlobalCAche("CCC",array(1,2,3));
 GetglobalCAche("CCC",V); //v指向全局缓存
 …
Q:天软客户端如何下载一段时间的高频行情数据到本地?
A:下载高频行情数据到本地需要先从天软服务器获取行情数据,再使用交互模型导出数据到本地即可。
  获取天软行情数据参考:FAQ:交易明细表tradetable、分时表markettable
  从天软客户端导出数据到本地…
LoadFromFile
范例(t):


//远端用户需要本地执行这个操作

[code]

LJ:="E:\\Test\\CAse-save.txt";

  obj:=Create…
SaveToFile
范例(t):


//远端用户需要本地执行这个操作
[code]
pathname:= "E:\\Test\\CAse-save.txt";
obj:=CreateOb…
CaseSensitive
范例(t):
ini文件内容如下:
[Test]
string=TinySoft
[ReadStream]
array=0a021f35
string=426537694172567866…
Authenticate
范例(t):


[code]

obj:= CreateObject("smtp") ;

obj.UserName := 'username' ;    /…
Pop3对象的方法
[htm]使用范例: <br/><div class="text-container" style="clear:both; width:100%; background:#F2F2F2;line-h…
CAPA
范例(t):
获取邮件支持的所有命令
[code]
//创建pop3对象
pop3Obj := new pop3("pop3.tinysoft.com.cn","username","pass…
mb_OkCancel
范例(t):

[code]

a:=3;
  b:=rdo2 MessageBox('a>2,要继续吗?','测试对话框',rdo2 mb_OkCAncel());
return …
mb_RetryCancel
范例(t):

[code]

a:=3;
  b:=rdo2 MessageBox('a>2,要继续吗?','测试对话框',rdo2 mb_RetryCAncel());

re…
mb_YesNoCancel
范例(t):

 [code]

a:=3;
   b:=rdo2 MessageBox('a>2,要继续吗?','测试对话框',rdo2 mb_YesNoCAncel());
mb_Service_Notification
范例(t):
[code]
a:=3; 
c:= rdo2 mb_AbortRetryIgnore().|rdo2mb_Service_NotifiCAtion();
  b:=rd…
mb_Service_Notification_NT3X
范例(t):
[code]
a:=3;
c:= rdo2 mb_AbortRetryIgnore().|rdo2mb_Service_NotifiCAtion_NT3X();
  b:…
idCancel
范例(t):
[code]

a:=3;

b:=rdo2 MessageBox('a>2,要继续吗?','测试对话框',rdo2 mb_OkCAncel());

if b=rdo2…
idOk
范例(t):

[code]

a:=3;

b:=rdo2 MessageBox('a>2,要继续吗?','测试对话框',rdo2 mb_OkCAncel ());

if b=r…
2023-12-12新一代客户端升级:LIBCURL-TSL认证兼容性
2023-12-11 升级说明
------------------------------------
修正:LIBCURL-TSL认证兼容性。
说明:支持老…
Q:如何获取期权主力平值合约行情数据?
A:通过模型OptionZLId3获取指定日期权主力平值合约后,再获取对应的行情即可。
实现范例
范例01:获取指定品…
Q:获取指定日所有基金分类列表并统计份额与规模
天软基金分类参考:FAQ:Q:基金.投资风格(TSJJ02)分类代码列表
按照一级投资风格汇总
统计说明
1.封闭式基金与互认基金暂不维护…
Inherited
Inherited是一种调用父类的巧妙的实现,这个实现和Object pasCAl遵循相同的规则。由于tsl支持多重继承,因而Inherited会优先调用第一个继承的父类,如果没找到则会遍历之后继承的…
INI文件配置登陆信息
第一步:在plugin目录下新建ini文件,文件全名为tslclient.ini
  注:客户端用户,该plugin目录在天软安装目录下,一般路径为:C:\Program Files\Tinyso…
TryUppercase
范例(t):
return TryUpperCAse("abc");
  //结果:"ABC"
TryLowercase
范例(t):
return TryUpperCAse("ABC");
  //结果:"abc"
Frameconcat
范例(t):
a := ones(3,3);
b := ones(2,3);
return frameConCAt(array(a,b));
Framedrop_duplicates
范例(t):

[code]

data := load_dataset_iris();

return frameDrop_dupliCAtes(data,'Species','f'…
NW_Adjustment_Simplification
范例(t):
[code]
 y:=array(0.001,0.56,0.193,0.80,0.58,0.48,0.35,0.89,0.82,0.74);
return NW_Adjustme…
SysGetPidOfCom
范例(t):
范例01:获取TSL创建的word.appliCAtion对象的进程ID。
[code]
getoleobject("Word.appliCAtion",0,v…
SysGetWndOfCaption
范例(t):
获取标题是”test.docx”的窗口句柄。
[code]
V:=SysGetWndOfCAption("test.docx");
Echo V;
[/co…
SysGetPidtidOfWnd
范例(t):
获取标题是”test.docx”的窗口的word的进程ID。
[code]
//获取标题是”test.docx”的窗口句柄
Wnd:=SysGetWndOfCAption(&qu…
通过窗口句柄实现对窗口最大化、最小化
  通过TSL获取窗口句柄后,可以使用一些windows自带的API接口对其进行操作。
  以下就是通过Windows用户界面相关应用程序接口user32.dll中的ShowWindow,对…
通过进程id实现对进程关闭
  通过进程id对进程的关闭,比如,office中因为某些原因导致崩溃或者挂起时,就可以通过获取程ID将其关闭。
  以下就是通过进程ID关闭整个winword进程。
[code]
//…
DLL外部函数引入
  TSL语言直接支持对动态库的调用,当然,在金融分析.NET平台上由于安全的原因需要设置后才可以运行,但是我们可以用RDO2等模式来调用本地的动态库函数。
  TSL调用动态库的函数申明基…
MakeInstance
范例(t):c代码
[code]
#include <Windows.h>
#include <Windows.h>
#include <string>
using std::string;…
多线程调用案例
  创建多线程程序例子:利用windows API 的CreateThread函数创建多线程调用,通过控制台结束指定线程。
代码如下:
[code]
a:=array();
//将abcd…
stock_Stforecast
范例(t):
[code]


//对SZ002373股在2014-4-10存在风险的可能进行预测

 
return stock_STforeCAst('SZ002373',201…
StockCCASSCapitalInflowByParticipant2
范例(t):
[code]

// "SH600585"在20230101T至20230519T,直接结算参与者(主要是券商)资金流入

  SetSysParam(…
StockCCASSCapitalInflowRatioByParticipant2
范例(t):
[code]

//SH600585在20230101至20230519直接结算参与者(主要是券商)资金流入占成交金额比(%)

  SetSysParam(pn_stoc…
StockCCASSMarketValueChangeByParticipant
范例(t):
[code]

// "SH600585"在20230101T至20230519T,直接结算参与者(主要是券商)持股市值变动
  SetSysParam(p…
StockCCASSMarketValueChangeGrowRatioByParticipant
范例(t):
[code]

// "SH600585"在20230101T至20230519T,直接结算参与者(主要是券商)持股市值变比(%)

SetSysPara…
StockCCASSVolChangeByParticipant
范例(t):
[code]

// "SH600585"在20230101T至20230519T,直接结算参与者(主要是券商)持股变动

  SetSysParam(…
StockCCASSVolChangeGrowRatioByParticipant
范例(t):
[code]

// "SH600585"在20230101T至20230519T,直接结算参与者(主要是券商)持股变比(%)
  SetSysParam(…
StockCCASSCapitalInflowByParticipant
范例(t):
[code]

// "SH600585"在20230519T,直接结算参与者(主要是券商)资金流入

  SetSysParam(pn_stock()…
StockCCASSCapitalInflowRatioByParticipant
范例(t):
[code]

// "SH600585"在20230519T,直接结算参与者(主要是券商)资金流入

  SetSysParam(pn_stock()…
StockCCASSMarketValueByParticipant
范例(t):
[code]

// "HK000001"在2022-08-22直接结算参与者(主要是券商)持股市值

  SetSysParam(pn_stock()…
StockCCASSMarketValueChangeByParticipant2
范例(t):
[code]

// "SH600585"在20230519T,直接结算参与者(主要是券商)持股市值变动

  SetSysParam(pn_stock…
StockCCASSMarketValueChangeGrowRatioByParticipant2
范例(t):
[code]

// "SH600585"在20230519T,直接结算参与者(主要是券商)持股市值变比(%)

  SetSysParam(pn_st…
StockCCASSVolByParticipant
范例(t):
[code]

// "HK000001"在2022-08-22直接结算参与者(主要是券商)持股数量

  SetSysParam(pn_stock()…
StockCCASSVolChangeByParticipant2
范例(t):
[code]

// "SH600585"在20230519T,直接结算参与者(主要是券商)持股变动

  SetSysParam(pn_stock()…
StockCCASSVolChangeGrowRatioByParticipant2
范例(t):
[code]

// "SH600585"在20230519T,直接结算参与者(主要是券商)持股变比(%)

  SetSysParam(pn_stoc…
StockCCASSVolRatioByParticipant
范例(t):
[code]

// "SH600585"在2023-5-19直接结算参与者(主要是券商)指定参与者持股数量占A股比(%)

  SetSysParam…
BK_CCASSCapitalInflowByParticipant2
范例(t):
[code]

// 北向在2023-5-19至2023-5-19直接结算参与者(主要是券商)区间指定参与者资金流入

  return BK_CCASSCApitalIn…
BK_CCASSMarketValueChangeByParticipant
范例(t):
[code]

//北向20230101至20230519直接结算参与者(主要是券商)区间指定参与者持股市值变动
  return BK_CCASSMarketValueCh…
BK_CCASSMarketValueChangeGrowRatioByParticipant
范例(t):
[code]

//北向20230101至20230519直接结算参与者(主要是券商)指定参与者持股市值变比(%)
  return BK_CCASSMarketValueC…
BK_CCASSCapitalInflowByParticipant
范例(t):
[code]

// 北向在2023-5-19直接结算参与者(主要是券商)指定参与者资金流入

  return BK_CCASSCApitalInflowByPartic…
BK_CCASSMarketValueByParticipant
范例(t):
[code]

// 北向在2022-08-22直接结算参与者(主要是券商)持股市值

  return BK_CCASSMarketValueByParticipant(…
BK_CCASSMarketValueChangeByParticipant2
范例(t):
[code]

// 北向在20230519T直接结算参与者(主要是券商)指定参与者持股市值变动

return BK_CCASSMarketValueChangeByPart…
BK_CCASSMarketValueChangeGrowRatioByParticipant2
范例(t):
[code]

// 北向在20230519T直接结算参与者(主要是券商)指定参与者持股市值变比(%)

  return BK_CCASSMarketValueChang…
StocksCCASSMarketValueByParticipant
范例(t):
[code]

// "HK000001"在2022-08-22直接结算参与者(主要是券商)持股市值

  return StocksCCASSMark…
BondCashflow
范例(t):
债券SH010107在20170731T的现金流
[code]
Endt:=20170731T;
Setsysparam(pn_Stock(),”SH010107”);
Ret…
Index_CallFinancialItemPS
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的每股收益
setsysparam(pn_stock(),'SH000300');…
Index_CallFinancialRatio
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的流动比率
setsysparam(pn_stock(),'SH000300');…
Index_CallROE
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的ROE
setsysparam(pn_stock(),'SH000300'); …
Index_CallPB
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的市净率
setsysparam(pn_stock(),'SH000300'); …
Index_CallPE
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的市盈率
setsysparam(pn_stock(),'SH000300'); …
Index_CallPSR
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的市销率
setsysparam(pn_stock(),'SH000300'); …
Index_CallPCF
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的市现率
setsysparam(pn_stock(),'SH000300'); …
Index_CallDP
范例(t):
范例1:
[code]
//提取2023年7月31日沪深300,全部样本股、整体权重加权、TTM的股息率
setsysparam(pn_stock(),'SH000300'); …
IndexCapitalFlowData
算法:如果getbkbydate()取不到指数的成分股,则结果资金流向返回0;

   如果能取到成分股,则指数的资金流向=所有成分股在时间区间之内的主买成交金额之和-所有成分股在时间区间之…
Stock_EventEffect
范例(t):


[code]

//返回事件窗口日为3,基准指数为沪深300的累计超额收益率

  SetSysParam(pn_stock(),"SZ000001&quo…
Stock_Event_IndicatorChange
范例(t):


[code]

//返回事件后10天日均换手率比时间前120天日均换手率

  SetSysParam(pn_stock(),"SZ000001"…
NSBetaSensitivityCal
范例(t):
范例1[code]CAshData := array(("现金流":1.7,"剩余期限":1),("现金流":1.7,"剩余期限":2),("现金流":1.7,"剩余期限":3),("…
fipwc_CalEndWeight
范例(t):
[code]sw := Array(200, 50);
zf := Array(50,0);
return fipwc_CAlEndWeight(sw,zf);
//结果:a…
fipwc_CalportfolioZF
范例(t):
[code]
sw := Array(200, 50);
zf := Array(50,0); 
return fipwc_CAlportfolioZF(sw,zf);
/…
ScaleOfSeries3
范例(t):
[code]
//20231010T,SH600519收盘价在沪深300成分股的标准化。
  endt:=20231010T;
  SetSysParam(pn_stock…
ScaleOfSeriesOftheReport
范例(t):
[code]
//SH600519,2022年报在沪深300成分股的营业收入标准化。
  endt:=20221231T;
  SetSysParam(pn_stock()…
调用获得的外部函数指针
假定外部程序给出的是一个函数指针,TSL也可以对它动态进行调用。是本次新增的功能。
使用说明:
TSLfunPointer:=function(p1:DataType;p2:Datetype;…)…
32位windows下的调用方式申明
一般的调用方式的申明约定有以下这几种:
Register
PasCAl
Cdecl
StdCAll
SafeCAll
FastCAll
Windows的API使用stdCAll模式。
Q:可转债二叉树相关指标效率慢说明
A:调用模型获取指标因子值时,模型需要进行实时计算,使用二叉树法计算因子值时有大量的数值模拟计算,所以效率会低不少
  [strong]天软提供的可…
PortfolioBackTesting_Quantity_CashAllocation
范例(t):
[code]
PortfolioBackTesting_Quantity_CAshAlloCAtion(10000000,5,4,10,5,0,Number,CAshPerUnit)…
TSTrade_CalCC
范例(t):
[code]
EndT:=inttodate(20150215);
tpGP:=array(
("主码":"JY020101",&quot…
PortfolioBackTesting_CalBenchmarkReturn
范例(t):
范例一:
[code]
//单个市场指数作为基准:沪深300作为基准

BMinfo:=array(
      "复合收益率计算方法":0,
    …
RD_SM_PrcA_DecayHighAvgDev
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcA_DecayHighAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.104500t);
  s…
RD_SM_PrcA_DecayLowAvg
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcA_DecayLowAvgDev
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcA_DecayLowAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.104500t);
  s…
RD_SM_PrcA_DevLv
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.104500t);
  s…
RD_SM_PrcA_EqualAvg
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcA_EqualAvgDev
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcA_EqualAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.104500t);
  s…
RD_SM_PrcA_RCLv
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.104500t);
  s…
RD_SM_PrcA_VolAvg
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcA_VolAvgDev
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcA_VolAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcB_DecayHighAvg
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcB_DecayHighAvgDev
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcB_DecayHighAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.104500t);
  s…
RD_SM_PrcB_DecayLowAvg
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcB_DecayLowAvgDev
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_PrcB_DecayLowAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.104500t);
  s…
RD_SM_VolB_DecayHighAvg
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_VolB_DecayHighAvgRatio
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_VolB_DecayHighAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_VolB_DecayLowAvg
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_VolB_DecayLowAvgRatio
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
RD_SM_VolB_DecayLowAvgRC
范例(t):

[code]
sp_s(pn_stock(),"SZ000001");
  sp_s(pn_date(),20231030.110000t);
  …
Q:如何获取指定日市场的涨跌幅分布数量
说明:个股涨幅可通过stockzf等模型计算,要统计市场涨幅的分布情况,需要根据自定义的涨幅区间进行分类统计得到,这里针对这类统计做了一个实现范例,供用户参考。
[…
Q:pyTSL如何调用本地天软脚本
背景描述:用户将天软代码以脚本(.tsl或者.tsf)形式保存在本机电脑。
为了解决如何使用第三方交互调用天软本地脚本的问题,本文中实现了使用python交互模块pyTSL调用本地脚本样例,供用户参…
Q:pyTSL如何使用并发取数后把结果导出到一个文件中?
A:当并发任务执行结果返回的结果集格式是一样时,可以将所有结果导出到一个表中。
实现方法参考如下:
方法一:[attention]将第一个包含列名的结果集导出后再…
GarchFit
范例(t):

以1995年1月至2000年8月日元兑换美元汇率值序列(JPY,如图8-9)为例介绍怎样用天软来进行ARCH建模(序列共1427个值)。
[img type="tslx…
2024-03-20新一代客户端升级说明:复数功能扩展
2024-03-20 升级说明
---------------------------------------------------
升级:新增数组统计类函数对…
BondCashflowHistroy
范例(t):
[code]
  stk := "BK1282337";
  begt := 20190411T;
  endt := 20191231T;
  sp_s(pn_sto…
CreateCaptchaImage
范例(t):
[code]
picparam:=array('width':360, 'height':64,'distort':10.0,'hollow':1,
       …
TSL命令集列表
执行命令行的命令为:tsl xxx
Windows命令集
[htm]<table><tbody><tr><td>
命令</td><td>
功能说明</td><td>
备注</td></tr>…
可选项:-S 安静模式
功能:安静模式,不打印执行结果的信息。
如:安静模式命令:tsl -COMPILE -S TsfFunCA.tsf
默认情况下的命令:tsl -COMPILE TsfFunCA.tsf
对比结果…
可选项:-buildgui 指定为Windows UI应用程序
命令:-buildgui
功能:指定编译的可执行文件为Windows UI应用程序。
场景:将创建了界面的脚本编译成带有图形界面的.exe可执行文件,指定文件名为buildgui.exe
输入:…
-strong 编译所有引用
命令:-strong
功能:将所有依赖的引用都进行编译
场景:目标文件中调用了单元方法,单元中其它方法还调用了其它函数,将目标文件编译成.exe可执行文件,且将所有没有被调用到的引用也编译至生成文…
--resourcepat= 指定资源匹配串
命令:--resourcepat=pat1,pat2,…
功能:将指定目录下的符合匹配串的文件编译进目标文件中,需要通过--resourcedir=进行指定目录,指定当前目录时,用--resourc…
--extresource= 指定额外资源
命令:--extresource=filename1[:keyname1],filename2…
功能:将指定资源加入编译,一般用于需要额外加入资源文件时使用,支持相对路径的指定
场景:在编译可执…
可选项:-LIBPATH 扩展函数查找路径
命令:-LIBPATH libpath
功能:设置函数(.tsf)的搜索路径,多个路径用分号分割,当前路径为.场景:执行TSLDemo01.tsl脚本,程序中有调用函数TsfFunCA(),且该函数…
Stock_CashFlowSheet
范例(t):
[code]
//返回天山股份按照季度显示的最近4个报告期的现金流量表数据
setsysparam(pn_stock(),'SZ000877');
return Stock_CA
MarketTypeCapitalFlowAnalysis
范例(t):
[code]
//返回上证A股区间20201231-20211231同比20191231-20201231以来的资金流向及同比
s:="上证A股";
Retu…
Stocks_ProfitForecast
范例(t):
[code]
//返回上证A股在20201231的业绩预警数据
Return Stocks_ProfitForeCAst("上证A股",20201231,0);…
BKStockPE_Call
范例(t):
[code]
//返回上证A股在20201231个股的市盈率&市净率的数据
Return BKStockPE_CAll(getbk("上证A股"),202012…
BkCapitalFlowAnalysis
范例(t):
[code]
//返回上证A股区间20201231-20211231同比20191231-20201231以来的资金流向横比数据
s:="上证A股";
Ret…
BkCapitalFlowAnalysis_ZB
范例(t):
[code]
//返回上证A股区间20201231-20210105以来的资金流向纵比数据
s:="上证A股";
Return BkCApitalFlowAn…
BkAverageCapitalFlowAnalysis
范例(t):
[code]
//返回上证A股区间20201231-20211231同比20191231-20201231以来的日均成交金额数据
s:="上证A股";
Ret…
Block_GetHSGCapitalFlowData
范例(t):
[code]
//返回港股通(沪)在指定日20210110-20210121区间沪深港板块的资金流数据
Return Block_GetHSGCApitalFlowData(&qu…
Block_HSGAccumCapitalFlow
范例(t):
[code]
//返回港股通(沪)在指定日20210110-20210121区间沪深港板块的累计净买入与市场对比数据
Return Block_HSGAccumCApitalFlo…
Block_HSGCapitalFlowAndMarket
范例(t):
[code]
//返回港股通(沪)在指定日20210110-20210121区间沪深港板块的资金流向与市场价格走势数据
Return Block_HSGCApitalFlowAnd…
Block_HSGCapitalFlowPeriodByBK
范例(t):
[code]
//返回港股通(沪)在指定日20210110-20210111区间的资金流入流出情况
Return Block_HSGCApitalFlowPeriodByBK(&q…
Block_GetHSGCapitalFlowDataGroupEndT
范例(t):
[code]
//返回港股通(沪)在指定日20210110-20210111区间的资金流数据
Return Block_GetHSGCApitalFlowDataGroupEndT…
Block_HSGCapitalFlowEndT
范例(t):
//返回在指定日20210111的沪深港通资金流向
Return Block_HSGCApitalFlowEndT(20210111T);

//结…
Funds_SharesByOrgan_Call
范例(t):
[code]
//返回板块”开放”在20051231报告期中金信证券有限责任公司机构持股数据
Return Funds_SharesByOrgan_CAll('开放',200512…
hd_SpecAndSpecDate
范例(t):
[code]
SetSysParam(PN_Cycle(),cy_day());设置周期
SetSysParam(PN_Rate(),0);设置为不复权
return hd_Sp…
es_FuncCall
范例(t):
return es_FuncCAll();
//返回:2
fn_CallByPara
范例(t):
return fn_CAllByPara ();
//返回:2
fn_CallByParaSub
范例(t):
c:=1;
fn_CAllByParaSub(c);
return c;
//返回:2
TimeCalc
范例(t):
return TimeCAlc();
//返回:’运行了1.00秒’
ig_Trapezoid_2CallBack
算法:
f(x)=11+25x2范例(t):
return ig_Trapezoid_2CAllBack(0);
//返回:1
ig_Trapezoid_1CallBack
算法:
fx=e-x2范例(t):
return ig_Trapezoid_1CAllBack(0);
//返回:1
ig_Simpson_2CallBack2
算法:
fx=1-x2范例(t):
return ig_Simpson_2CAllBack2(0);
//返回:1
ig_Simpson_1CallBack
算法:
fx=In(x+1)1+x2范例(t):
return ig_Simpson_1CAllBack(0);
//返回:0
ig_Simpson_2CallBack1
算法:
fx=-1-x2范例(t):
return ig_Simpson_2CAllBack1(0);
//返回:-1
ig_ChebyshevCallBack
算法:
f(x)=x^2+sin?(x)范例(t):
return ig_ChebyshevCAllBack(0);
//返回:0
ig_RombergCallBack
算法:
fx=x4+x2范例(t):
return ig_RombergCAllBack(0);
//返回:0
ig_GaussCallBack
算法:
f(x)=x^2+sin?(x)范例(t):
return ig_GaussCAllBack(0);
//返回:0
ig_Simpson_2CallBack
算法:
f(x,y)=e^(x^2+y^2 )范例(t):
return ig_Simpson_2CAllBack(0,0);
//返回:1
Demo_mt_Multiplication
范例(t):
return Demo_mt_MultipliCAtion();
返回:
[img type="tslxml" file="media2024-04-…
2024-04-18新一代客户端升级说明
2024-04-18 升级说明
主要修订涉及到与数据库交互的JDBC与Linux中popc方式中存在的问题。
--------------------------…
ExportCsv
范例(t):
范例01:一维数组转换成csv格式字符串
[code]

data:=array(1,2,"3","A",9,8);
  ret:…
ImportCsv
范例(t):
范例01:将指定csv格式字符串转换成二维数组
[code]
  s:="0,1,2\r\n2,5,0\r\n3,2,1\r\n4,7,2\r\n";
复数支持的常用函数列表
[htm]<table><tbody><tr><td>
No</td><td>
函数名</td><td>
功能</td><td>
举例</td></tr><tr><td>
1</td><td…
支持复数矩阵的函数列表
除基础函数支持对复数矩阵的操作外,如统计函数、分解函数等也支持复数矩阵的运算,具体列表如下:
[htm]<table><tbody><tr><td>
No</td><td>
函数名</td><t…
OptionNearContractCallOTM1
范例(t):
[code]
//返回50ETF为标的,20230511T交易类型为认购的近月虚值一档期权合约
  setsysparam(pn_stock(),"SH510050&…
OptionNearContractCallOTM2
范例(t):
[code]
//返回50ETF为标的,20230511T交易类型为认购的近月虚值二档期权合约
  setsysparam(pn_stock(),"SH510050&…
OptionNearContractCallITM1
范例(t):
[code]
//返回50ETF为标的,20230511T交易类型为认购的近月实值一档期权合约
  setsysparam(pn_stock(),"SH510050&…
OptionNearContractCallITM2
范例(t):
[code]
//返回50ETF为标的,20230511T交易类型为认购的近月实值二档期权合约
  setsysparam(pn_stock(),"SH510050&…
Q:股票.中上协行业(CAPCHY)分类代码列表
A:股票.中上协行业(CAPCHY)总共有两级分类,分类代码列表如下:
行业分类代码为:CAPCHY


取数参考:FAQ:Q:股票与基金一些常见的分类属性代码及取数介绍
通…
TS_GroupFactorReturn
范例(t):
return?TS_GroupFactorReturn(1004,20240401T,20240405T,cy_day());

执行结果:
[im…
Q:系统参数的备份与还原的有效范围说明
A:说明
在天软编程取数与指标的过程中,我们经常会用到系统参数。
具体系统参数的使用与列表,可查看:FAQ:Q:天软有哪些系统参数

本节中,主要说…
UNIT单元中常量与变量
TSL语言UNIT支持在interface或implementation中定义变量或者常量,支持findfunction获得一个unit对象,unit对象支持用.来调用方法或者interface里定义…
风险调整收益_与基准无关
更新日志
[table rsplit="$" csplit="#"]更新日期#更新记录
$2024-07-11#1、更新表
(1)基金扩展.风险调整收益_与基准…
风险调整收益_与基准无关_年度
数据说明
天软衍生数据:
1、衍生股票型、混合型、债券型、货币型、商品型、FOF、沪深港、QDII、封闭式及互认基金;
2、根据基金扩展.净值收益率_日(615…
风险调整收益_与基准无关_季度
数据说明
天软衍生数据:
1、衍生股票型、混合型、债券型、货币型、商品型、FOF、沪深港、QDII、封闭式及互认基金;
2、根据基金扩展.净值收益率_日(615…
风险调整收益_与基准相关
数据说明
天软衍生数据:
1、衍生股票型、混合型、债券型、货币型、商品型、FOF、沪深港、QDII、封闭式及互认基金;
2、根据基金扩展.净值收益率_日(615…
风险调整收益_与基准相关_年度
数据说明
天软衍生数据:
1、衍生股票型、混合型、债券型、货币型、商品型、FOF、沪深港、QDII、封闭式及互认基金;
2、根据基金扩展.净值收益率_日(615…
风险调整收益_与基准相关_季度
数据说明
天软衍生数据:
1、衍生股票型、混合型、债券型、货币型、商品型、FOF、沪深港、QDII、封闭式及互认基金;
2、根据基金扩展.净值收益率_日(615…
TSLObjects
范例(t):
现有类TestClass01,其代码如下:
[code]
type TestClass01=class()
value;
function create(_value)
 …
tslassigning
如在给属性的赋值方法中打印这个状态值
[code]
o := new CA();
o.c := 3; //给对象的属性赋值
return o.c;
type CA = class
  …
2024-07-19新一代客户端升级
2024-07-19升级说明
-----------------------------------------
升级:支持优化设置8返回系统类调用的优化信息。如…
2024-07-22新一代客户端升级说明
2024-07-22升级说明
-----------------------------------
修正:7-19日升级引起的thashedstringlist…
2024-07-22客户端升级说明
更新日志--------2024-07-22
修正:7-19日升级的内核优化问题。
说明:修正上次升级中导致的CAse特殊用法可能出错的问题…
Q:在官网中搜索提示“检索含非法字符,请重新输入!”
A:搜索的关键字中包含以下内容时会提示“检索含非法字符,请重新输入!”

1.空白字符+特殊字符+空白字符
 [strong]空白字符(\s)[/stron…
TSWEB_Block_HSGAccumCapitalFlowAndMarketMove
范例(t):
[code]
//返回2023-07-10至2024-07-10沪股通累计净买入和市场基准指数累计涨幅
BKID:= "HG000002";
BegT:=in…
TSWEB_Block_HSGCapitalFlowAndForexMove
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通板块资金流向与外汇走势对比
BKID:= "HG000001;HG000003";
B…
TSWEB_Market_HSGCapitalFlowEndT
范例(t):
[code]
//返回截止至2024-07-10日所有沪深港通板块的买入、卖出及净买入金额等资金流向数据
BegT:=inttodate(20230710);
EndT:=int…
TSWEB_Market_HSGCapitalFlowPeriod_S
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通净买入数据(日线)
BegT:=inttodate(20230710);
EndT:=inttodate(…
TSWEB_Market_HSGAccumCapitalFlow_N
范例(t):
[code]
//返回2023-07-10至2024-07-10日陆股通累计净买入与市场
BegT:=inttodate(20230710);
EndT:=inttodate(2…
TSWEB_Market_HSGAccumCapitalFlow_S
范例(t):
[code]
//返回2023-07-10至2024-07-10日港股通累计净买入与市场
BegT:=inttodate(20230710);
EndT:=inttodate(2…
TSWEB_Market_HSGCapitalFlowPeriod_N
范例(t):
[code]
//返回2023-07-10至2024-07-10日陆股通净买入数据(日线)
BegT:=inttodate(20230710);
EndT:=inttodate(…
stock_Stforecastdata
范例(t):
[code]


//对SZ002373股在2014-04-10前推30天的风险预警数据
 
return stock_STforeCAstdata('SZ002373'…
StockCCASSCodeChange
范例(t):


return StockCCASSCodeChange('SH600000');


//结果:90000
StockCCASSShareHolder
范例(t):


return StockCCASSShareHolder('SZ000001',20220613T);

结果:
[img type=&qu…
StockCCASSParticipantDZ
范例(t):


return StockCCASSParticipantDZ();


结果:
[img type="tslxml" …
FundETFInfoLeastUnitCash
范例(t):
[code]
//OF159001在2023-05-09最小申购、赎回单位的现金余额。
SetSysParam(PN_Stock(),'OF159001');
return Fu…
FundETFInfoLeastUnitCashDivid
范例(t):
[code]
//OF159001在2023-05-09最小申购、赎回单位现金红利。
SetSysParam(PN_Stock(),'OF159001');
return Fun…
FundETFInfoCashForecasted
范例(t):
[code]
//OF159001在2023-05-09最小申购、赎回单位的预估现金部分。
SetSysParam(PN_Stock(),'OF159001');
return …
NewForcastReportDateOfEndT
范例(t):
[code]
SetSysParam(PN_Stock(),'SZ300423');
return NewForCAstReportDateOfEndT(IntToDate(201…
DecayAvgOfNDay
范例(t):
[code]
 
SetSysParam(pn_stock(),"SH600585");
 
SetSysParam(pn_date(),2023101…
ScaleOfSeries
范例(t):
[code]
//20231010T,SH600519收盘价在沪深300成分股的标准化。
 
endt:=20231010T;
 
SetSysParam(pn_stoc…
ScaleOfSeries2
范例(t):
[code]
//20231010T,SH600519收盘价在沪深300成分股的标准化。
 
endt:=20231010T;
 
SetSysParam(pn_stoc…
CacheStrMerge
范例(t):
return CAcheStrMerge('1',2,20231020T);
//结果:["1"][2][45219]
Pop3对象的创建
范例(t):
[code]
//范例1:创建pop3对象
Obj:= CreateObject('POP3');
//范例2:根据配置创建pop3对象并自动连接登录,配置写在\tinysoft…
CalculateHBData
范例(t):
[code]
//计算万科A利润分配表的环比数据
t:=InterestDistribute("SZ000002",0);
return CAlculateH…
ImportantItems_Call
范例(t):
[code]
return ImportantItems_CAll(array("SZ000007","SH600718","SZ0…
stock_financialitems_call
范例(t):
[code]
SetSysParam(PN_Stock(),"SZ000002");
return stock_financialitems_CAll(0,0,…
stock_profitforecast
范例(t):
[code]
//浦发银行历年报告期业绩预警
SetSysParam(PN_Stock(),'SH600000');
return Stock_ProfitForeCAst();…
StockIssueAndList_Call
范例(t):
[code]
return StockIssueAndList_CAll(Array("SH600026"),20020101T,20021231T);
[/c…
stockmoreissue_call
范例(t):
[code]
return StockMoreIssue_CAll(array("SZ000001","SH600000"),20010101…
StocksPFInfoByRDate_Call
范例(t):
[code]
return StocksPFInfoByRDate_CAll(array("SZ000002","SH600000"),202…
StocksProfitDistribution3_Call
范例(t):
[code]
return StocksProfitDistribution3_CAll(array("SH600718","SZ000920&quot…
StocksProfitDistribution_Call
范例(t):
[code]
return StocksProfitDistribution_CAll(array("SH600718","SZ000920"…
ShareholderAmount_Call
范例(t):
[code]
return ShareholderAmount_CAll(array("SZ000007","SH600718","…
Stocks_SharesByOrgan_Call
范例(t):
return Stocks_SharesByOrgan_CAll("深证A股;上证A股;中小企业板",20101231,0,4);
Stocks_PeriodValue_Call
范例(t):
[code]
return Stocks_PeriodValue_CAll(array("SH600718","SZ000001"),2010…
Stocks_Value_Call
范例(t):
[code]
return Stocks_Value_CAll(array("SH600718","SZ000001"),20100101T,…
Stocks_ZHValue_Call
范例(t):
[code]
return Stocks_ZHValue_CAll(array("SH600718","SZ000001"),20100101…
capitalflowanalysis_call
范例(t):
[code]
t:=StockPriceStructure(GetBk("深证A股;上证A股;中小企业板"),20100730T,5,100,5);
retur…
CapitalFlowCompare
范例(t):
[code]
t1:=StockPriceStructure(GetBk("深证A股;上证A股;中小企业板"),20100730T,5,100,5);
t2:=…
StocksBigBargain_Call
范例(t):
[code]
return StocksBigBargain_CAll(array("SZ000001","SZ000002","S…
ZBCompare_Call
范例(t):
[code]
return ZBCompare_CAll(array("SH600718","SZ000920"),2016,2020,0,a…
HxCompare_Call
范例(t):
[code]
return HxCompare_CAll(array("SH600718","SZ000920"),20161231,arra…
StockRevenuesByProduct_Call
范例(t):
[code]
return StockRevenuesByProduct_CAll(array("SZ000920","SZ000001",&…
bkstockhqanalysis_call
范例(t):
[code]
return BkStockHqAnalysis_CAll(array("SZ000809","SH600718","…
Block_Structure_ZB_Call
范例(t):
[code]
return Block_Structure_ZB_CAll("上证A股;深证A股",20200101T,20220310T,"日线&qu…
BKListPNA_Call
范例(t):
return BKListPNA_CAll("上证A股;深证A股",20200101T,20200331,0,0,2,0.2);
fundbasicinfo_call
范例(t):
[code]
return FundBasicInfo_CAll(array("OF040001","SZ184728","SH50…
FundEnlarge_Call
范例(t):
[code]
return FundEnlarge_CAll(array("OF040001","SZ184728","SH5000…
fundstockcompositechange_call
范例(t):
[code]
return FundStockCompositeChange_CAll("深证基金;上证基金;开放式基金",20181231,20171231,1…
FundStockComposite_Call
范例(t):
[code]
return FundStockComposite_CAll(array("SZ184688","OF040001"),2018…
FundStocksCentralization_Call
算法:持股集中度 =(前面i只持仓股票的总市值 / 所有持仓股票的总市值)* 100%其中,一般i=10。范例(t):
[code]
return FundStocksCentralization…
FundsStock_Call
范例(t):
[code]
return FundsStock_CAll(array("OF000001","OF040001"),20181231);
fundiccentralization_call
算法:行业集中度 =(前面i只持仓股票的总市值 / 所有持仓股票的总市值)* 100%其中,一般i=10。范例(t):
[code]
return FundICCentralization_CAl…
FundIndustryCompositeChange_Call
范例(t):
[code]
return FundIndustryCompositeChange_CAll(array("OF000001","OF040001&qu…
fundinvestmentratio_call
范例(t):
[code]
return fundinvestmentratio_CAll(array("OF000001","OF040001"),201…
netassetweeklylist_call
范例(t):
[code]
return NetAssetWeeklyList_CAll(array("OF000001","OF040001"),2018…
CurrencyFundNetAssetWeeklyList_Call
范例(t):
[code]
return CurrencyFundNetAssetWeeklyList_CAll(array("OF040003","OF202301…
FundDistributeInfo_Call
范例(t):
[code]
return FundDistributeInfo_CAll(array("OF000001","SZ184728"),2001…
fundzjratio_call
范例(t):
[code]
return FundZjRatio_CAll(array("SH500001","SH500002"),20011201T,0…
FundManagerCrossHoldStock_Call
范例(t):
return FundManagerCrossHoldStock_CAll(20030930);

结果:
[img type="tslx…
CorporationBond_Call
范例(t):
[code]
return CorporationBond_CAll(array("SH139345","SH127352"),2018010…
GovBond_Call
范例(t):
[code]
return GovBond_CAll(array("SH019516","SZ101828"),20100101T,20180…
BondHqAnalysis_Call
范例(t):
[code]
return BondHqAnalysis_CAll(array("SH127351","SH127352"),20180101…
BondYTM_Call
范例(t):
[code]
SetSysParam(PN_Stock(),"SH127352");
return BondYTM_CAll(20201130T);
[/co…
Q:沪深港通相关数据披露机制调整及模型影响
交易所自2024年8月19日起调整沪深港通交易信息披露机制
深交所公告:https://www.szse.cn/szhk/hkbussiness/news/t20240726_608353.html…
fundscale
范例
[code]
  //获取OF510050在20240823的基金规模
  setsysparam(pn_stock(),"OF510050");…
2024-08-27新一代客户端的升级
2024-08-27 升级说明
-----------------------------------
升级:解释器内核支持globalCAche数据在数组中以多…
2024-08-29客户端升级
2024-08-29升级说明
---------------------------------------------
修正:txlsreadwrite/imp…
Q:VBA中如何从天软中获取一组股票的数据
A:实现:提取A列指定好的股票组合的最新的收盘价,成交量等数据,可用于盘中刷新。
本章中提供两种写法,主推第二种优化方式,效率高,结果刷新快。

[title2…
2024-09-13新一代客户端升级说明
2024-09-13升级说明
--------------------------------------------------
修正:pdf_plugin。 …
Times_GrangerCausality
范例(t):
只说明该函数的用法,不考虑实际背景应用,我们继续使用招商银行,浦发银行的收盘价数据来做Granger因果检验。
[code]return Times_GrangerCAusality…
CashTurnOver
算法:现金周转率=主营业务收入 / (期初货币资金+期末货币资金) * 2
其中,
主营业务收入来源【股票.合并利润分配表】中‘营业收入’字段,在不同算法中处理如下:
[htm]<table>…
Q:回测过程中需要调仓数据量特别大时如何处理?
A:在回测时有时会遇到需要处理调仓数据量特别大的情况,比如对上千个代码几年时间中每日做大量的调仓操作,
会导致产生的缓存数据特别大甚至超过阈值(16G)导致运行程序报错,参考:[FAQ id=175…
Q:C++行情订阅,无法获得行情推送
A:
1、可能订阅标的数量超过天软的限制,目前天软默认只支持800个订阅量,如需更多订阅数量请联系天软商务代表。

2、可能其他错误原因,可以通过CAllback函数的RecvType参数捕获及…
Q:如何跟踪指数成份股进行比例类回测
A:在回测中获取调仓数据时可以指定指数成分股作为选股样本,再通过选股策略选出目标股票作为调仓数据即可。

回测说明:FAQ:2026-01-26应用专题-回测框架01:策略回测框架TSBackTesting(更新版)
[title1]回测示例[/titl…
Q:系统参数的获取跟设置的几种方式说明
在天软中,系统参数的获取跟设置,有以下几种方法:
方式一:使用setsysparam一个个设置:作用于整个函数;
方式二:使用 …
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
dbglocalrunning
范例(t):
在本地脚本中运行下面代码:

t:=dbgloCAlrunning();
echo tostn(t);
return 1;

打印信息如下: …
2024-11-04新一代客户端升级说明:新增压缩与解压函数
2024-11-04 升级说明
-----------------------------------------------------
[strong]升级:…
2024-11-05新一代客户端升级说明:新增文件移动函数
2024-11-05 升级说明
---------------------------------------------------
[strong]升级[/s…
Q:如何复制文件夹到新的位置
A:天软中没有直接的模型可以实现文件夹的复制,但可以通过模型FileCopy迭代复制文件夹下所有文件实现文件夹的复制。
 其中创建新的文件夹通过模型[a id=21…
2024-11-16新一代客户端升级说明
2024-11-16 升级说明
------------------------------------
[attention]升级:提供更快速的数据压缩传输模式…
Q:打开Excel,弹出“无法找到:\TSEXCEL\TSL.XLA”?
A:在安装天软客户端后,打开Excel,弹出如下窗口:
CAl-align:middle;"onclick=see_img("/tsdn/helpdoc/editor/downloadfile.tsl?aid=39084") src="/tsdn/helpdoc/editor/downloadfile.tsl?aid=39084"onmousewheel="return bbimg(this)">

出现此种情况,是由于微软系统bug导致
相关官方说明:Excel 2016安全更新说明:20…
2024-11-28新一代客户端升级说明
2024-11-28 升级说明
----------------------------------------
升级:pdf_…
2024-11-28客户端升级说明
2024-11-28 升级说明
----------------------------------------
修正:dbgl…
模型更新-更新说明:公用函数更新说明
公用函数更新说明:
2025-11-19更新
新增:代码变更相关函数
[table rspl…
ArrDropDuplicate
范例(t):
[code]
data:=array(("A":1,"B":NAN),("A":1,"B":2),(&…
Q:数量类回测:从外部导入交易数据
问题描述:回测框架文档中有提供比例类-从外部导入组合配置数据的范例,数量类能不能也提供一个类似的范例?
A:当然可以,我们提供了实现该需求的函数,用户可以自行导入或根据自身需求进行修改
附件:[a…
Q:Python调pyTSL接口取数范例01:行情数据的提取
A:根据pyTSL提供的三个取数接口(exec,CAll,query)从以下四个维度提供实现范例,用户可根据需求参考相关范例:

[table rsp…
Q:Python调pyTSL接口取数范例02:基本面数据的提取
A:根据pyTSL提供的两个取数接口(exec,CAll)从以下三个维度提供实现范例,用户可根据需求参考相关范例:
1.取证券基本属性信息(一般只有唯一…
Q:Python调pyTSL接口取数范例03:财务数据的提取
A:根据pyTSL提供的两个取数接口(exec,CAll)从以下五个维度提供实现范例,用户可根据需求参考相关范例:
[table rsplit="$" …
Q:通过模型计算获取主要财务指标(42)的指标值
A:股票主要财务指标(42)表采集自股票的财报,该表主要记录定期报告的公布日及扣除非经常性损益后的净利润字段数据,其它指标属于非必须公布的数据,即若公告中有公布则采集,若无公布则记录为0。
因此,如…
pn_CalcCTRLWord
说明:
设置系统参数"CAlcCTRLWord"可以控制程序中若有nil参与计算以及浮点除0时,进行警告或者程序抛出异常。
设置语法:setsysparam(pn…
可选项:--pkg= 加载指定资源包
命令:--pkg=pkg1,pkg2…
功能:执行包文件的同时,加载指定包文件。
场景:执行包文件,加载并调用指定包中的函数
输入:tsl --runpkg=main.tsg --pkg=dat…
Q:matlab通过RemoteCallFunc调用天软函数并进行传参时引发tsl运行报错
A:
现象描述:
如执行下列调用
d=ts.RemoteCAllFunc('GetBKByDate',{'SH000300',today()-693960});…
2025-03-17:新一代客户端升级说明
2025-03-17 升级说明
----------------------------------------
修正:Inpu…
2025-03-17:客户端升级说明
2025-03-17 升级说明
----------------------------------------
修正:Inpu…
2025-3-21新一代客户端升级说明:新增TSLPy3.13
2025-3-21 升级说明
---------------------------------------
新增:python 3.13支持。
说明:新增TS…
2025-03-24:新一代客户端升级说明
2025-03-24 升级说明
----------------------------------------
修订:TMem…
ig_Romberg
范例(t):
[code]
a:=1;
b:=3;
CAllback:="fun1";
ig_Romberg(a,b,CAllBack,v);
return v;
f…
平台模型远程调用客户端函数,访问客户端的资源
  我们在使用平台模型的时候,经常有需要要访问客户端本地资源。打个比方,我们需要导出计算的数据,而等待整个模型的返回特别长,所以可能我们需要边运行,边导出数据。又或者整个的数据结果集非常大,无法单…
SetHttpCallBack
回调函数说明:
进度(progress)回调模式的回调函数定义为:
[table rsplit="$" csplit="#"]$…
SetHttpCallBack
范例(t):
//下载过程中通过进度回调获取实时下载进度,通过头部回调获取头部信息
[code]
sid:=createhttpsession();
[attention]sethttpCAl…
GetHttpContent
范例(t):
下载过程中,一边下载一边导出到本地
[code]
sid:=createhttpsession();
 sethttpCAllback(sid,findfunction("Do…
2025-5-23新一代客户端升级说明:http下载新功能
2025-5-23 升级说明
-------------------------------------------------------------
升级:为…
Q:加密函数解密时,提示:函数xxxx无法转为非加密格式,无法以明文模式存贮?
A:若解密加密函数时,弹出如下提示:
CAl-align:middle;"onclick=see_img("/tsdn/helpdoc/editor/downloadfile.tsl?aid=41850") src="/tsdn/helpdoc/editor/downloadfile.tsl?aid=41850"onmousewheel="return bbimg(this)">

原因:
当前客户端中上传的秘钥与函数加密时使用的秘钥不是同一个,提示无法强行…
不定个数参数...
定义:FunctionName([a,[b,[c......]]]...);
其中,a,b,c,表示已定义的参数,[a…
2025-6-7新一代客户端升级说明
2025-6-7 升级说明
---------------------------------------
[attention]升级:编辑器支持函数省略参数。[…
WorkingCapitalTurnOver
算法:营运资本周转率 = 主营业务收入 / ((期初营运资本+期末营运资本) / 2)
其中,
其中,营运资本 = 流动资产 - 流动负债
主营业务收入来源【股票.合并利润分配表】中‘营业收入’…
DebtToCapitalRatio
算法:债务资本比率(%) = 负债总额 / (负债总额 + 股东权益) * 100%
其中,
负债总额来源【股票.合并资产负债表】中‘负债合计’字段,在不同算法中处理如下:
[htm]<tabl…
Hessian
范例(t):
  return hessian("Hessian.demo",array(3,4));

[img type="t…
Q:不同收费模式基金如何获取本基金总规模?
A:基金因其收费模式不一致存在多个代码,天软分别记录每个代码的份额变动及基金净值数据。
计算单个份额基金代码的总规模参考模型:fundsCAle
[strong]计算该基金所有份额的…
Q:pyTSL模块调天软时,如何实现不打印tsl脚本中的echo信息?
A:有些公用模型中,为了提示进度或其它特殊情况,会有一些echo提示信息打印出来。
而在pyTSL模块调用这类模型时,也会在python打印窗口中进行打印,有时提示太多反而会影响关键信息的查看,此时…
Q:如何筛选出指定日微盘股
A:天软目前没有微盘股相关指数,根据网上对微盘股的主流定义与判断逻辑:
“微盘股 的判定主要通过市值规模划分,在A股市场中通常指市值较小的上市公司股票。具体判定标准…
Bk_WorkingCapitalTurnOver
   算法:营运资本周转率=主营业务收入/((期初营运资本+期末营运资本)/2)范例(t):
[code]
//A股板块在20231231的板块营运资本周转率(算术平均)
  SetS…
Bk_CashFlowEquityRatio
   算法:现金股东权益比率=经营活动产生的现金流量净额/股东权益范例(t):
[code]
//A股板块在20231231的板块现金股东权益比率(算术平均)
  SetSysPara…
Bk_CashFlowInvestingAndFinancingRatio
   算法:现金投资筹资比率=经营活动产生的现金流量净额/投资和筹资活动的现金流出合计范例(t):
[code]
//A股板块在20231231的板块现金投资筹资比率(算术平均)
  …
Bk_CashFlowOperatingProfitRatio
   算法:现金营业利润比率=经营活动产生的现金流量净额/营业利润范例(t):
[code]
//A股板块在20231231的板块现金营业利润比率(加权)
  SetSysParam(…
Bk_CashFlowReinvestmentRatio
   算法:现金再投资比率=经营活动产生的现金流量净额/购建固定资产、无形资产和其他长期资产所支付的现金范例(t):
[code]
//A股板块在20231231的板块现金再投资比率(算术平…
Bk_DebtToCapitalRatio
   算法:债务资本比率(%)=负债总额/(负债总额+股东权益)*100%范例(t):
[code]
//A股板块在20231231的板块债务资本比率(%)(算术平均)
  SetSy…
CashFlowInvestingAndFinancingRatio
算法:现金投资筹资比率=经营活动产生的现金流量净额 / 投资和筹资活动的现金流出
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中…
CashFlowOperatingProfitRatio
算法:现金营业利润比率 = 经营活动产生的现金流量净额 / 营业利润
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下: …
CashFlowEquityRatio
算法:现金股东权益比率 = 经营活动产生的现金流量净额 / 股东权益
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流量净额’字段,在不同算法中处理如下: …
CashFlowReinvestmentRatio
算法:现金再投资比率 = 经营活动产生的现金流量净额 / 购建固定资产、无形资产和其他长期资产所支付的现金
其中,
经营活动产生的现金流量净额来源【股票.合并现金流量表】中‘经营活动产生的现金流…
?.模式
即是对对象引用与数组访问的一个容错处理。
该功能也可以通过系统参数CAlcCTRLWord值为0x100和0x200进行指定,与?.模式区别为,系统参数设置为全局有效,而?.模式只是在具体使用时有效…
2025-08-27:新一代客户端升级说明
2025-8-27 升级说明
------------------------------------------------
[strong]升级:[/stro…
2025-08-27:客户端升级说明
2025-8-27 升级说明
------------------------------------------------
[strong]升级:[/stro…
FindClass
范例(t):
范例01:通过查找类运行类方法
示例:
classA :=FindClass("A");
classA指向了类A,可以通过ClassA调用A的共享方法。但是不能调用实例方法,因为…
Q:天软中dbf文件的导入与导出
A:天软中目前有两套模型支持dbf文件的读与写:
第一套:读:FAQ:Sysdbfread;写:FAQ:Sysdbfwrite
  这套模型除了支持导入导出dbf数据文件外…
中央结算系统持股记录
数据说明
中央结算及交收系统(The Central Clearing And Settlement System,缩写为 CCASS),简称中央结算系统,是一个专…
Stock_PerformanceForecast
范例(t):
[code]
   //获取万科A最近6个报告期的业绩预测数据
  SetSysParam(pn_stock(),"SZ000002");
  …
函数的调用
与PasCAl语法不同的是,无论函数是否有参数,调用均需要使用()。
例如:
[code]
t1:=funCA(100,200,"abc");//多参数函数的调用
t2:=today();//…
不定个数参数...

范例(t):
范例01:实现doSum(a,b,c,…)多个数据求和的功能
[code]
//封装函数
Function doSum(a,...); /…
单元方法参数缺省值支持单元常量
单元中的函数支持参数缺省值定义中使用可以访问的const定义的常量。

例如,有一个单元Unit_DfParamsDemo,分别定义了两个方法funCA与funcB,这两个方法分别使用声明中定义缺…
fund_FinancialIndicators
范例(t):
[code]
   //华夏成长最新的财务指标数据
  return spec(fund_FinancialIndiCAtors(0,4,2,1),"OF000…
fund_BondAllocation
范例(t):
[code]
   //华夏成长债券配置数据
  return spec(fund_BondAlloCAtion(4,2,1),"OF000001")…
funds_BondAllocation
范例(t):
[code]
   //南方基金 债券配置数据
  return funds_BondAlloCAtion("南方",20241231,4,0,1);…
FundHoldComposite_Call
范例(t):
[code]
   //南方基金 基金持仓数据统计数据
  return FundHoldComposite_CAll(getbk("南方"),202…
TSFL_CB_MonteCarlo_Ext01
范例(t):
[code]
BondID:="SZ123207";
Endt:=20250924T;
Return TSFL_CB_MonteCArlo_Ext01(Bo…
策略案例ZQ01-跨品种策略-基于DNS模型曲率预测的活跃券蝶式多头组合
策略原理
预测NS曲率因子的变动产生交易信号
     (1)曲率因子增加:做多长短期
     (2)曲率因子减少:做多中期
[img id…
Q:如何实现股票的T+0回测?
A:国内市场规则本身是不支持部分证券资产(比如:股票,ETF等)的T+0交易的,在天软的回测框架中通过设置部分成员变量可以实现T+0回测,
[strong]目前实现T+0回测需满足以下条件[/str…
Q:天软是否支持对未上市可转债进行估值?
A:支持,目前天软提供多种可转债估值方法,底层都支持对未上市的可转债进行估值

未上市转债处理方法
  在部分实际研究中,存在着部分可转债虽然未上市,但有估…
外部COM对象的创建
TSL内置了COM对象支持,支持通过创建外部com对象来调用外部组件的功能。
TSL中提供一个简单的方法GetOleObject来创建COM对象。

COM的调用…
Q:债券收益率曲线取数代码序列
代码规则:BTS+6位数字,如BTS000001,代表央票,BTS000033,代表国债
[code]
Return getbk('债券收益率曲线');
[/…
动态调用
TSL函数除了支持直接通过函数名方式进行调用外,还支持多种动态方式进行调用。
目前支持的动态调用方式如下:
CAl-align:middle;"onclick=see_img("/tsdn/helpdoc/editor/downloadfile.tsl?aid=44179") src="/tsdn/helpdoc/editor/downloadfile.tsl?aid=44179"onmousewheel="return bbimg(this)">

其中,
1、表达式方式一般多用于技术指…
option_RiskIndicator
范例(t):
   //期权风险指标(交易所盘后公布)数据
  return option_RiskIndiCAtor();
HG_SocialFinancingScale
范例(t):
[code]
   //社会融资规模数据
  return HG_SocialFinancingSCAle(20250101T,20251114T,0);
[/code…
FundBlock_AssetAllocation
范例(t):
[code]
   //资产配置数据
  BKNames:="股票型";
  EndT:=20251118T;
  ShowNumber:…
FundBlock_ManagerScale
范例(t):
[code]
   //基金管理人规模数据
  EndT:=20251118T;
  return FundBlock_ManagerSCAle(EndT,4); …
指标汇总
[htm]<table><tbody><tr><td>
指标分类</td><td>
指标说明</td><td>
接口名称</td></tr><tr><td>
股性指标</td><td>
正股…
CB_YTM_MonteCarloSimulation
范例(t):
 
Return CB_YTM_MonteCArloSimulation('SH110030',20180607T);

//结果:3.59488…
CB_TheoreticalValue_BT
范例(t):
[code]
SetSysParam(PN_Stock(),"SZ128036");
SetSysParam(PN_Date(),IntToDate(2019…
指标汇总
[htm]<table><tbody><tr><td>
指标分类</td><td>
指标说明</td><td>
接口名称</td></tr><tr><td>
分类算法评价指标</td><td>…
Accuracy_Score
范例(t):
范例01:
[code]
y_true := array("CAt", "ant", "CAt", "CAt&…
confusion_matrix
范例(t):
范例01:
[code]
//指定sample_weight
  y_true := array("CAt", "ant", &quo…
confusion_matrix2
范例(t):
[code]
//指定sample_weight
  y_true := array("CAt", "ant", "CAt&q…
recall_score
范例(t):
范例01:
[code]
   //只给y_true和y_pred,其他默认
   y_true := Array(0, 1, 2, 0, 1, 2);
   …
precision_recall_curve
范例(t):
范例01:
[code]
   //只给y_true和y_pred,只有二分类时可以允许
   y_true := array(0,1,0,0);
   y_…
基金市场因子
[htm]指标汇总 <br/><table><tbody><tr><td>
分类</td><td>
模型名称</td><td>
含义</td></tr><tr><td>
持股集中度</td><…
Fund_MT_AssetAllocation
范例(t):获取2021中报指定基金池资产配置因子
[code]
  Rdate := 20210630;
  fundArr := array("OF000001",&…
Fund_MT_StockAllocation
范例(t):获取2021中报指定基金池行业配置因子
[code]
  Rdate := 20210630;
  fundArr := array("OF000001",&…
基金公司因子
[htm]指标汇总 <br/><table><tbody><tr><td>
分类</td><td>
模型名称</td><td>
含义</td></tr><tr><td>
基本信息</td><t…
funds_rpt_TotalScales
范例(t):
[code]   funds := Array("OF000001","OF000003","OF000004"); …
funds_rpt_DistributionOfScales
范例(t):
[code]    funds := Array("OF000001","OF000003","OF000004")…
Index_TA_MASTG_GMMAStg
范例(t):获取沪深300在20230510顾比均线强弱指标
[code]
sp_s(pn_stock(),"SH000300");
sp_s(pn_date(),202…
Index_TA_ChipDistribution
范例(t):获取沪深300在20230206筹码分布指标
[code]
  IndexID := "SH000300";
  EndT := 20230206t;
Stocks_MD_RestrRelease
范例(t):获取股票池SZ000001、SZ000002和SH600000在2010-03-01~2022-03-31限售股解禁指标
[code]
  StocksArr := array(&…
Stocks_MD_RZRQTradeAct
范例(t):获取股票池SZ000001、SZ000002和SH600000在2022-03-31两融活跃度相关指标
[code]
  StocksArr := array("SZ00…
Stocks_MD_BT
范例(t):获取股票池SZ000001、SZ000002和SH600000在2010-03-01~2022-03-31大宗交易指标
[code]
  StocksArr := array(&q…
Stocks_MD_BuyandSellByInsider
范例(t):获取股票池SZ000001、SZ000002和SH600000在2010-03-01~2022-03-31董监高增减持指标
[code]
  StocksArr := array(…
Stocks_AssetCentrality
范例(t):获取沪深300、中证500、中证1000在2022-01-01~2022-12-31区间各指数的资产集中度
[code]
  sp_s(PN_Cycle(),cy_day()); …
资金面因子
[htm] 指标汇总 <br/><table><tbody><tr><td>
分类</td><td>
模型名</td><td>
功能</td><td>
备注</td></tr><tr><td>…
Fund_MT_AAllocaton
范例(t):获取2021一季报所有主动股混型基金池A股配置指标
[code]
  Rdate := 20210331;
  return Fund_MT_AAlloCAton(Rdate);…
Index_FD_RZRQ
范例(t):获取申万农林牧渔行业指数SW801010在2022-03-24杠杆资金相关指标
[code]
  endt := 20220324t;
  indexid := "S…
Stocks_FD_RZRQ
范例(t):获取股票池SZ000001、SZ000002和SH600000在2022-03-31杠杆资金相关指标
[code]
  StocksArr := array("SZ000…
Index_FD_NorthofHSG
范例(t):获取申万农林牧渔行业指数SW801010在2022-03-24北上标的持股相关指标
[code]
  endt := 20220324t;
  indexid := "SW80…
Stocks_FD_NorthofHSG
范例(t):获取股票池SZ000001、SZ000002和SH600000在2022-03-31北上标的持股相关指标
[code]
  StocksArr := array("SZ0…
Index_FD_EquityFinancing
范例(t):获取申万有色金属行业指数SW801050在2022-01-01~2022-04-01 一级市场股权募集资金指标
[code]
  begt := 20220101t;
  en…
Stocks_FD_EquityFinancing
范例(t):获取股票池SZ301365和SZ3011269在2022-07-01~2022-12-31 一级市场股权募集资金指标
[code]
  StocksArr := Array(&qu…
接口汇总
表4-1:天软国债期货基本指标接口汇总
[htm]<table><tbody><tr><td>
分类</td><td>
接口定义</td><td>
说明</td></tr><tr><td>
BondFutureBasicindicators
范例(t):
[code]
Setsysparam(pn_Stock(),"TF1809");
Endt:=20180819T;
return BondFutureBasi…
BondFutureBasicindicators2
范例(t):
TF1809在20180819日对应的国债指标信息
[code]
Setsysparam(pn_Stock(),"TF1809");
Endt:=201808…
Q:如何利用天软回测框架实现自己外部数据组合的再平衡?
A:目前天软回测框架已支持用户通过传入外部证券及对应区间每个交易日价格的数据进行回测。
[attention]用户需要提前准备好组合数据,数据包括外部证券编码(区别于天软代码),截止日(每个交易日)…
模型汇总
[htm]<table><tbody><tr><td>
函数名</td><td>
含义</td></tr><tr><td>
<a href="http://www.tinysoft.c…
Stock_BF_Piotroski_F_Score
范例(t):计算万科A(SZ000002)在2020年报的Piotroski F-Score得分与中间小类因子值
[code]
oV:=BackUpSystemParameters2();
se…
Stock_BF_STPredict_01
范例(t):
Return Stock_BF_STPredict_01(20201231);

//结果
[img type="tslxml&quot…
Stock_BF_STPredict_02
范例(t):
Return Stock_BF_STPredict_02(20201231);

//结果
[img type="tslxml&quot…
模型汇总
[htm]<table><tbody><tr><td>
分类</td><td>
函数名</td><td>
说明</td></tr><tr><td>
BAW定价</td><td>
<a hre…
Black_Scholes_America
范例(t):
[code]
//根据BAW模型计算美式期权定价
  return Black_Scholes_AmeriCA(3,0,4986,5300,1.5,12.72,0.028,1.…
Black_Scholes_America_Price
范例(t):
[code]
//根据BAW模型计算美式期权定价
  return Black_Scholes_AmeriCA_Price(3,0,4986,5300,1.5,12.72,0.0…
Black_Scholes_America_Delta
范例(t):
Return Black_Scholes_AmeriCA_Delta(3,0,4986,5300,1.5,12.72,0.028,1.5);
Black_Scholes_America_Gamma
范例(t):
[code]
//根据BAW模型计算美式期权定价Gamma
  return Black_Scholes_AmeriCA_Gamma(3,0,4986,5300,1.5,12.7…
Black_Scholes_America_Theta
范例(t):
[code]
//根据BAW模型计算美式期权定价Theta
  return Black_Scholes_AmeriCA_Theta(3,0,4986,5300,1.5,12.7…
Black_Scholes_America_Vega
范例(t):
 [code]
//根据BAW模型计算美式期权定价Vega
  return Black_Scholes_AmeriCA_Vega(3,0,4986,5300,1.5,12.…
Black_Scholes_America_Rho
范例(t):
  [code]
//根据BAW模型计算美式期权定价Rho
  return Black_Scholes_AmeriCA_Rho(3,0,4986,5300,1.5,12.7…
Black_Scholes_America_IV
范例(t):
[code]
//根据BAW模型计算美式期权隐含波动率
  return Black_Scholes_AmeriCA_IV(1,0,4986,5300,1.5,0.07,0.0…
模型汇总
[htm]<table><tbody><tr><td>
接口分类</td><td>
接口名称</td><td>
接口定义</td></tr><tr><td>
成交持仓</td><td>
成交…
Options_IVCal_Detail
范例(t):
[code]
OptionArr := array("OP10004405","OP10004406","OP10004407&qu…
Options_SkewCal_Detail
范例(t):
[code]
OptionArr := array("OP10004405","OP10004406","OP10004407&qu…
模型汇总
[htm]<table><tbody><tr><td>
接口分类</td><td>
接口名称</td><td>
接口定义</td></tr><tr><td>
成交持仓</td><td>
成交…
Q:pyTSL中如何实现在天软中取数后导出到指定的Excel的指定Sheet中(Exportfile2功能)
A:由于Exportfile2是一个本地交互的功能,其实现依赖天软本地函数包,而pyTSL是不依赖天软客户端相关模块的,与天软交互过程是纯与天软服务器交互的实现。
[attention]因此,在使用…
消息对话框的返回字
[table rsplit="$" csplit="#"]函数名#别名#备注
$idAbort#表明用户选中了Abort按钮#
$idCAncel#表明用户选中了CA
消息对话框的类型控制字
[table rsplit="$" csplit="#"]函数名#别名#备注
$mb_AbortRetryIgnore#按钮显示三个:中止(Abort),重试(Retry),忽略(Ignore)#
$[a…
2.7.1横比、纵比、环比
[table rsplit="$" csplit="#"]函数名#别名#备注
$Stocks_ZBCompare#纵比|Portrait Contrast# …
5.02主要财务数据
[table rsplit="$" csplit="#"]函数名#别名#备注
$Funds_HxCompare#横比|LandsCApe Contrast#…
Pop3对象属性
[table rsplit="$" csplit="#"]函数名#别名#备注
$AuthType#认证类型#
$Host#主机名称或地址#
$[a id=17…
TWebRequest的属性
[table rsplit="$" csplit="#"]函数名#别名#备注
$Accept#客户端接收的内容#
$Authorization#头部的认证信息#
$[a i…
Q:普通股获利率(股息率)模型算法说明汇总
Q:股息率是上市公司派发的总现金股利与最新总市值的比率,常见算法为分红金额/市值或每股分红/股价。
在天软中有以下计算模型:
[table rsplit="$" csplit="#"]模型#说明#…
SetHttpAcceptencodingon
范例(t):
[code]
url:="http://www.baidu.com";
sid:=Createhttpsession();
sethttpacceptencodingon(si…
SetHttpAcceptencoding
范例(t):
[code]
url:="http://www.baidu.com";
sid:=Createhttpsession();
SetHttpAcceptencoding(sid,…
Q:如何提高191因子的计算效率?
A:利用[a href=https://www.tinysoft.com.cn:9443/tsdn/helpdoc/display.tsl?id=15084]天软techCAchedo技术指标缓存[/…
Q:TSL语言中通过TS-OPI方式调用天软服务器模型示例
A:本页中主要展示开发者用户通过OPI接口调用天软函数的具体实现,即使用URI:/Service/CAll/funcName。
下面示例中,主要展示调用天软范例函数(公用函数):GetTimeSer…
Q:python中通过TS-OPI方式调用天软函数
A:本页中主要展示开发者用户在python中通过OPI接口调用天软函数的具体实现,即使用URI:/Service/CAll/funcName。
下面示例中,主要展示调用天软范例函数(公用函数):Ge…