Skip to content

中国银河证券星耀数智AmazingData开发手册

1. 版本说明

1.1 文档管理信息表

主题中国银河证券星耀数智AmazingData 开发手册
文档版本V1.0.24
Python SDK 版本V1.0.24
创建时间2025 年7 月10 日
最新发布日期2025 年12 月16 日

2. 功能介绍

本文档是tgw 的SDK 开发指南,包含了对API 接口的说明以及示例,用于指引开发人员通过tgw 金融数据功能接口进行数据接收和查询的开发,如需参考或使用本项目,需要提前联系官方获取权限。

2.1 金融数据服务

金融数据功能,是指用户使用C++、Python 以及其他本功能可支持的程序设计语言或用户端页面,获取公司通过对证券交易所等渠道的公开信息加工而成的行情数据、金融资讯数据等金融数据的功能。

2.2 数据详情

1) 行情数据

品种数据类型数据起点说明是否支持实时订阅
股票Level-1 快照、K 线数据2013 年至今上交所、深交所、北交所
指数Level-1 快照、K 线数据上交所、深交所、北交所-
债券Level-1 快照、K 线数据上交所、深交所-
场内基金Level-1 快照、K 线数据上交所、深交所-
期权Level-1 快照、K 线数据2015 年至今深交所ETF 期权、上交所ETF 期权
港股通港股通行情快照2023 年至今上交所、深交所
期货Level-1 快照、K 线数据2010 年4 月至今中金所

2) 基础数据

每日最新证券信息(交易日早上9 点前更新)、复权因子、每日最新代码表(交易日早上9 点前更新)、历史代码表、交易日历

3) 财务数据

资产负债表、现金流量表、利润表、业绩快报、业绩预告

4) 股东股本数据

十大股东数据、股东户数、股本结构、股权冻结/质押、限售股解禁

5) 股东权益数据

分红数据、配股数据

6) 融资融券数据

融资融券成交汇总、融资融券交易明细

7) 交易异动数据

龙虎榜、大宗交易

3. Python 开发指南

3.1 SDK 版本与下载

3.1.1 wheel 文件版本

wheel 文件名操作系统Python 版本
tgw-1.*.*-py3-none-any.whlLinux/ WindowsPython 3.8、3.9、3.10、3.11、3.12、3.13
AmazingData-1.*.*-cp38-none-any.whlLinux/ WindowsPython 3.8、3.9、3.10、3.11、3.12、3.13

3.1.2 wheel 文件下载路径

1. 银河网盘:https://cloud.chinastock.com.cn/p/DSG36jYQx2IY_Y8CIAA

2. 公众号“中国银河证券星耀数智”:路径为“业务介绍”——“安装包下载”

3.2 SDK 运行环境

3.2.1 Linux 推荐运行环境配置

类型最低配置推荐配置
处理器2.10GHz,4 核2.10GHz,8 核
内存DDR4 4GBDDR4 4GB
硬盘200G 机械硬盘 /SSD480G 机械硬盘 /SSD
网卡普通网卡普通万兆网卡
操作系统REDHAT 7.2/7.4/7.6REDHAT 7.2/7.4/7.6

3.2.2 Windows 推荐运行环境配置

类型最低配置推荐配置
处理器2.60GHz , 4 核2.60GHz , 8 核
内存DDR4 4GBDDR4 4GB
硬盘200G 机械硬盘 /SSD480G 机械硬盘 /SSD
网卡普通网卡普通万兆网卡
操作系统Windows 10(64 位 )Windows 10(64 位 )

3.3 SDK 安装

3.3.1 tgw 安装

python
pip install tgw-1.7.1-py3-none-any.whl

3.3.2 AmazingData 安装

选择对应的python 版本

python
pip install AmazingData-1.0.0-cp312-none-any.whl

3.4 Python 开发步骤

登录AmazingData 之后,实现数据获取。

3.4.1 登录AmazingData

(1)所有数据接口调用前,必须登录

(2)import AmazingData 库,填写账号、密码、ip/port 等信息,调用登录api。

python
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****)

3.4.2 调用数据接口

3.4.2.1 查询接口调用

(1)登录api;

(2)实例化对应的数据查询类;

(3)调用查询数据接口,获取数据;

python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
# 第二步 实例化对应的数据查询类 
base_data_object = ad.BaseData() 
# 第三步,调用查询数据接口,获取数据 
code_list = base_data_object.get_code_list(security_type='EXTRA_ETF')

3.4.2.2 订阅接口调用

(1)登录api;

(2)实例化对应的数据查询类;

(3)实例化数据订阅类;

(4)用装饰器装饰回调函数,接收订阅数据;

(5)订阅数据执行;

python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
# 第二步 输入标的代码列表 
base_data_object = ad.BaseData() 
etf_code_list = base_data_object.get_code_list(security_type='EXTRA_ETF') 
# 第三步 实例化数据订阅类
sub_data = ad.SubscribeData() 
# 第四步 用装饰器装饰回调函数,接收订阅数据 
@sub_data.register(code_list=etf_code_list, period=ad.constant.Period.snapshot.value) 
def onSnapshot(data: Union[ad.constant.Snapshot, ad.constant.SnapshotIndex], period): 
print(period, data) 
# 第五步 订阅数据执行 
sub_data.run()

