这一节,我们来学习查询订单,提交了订单,有可能成交,有可能成交不了进入挂单状态,也有可能成交一部分,撤销一部分,要想了解每笔订单记录和状态,就要通过查订单的接口获取,用query_stock_orders,就是字面意思,接口文档中叫做“委托查询”
订单列表 = 交易对象.query_stock_orders(账户对象)
for 订单 in 订单列表:
print('报单时间:', 订单.order_time,
'股票代码:', 订单.stock_code,
'订单编号:', 订单.order_id,
'柜台合同号:', 订单.order_sysid,
'报价类型:', 订单.price_type,
'委托类型:', 订单.order_type,
'委托状态:', 订单.status_msg,
'委托数量:', 订单.order_volume,
'委托价格:', 订单.price,
'成交数量:', 订单.traded_volume,
'成交均价:', 订单.traded_price)
这个接口查询的是所有订单,包括挂单、成交、撤销、部成、部撤等,返回的是一个列表,列表项是订单对象,迭代输出后结果如下

Python炒股自动化(5):通过接口查询订单,查询账户资产
然后就是查询已成交订单,包含部成和部撤的订单,虽然查询委托里也有这些,但在实际使用中委托查询接口会返回用不到的挂单和撤单状态的订单,也有几个关键信息,用委托查询接口是查不到的
成交列表 = 交易对象.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炒股自动化(5):通过接口查询订单,查询账户资产
接着再查询持仓信息,包含之前的持仓,和当前半成交半挂单的持仓(部成),还有卖出挂单的冻结部分,比如某支标的,你在多空方向同时挂单,买入方向成交了一部分,算进持仓数量里,也可能还未入账计入在途股份,卖出方向是挂单等待成交状态,就是在冻结里
持仓列表 = 交易对象.query_stock_positions(账户对象)
for 持仓 in 持仓列表:
print('证券代码:', 持仓.stock_code,
'持仓数量:', 持仓.volume,
'可用数量:', 持仓.can_use_volume,
'冻结数量:', 持仓.frozen_volume,
'开仓价:', 持仓.open_price,
'成本价:', 持仓.avg_price,
'市值:', 持仓.market_value,
'在途股份:', 持仓.on_road_volume,
'昨夜拥股:', 持仓.yesterday_volume)
输出后结果如下,我这资金量小,所以“部成”“部撤”状态难以捕捉,也没多大参考意义,这里就不演示了

Python炒股自动化(5):通过接口查询订单,查询账户资产
最后是查询账户,也就是“资产查询”,返回的是资产对象,都是字面意思
账户资产 = 交易对象.query_stock_asset(账户对象)
print('可用金额:', 账户资产.cash,
'冻结金额:', 账户资产.frozen_cash,
'持仓市值:', 账户资产.market_value,
'总资产:', 账户资产.total_asset)
输出后结果如下:

Python炒股自动化(5):通过接口查询订单,查询账户资产
至此,Python炒股自动化简版系列就完结了,就这么点内容,现在才写完,我太懒散了

Python炒股自动化(5):通过接口查询订单,查询账户资产
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/73353
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!