首页 > 编程语言 >Python股票接口实现查询账户,提交订单,自动交易(1)

Python股票接口实现查询账户,提交订单,自动交易(1)

时间:2024-08-31 16:25:02浏览次数:6  
标签:订单 Python 20240830 接口 查询 接入 数据 交易

部分券商已经支持股票的API交易接入,大部分讲量化交易的文章都是讲用各种Python库取股票数据,和交易策略的回测,很少有讲到账户的查询和订单的提交与查询。

基础介绍:

其实取数据有各种方法,也都没什么门槛,有很多免费好用的第三方Python库,即时性和准确性不像券商官方的稳定可靠,实现绝大部分的分析是足够了。这篇也只讲官方数据的获取,交易和查账在之后的文章中会讲到。

交易和查账的接口是需要找特定券商申请的,虽然现在可以给个人账户的小散户低门槛接入了,10万8万的资金量也可以开通,但是也是需要严格合规的报备流程的,有些券商渠道甚至可以3万2万就可以申请,这都不是主要的,重要的是接入的方式。

比如云端接入,首先代码的安全性没有保障,运算的性能也受限,如果你的交易策略没有很复杂的计算,只是根据实时数据决定是否执行交易,那云端的接入方式反而更有优势,因为速度要快很多。

再就是用的最多的,在自己的Python环境取数据,查账,提交订单。依托Python的灵活,强大,可以实现任何复杂策略的执行,这里不会讲到交易策略的编写,这里只讲基本的数据获取和订单执行,复杂庞大的交易策略要看你自己的能力和本地的配置了。

演示数据的获取:

get_full_tick(['000001.SZ', '600519.SH'])

参数是股票代码的列表,一次别太多,如果一次几千支,网络带宽也不强大的话,要1分钟以上才能取回来数据,

返回的数据是dict格式

{'600519.SH': {'timetag': '20240830 11:29:58', 'lastPrice': 1437.96, 'open': 1413, 'high': 1444.66, 'low': 1405, 'lastClose': 1413.3, 'amount': 2609109400, 'volume': 18263, 'pvolume': 1826345, 'stockStatus': 0, 'openInt': 13, 'settlementPrice': 0, 'lastSettlementPrice': 0, 'askPrice': [1437.96, 1438, 1438.5, 0, 0], 'bidPrice': [1437.23, 1437.18, 1437.15, 0, 0], 'askVol': [10, 16, 5, 0, 0], 'bidVol': [1, 2, 1, 0, 0]}, '000001.SZ': {'timetag': '20240830 11:30:00', 'lastPrice': 10.25, 'open': 10.11, 'high': 10.26, 'low': 10.11, 'lastClose': 10.13, 'amount': 834121300, 'volume': 819209, 'pvolume': 81920851, 'stockStatus': 0, 'openInt': 14, 'settlementPrice': 0, 'lastSettlementPrice': 0, 'askPrice': [10.25, 10.26, 10.27, 0, 0], 'bidPrice': [10.24, 10.23, 10.22, 0, 0], 'askVol': [4193, 6667, 6274, 0, 0], 'bidVol': [1051, 2263, 2667, 0, 0]}}

取历史数据:

get_market_data(
    ['open','high','low','close'],
    ['000001.SZ', '600519.SH'],
    '1m',
    '20240830',
    '20240830')

返回的也是字典格式,字典的键值是Pandas的dataframe,数据太长,这里不贴演示数据了

取了数据下一篇,演示提交订单到交易所,也就是报单。

今天分享就到这里,对股票量化程序化自动交易API接口感兴趣的朋友,可以关注我,有相关问题也可以留言讨论或者私信与我交流

标签:订单,Python,20240830,接口,查询,接入,数据,交易
From: https://blog.csdn.net/caiair/article/details/141714005