3.5 数据接口详细

3.5.1 基础接口

3.5.1.1 登录

调用任何数据接口之前,必须先调用登录接口。SDK 的账号、密码、ip 和端口号需联系您的开户营业部申请开通权限之后获取。

函数接口:login

功能描述:api 登陆

输入参数

参数数据类型必选解释
usernamestr账号
passwordstr密码
ipstr服务器 ip
hostint服务器端口号
python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****)

3.5.1.2 登出

函数接口:logout

功能描述:api 退出登录链接,必须在登录状态下才可使用;正常使用情况下无需使用此接口

名称类型说明
usernamestr用户名

3.5.1.3 更新密码

函数接口:update_password

功能描述:更新密码接口,必须先登录才能修改密码

名称类型说明
usernamestr用户名
old_passwordstr旧密码
new_passwordstr新密码

3.5.2 基础数据

3.5.2.1 每日最新证券信息

函数接口:get_code_info

功能描述:获取每日最新证券信息,交易日早上9 点前更新当日最新数据

输入参数

参数数据类型必选解释
security_typestr代码类型 security_type (见附录)

输出参数

参数数据类型解释
code_infodataframeindex 为股票代码,包含symbol(证券简称)、high_limited(涨停价)、low_limited(跌停价)、price_tick(最小价格变动单位)等字段
python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
base_data_object = ad.BaseData() 
code_info = base_data_object.get_code_info(security_type='EXTRA_ETF')

3.5.2.2 每日最新代码表(沪深北)

交易日早上9 点前更新

函数接口:get_code_list

功能描述:获取代码表(每日最新),此接口无法获取历史代码表

输入参数

参数数据类型必选解释
security_typestr代码类型 security_type (见附录),默认为 EXTRA_STOCK_A(上交所A股、深交所A股和北交所股票列表)

输出参数

返回值数据类型解释
code_listlist证券代码
python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
base_data_object = ad.BaseData() 
code_list = base_data_object.get_code_list(security_type='EXTRA_STOCK_A')

3.5.2.3 每日最新代码表(期货交易所)

交易日早上9 点前更新

函数接口:get_future_code_list

功能描述:获取期货代码表(每日最新),无法获取历史代码表

输入参数

参数数据类型必选解释
security_typestr期货交易所代码类型(见附录),默认ZJ_FUTURE(中金所期货)

输出参数

返回值数据类型解释
code_listlist证券代码
python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
base_data_object = ad.BaseData() 
code_list = base_data_object.get_future_code_list(security_type='EXTRA_FUTURE')

3.5.2.4 每日最新代码表(期权)

交易日早上9 点前更新

函数接口:get_option_code_list

功能描述:获取期权代码表(每日最新),无法获取历史代码表

输入参数

参数数据类型必选解释
security_typestr期权代码类型(见附录),默认EXTRA_ETF_OP(沪深交易所ETF期权)

输出参数

返回值数据类型解释
code_listlist证券代码
python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
base_data_object = ad.BaseData() 
code_list = base_data_object.get_option_code_list(security_type='EXTRA_ETF_OP')

3.5.2.5 复权因子(后复权因子)

函数接口:BaseData.get_backward_factor

功能描述:获取后复权因子数据并本地存储,因子由交易所行情数据计算生成

输入参数

参数数据类型必选解释
code_listlis[str]代码列表,支持股票、ETF
local_pathstr本地存储文件夹绝对路径
is_localBool是否读取本地数据,默认True

参数说明

1. local_path:格式示例'D://AmazingData_local_data//',仅填写文件夹绝对路径

2. is_local:True为优先读取本地数据(无本地数据则拉取服务端数据并缓存);False为强制拉取服务端最新数据并更新本地缓存

输出参数

参数数据类型解释
backward_factordataframeindex为交易日期,列名为股票代码
python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
base_data_object = ad.BaseData() 
code_list = base_data_object.get_code_list(security_type='EXTRA_STOCK_A') 
backward_factor = base_data_object.get_backward_factor(code_list, local_path='D://AmazingData_local_data//', 
is_local=False)

3.5.2.6 复权因子(单次复权因子)

函数接口:BaseData.get_adj_factor

功能描述:获取单次复权因子数据并本地存储

输入参数

参数数据类型必选解释
code_listlis[str]代码列表,支持股票、ETF
local_pathstr本地存储文件夹绝对路径
is_localBool是否读取本地数据,默认True

参数说明:同后复权因子参数规则

输出参数

参数数据类型解释
adj_factordataframeindex为交易日期,列名为股票代码
python
# 第一步 登录api 
import AmazingData as ad 
ad.login(username='username', password='password',host='***.***.***.***',port=****) 
base_data_object = ad.BaseData() 
code_list = base_data_object.get_code_list(security_type='EXTRA_STOCK_A') 
adj_factor = base_data_object.get_adj_factor(code_list, local_path='D://AmazingData_local_data//', 
is_local=False)

