如何获取股票交割单数据
摘要:
获取股票交割单核心在于交易席位查询、日期与代码匹配,交割单反映资金实际流动,是复盘重要依据。

理解交割单数据的实质
交割单是投资者在证券交易完成后,由证券公司或结算机构出具的资金与证券划转记录凭证。它记录了每笔交易发生的具体时间、证券代码、买卖方向、成交价格、成交数量、发生金额以及资金余额等详细信息。在量化分析与交易复盘场景中,交割单数据的作用不可或缺,它提供了最真实的交易执行反馈。
交割单数据与行情数据的区别
交割单数据是私有化、账户相关的交易结果数据,而常见的行情数据是公开的市场交易快照。交割单直接关联到投资者的资金账户和股东账户,包含手续费、印花税等成本信息,是计算真实盈亏、分析交易策略滑点与执行效率的唯一依据。
获取交割单数据的核心挑战
公开的免费数据接口通常不提供个人或特定账户的交割单历史。这类数据具有隐私性和专属性,通常需要通过券商提供的交易软件后台导出,或经由券商官方授权的程序化交易接口获取。

主流API获取途径与参数解析
券商官方交易接口
部分券商为程序化交易客户提供官方接口,允许查询历史交割单。
典型参数构成:
身份认证参数:这是最关键的环节,通常包括客户号、资金账号、证书序列号或API Key等。这些参数用于验证查询权限。
查询范围参数:
start_date/end_date:查询的起始日期和结束日期。证券代码(symbol):用于筛选特定股票的交割记录,留空可能查询账户所有证券的交割。业务类别(business_type):区分是普通股票交易、新股申购、债券回购等不同业务产生的交割。查询模式:可能区分当日交割单与历史交割单查询。
分页与排序参数:
page_num/page_size:当交割记录很多时,用于分页查询。sort_field/sort_order:按成交时间或发生金额等进行排序。
# 伪代码示例:基于某券商API查询交割单的假设结构
# 注意:实际参数名和调用方式需严格参照对应券商API文档
class BrokerAPI:
def __init__(self, account, password, api_key):
self.auth_token = self._login(account, password, api_key)
def query_history_settlement(self, **params):
# 必需参数示例
required_params = {
'auth_token': self.auth_token,
'query_mode': 'history', # 查询历史交割
'start_date': params.get('start_date', ''), # 格式:YYYYMMDD
'end_date': params.get('end_date', ''),
'stock_code': params.get('stock_code', ''), # 如 '000001'
'page_index': params.get('page', 1),
'page_size': params.get('size', 100)
}
# 发送请求并返回交割单列表
response = send_request('/trade/query_settlement', required_params)
return self._parse_settlement_data(response)
# 使用示例
api = BrokerAPI('your_account', 'your_password', 'your_key')
settlements = api.query_history_settlement(start_date='20231001', end_date='20231031', stock_code='600519')
for record in settlements:
print(f"时间:{record['time']}, 代码:{record['code']}, 操作:{record['action']}, 数量:{record['volume']}, 价格:{record['price']}")
券商交易软件数据导出
对于非程序化需求,手动操作更为常见。
登录券商提供的电脑客户端或网页交易系统。
寻找“查询”、“交割单”、“历史成交”或“对账单”等功能菜单。
在查询界面,用户需要手动设置与API类似的筛选条件:
时间区间:选择需要导出的具体日期范围。
市场/证券:选择A股、科创板等,或直接输入股票代码。
导出格式:选择Excel、CSV等格式以便后续分析。
这种方式获取的数据本质上是前端界面调用了后台查询接口,参数逻辑与程序化接口一致。
第三方金融数据服务商
少数专业金融数据商可能提供基于市场公开信息整合的“龙虎榜”相关数据,这间接反映了部分机构席位(非个人账户)的大额交割行为,但并非个人账户的真实交割单。
其API参数可能包括:
trade_date:交易日。stock_code:股票代码。seat_code:交易所席位代码。direction:买卖方向。
关键参数深度剖析
查询日期 (start_date, end_date)
交割单数据按交割清算日期存储。A股实行T+1交收制度,当日(T日)买入的股票,交割记录发生在下一个交易日(T+1日)。查询时需注意这一日期偏移。
证券代码 (symbol)
参数需使用带市场前缀的完整代码,如SH.600000或SZ.000001,具体格式取决于API设计。精确匹配此参数可过滤出特定股票的所有相关交割记录。
业务类型 (business_type)
这是一个常被忽视但至关重要的过滤器。除了普通的买入(BUY)和卖出(SELL),可能还包括:
红股入账 (
BONUS_SHARE)股息入账 (
DIVIDEND)配股缴款 (
ALLOTMENT)手续费扣收 (
FEE)
明确业务类型才能准确核算资金流水。
交易市场与股东账户
查询时系统内部会根据股票代码自动关联对应的上海A股股东账户或深圳A股股东账户。部分高级API可能允许直接指定market(如SH, SZ)或position_account(股东账号)作为查询参数。
数据处理与应用要点
获取原始数据后,需进行结构化处理:
字段映射:将API返回的原始字段(如
ZQDM,CJSL,CJJG)转换为标准名称(code,volume,price)。成本计算:交割单中的“发生金额”已包含税费,是计算持仓成本的真实数据。
数据合并:将同一策略或同一时间段的多账户交割单合并分析,以评估整体表现。
性能归因:将交割单数据与同一时间段的行情数据(如分钟K线)对齐,可精确分析订单的成交滑点、冲击成本以及策略信号的实际执行效果。
合规与风险提示
个人交割单数据属于高度敏感信息。使用任何API获取数据时,必须确保:
途径合法合规,仅使用自己账户所在券商提供的官方工具或授权接口。
妥善保管身份认证参数,防止泄露。
数据仅限于个人分析或受法律保护的策略研究使用。
获取到精准的交割单数据,意味着掌握了策略在实际交易中资金流动的完整图谱,这是从理论策略走向实战盈利过程中,不可或缺的诊断工具。
声明
转载声明:欢迎分享本文,转载请注明出处!
点击复制: