Flatten builtin pages, add third-party and platform scopes, and import financial and data warehouse references. Keep the existing generated index without rebuilding after signature normalization.
23 KiB
金融 / 财务分析 / 中间函数
allCosts(r_date)
声明:function
成本合计
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期 |
返回:real
示例
范例01:2024年年报白云机场的成本合计
// 2024年年报白云机场的成本合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
v := AllCosts(20241231);
return v;
// 输出:6156229603.83
范例02:指定2024三季报,取白云机场成本合计的TTM
// 指定2024三季报,取白云机场成本合计的TTM
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
SetSysParam(CT_TTMData(), True); // 计算TTM
v := AllCosts(20240930);
return v;
// 输出:5963808190.57
范例03:指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的成本合计
// 指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的成本合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
setsysparam(CT_YearData(), true); // 计算最近会计年度
setsysparam(CT_RecentYear(), 1); // 最近1年
v := AllCosts(20240331);
return v;
// 输出:5795008385.86
范例04:指定2024三季报,取白云机场第三季度单季度的成本合计
// 指定2024三季报,取白云机场第三季度单季度的成本合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
SetSysParam(CT_QuarterData(), True); // 计算单季度
v := AllCosts(20240930);
return v;
// 输出:1555275089.96
范例05:取白云机场在2019年年报的成本合计调整前与调整后
// 取白云机场在2019年年报的成本合计调整前与调整后
// 20210430公布2020年年报对2019年年报中的营业费用数据进行了调整
setsysparam(pn_stock(), 'SH600004');
RDate := 20191231;
// 调整前:设置指定日早于调整后公布日
setsysparam(pn_date(), 20200630T);
v1 := AllCosts(RDate);
// 调整后:设置指定日晚于调整后公布日
setsysparam(pn_date(), 20210630T);
v2 := AllCosts(RDate);
return array(v1, v2);
// 输出:array(6663821465.96,6931545590.87),由于调整前与调整后参与计算的数据有变动,因此结果有差异
ct_getNearestQuarter()
声明:function
返回字符串常量'GetTheNearest',对应最近季度。 该常量需与CT_QuarterData常量配合使用,返回最近1个季度的数据。比如20120630,将返回20120630季报数据
返回:string
示例
范例01:对比设置最近1个季报的数据和手算最近一个季报的数据
oV := BackupSystemParameters2();
// 对比设置最近1个季报的数据和手算最近一个季报的数据
setsysparam(pn_stock(), 'SZ000002');
v1 := EPS(20120630);
// RP1:20120630净利润、RP2:20120331净利润,20120630季度净利润=RP1-RP2
// 20120630季度每股收益=(RP1-RP2)/TS
RP1 := ReportNew(DataBaseRatioId(9), 20120630);
RP2 := ReportNew(DataBaseRatioId(9), 20120331);
TS := StockTotalShares(inttodate(20120630));
v2 := (RP1-RP2)/TS;
SetSysParam(CT_QuarterData(), True);
SetSysParam(CT_GetNearestQuarter(), True);
v3 := EPS(20120630);
return array("20120630报告期数据":v1, "20120331季报数据":v2, "20120630最近1个季报数据":v3);
ct_quarterGrowRatio()
声明:function
返回字符串常量'QuarterGrowRatio',对应季度环比(%)。 该常量需与CT_QuarterData常量配合使用,返回最近1个季度的数据。比如20120630,将返回20120630季报数据
返回:string
示例
范例01:调用 CT_QuarterGrowRatio
oV := BackupSystemParameters2();
{
手算季度环比:报告期RDate季度数据/上一报告期PRDate季度数据-1。
RDate=20120630;
PRDate=20120331;
PV:PRDate季度主营成本比例(%)
PV=PRDate季度主营业务成本/PRDate季度主营业务收入*100
=(PRDate主营业务成本-PRdate1主营业务成本)/(PRDate季度主营业务收入-PRdate1季度主营业务收入)*100
RDate季度环比=PV;
}
setsysparam(pn_stock(), 'SZ000002');
v1 := MainCostRatio(20120630);
PV := (ReportNew(DataBaseRatioId(2), 20120630)-ReportNew(DataBaseRatioId(2), 20120331))
/(ReportNew(DataBaseRatioId(1), 20120630)-ReportNew(DataBaseRatioId(1), 20120331))*100;
v2 := PV;
SetSysParam(CT_QuarterData(), True);
SetSysParam(CT_QuarterGrowRatio(), True);
v3 := MainCostRatio(20120630);
return array("20120630报告期数据":v1, "20120630季度数据":v2, "20120630最近1个季报数据":v3);
ct_recentYear()
声明:function
返回字符串常量'RecentYear',对应最近N年。 该常量需与最近1个会计年度CT_YearData()配合使用。数据将返回Rdate之前的N个会计年度的数据。比如Rdate为20120331、20120630、20120930或者20121231时,设置CT_RecentYear为2时,将返回20101231的数据
返回:string
示例
范例01:对比设置最近2年度和没有设置最近2年度的值
oV := BackupSystemParameters2();
// 对比设置最近2年度和没有设置最近2年度的值
setsysparam(pn_stock(), 'SZ000002');
v1 := EPS(20120630);
v2 := EPS(20101231);
SetSysParam(CT_YearData(), True);
setsysparam(CT_RecentYear(), 2);
v3 := Call("EPS", 20120630);
return array("20120630报告期数据":v1, "20101231报告期数据":v2, "20120630最近2个年度数据":v3);
endingBalanceofCashAndEquivalent(r_date)
声明:function
现金及现金等价物的期末余额,与系统参数(证券代码)相关
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期 |
返回:real
示例
范例01:2024年年报白云机场的现金及现金等价物的期末余额
// 2024年年报白云机场的现金及现金等价物的期末余额
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
v := EndingBalanceofCashAndEquivalent(20241231);
return v;
// 输出:4718491377.13
范例02:指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的现金及现金等价物的期末余额
// 指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的现金及现金等价物的期末余额
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
setsysparam(CT_YearData(), true); // 计算最近会计年度
setsysparam(CT_RecentYear(), 1); // 最近1年
v := EndingBalanceofCashAndEquivalent(20240331);
return v;
// 输出:2521546708.25
范例03:取白云机场在2019年年报的现金及现金等价物的期末余额调整前与调整后
// 取白云机场在2019年年报的现金及现金等价物的期末余额调整前与调整后
// 20210430公布2020年年报对2019年年报中的期末现金及现金等价物余额数据进行了调整
setsysparam(pn_stock(), 'SH600004');
RDate := 20191231;
// 调整前:设置指定日早于调整后公布日
setsysparam(pn_date(), 20200630T);
v1 := EndingBalanceofCashAndEquivalent(RDate);
// 调整后:设置指定日晚于调整后公布日
setsysparam(pn_date(), 20210630T);
v2 := EndingBalanceofCashAndEquivalent(RDate);
return array(v1, v2);
// 输出:array(1217482250.72,1228464103.1),由于调整前与调整后参与计算的数据有变动,因此结果有差异
financialItem(r_date, info_id)
声明:function
计算指定报告期RDate的基本面id为InfoId的财务指标
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期; |
info_id |
integer | 整数,基本面ID |
返回:real
示例
范例01:调用函数
// 指定2011年报,取万科A净利润
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := financialItem(20111231, 46033);
return v;
// 输出:11599606211.77
financialItemPs(r_date, info_id)
声明:function
每股财务指标=财务指标/总股本
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期; |
info_id |
integer | 整数,基本面ID |
返回:real
示例
范例01:调用函数
// 指定2011年报,取万科A每股财务指标
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := financialItemPs (20111231, 46033);
return v;
// 输出:1.05
financialItemRatio(r_date, info_id_1, info_id_2)
声明:function
财务比率=财务指标1/财务指标2
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期; |
info_id_1 |
integer | 整数,基本面ID; |
info_id_2 |
integer | 整数,基本面ID |
返回:real
示例
范例01:调用函数
// 指定2011年报,取万科A净利润与股东权益合计的比率(净利润/股东权益合计)
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := financialItemRatio(20111231, 46033, 44111);
return v;
// 输出:0.17
growRatio2(r_date, info_id)
声明:function
环比增长率(%)。根据设置最近12个月(setsysparam(CT_TTMData(),true))、最近一个季度(setsysparam(CT_QuarterData(),true))、最近一个会计年度(setsysparam(CT_YearData(),true))、指定报告期(不设置),取出最近12个月、最近一个季度、最近一个会计年度、指定报告期的当期数据v1和上一个报告期的数据v2,(v1-v2)/abs(v2)*100即为环比增长率(%)
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数。报告期 |
info_id |
integer | 整数。基本面ID |
返回:real
示例
范例01:调用函数
// 指定2011年报,取万科A每股净资产环比增长率(%)
setSysParam(pn_stock(), 'SZ000002');
v := growRatio2(20111231, 42006);
return v;
// 输出:12.88
growRatioOfHG(r_date, info_id)
声明:function
同比增长率(宏观)(%)=(对应基本面id的财务指标数据-去年同期报告期对应基本面id的财务指标数据)/去年同期报告期对应基本面id的财务指标数据*100
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期; |
info_id |
integer | 整数,基本面id |
返回:real
示例
范例01:调用函数
// 指定2011年报,取万科A净利润同比增长率(宏观)(%)
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := growRatioOfHg(20111231, 46033);
return v;
// 输出:31.22
itemToFinancialItem(id, r_date)
声明:function
返回对照的金融类ID
| 参数 | 类型 | 说明 |
|---|---|---|
id |
integer | 整数,基本面ID; |
r_date |
integer | 整数,报告期 |
返回:integer
示例
范例01:调用函数
o_v := BackupSystemParameters2();
setSysParam(pn_stock(), 'SH600000');
// 金融公司资产负债表中的'资产总计'
id := itemToFinancialItem(dataBaseRatioId(46), 20111231);
v := report(id, 20111231);
return array("金融ID":id, "对应的值":v);
注意:结果中返回的金融ID,是使用天软数据对应的ID,如果使用的是别的数据源,对应的ID是不一样的。
nonOperatingDifference(r_date)
声明:function
营业外收支净额
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期 |
返回:real
示例
范例01:2024年年报白云机场的营业外收支净额
// 2024年年报白云机场的营业外收支净额
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
v := NonOperatingDifference(20241231);
return v;
// 输出:1402961.42
范例02:指定2024三季报,取白云机场营业外收支净额的TTM
// 指定2024三季报,取白云机场营业外收支净额的TTM
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
SetSysParam(CT_TTMData(), True); // 计算TTM
v := NonOperatingDifference(20240930);
return v;
// 输出:1398518.16
范例03:指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的营业外收支净额
// 指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的营业外收支净额
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
setsysparam(CT_YearData(), true); // 计算最近会计年度
setsysparam(CT_RecentYear(), 1); // 最近1年
v := NonOperatingDifference(20240331);
return v;
// 输出:6462705.93
范例04:指定2024三季报,取白云机场第三季度单季度的营业外收支净额
// 指定2024三季报,取白云机场第三季度单季度的营业外收支净额
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250923T);
SetSysParam(CT_QuarterData(), True); // 计算单季度
v := NonOperatingDifference(20240930);
return v;
// 输出:-1950069.12
范例05:取白云机场在2019年年报的营业外收支净额调整前与调整后
// 取白云机场在2019年年报的营业外收支净额调整前与调整后
// 20210430公布2020年年报对2019年年报中的营业外支出数据进行了调整
setsysparam(pn_stock(), 'SH600004');
RDate := 20191231;
// 调整前:设置指定日早于调整后公布日
setsysparam(pn_date(), 20200630T);
v1 := NonOperatingDifference(RDate);
// 调整后:设置指定日晚于调整后公布日
setsysparam(pn_date(), 20210630T);
v2 := NonOperatingDifference(RDate);
return array(v1, v2);
// 输出:array(11650943.91,7768039.85),由于调整前与调整后参与计算的数据有变动,因此结果有差异
threeExpenses(r_date)
声明:function
三项费用合计,与系统参数(证券代码)相关
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 报告期 |
返回:real
示例
范例01:2024年年报白云机场的三项费用合计
// 2024年年报白云机场的三项费用合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250926T);
v := ThreeExpenses(20241231);
return v;
// 输出:577286851.84
范例02:指定2024三季报,取白云机场三项费用合计的TTM
// 指定2024三季报,取白云机场三项费用合计的TTM
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250926T);
SetSysParam(CT_TTMData(), True); // 计算TTM
v := ThreeExpenses(20240930);
return v;
// 输出:539794407.65
范例03:指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的三项费用合计
// 指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的三项费用合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250926T);
setsysparam(CT_YearData(), true); // 计算最近会计年度
setsysparam(CT_RecentYear(), 1); // 最近1年
v := ThreeExpenses(20240331);
return v;
// 输出:568608993.59
范例04:指定2024三季报,取白云机场第三季度单季度的三项费用合计
// 指定2024三季报,取白云机场第三季度单季度的三项费用合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250926T);
SetSysParam(CT_QuarterData(), True); // 计算单季度
v := ThreeExpenses(20240930);
return v;
// 输出:154451315.03
范例05:取白云机场在2019年年报的三项费用合计调整前与调整后
// 取白云机场在2019年年报的三项费用合计调整前与调整后
// 20210430公布2020年年报对2019年年报中的营业费用数据进行了调整
setsysparam(pn_stock(), 'SH600004');
RDate := 20191231;
// 调整前:设置指定日早于调整后公布日
setsysparam(pn_date(), 20200630T);
v1 := ThreeExpenses(RDate);
// 调整后:设置指定日晚于调整后公布日
setsysparam(pn_date(), 20210630T);
v2 := ThreeExpenses(RDate);
return array(v1, v2);
// 输出:array(528109417.41,681953437.06),由于调整前与调整后参与计算的数据有变动,因此结果有差异
totalCashIn(r_date)
声明:function
现金流入合计,与系统参数(证券代码)相关
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期 |
返回:real
示例
范例01:2024年年报白云机场的现金流入合计
// 2024年年报白云机场的现金流入合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
v := TotalCashIn(20241231);
return v;
// 输出:8577895085.81
范例02:指定2024三季报,取白云机场现金流入合计的TTM
// 指定2024三季报,取白云机场现金流入合计的TTM
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
SetSysParam(CT_TTMData(), True); // 计算TTM
v := TotalCashIn(20240930);
return v;
// 输出:7670703406.21
范例03:指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的现金流入合计
// 指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的现金流入合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
setsysparam(CT_YearData(), true); // 计算最近会计年度
setsysparam(CT_RecentYear(), 1); // 最近1年
v := TotalCashIn(20240331);
return v;
// 输出:7218154136.08
范例04:指定2024三季报,取白云机场第三季度单季度的现金流入合计
// 指定2024三季报,取白云机场第三季度单季度的现金流入合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
SetSysParam(CT_QuarterData(), True); // 计算单季度
v := TotalCashIn(20240930);
return v;
// 输出:2445692755.73
范例05:取白云机场在2015年年报的现金流入合计调整前与调整后
// 取白云机场在2015年年报的现金流入合计调整前与调整后
// 20170429公布2016年年报对2015年年报中的筹资活动现金流入小计数据进行了调整
setsysparam(pn_stock(), 'SH600004');
RDate := 20151231;
// 调整前:设置指定日早于调整后公布日
setsysparam(pn_date(), 20160630T);
v1 := TotalCashIn(RDate);
// 调整后:设置指定日晚于调整后公布日
setsysparam(pn_date(), 20170630T);
v2 := TotalCashIn(RDate);
return array(v1, v2);
// 输出:array(6042426276.49,6108072646.23),由于调整前与调整后参与计算的数据有变动,因此结果有差异
totalCashOut(r_date)
声明:function
现金流出合计,与系统参数(证券代码)相关
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期 |
返回:real
示例
范例01:2024年年报白云机场的现金流出合计
// 2024年年报白云机场的现金流出合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
v := TotalCashout(20241231);
return v;
// 输出:6380980977.95
范例02:指定2024三季报,取白云机场现金流出合计的TTM
// 指定2024三季报,取白云机场现金流出合计的TTM
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
SetSysParam(CT_TTMData(), True); // 计算TTM
v := TotalCashout(20240930);
return v;
// 输出:5697553475.4
范例03:指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的现金流出合计
// 指定2024年一季报,取白云机场在报告期时的最近1年的会计年度报告期的现金流出合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
setsysparam(CT_YearData(), true); // 计算最近会计年度
setsysparam(CT_RecentYear(), 1); // 最近1年
v := TotalCashout(20240331);
return v;
// 输出:6915790881.25
范例04:指定2024三季报,取白云机场第三季度单季度的现金流出合计
// 指定2024三季报,取白云机场第三季度单季度的现金流出合计
setsysparam(pn_stock(), 'SH600004');
setsysparam(pn_date(), 20250930T);
SetSysParam(CT_QuarterData(), True); // 计算单季度
v := TotalCashout(20240930);
return v;
// 输出:1990833026.77
范例05:取白云机场在2019年三季报的现金流出合计调整前与调整后
// 取白云机场在2019年三季报的现金流出合计调整前与调整后
// 20201031公布2020年三季报对2019年三季报中的筹资活动现金流出小计数据进行了调整
setsysparam(pn_stock(), 'SH600004');
RDate := 20190930;
// 调整前:设置指定日早于调整后公布日
setsysparam(pn_date(), 20191231T);
v1 := TotalCashout(RDate);
// 调整后:设置指定日晚于调整后公布日
setsysparam(pn_date(), 20201231T);
v2 := TotalCashout(RDate);
return array(v1, v2);
// 输出:array(7610243745.77,8315668704.67),由于调整前与调整后参与计算的数据有变动,因此结果有差异
workingCapital(r_date)
声明:function
营运资金
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
integer | 整数,报告期 |
返回:real
示例
范例01:2024年年报格力电器的营运资金
// 2024年年报格力电器的营运资金
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SZ000651');
v := WorkingCapital(20241231);
return v;
// 输出:23677467270.02
范例02:指定2024年一季报,取格力电器在报告期时的最近1年的会计年度报告期的营运资金
// 指定2024年一季报,取格力电器在报告期时的最近1年的会计年度报告期的营运资金
oV := BackUpSystemParameters2();
setsysparam(pn_stock(), 'SZ000651');
setsysparam(CT_YearData(), true); // 计算最近会计年度
setsysparam(CT_RecentYear(), 1); // 最近1年
v := WorkingCapital(20240331);
return v;
// 输出:27158009714.82
范例03:取白云机场在2019年年报的营运资金调整前与调整后
// 取白云机场在2019年年报的营运资金调整前与调整后
// 20210430公布的2020年年报对2019年年报中的流动资产合计数据进行了调整
setsysparam(pn_stock(), 'SH600004');
RDate := 20191231;
// 调整前:设置指定日早于调整后公布日
setsysparam(pn_date(), 20200630T);
v1 := WorkingCapital(RDate);
// 调整后:设置指定日晚于调整后公布日
setsysparam(pn_date(), 20211024T);
v2 := WorkingCapital(RDate);
return array(v1, v2); // array(-4506286340.07,-4794148128.5),由于调整前与调整后参与计算的数据有变动,因此结果有差异