Squashed 'docs/standards/playbook/' changes from e504a68..b529012

b529012  test(tests): avoid hardcoded missing path
07583c8 🐛 fix(tests): make doc link check awk-portable
6244aa3 🔧 chore(ci): relax gitattributes check
31dd0c5 🐛 fix(scripts): require existing project root
15d4d63 🔧 chore(ci): install python3-pip
90c6313 🔧 chore(ci): run tests in a single job
d84eff0 🔧 chore(ci): make actions base url configurable
395598d 🔧 chore(ci): fix yaml step names
4ae2733  feat(sync_standards): auto-detect existing languages
e97fb00  feat(sync_standards): default gitattributes to append
da0ef2b  test: add automated tests and ci workflow
99bef30 🎨 style(markdown): format all markdown files with prettier
7e96bc8 ♻️ refactor(tsl): split function.md into 44 modular files
0d6b2a0 📝 docs(readme): add quick decision table and TL;DR for distribution methods
3b2188f 🎨 style(markdown): format markdown files with prettier
41fc43b 📝 docs(tsl): document {Unit.}Type source annotation
3dceaf7 📝 docs(tsl): clarify tsf-only top-level rules and type annotations
3a63829 📝 docs(skills): add create-plan skill
f02a707 🐛 fix(scripts): escape markdown backticks in vendor_playbook
064aa92 🐛 fix(scripts): correct bat scripts
4881feb 🔧 chore(gitattributes): enforce crlf for bat files
1fa3e2a 🐛 fix(scripts): escape parentheses in sync_standards output
3958cad 📝 docs(vendor_playbook): mention ci templates
9d059cf  feat(templates): add gitea ci example
a52bb24 📝 docs(codex_skills): normalize markdown formatting
cc8ad4c 📝 docs(skills): slim commit-message
2a98e15 🐛 fix(skills): quote YAML descriptions
8f78d22 🐛 fix(sync_standards): generate minimal AGENTS.md
5547665  feat(skills): add commit-message suggestion skill
3fe8bd7 🔧 chore(sync_standards): create AGENTS.md on sync
283d311  feat(playbook): add syntax book and codex skills tooling
5b97ed5 📝 docs(tsl): clarify syntax references
27e0700  feat(skills): add pdf/docx/pptx/xlsx wrapper workflows
5551363  feat(skills): add debugging and bulk refactor workflows
1d4f548  feat(skills): add built-in workflow skills
c0895dd 📝 docs(skills): add anthropics document-skills integration
cf9f80d 🔧 chore(playbook): add Claude Code skills guide and align python templates