3.5.2.7 历史代码表

功能描述:获取历史任意日期的全市场标的代码清单,解决标的更名、退市、合并、代码变更导致的历史数据匹配问题,适配跨周期历史回测、复盘分析场景。

函数接口:get_history_code_list

输入参数

参数数据类型必选解释
trade_datestr指定查询的历史日期,格式YYYY-MM-DD
security_typestr标的类型筛选,不传默认全类型

输出参数:返回指定日期的证券代码、证券名称、市场、标的类型、当日交易状态等历史快照数据。

python
# 历史代码表查询示例
import AmazingData as ad
ad.login(username='username', password='password',host='***.***.***.***',port=****)
base_data = ad.BaseData()
# 查询2023年1月1日全市场股票代码
history_code = base_data.get_history_code_list(trade_date='2023-01-01', security_type='STOCK')
print("2023年A股标的数量:", len(history_code))

3.5.2.8 交易日历

功能描述:获取A股、期货、期权全市场交易日历数据,支持查询指定时间段内的交易日、节假日、休市日期,包含是否交易日、是否周末、是否节假日等标记,是时序数据筛选、回测时间匹配的基础依赖。

函数接口:get_trade_calendar

输入参数

参数数据类型必选解释
start_datestr起始日期 YYYY-MM-DD
end_datestr结束日期 YYYY-MM-DD

输出参数:返回交易日期、是否交易日(1是/0否)、日期类型、节假日名称、市场休市标记等字段。

python
# 交易日历查询示例
import AmazingData as ad
ad.login(username='username', password='password',host='***.***.***.***',port=****)
base_data = ad.BaseData()
# 查询2025年全年交易日历
calendar = base_data.get_trade_calendar(start_date='2025-01-01', end_date='2025-12-31')
# 筛选2025年所有交易日
trade_day = calendar[calendar['is_trade_day']==1]
print("2025年交易日总数:", len(trade_day))

3.5.2.9 证券基础信息

功能描述:查询单只/批量标的详细静态基础信息,包含公司简介、所属行业、主营业务、注册地址、上市板块、发行规模等深度基础属性数据,支持全品类标的精准查询。

函数接口:get_security_basic_info

输入参数

参数数据类型必选解释
code_listlist[str]批量标的代码列表

输出参数:返回证券代码、证券名称、一级行业、二级行业、主营业务、上市日期、注册资本、发行价、企业性质等完整基础信息字段。

python
# 证券基础信息查询示例
import AmazingData as ad
ad.login(username='username', password='password',host='***.***.***.***',port=****)
base_data = ad.BaseData()
code_list = ['600001.SH', '000001.SZ']
basic_info = base_data.get_security_basic_info(code_list=code_list)
print(basic_info[['security_code','security_name','industry_name','main_business']])

3.5.2.10 历史证券信息

功能描述:获取指定历史日期的标的完整基础信息快照,适配标的行业变更、名称变更、主营业务调整等历史属性变动场景,解决历史数据属性匹配偏差问题。

函数接口:get_history_security_info

输入参数

参数数据类型必选解释
code_listlist[str]标的代码列表
trade_datestr指定历史查询日期 YYYY-MM-DD

输出参数:返回指定历史日期下标的证券全量基础属性数据,包含当日行业分类、企业信息、交易状态等快照内容。

python
# 历史证券信息查询示例
import AmazingData as ad
ad.login(username='username', password='password',host='***.***.***.***',port=****)
base_data = ad.BaseData()
code_list = ['600001.SH']
# 查询2022年年末标的基础信息
history_info = base_data.get_history_security_info(code_list=code_list, trade_date='2022-12-30')
print(history_info)

3.5.2.11 北交所新旧代码对照表

功能描述:获取北交所标的新旧代码映射关系,覆盖北交所成立后由原新三板挂牌企业平移、代码变更的全部标的,解决历史数据代码不统一、匹配失败问题。

函数接口:get_bj_code_mapping

输入参数:无入参,直接调用即可获取北交所标的全量新旧代码映射数据

输出参数

参数数据类型解释
old_codestr北交所标的变更前旧代码
new_codestr北交所标的变更后新代码
security_namestr证券标的名称
change_datestr代码正式变更日期,格式YYYY-MM-DD
change_reasonstr代码变更原因(新三板平移、标的更名、代码调整等)
python
# 北交所新旧代码对照表查询示例
import AmazingData as ad
ad.login(username='username', password='password',host='***.***.***.***',port=****)
base_data = ad.BaseData()
# 获取北交所全量新旧代码映射数据
bj_code_mapping = base_data.get_bj_code_mapping()
# 打印映射数据字段及数量
print("北交所代码变更标的总数:", len(bj_code_mapping))
print(bj_code_mapping[['old_code','new_code','security_name','change_date','change_reason']])

(注:文档部分内容可能由 AI 生成)