上一篇是获取数据,获取数据不难,有很多第三方库都可以获取,不一定非要用券商官方的接口,程序交易主要是交易的执行,这个没有官方接口是很难实现的。
券商的接口不用担心安全和稳定的问题,相当于就是普通股票账户,开通了程序化交易的权限,通过API接口来执行交易和查询订单、查询账户。
order_stock(
账户对象,
'600519.SH',
xtconstant.STOCK_BUY,#下单类型,这里是股票买入
100,
xtconstant.FIX_PRICE,#报价类型,这里是指定价格
下单价格
)
print('订单号:', 订单号)
券商官方的接口,个人账户可申请,接入文档完善,技术支持好的,经过我们筛选后,只有一家符合
会编程,有基础,只是需要API接口的朋友不用看这些,不懂程序的朋友可能需要学习或者找人代写交易策略,这不是什么现成的自动化程序
query_stock_orders(账户对象)
print('报单时间:', 订单.order_time,
'股票代码:', 订单.stock_code,
'订单编号:', 订单.order_id,
'柜台合同号:', 订单.order_sysid,
'报价类型:', 订单.price_type,
'委托类型:', 订单.order_type,
'委托状态:', 订单.order_status,
'委托数量:', 订单.order_volume,
'委托价格:', 订单.price,
'成交数量:', 订单.traded_volume,
'成交均价:', 订单.traded_price)
这个接口查询的是所有订单,包括挂单、成交、撤销、部成、部撤等,返回的是一个列表,列表项是订单对象,迭代输出后结果如下
然后就是查询已成交订单,包含部成和部撤的订单,虽然查询委托里也有这些,但在实际使用中委托查询接口会返回用不到的挂单和撤单状态的订单,也有几个关键信息,用委托查询接口是查不到的
成交列表 = 交易对象.query_stock_trades(账户对象)
for 成交 in 成交列表:
print('成交时间:', 成交.traded_time,
'证券代码:', 成交.stock_code,
'委托类型:', 成交.order_type,
'订单编号:', 成交.order_id,
'成交编号:', 成交.traded_id,
'柜台合同号:', 成交.order_sysid,
'成交数量:', 成交.traded_volume,
'成交⾦额:', 成交.traded_amount,
'成交均价:', 成交.traded_price)
还有查询持仓、资产等等,用法基本都大同小异,这里不再赘述了,
对股票量化程序化自动交易感兴趣的朋友可以关注我,有任何相关问题也可以留言讨论或者私信与我交流
标签:Python,查账,接口,order,订单,成交,查询,traded,交易 From: https://blog.csdn.net/caiair/article/details/141787258