相关文章

  • tomcat接口优化
    ApacheTomcat是一个开源的Servlet容器,主要用于部署JavaWeb应用程序。对于Tomcat接口(通常指的是暴露给外部访问的Web服务端点)的优化,可以从多个方面入手,包括但不限于性能、安全性、可维护性等方面。以下是几个常见的优化方向:1.性能优化JVM配置:调整JVM参数,例如设置合适的堆内存大......
  • python基础三之基本数据类型
    1.数字类型及操作1.1整数类型  可正可负,没有取值范围限制pow(x,y) 计算x的y次方,想算多大算多大4种进制表示形式十进制:如:1019,8,-8二进制:由0b或0B开头,只由0,1组成,如:0b0110,-0B101010101八进制:由0O或0o开头:0O123,-0O445十六进制:又0X或0x开头:0X89,-0x9a1.2......
  • (免费源码)计算机毕业设计必看必学 SSM大学生实习就业推荐系统68986 原创定制程序 java
    SSM大学生实习就业推荐系统 摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于角度存在偏差,人们经常能够获取不同类型的信息,这也是技术最为难以攻克的课题。针对大学生实习就业推荐系统等问题,对大学生实习就业推荐系统进行研究......
  • 使用广播星历计算卫星坐标(Python)
    前言本代码为GNSS课程设计代码,仅供参考,使用的计算方法与公式均来源于王坚主编的《卫星定位原理与应用(第二版)》。本代码计算结果可以通过下载精密星历进行比照,误差在1-10m左右。实现功能:读取卫星广播星历,并将其计算为WGS-84坐标系下的坐标,每颗卫星,每15分钟输出一次。广播星历......
  • python中的编码&解码
    https://cloud.tencent.com/developer/article/2278351编码(encode):将Unicode字符串转为特定编码格式对应的字节码的过程;就是将字符串转换为字节码解码(decode):将特定编码格式的字节码转为对应的Unicode字符串的过程;就是将字节码转换为字符串正确写法只有str.encode()和bytes.decod......
  • 阿尔茨海默病症识别+图像识别Python+人工智能+深度学习+TensorFlow+机器学习+卷积神经
    一、介绍阿尔茨海默病症识别。使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对病症图片4种数据集进行训练['轻度痴呆','中度痴呆','非痴呆','非常轻微的痴呆'],最终得到一个识别精确度较高的模型。然后使用Django框架......
  • Python基础学习---黑马程序员
    1.变量------课后练习money=50print("当前钱包余额:",money,"元")bql=10money=money-bqlprint("购买了冰淇淋,花费:",bql,"元")kl=10money=money-klprint("购买了可乐,花费:",kl,"元")print("最终,钱包剩余:",money......
  • 2024年8月31日 Python - asycnio
    参考asyncio---异步I/O—Python3.12.4文档asyncio视频教程-bilibili6.2.9. yield表达式—Python3.12.4文档PEP380:委托给子生成器的语法yield介绍yieldx生成一个内容yieldfrom委托给子生成器,yieldfromiterable本质上只是foritemini......
  • python并发与并行(十一) ———— 让asyncio的事件循环保持畅通,以便进一步提升程序的响
    前一篇blog说明了怎样把采用线程所实现的项目逐步迁移到asyncio方案上面。迁移后的run_tasks协程,可以将多份输入文件通过tail_async协程正确地合并成一份输出文件。importasyncio#OnWindows,aProactorEventLoopcan'tbecreatedwithin#threadsbecauseittriestoregi......
  • python并发与并行(十) ———— 结合线程与协程,将代码顺利迁移到asyncio
    在前一篇中,我们用asyncio模块把通过线程来执行阻塞式I/O的TCP服务器迁移到了协程方案上面。当时我们一下子就完成了迁移,而没有分成多个步骤,这对于大型的项目来说,并不常见。如果项目比较大,那通常需要一点一点地迁移,也就是要边改边测,确保迁移过去的这一部分代码的效果跟原来相同。为......