iFinD 同花顺 Excel 插件函数参考手册,收录股票、港股、美股、债券、基金、期货等金融数据的函数表达式、参数代码和使用说明。可用于生成 Excel 数据文件时查询指标。
iFinD(同花顺)Excel 数据插件是同花顺机构版金融数据终端的外挂模块,可在 Excel 中直接提取金融数据。
本 skill 包含全部指标函数表达式参考,用于指导生成带 iFinD 公式的 Excel 文件。
Excel 插件的核心功能是 Excel 函数表达式。 thsiFinD 是同花顺最新研发的函数,函数命名表明是同花顺 iFinD 的函数。机构版终端各交易品种的数据浏览器指标在 Excel 中的函数表达式统一使用 thsiFinD 函数,新函数的数据提取更趋稳定快速。
插件总共自定义了约 14000 个指标代码,用于提取各种证券的指标数据。
text
=thsiFinD("指标代码", "证券代码", 参数1, 参数2, ...)
函数参数由 "指标代码" 和 "指标参数" 两部分组成。
指标代码的命名逻辑: THS_指标名称_证券品种
证券品种英文名称示例股票STOCKths_close_stock、 ths_pe_stock债券BONDths_yield_bond可转债CBONDths_close_cbond基金FUNDths_nav_fund指数INDEXths_close_index期货FUTURESths_close_futures港股HKths_close_hk美股USths_close_us
示例:
text
=thsiFinD("ths_stock_short_name_stock", "") // 获取股票简称(基本资料)
=thsiFinD("ths_close_stock", "300033", "2024-01-01") // 获取收盘价
指标参数涉及 5 个常用变量:
参数名称参数变量说明代码thsCode证券代码(交易代码或同花顺代码)日期Date交易日、区间首日(StartDate)、区间尾日(EndDate)报告期ReportDate定期报告截止日(年报、中报、一季报、三季报)类型参数Type对指标的进一步描述和说明指标编码ItemsCode主要应用于报表科目
在机构版终端,证券代码可以是 交易代码,也可以是 同花顺代码。
交易代码:一串数字(整型数据),在 Excel 中可以直接引用:
text
=thsiFinD("ths_stock_short_name_stock", 300033) // 整型,无需引号
同花顺代码:字符串格式,在 Excel 中必须用双引号引用:
text
=thsiFinD("ths_stock_short_name_stock", "300033") // 字符串,必须带引号
=thsiFinD("ths_close_stock", "000001.SZ", "2024-01-01")
日期参数具体分为:
支持 3 种日期格式:
格式类型格式示例Excel 引用方式整型 YYYYMMDD20130109直接引用,无需引号字符串 YYYY-MM-DD"2013-01-09"必须带双引号字符串 YYYY/MM/DD"2013/01/09"必须带双引号
示例:
text
=thsiFinD("ths_close_price_stock", "300033", 20130109, 100, "") // 整型日期
=thsiFinD("ths_close_price_stock", "300033", "2013-01-09", 100, "") // 字符串日期
=thsiFinD("ths_close_stock", "000001.SZ", "2024-01-01", "2024-12-31") // 日期区间
重要说明:报告期/截止日期参数需要包含在 每一个函数调用示例中,并非只有财务报告才有该参数。
核心原理:所有公式都是提取 时序指标,报告期参数对应于时序值的时间点。
财务报告期代码对照表:
报告类型截止日期代码年报12月31日100一季报3月31日101中报6月30日102三季报9月30日103
重要:报告期/截止日期/交易日期 推荐使用绝对日期格式,优先级高于相对代码格式。
绝对日期格式 即直接指定具体日期,格式与日期参数一致:
20241231、 20240630"2024-12-31"、 "2024-06-30""2024/12/31"、 "2024/06/30"绝对日期示例:
text
// 财务类指标 - 使用绝对日期指定报告期
=thsiFinD("ths_revenue_stock", "000001.SZ", "2024-12-31", 100) // 2024年报
=thsiFinD("ths_net_profit_stock", "000001.SZ", "2024-06-30", 100) // 2024中报
// 行情类指标 - 使用绝对日期指定交易日期
=thsiFinD("ths_close_stock", "000001.SZ", "2024-12-31") // 2024年12月31日收盘价
=thsiFinD("ths_close_stock", "000001.SZ", 20241231) // 整型日期格式
// 估值类指标 - 使用绝对日期指定估值日期
=thsiFinD("ths_pe_stock", "000001.SZ", "2024-12-31", 100) // 2024年12月31日PE
相对代码格式(仅限财务类指标):
代码含义100去年年报101今年一季102今年中报103今年三季104最新一期 (MRQ)105去年一季106去年中报107去年三季
建议:优先使用绝对日期格式,避免相对代码的时间歧义问题。
注意:港股财务报告期可能有特殊情况。
类型参数是对指标的进一步描述和说明,不同指标的类型参数指向的内容不同。使用时需参考函数搜索里面的参数定义说明。
常见类型参数:
类型代码含义100合并报表101母公司报表102合并报表(调整)103母公司报表(调整)
主要应用于报表科目,具体详见下方"编码表"。
一般而言,函数表达式中的参数设置规则:
参数是否必须设置默认值thsCode(代码)必须设置无默认ItemsCode(指标编码)必须设置无默认ReportDate(报告期/截止日期)必须设置无默认Date(日期)可不设置当前机器日期Type(类型)可不设置默认取一个数值
说明:报告期参数对应时序指标的时间点,所有指标(行情、估值、财务)都需要设置该参数以获取特定时点的数据。
具体情况可查看函数搜索里面的参数定义说明。
重要:金额类指标(如营业收入、净利润、总资产等)的数值单位一般为 元,需要根据场景自行换算。
常见金额指标及单位:
指标类型单位换算示例营业收入元除以10000 = 万元,除以100000000 = 亿元净利润元除以10000 = 万元,除以100000000 = 亿元总资产元除以10000 = 万元,除以100000000 = 亿元总市值元除以100000000 = 亿元流通市值元除以100000000 = 亿元
Excel 公式换算示例:
text
// 获取营业收入并转换为亿元
=thsiFinD("ths_revenue_stock", "000001.SZ", "2024-12-31", 100)/100000000
// 使用单元格引用换算
=thsiFinD("ths_revenue_stock", $B$1, 参数设置!$B$2, 参数设置!$B$4)/100000000
// 设置单元格格式显示(亿元)
// 在Excel中设置单元格格式为:0.00"亿"
建议:
指标类型单位收盘价元/股成交量股成交额元市盈率 PE倍市净率 PB倍ROE百分比(%)涨跌幅百分比(%)基金净值元/份期货持仓量手
代码含义100去年年报101今年一季102今年中报103今年三季104最新一期 (MRQ)105去年一季106去年中报107去年三季
代码含义100合并报表101母公司报表102合并报表(调整)103母公司报表(调整)
代码含义100账面余额101跌价准备102账面价值103占合计百分比
指标名称指标代码公式示例股票简称ths_stock_short_name_stock=thsiFinD("ths_stock_short_name_stock", "000001.SZ")收盘价ths_close_stock=thsiFinD("ths_close_stock", "000001.SZ", "2024-01-01") ※ 报告期=行情日期开盘价ths_open_stock=thsiFinD("ths_open_stock", "000001.SZ", "2024-01-01") ※ 报告期=行情日期最高价ths_high_stock=thsiFinD("ths_high_stock", "000001.SZ", "2024-01-01") ※ 报告期=行情日期最低价ths_low_stock=thsiFinD("ths_low_stock", "000001.SZ", "2024-01-01") ※ 报告期=行情日期成交量ths_vol_stock=thsiFinD("ths_vol_stock", "000001.SZ", "2024-01-01") ※ 报告期=行情日期成交额ths_amt_stock=thsiFinD("ths_amt_stock", "000001.SZ", "2024-01-01") ※ 报告期=行情日期涨跌幅ths_chg_stock=thsiFinD("ths_chg_stock", "000001.SZ", "2024-01-01") ※ 报告期=行情日期
说明:行情类指标的"报告期"参数即为行情日期,表示提取该交易日的时序数据。
指标名称指标代码公式示例市盈率 PEths_pe_stock=thsiFinD("ths_pe_stock", "000001.SZ", 104, 100) ※ 报告期=估值日期(104=最新)市净率 PBths_pb_stock=thsiFinD("ths_pb_stock", "000001.SZ", 104, 100) ※ 报告期=估值日期(104=最新)市销率 PSths_ps_stock=thsiFinD("ths_ps_stock", "000001.SZ", 104, 100) ※ 报告期=估值日期(104=最新)总市值ths_mv_stock=thsiFinD("ths_mv_stock", "000001.SZ", "2024-01-01") ※ 报告期=估值日期流通市值ths_free_mv_stock=thsiFinD("ths_free_mv_stock", "000001.SZ", "2024-01-01") ※ 报告期=估值日期
说明:估值类指标的"报告期"参数即为估值日期,表示提取该日期的估值时序数据。
指标名称指标代码公式示例营业收入ths_revenue_stock=thsiFinD("ths_revenue_stock", "000001.SZ", 104, 100) ※ 报告期=财务报告期(104=最新)净利润ths_net_profit_stock=thsiFinD("ths_net_profit_stock", "000001.SZ", 104, 100) ※ 报告期=财务报告期总资产ths_total_assets_stock=thsiFinD("ths_total_assets_stock", "000001.SZ", 104, 100) ※ 报告期=财务报告期总负债ths_total_liab_stock=thsiFinD("ths_total_liab_stock", "000001.SZ", 104, 100) ※ 报告期=财务报告期净资产ths_total_owner_equity_stock=thsiFinD("ths_total_owner_equity_stock", "000001.SZ", 104, 100) ※ 报告期=财务报告期ROEths_roe_stock=thsiFinD("ths_roe_stock", "000001.SZ", 104, 100) ※ 报告期=财务报告期ROAths_roa_stock=thsiFinD("ths_roa_stock", "000001.SZ", 104, 100) ※ 报告期=财务报告期毛利率ths_gross_margin_stock=thsiFinD("ths_gross_margin_stock", "000001.SZ", 104) ※ 报告期=财务报告期净利率ths_net_margin_stock=thsiFinD("ths_net_margin_stock", "000001.SZ", 104) ※ 报告期=财务报告期
说明:财务类指标的"报告期"参数为定期报告截止日(100=去年年报、104=最新一期等)。
指标名称指标代码公式示例营业收入ths_revenue_stock=thsiFinD("ths_revenue_stock", "600030.SH", 104, 100)经纪业务手续费净收入ths_brokerage_charge_net_income_stock=thsiFinD("ths_brokerage_charge_net_income_stock", "600030.SH", 104, 100)投资银行业务手续费净收入ths_net_income_from_invest_banking_stock=thsiFinD("ths_net_income_from_invest_banking_stock", "600030.SH", 104, 100)资产管理业务手续费净收入ths_ams_charge_net_income_stock=thsiFinD("ths_ams_charge_net_income_stock", "600030.SH", 104, 100)利息净收入ths_interest_net_income_stock=thsiFinD("ths_interest_net_income_stock", "600030.SH", 104, 100)投资收益ths_invest_income_stock=thsiFinD("ths_invest_income_stock", "600030.SH", 104, 100)公允价值变动收益ths_fv_chg_income_stock=thsiFinD("ths_fv_chg_income_stock", "600030.SH", 104, 100)其他业务收入ths_other_bussiness_income_stock=thsiFinD("ths_other_bussiness_income_stock", "600030.SH", 104, 100)
指标名称指标代码公式示例基金净值ths_nav_fund=thsiFinD("ths_nav_fund", "000001.OF", "2024-01-01") ※ 报告期=净值日期基金累计净值ths_acc_nav_fund=thsiFinD("ths_acc_nav_fund", "000001.OF", "2024-01-01") ※ 报告期=净值日期基金份额ths_share_fund=thsiFinD("ths_share_fund", "000001.OF", "2024-01-01") ※ 报告期=份额日期
说明:基金类指标的"报告期"参数即为净值/份额公布日期。
指标名称指标代码公式示例指数收盘ths_close_index=thsiFinD("ths_close_index", "000001.SH", "2024-01-01") ※ 报告期=行情日期指数涨跌幅ths_chg_index=thsiFinD("ths_chg_index", "000001.SH", "2024-01-01") ※ 报告期=行情日期
说明:指数类指标的"报告期"参数即为指数行情日期。
指标名称指标代码公式示例期货收盘价ths_close_futures=thsiFinD("ths_close_futures", "IF2401", "2024-01-01") ※ 报告期=行情日期期货结算价ths_settle_futures=thsiFinD("ths_settle_futures", "IF2401", "2024-01-01") ※ 报告期=行情日期期货持仓量ths_open_interest_futures=thsiFinD("ths_open_interest_futures", "IF2401", "2024-01-01") ※ 报告期=行情日期
说明:期货类指标的"报告期"参数即为期货行情日期。
市场格式示例A股000001.SZ, 600000.SH港股00700.HK, 09988.HK美股AAPL.US, MSFT.US债券110000.SH (上证债券)基金000001.OF (开放式基金)指数000001.SH (上证指数)期货IF2401 (沪深300期货)
重要:批量生成 Excel 文件时,证券代码、报告期等参数项 建议使用单元格引用的形式,便于快速调整。
单元格引用的优势:
优势说明快速调整修改一个单元格即可更新整张表格减少错误避免逐个修改公式时的遗漏或错误便于切换可快速切换报告期、股票标的等参数参数集中所有参数集中在一处,便于管理和审核
推荐结构:
$ 符号锁定参数单元格参数设置页示例:
行A列(参数名称)B列(参数值)C列(说明)1参数名称参数值说明2报告期_当年2025-12-31当年报告期3报告期_上年2024-12-31同比基数4报表类型100合并报表5金额换算100000000换算到亿元
公式示例(单元格引用版):
text
// 传统方式(不推荐):参数硬编码在公式中
=thsiFinD("ths_revenue_stock", "600030.SH", "2024-12-31", 100)/100000000
// 推荐方式:使用单元格引用
=thsiFinD("ths_revenue_stock", $B$1, 参数设置!$B$2, 参数设置!$B$4)/参数设置!$B$5
// 说明:
$B$1 = 数据表第1行的股票代码(绝对引用)
参数设置!$B$2 = 报告期(2025-12-31)
参数设置!$B$4 = 报表类型(100=合并报表)
参数设置!$B$5 = 换算系数(100000000=亿元)
快速调整示例:
场景操作效果切换报告期修改参数设置!B2所有公式自动更新为新报告期调整金额单位修改参数设置!B5改为10000显示万元更换股票标的修改数据表第1行替换股票代码切换报表类型修改参数设置!B4改为101获取母公司报表
python
import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "股票数据"
# 表头
ws['A1'] = '股票代码'
ws['B1'] = '收盘价'
ws['C1'] = '市盈率'
ws['D1'] = '净利润(最新)'
# 数据 + iFinD 公式(统一使用 thsiFinD 格式)
stocks = ['000001.SZ', '600000.SH', '000002.SZ']
for i, stock in enumerate(stocks, start=2):
ws.cell(row=i, column=1, value=stock)
# 日期参数:字符串格式必须带引号
ws.cell(row=i, column=2, value=f'=thsiFinD("ths_close_stock", "{stock}", "2024-01-01")')
# 报告期+报表类型参数
ws.cell(row=i, column=3, value=f'=thsiFinD("ths_pe_stock", "{stock}", 104, 100)')
ws.cell(row=i, column=4, value=f'=thsiFinD("ths_net_profit_stock", "{stock}", 104, 100)')
wb.save('stock_data.xlsx')
python
import openpyxl
from openpyxl.chart import PieChart, Reference
# 证券Ⅲ股票列表
stocks = [
("600030.SH", "中信证券"),
("601688.SH", "华泰证券"),
("000776.SZ", "广发证券"),
# ... 更多股票
]
# 业务条线指标
metrics = [
("ths_revenue_stock", "营业收入"),
("ths_brokerage_charge_net_income_stock", "经纪业务手续费净收入"),
("ths_net_income_from_invest_banking_stock", "投行手续费净收入"),
("ths_ams_charge_net_income_stock", "资管手续费净收入"),
("ths_interest_net_income_stock", "利息净收入"),
]
wb = openpyxl.Workbook()
ws = wb.active
# 表头
ws.cell(row=1, column=1, value="指标")
for j, (code, name) in enumerate(stocks, start=2):
ws.cell(row=1, column=j, value=name)
# 数据行 - 使用 thsiFinD 公式
for i, (metric_code, metric_name) in enumerate(metrics, start=2):
ws.cell(row=i, column=1, value=metric_name)
for j, (stock_code, _) in enumerate(stocks, start=2):
formula = f'=thsiFinD("{metric_code}", "{stock_code}", 104, 100)'
ws.cell(row=i, column=j, value=formula)
wb.save('证券业务收入对比.xlsx')
按金融品类分组的指标代码文件(位于 ref/ 目录):
品类文件数量股票ref/codes_stock.json4579港股ref/codes_hk.json1388美股ref/codes_us.json953债券ref/codes_bond.json3758回购ref/codes_repo.json46可转债ref/codes_cbond.json240基金ref/codes_fund.json657香港基金ref/codes_hkf.json120美国基金ref/codes_usf.json12券商集合理财ref/codes_bcm.json77阳光私募ref/codes_sp.json39指数ref/codes_index.json313现货ref/codes_spot.json168期货ref/codes_future.json280期权ref/codes_option.json186信托产品ref/codes_trust.json15其他理财ref/codes_obcm.json28全部指标ref/codes_all.json12859
每个指标包含四个字段:
json
{
"code": "ths_close_stock",
"name": "收盘价",
"description": "行情指标",
"params": "日期区间参数说明"
}
字段说明:
code: 指标代码(如 ths_pe_stock)name: 指标名称(如 市盈率)description: 指标分类/路径(如 报表附注/应收账款明细)params: 参数说明(如 报告期(100-去年年报,...),报表类型(100-合并报表,...))查阅指标代码:根据品种选择对应的 codes_xxx.json 文件
查看指标详情:打开 JSON 文件,检查名称和说明与需求匹配
生成 Excel 公式:按照统一格式 =thsiFinD("指标代码", "证券代码", 参数...) 生成公式
参数注意事项:
使用注意:
=thsiFinD("指标代码", "证券代码", 参数...)