git-subtree-dir: docs/standards/playbook
git-subtree-split: b529012c59c5d67c3073884d7b617763647417fd
This commit is contained in:
csh
2026-01-08 15:56:36 +08:00
parent eada742d75
commit ac794a6a70
113 changed files with 254751 additions and 176 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,49 @@
#### 数据提取
##### 内容
- GetDataByMd
- GetDataByMd2
- StockIndustryLowerArr
##### GetDataByMd
范例
```text
// "MA110C2375"在20210322日的开仓手续费额
SetSysParam(PN_Date(),20210322T);
return GetDataByMd("MA110C2375.SP",1);
//结果:0.5
```
##### GetDataByMd2
范例
```text
// "MA110C2375"在20210322日的开仓手续费额
SetSysParam(PN_Date(),20210322T);
return GetDataByMd2("MA110C2375.SP",1);
//结果:0.5
```
##### StockIndustryLowerArr
范例
```text
// 在20201207的申万一级行业列表
return StockIndustryLowerArr("SWHY110000",20201207T);
```
@@ -0,0 +1,17 @@
#### 评价分析算法函数
##### 内容
- Hurst
##### Hurst
范例
```text
data:=spec(FundNAWZFQk(20240308t,20240831t,cy_day(),0,0), "OF000001");
t := sselect ["净值收益率(%)"] from data end;
return Hurst(t);// 0.47
```
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,115 @@
#### 外汇
##### 内容
- 汇率
##### 汇率
###### 内容
- ForExrateMidPrice
- ForExrateMidPriceBegTEndT
- GetCurrencyCodeBySecurityCode
- ForExRateZf
###### ForExrateMidPrice
范例
```text
//2020年4月20日美元/人民币的中间价
SetSysParam(PN_Stock(),'FXUSDCNY');
return ForExrateMidPrice(20200420T);
//返回7.0657
```
###### ForExrateMidPriceBegTEndT
范例
```text
//2020年4月20日到4月30日美元/人民币的中间价数据
SetSysParam(PN_Stock(),'FXUSDCNY');
begt:=20200420T;
endt:=20200430T;
return ForExrateMidPriceBegTEndT(begt,endt);
```
//返回:
<table><tbody><tr><td>
日期</td><td>
代码</td><td>
中间价</td></tr><tr><td>
20200420</td><td>
FXUSDCNY</td><td>
7.0657</td></tr><tr><td>
20200421</td><td>
FXUSDCNY</td><td>
7.0752</td></tr><tr><td>
20200422</td><td>
FXUSDCNY</td><td>
7.0903</td></tr><tr><td>
20200423</td><td>
FXUSDCNY</td><td>
7.0887</td></tr><tr><td>
20200424</td><td>
FXUSDCNY</td><td>
7.0803</td></tr><tr><td>
20200427</td><td>
FXUSDCNY</td><td>
7.0703</td></tr><tr><td>
20200428</td><td>
FXUSDCNY</td><td>
7.071</td></tr><tr><td>
20200429</td><td>
FXUSDCNY</td><td>
7.0704</td></tr><tr><td>
20200430</td><td>
FXUSDCNY</td><td>
7.0571</td></tr></tbody></table>
###### GetCurrencyCodeBySecurityCode
范例
```text
//港股长和00001对应的货币对代码
return GetCurrencyCodeBySecurityCode('HK00001');
//返回 HKD
```
###### ForExRateZf
算法
(V2-V1)/V1
其中V2是货币对在endt的中间价,V1是begt(需要大于首个交易日,否则begt=首个交易日)的中间价。范例
```text
//2020年4月20日到4月30日美元/人民币的收益率
SetSysParam(PN_Stock(),'FXUSDCNY');
begt:=20200420T;
endt:=20200430T;
return ForExRateZf(BegT,EndT);
//返回 -0.20786786956644
```
@@ -0,0 +1,70 @@
#### 框架构造Tools
##### 内容
- 数据分析
- 参数调整
##### 数据分析
###### 内容
- 树形表格遍历
###### 树形表格遍历
####### 内容
- GetTreeSumByClassPath
####### GetTreeSumByClassPath
范例
```text
Data:=array(
("名称":"风格收益(%)","取值":1.2,"分类路径":"总收益(%)"),
("名称":"Alpha(%)","取值":0.6,"分类路径":"总收益(%)\\选股Alpha(%)"),
("名称":"残差(%)","取值":0.2,"分类路径":"总收益(%)\\选股Alpha(%)"));
NodeName:="名称";
PathName:="分类路径";
SumName:="取值";
IfLever0:=0;
IfTreeID:=1;
return GetTreeSumByClassPath(Data,NodeName,PathName,SumName,IfLever0,IfTreeID);
```
##### 参数调整
###### 内容
- pmstand_array
###### pmstand_array
范例
范例1
```text
V:=2;
return pmstand_array(v);//array(2);
```
范例2
```text
V:="abc";
return pmstand_array(v);//array("abc");
```
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,301 @@
#### 网格池
##### 内容
- MultiProc_unit
##### MultiProc_unit
功能描述:封装网格常用操作
接口汇总:
<table><tbody><tr><td>
所属分类</td><td>
接口名称</td><td>
说明</td><td>
备注</td></tr><tr><td>
总接口</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=Fastmap" target="_blank">fastmap</a></td><td>
调用网格执行函数</td><td>
</td></tr><tr><td>
日志</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=GridLogo" target="_blank">gridLogo</a></td><td>
网格写日志</td><td>
</td></tr><tr><td>
等分划分方式</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=SplitDiv" target="_blank">splitDiv</a></td><td>
度等分划分</td><td>
参数为度(int</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=SplitDiv2" target="_blank">splitDiv2</a></td><td>
长度等分划分</td><td>
</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=DeleteTablebyReg" target="_blank">SplitArrayQK</a></td><td>
数组等分划分</td><td>
参数为数组(array</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=SplitArrayQK2" target="_blank">SplitArrayQK2</a></td><td>
数组等分划分</td><td>
</td></tr><tr><td>
用户数据相关</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=DeleteTablebyReg" target="_blank">DeleteTablebyReg</a></td><td>
批量删除用户数据</td><td>
正则匹配</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=GettablebyReg" target="_blank">GettablebyReg</a></td><td>
获取用户数据</td><td>
正则匹配</td></tr><tr><td>
</td><td>
<a href="http://www.tinysoft.com.cn/tsdn/helpdoc/SearchContent.tsl?KeyWord=TryInsetTable" target="_blank">TryInsetTable</a></td><td>
添加用户数据</td><td>
正则匹配</td></tr></tbody></table>
网格使用经验:
1、网格嵌套(网格模型再去调用开网格),容易有效率问题
2、耗时小于0.2s~1s的函数,不建议用网格,因为此时网格调度耗时将会很耗时
3、在测试网格时使用Timeit 测试比较耗时的网络节点,不同网络节点耗时差异可以为0.02s
VS 0.4s
通过设置fastmap的sysparm参数,指定运算网格
###### 内容
- Fastmap
- 范例
- 工具函数
- 中间函数
###### Fastmap
- Fastmap
- 范例
- 工具函数
- 中间函数
###### 范例
####### 内容
- 提取50的5日涨幅
- 提取50的历史涨幅矩阵
####### 提取50的5日涨幅
```text
//**********************参数设置***********************//
N := 5;
endt := today();
stocks := getbk("上证50");
//**********************网格模版*********************//
gridNo := 3; //网格个数,0:表示只使用本地服务器
func := FunctionName() + '.tsubbystocks'; //网格函数
parms := array(N,endt,stocks);
parmstype := array(0, 0, 1);
return unit(MultiProc_unit).fastmap(gridNo,func,parms,parmstype);
//***********************子函数**********************//
function tsubbystocks(N, endt,stocks);
begin
sp_s(pn_date(),endt);
i := 0;
ret := array();
for _,stk in stocks do
begin
sp_s(PN_Stock(),stk);
for j := 0 to N do
begin
ret[I,'截止日'] := ref(sp_time(),j);
ret[i,'代码'] := stk;
ret[i,'名称'] := stockname(stk);
ret[I,'涨幅(%)'] := ref(stockzf3(),j);
i++;
end
end;
return ret;
end;
```
//返回
####### 提取50的历史涨幅矩阵
```text
//**********************参数设置***********************//
N := 5;
endt := today();
stocks := getbk("上证50");
//**********************网格模版*********************//
//**********************网格模版*********************//
gridNo := 3; //网格个数,0:表示只使用本地服务器
func := FunctionName() + '.tsubbystock'; //网格函数
parms := array(N,endt,stocks);
parmstype := array(0, 0, 2);
return unit(MultiProc_unit).fastmap(gridNo,func,parms,parmstype);
end;
function tsubbystock(N, endt,stock);
begin
sp_s(PN_Stock(),stock);
sp_s(pn_date(),endt);
ret := array(
"代码":stock,
"名称":stockname(stock),
"截止日":endt,
);
for i := 1 to N do
ret["T_" $ i] := ref(stockzf3(),i);
return ret;
end;
```
###### 工具函数
####### 内容
- GridLogo
####### GridLogo
范例
```text
//在C:\\temp\\Gridlog默认路径下写日志文件
Return unit(MultiProc_unit).gridLogo('测试');
```
###### 中间函数
####### 内容
- SplitDiv
- SplitDiv2
- SplitArrayQK
- SplitArrayQK2
- DeleteTablebyReg
- GettablebyReg
- TryInsetTable
####### SplitDiv
范例
```text
Return unit(MultiProc_unit).splitDiv(14,5); // array(0,2,4,6,8,14)
```
####### SplitDiv2
范例
```text
Return unit(MultiProc_unit).splitDiv2(14,5); // array(0,3,6,9,12,14)
```
####### SplitArrayQK
范例
```text
arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(MultiProc_unit).SplitArrayQK(arr,5); //array((2,1),(3,4),(9,5),(7,8),(9,15))
```
####### SplitArrayQK2
范例
```text
arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(MultiProc_unit).SplitArrayQK2(arr,5);
// array((2,3),(4,5),(7,9),(10,12),(13,15))
```
####### DeleteTablebyReg
范例
```text
Return unit(MultiProc_unit).DeleteTablebyReg('test');
```
####### GettablebyReg
范例
```text
Return unit(MultiProc_unit).GettablebyReg('test');
```
####### TryInsetTable
范例
```text
Return unit(MultiProc_unit).TryInsetTable('test',array(1,2,3));
```
@@ -0,0 +1,98 @@
# 金融函数
> 本文档从 [TSL 函数参考](../index.md) 拆分而来
金融函数涵盖股票、行情、技术分析、财务等金融专用功能,是量化分析和金融建模的核心函数库。
## 目录
### 行情数据
- **[股票](./stock.md)** (20,893行) - 股票代码、名称、上市信息、交易状态等
- **[行情](./market_data.md)**
(11,748行) - 实时行情、历史行情、K线数据、成交量价
- **[指数](./index_data.md)** (2,237行) - 指数数据、指数成分股、指数计算
### 技术分析
- **[技术分析](./technical_analysis.md)** (11,373行)
- 均线、MACD、KDJ、RSI等技术指标
- 形态识别、趋势判断、支撑阻力
### 资产类别
- **[债券](./bond.md)** (2,827行) - 债券信息、收益率曲线、债券估值
- **[期权](./option.md)** (1,573行) - 期权定价、希腊字母、隐含波动率
- **[基金](./fund.md)** (10,681行) - 基金净值、持仓、业绩、基金公司
- **[期货](./futures.md)** (1,248行) - 期货合约、持仓量、基差
- **[权证](./warrant.md)** (125行) - 权证信息、行权价、到期日
- **[外汇](./forex.md)** (116行) - 汇率、外汇行情
### 财务与基本面
- **[财务分析](./financial_analysis.md)** (46,778行) ⚠️ **最大文件**
- 资产负债表、利润表、现金流量表
- 财务比率、财务指标、财务预测
- **[基本面](./fundamentals.md)** (6,139行)
- 公司基本信息、行业分类、股东结构
- 分红、配股、增发等公司行为
- **[宏观](./macro.md)** (789行) - 宏观经济数据、GDP、CPI、利率
### 板块与分类
- **[板块](./sector.md)** (24,819行) ⚠️ **大文件**
- 行业板块、概念板块、地域板块
- 板块涨跌、板块轮动、板块成分股
### 量化分析
- **[金融工程](./financial_engineering.md)** (6,564行)
- 风险模型、因子模型、组合优化
- 回测框架、绩效归因
- **[组合评价](./portfolio_evaluation.md)** (3,656行)
- 夏普比率、最大回撤、收益波动
- 组合绩效评估、风险调整收益
- **[天软因子](./ts_factor.md)** (186行) - 天软自定义因子库
### 工具与框架
- **[框架构造Tools](./framework_tools.md)** (71行) - 策略框架构建工具
- **[网格池](./grid_pool.md)** (301行) - 网格交易、池化管理
- **[日志](./logging.md)** (53行) - 交易日志、事件日志
- **[数据提取](./data_extraction.md)** (50行) - 批量数据提取工具
- **[评价分析算法函数](./evaluation_algorithms.md)** (18行) - 评价算法接口
## 快速索引
### 按应用场景
| 应用场景 | 推荐文件 | 说明 |
| ---------- | ------------------------------------------------------------------------------ | ------------------ |
| 选股策略 | [股票](./stock.md) + [技术分析](./technical_analysis.md) | 基于技术指标的选股 |
| 基本面分析 | [财务分析](./financial_analysis.md) + [基本面](./fundamentals.md) | 财务数据+公司信息 |
| 行业轮动 | [板块](./sector.md) + [行情](./market_data.md) | 板块强弱、行业配置 |
| 量化回测 | [金融工程](./financial_engineering.md) + [组合评价](./portfolio_evaluation.md) | 回测框架+绩效评估 |
| 资产配置 | [基金](./fund.md) + [债券](./bond.md) | 多资产组合配置 |
### 超大文件提示
以下两个文件内容较多,建议使用全局搜索定位具体函数:
- ⚠️ **财务分析** (46,778行) - 包含大量财务报表字段和计算函数
- ⚠️ **板块** (24,819行) - 包含众多板块分类和成分股函数
## 使用提示
1. **实时行情**:使用 [行情](./market_data.md) 获取最新价格、成交量等
2. **历史数据**:使用 [股票](./stock.md) + [行情](./market_data.md) 获取历史K线
3. **财务数据**[财务分析](./financial_analysis.md) 包含完整的财务报表访问函数
4. **技术指标**[技术分析](./technical_analysis.md) 包含常用技术指标计算函数
5. **搜索建议**:在当前目录(`function/financial/`)使用全局搜索查找特定函数
---
**返回**: [函数参考首页](../index.md)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,52 @@
#### 日志
##### 内容
- Logger_debug
- logger_info
- logger_warning
- logger_info2
##### Logger_debug
范例
```text
logger_debug(1234);
return 1;
```
//结果:
##### logger_info
范例
```text
logger_info("当前执行第100个");
return 1;
```
//结果:
##### logger_warning
范例
```text
logger_warning("当前执行第100个");
return 1;
```
//结果:
##### logger_info2
范例
```text
logger_info2("异常","类型不能大于",3);
```
@@ -0,0 +1,789 @@
#### 宏观
##### 内容
- 基本信息
- 财政支出
- 国家银行存款\_贷款
- 货币供应
- 金融机构存款\_贷款
- 居民消费价格指数
- 商品零售价格指数
- 生产资料价格指数
- 银证转账
- 行业宏观
- 人民币存贷款利率
##### 基本信息
###### 内容
- CU_ChinaCode
###### CU_ChinaCode
范例
```text
return CU_ChinaCode();
//结果:SS.000001
```
##### 财政支出
###### 内容
- HG_CZSZ1_1
- HG_CZSZ1_2
- HG_CZSZ1_3
- HG_CZSZ1_4
- HG_CZSZ1_5
- HG_CZSZ2_1
- HG_CZSZ2_2
- HG_CZSZ2_3
- HG_CZSZ2_4
- HG_CZSZ2_5
###### HG_CZSZ1_1
###### HG_CZSZ1_2
###### HG_CZSZ1_3
###### HG_CZSZ1_4
###### HG_CZSZ1_5
###### HG_CZSZ2_1
###### HG_CZSZ2_2
###### HG_CZSZ2_3
###### HG_CZSZ2_4
###### HG_CZSZ2_5
##### 国家银行存款\_贷款
###### 内容
- HG_GJYHCDK1_1
- HG_GJYHCDK1_2
- HG_GJYHCDK1_3
- HG_GJYHCDK1_4
- HG_GJYHCDK1_5
- HG_GJYHCDK1_6
- HG_GJYHCDK1_7
- HG_GJYHCDK1_8
- HG_GJYHCDK1_9
- HG_GJYHCDK2_1
- HG_GJYHCDK2_2
- HG_GJYHCDK2_4
- HG_GJYHCDK2_3
- HG_GJYHCDK2_5
- HG_GJYHCDK2_6
- HG_GJYHCDK2_7
- HG_GJYHCDK2_8
- HG_GJYHCDK2_9
###### HG_GJYHCDK1_1
###### HG_GJYHCDK1_2
###### HG_GJYHCDK1_3
###### HG_GJYHCDK1_4
###### HG_GJYHCDK1_5
###### HG_GJYHCDK1_6
###### HG_GJYHCDK1_7
###### HG_GJYHCDK1_8
###### HG_GJYHCDK1_9
###### HG_GJYHCDK2_1
###### HG_GJYHCDK2_2
###### HG_GJYHCDK2_4
###### HG_GJYHCDK2_3
###### HG_GJYHCDK2_5
###### HG_GJYHCDK2_6
###### HG_GJYHCDK2_7
###### HG_GJYHCDK2_8
###### HG_GJYHCDK2_9
##### 货币供应
###### 内容
- HG_HB1_1
- HG_HB1_2
- HG_HB1_3
- HG_HB1_4
- HG_HB2_1
- HG_HB2_2
- HG_HB2_3
- HG_HB2_4
###### HG_HB1_1
###### HG_HB1_2
###### HG_HB1_3
###### HG_HB1_4
###### HG_HB2_1
###### HG_HB2_2
###### HG_HB2_3
###### HG_HB2_4
##### 金融机构存款\_贷款
###### 内容
- HG_JRJGCDK1_1
- HG_JRJGCDK1_2
- HG_JRJGCDK1_3
- HG_JRJGCDK1_4
- HG_JRJGCDK1_6
- HG_JRJGCDK1_5
- HG_JRJGCDK2_1
- HG_JRJGCDK2_2
- HG_JRJGCDK2_3
- HG_JRJGCDK2_4
- HG_JRJGCDK2_5
- HG_JRJGCDK2_6
###### HG_JRJGCDK1_1
###### HG_JRJGCDK1_2
###### HG_JRJGCDK1_3
###### HG_JRJGCDK1_4
###### HG_JRJGCDK1_6
###### HG_JRJGCDK1_5
###### HG_JRJGCDK2_1
###### HG_JRJGCDK2_2
###### HG_JRJGCDK2_3
###### HG_JRJGCDK2_4
###### HG_JRJGCDK2_5
###### HG_JRJGCDK2_6
##### 居民消费价格指数
###### 内容
- HG_JMXFJGZS1_1
- HG_JMXFJGZS1_2
- HG_JMXFJGZS1_3
- HG_JMXFJGZS2_1
- HG_JMXFJGZS2_2
- HG_JMXFJGZS2_3
###### HG_JMXFJGZS1_1
###### HG_JMXFJGZS1_2
###### HG_JMXFJGZS1_3
###### HG_JMXFJGZS2_1
###### HG_JMXFJGZS2_2
###### HG_JMXFJGZS2_3
##### 商品零售价格指数
###### 内容
- HG_SPLSJGZS1_1
- HG_SPLSJGZS1_2
- HG_SPLSJGZS1_3
- HG_SPLSJGZS2_1
- HG_SPLSJGZS2_2
- HG_SPLSJGZS2_3
###### HG_SPLSJGZS1_1
###### HG_SPLSJGZS1_2
###### HG_SPLSJGZS1_3
###### HG_SPLSJGZS2_1
###### HG_SPLSJGZS2_2
###### HG_SPLSJGZS2_3
##### 生产资料价格指数
###### 内容
- HG_SCZLJGZS1_1
- HG_SCZLJGZS1_2
- HG_SCZLJGZS1_3
- HG_SCZLJGZS2_1
- HG_SCZLJGZS2_2
- HG_SCZLJGZS2_3
###### HG_SCZLJGZS1_1
###### HG_SCZLJGZS1_2
###### HG_SCZLJGZS1_3
###### HG_SCZLJGZS2_1
###### HG_SCZLJGZS2_2
###### HG_SCZLJGZS2_3
##### 银证转账
###### 内容
- HG_StockSettlementBalance
- HG_StockSettlementBalanceByEndT
- HG_StockPeriodBalance
- HG_OptionMarginBalanceByEndT
- HG_MoneyRollIn
- HG_OptionMarginBalance
- HG_StockGuaranteeBalanceByEndT
- HG_MoneyNetRollIn
- HG_MoneyRollOut
- HG_StockGuaranteeBalance
###### HG_StockSettlementBalance
范例
```text
//返回2017年1月1日到2018年10月8日的区间证券交易结算资金余额
setsysparam(pn_stock(),"HG000001");
Return HG_StockSettlementBalance(20170101T,20181008T);
//结果:
```
###### HG_StockSettlementBalanceByEndT
范例
```text
//返回2018年10月8日的证券交易结算资金余额
setsysparam(pn_stock(),"HG000001");
Return HG_StockSettlementBalanceByEndT(20181008T);
//结果:1220500000000
```
###### HG_StockPeriodBalance
算法
从证券及股票期权投资者资金余额及变动(813)表中获取三个表:
表1:满足条件:‘开始日’>=begt,‘截止日’<=endt且‘资金类别’为‘证券交易结算资金’的‘截止日’和‘证券交易结算资金余额’数据。
表2:满足条件:‘开始日’>=begt,‘截止日’<=endt且‘资金类别’为‘融资融券担保资金’的‘截止日’和‘融资融券担保资金余额’数据。
表3:满足条件:
‘开始日’>=begt,‘截止日’<=endt且‘资金类别’为‘股票期权保证金’的‘截止日’和‘股票期权保证金余额’数据。
返回三个表中‘截止日’相同的数据。范例
```text
//返回2017年1月1日到2018年10月8日的区间证券交易结算资金、融资融券担保资金、股票期权保证金余额情况
setsysparam(pn_stock(),"HG000001");
Return HG_StockPeriodBalance(20170101T,20181008T);
//结果:
```
###### HG_OptionMarginBalanceByEndT
范例
```text
//返回2018年10月8日的股票期权保证金余额
setsysparam(pn_stock(),"HG000001");
Return HG_OptionMarginBalanceByEndT(20181008T);
//结果:5974000000
```
###### HG_MoneyRollIn
范例
```text
//返回2017年1月1日到2018年10月8日的区间资金转入额
setsysparam(pn_stock(),"HG000001");
Return HG_MoneyRollIn(20170101T,20181008T);
//结果:11452969000000
```
###### HG_OptionMarginBalance
范例
```text
//返回2017年1月1日到2018年10月8日的区间股票期权保证金余额
setsysparam(pn_stock(),"HG000001");
Return HG_OptionMarginBalance(20170101T,20181008T);
//结果:
```
###### HG_StockGuaranteeBalanceByEndT
范例
```text
//返回2018年10月8日的融资融券担保资金余额
setsysparam(pn_stock(),"HG000001");
Return HG_StockGuaranteeBalanceByEndT(20181008T);
//结果:147600000000
```
###### HG_MoneyNetRollIn
范例
```text
//返回2017年1月1日到2018年10月8日的区间资金净转入额
Return HG_MoneyNetRollIn(20170101T,20181008T);
//结果:-248651000000
```
###### HG_MoneyRollOut
范例
```text
//返回2017年1月1日到2018年10月8日的区间资金转出额
Return HG_MoneyRollOut(20170101T,20181008T);
//结果:11701620000000
```
###### HG_StockGuaranteeBalance
范例
```text
//返回2017年1月1日到2018年10月8日的区间融资融券担保资金余额列表。
Return HG_StockGuaranteeBalance(20170101T,20181008T);
```
##### 行业宏观
###### 内容
- 偿债能力
- 成长能力
- 行情
- 产品产量
- 盈利能力
###### 偿债能力
####### 内容
- HY_42
- HY_43
- HY_44
####### HY_42
算法
资产负债率=负债合计/资产合计\*100%
####### HY_43
算法
固定资产比例=固定资产净值平均余额/资产合计\*100
####### HY_44
算法
流动资产比例=流动资产平均余额/资产合计\*100%
###### 成长能力
####### 内容
- HY_24
- HY_07
- HY_10
- HY_25
- HY_17
- HY_12
- HY_26
- HY_06
- HY_28
- HY_15
- HY_21
- HY_01
- HY_13
- HY_16
- HY_11
- HY_09
- HY_20
- HY_23
- HY_29
- HY_30
- HY_18
- HY_14
- HY_27
- HY_22
- HY_19
- HY_08
####### HY_24
算法
函数通过对应的字段ID和报告期获得财务费用同比(%)
####### HY_07
算法
函数通过对应的字段ID和报告期获取亏损企业单位数量同比(%)
####### HY_10
算法
函数通过对应的字段ID和报告期获得工业销售产值(当年价格)同比(%)
####### HY_25
算法
函数通过对应的字段ID和报告期获得利息支出同比(%)
####### HY_17
算法
函数通过对应的字段ID和报告期获得资产总计同比(%)
####### HY_12
算法
函数通过对应的字段ID和报告期获得企业亏损总额同比(%)
####### HY_26
算法
函数通过对应的字段ID和报告期获得利润总额同比(%)
####### HY_06
算法
函数通过对应的字段ID和报告期获取企业单位数量同比(%)
####### HY_28
算法
函数通过对应的字段ID和报告期获得应交增值税同比(%)
####### HY_15
算法
函数通过对应的字段ID和报告期获得流动资产平均余额同比(%)
####### HY_21
算法
函数通过对应的字段ID和报告期获得产品销售费用同比(%)
####### HY_01
算法
亏损企业比例=亏损企业单位数量/企业单位数量\*100%
####### HY_13
算法
函数通过对应的字段ID和报告期获取应收帐款净额同比(%)
####### HY_16
算法
函数通过对应的字段ID和报告期获得固定资产净值平均余额同比(%)
####### HY_11
算法
函数通过对应的字段ID和报告期获取出口交货值同比(%)
####### HY_09
算法
函数通过对应的字段ID和报告期获得工业总产值(不变价格)同比(%)
####### HY_20
算法
函数通过对应的字段ID和报告期获得产品销售成本同比(%)
####### HY_23
算法
函数通过对应的字段ID和报告期获得管理费用同比(%)
####### HY_29
算法
函数通过对应的字段ID和报告期获得工业产品出厂价格指数同比(%)
####### HY_30
算法
函数通过对应的字段ID和报告期获得全部从业人员平均人数同比(%)
####### HY_18
算法
函数通过对应的字段ID和报告期获得负债合计同比(%)
####### HY_14
算法
函数通过对应的字段ID和报告期获得产成品同比(%)
####### HY_27
算法
函数通过对应的字段ID和报告期获得税金总额同比(%)
####### HY_22
算法
函数通过对应的字段ID和报告期获得产品销售税金及附加同比(%)
####### HY_19
算法
函数通过对应的字段ID和报告期获得产品销售收入同比(%)
####### HY_08
算法
函数通过对应的字段ID和报告期获得工业总产值(当年价格)同比(%)
###### 行情
####### 内容
- IndustryRPS_Ext3
####### IndustryRPS_Ext3
算法
通过行情(收盘价或结算价、昨结算)等计算N日涨幅,并进行排序,根据排序打分(0-100),获得其分值即RPS,涨幅越高,RPS分值越大。
###### 产品产量
####### 内容
- HYCL_02
- HYCL_00
- HYCL_01
####### HYCL_02
算法
获取报告期产品产量同比(%)
####### HYCL_00
算法
获取报告期产品计量单位
####### HYCL_01
算法
获取报告期产品产量
###### 盈利能力
####### 内容
- HY_34
- HY_37
- HY_31
- HY_38
- HY_41
- HY_39
- HY_33
- HY_36
- HY_40
- HY_35
- HY_32
####### HY_34
算法
主营业务利润率=利润总额/产品销售收入\*100%
####### HY_37
算法
管理费用比例=管理费用/产品销售收入\*100%
####### HY_31
算法
净资产收益率=利润总额/资产总计\*100%
####### HY_38
算法
财务费用比例=财务费用/产品销售收入\*100%
####### HY_41
算法
成本费用利润率=利润总额/(产品销售成本+产品销售税金及附加+产品销售费用+管理费用+财务费用)\*100%
####### HY_39
算法
三项费用比例=(产品销售费用+管理费用+财务费用)/产品销售收入\*100%
####### HY_33
算法
销售税金率=税金总额/产品销售收入\*100%
####### HY_36
算法
营业费用比例=产品销售费用/产品销售收入\*100%
####### HY_40
算法
总资产报酬率=利润总额/资产合计\*100%
####### HY_35
算法
主营成本比例=产品销售成本/产品销售收入\*100%
####### HY_32
算法
销售毛利率=(产品销售收入-产品销售成本)/产品销售收入\*100
##### 人民币存贷款利率
###### 内容
- HG_DL_InterestRate
###### HG_DL_InterestRate
范例
```text
//活期存款在20210302的人民币存贷款利率
setsysparam(pn_stock(),"IR000001");
setsysparam(pn_date(),20210302T);
return HG_DL_InterestRate(); //结果: 0.35
```
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,185 @@
#### 天软因子
##### 内容
- 基金经理
- 基金
- 指数
##### 基金经理
###### 内容
- 持仓偏好
###### 持仓偏好
####### 内容
- 持仓风格
####### 持仓风格
######## 内容
- 计算
######## 计算
######### 内容
- 中间函数
######### 中间函数
########## 内容
- FundManager_GetStockHoldings
- FundManager_js_gpgmjz
- FundManager_js_hyjqd
########## FundManager_GetStockHoldings
范例
```text
ManagerID := "1533";
FMtype := 1; //股混型
RDate := 20220630;
return FundManager_GetStockHoldings(ManagerID,FMtype,RDate);
```
########## FundManager_js_gpgmjz
范例
```text
EndT := 20220812T;
return FundManager_js_gpgmjz(EndT);
```
########## FundManager_js_hyjqd
范例
```text
RDate := 20220630;
return FundManager_js_hyjqd(RDate);
```
##### 基金
###### 内容
- 业绩
- 中间函数
###### 业绩
####### 内容
- 持有体验
####### 持有体验
######## 内容
- Fund_PF_HoldFeeling_Stat
- Fund_PF_HoldFeeling_Trend
######## Fund_PF_HoldFeeling_Stat
范例
```text
FundID := "OF000001";
begt := 20200101t;
endt := 20240301t;
RollNYearArr := array(1,3); //持有1年,持有3年
return Fund_PF_HoldFeeling_Stat(FundID,begt,endt,RollNYearArr);
```
返回:
######## Fund_PF_HoldFeeling_Trend
范例
```text
FundID := "OF000001";
begt := 20200101t;
endt := 20240301t;
MANum := 60;
delta := 20;
return Fund_PF_HoldFeeling_Trend(FundID,begt,endt,MANum,delta);
```
返回:
###### 中间函数
####### 内容
- GetAllThemespools
####### GetAllThemespools
范例
```text
EndT := 20230919T;
return GetAllThemespools(EndT);
```
##### 指数
###### 内容
- ETF净流入金额
###### ETF净流入金额
####### 内容
- ETF_MT_NetInflowAmount
####### ETF_MT_NetInflowAmount
范例
范例01:获取指定ETF在指定日的资金净流入
```text
return ETF_MT_NetINflowAmount(20250922T,array("OF512000"));
```
返回:920.088,单位为:万元
范例02:获取2022-02-17所有跟踪沪深300ETF基金资金净流入金额
```text
fundArr := getbk("上证基金;深证基金;开放式基金;已退市基金");
etfArr := sselect ["StockID"] from infotable 302 of fundArr
where ["交易方式"]="ETF" and ["标的指数代码"]="SH000300"end;
endt := 20220217t;
return ETF_MT_NetInflowAmount(endt,ETFArr,r);// -223296.48
```
@@ -0,0 +1,124 @@
#### 权证
##### 内容
- 创设
- 定价
- 行权变动
##### 创设
###### 内容
- WarrantCCirculation1
- WarrantCCirculation2
- WarrantCCirculation3
- WarrantCCirculation4
- WarrantCCirculation5
- WarrantCCirculation6
###### WarrantCCirculation1
算法
当权证创设生效日在指定开始日和截止日之间,且一次增减规模大于0时,从表404(权证.权证创设)中获取股票每次规模增减之和/10000。
###### WarrantCCirculation2
算法
当权证创设生效日在指定开始日和截止日之间,且一次增减规模小于0时,从表404(权证.权证创设)中获取股票每次规模增减之和/10000。
###### WarrantCCirculation3
算法
当权证创设生效日在指定开始日和截止日之间时,从表404(权证.权证创设)中获取股票每次规模增减之和/10000。
###### WarrantCCirculation4
算法
当权证创设生效日在上市日和指定截止日之间,且一次增减规模小于0时,从表404(权证.权证创设)中获取股票每次规模增减之和/10000。
###### WarrantCCirculation5
算法
当权证创设生效日在上市日和指定截止日之间,且一次增减规模小于0时,从表404(权证.权证创设)中获取股票每次规模增减之和/10000。
###### WarrantCCirculation6
算法
当权证创设生效日在上市日和指定截止日之间时,从表404(权证.权证创设)中获取股票每次规模增减之和/10000。
##### 定价
###### 内容
- WarrantGearing
- WarrantPriceByBS
- Warrant_OptionTypeByBS
- WarrantBenchId
- WarrantBenchVolatility
- WarrantBenchClose
- WarrantYHBDL
- WarrantYJL
- WarrantSJJZ
- WarrantNZJZ
- WarrantDurationDay
- WarrantDurationMonth
###### WarrantGearing
###### WarrantPriceByBS
###### Warrant_OptionTypeByBS
###### WarrantBenchId
###### WarrantBenchVolatility
###### WarrantBenchClose
###### WarrantYHBDL
###### WarrantYJL
算法
(1)若权证性质为认购,溢价率(%)=(权证行权价 + 权证现价 / 行权比例 - 标的收盘)/标的收盘\*100;
(2)若权证性质不为认购,溢价率(%)=(标的收盘 + 权证现价 / 行权比例 - 权证行权价)/ 标的收盘\*100;
###### WarrantSJJZ
###### WarrantNZJZ
算法
(1)若权证性质为认购,内在价值=(正股价格 - 执行价格)与0中的最大值\*行权比例;
(2)若权证性质不为认购,内在价值=(执行价格 - 正股价格)与0中的最大值\*行权比例;
###### WarrantDurationDay
###### WarrantDurationMonth
##### 行权变动
###### 内容
- WarrantECirculation
- WarrantEPrice
- WarrantExerciseQk
- WarrantERate
###### WarrantECirculation
###### WarrantEPrice
###### WarrantExerciseQk
###### WarrantERate