炒股自动化:交易接口API才是重点,券商官方散户可用的接口

2024-04-11 22:04

本文主要是介绍炒股自动化:交易接口API才是重点,券商官方散户可用的接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一篇我们用get_full_tick取到了数据,也讲了变量和字典的基本概念,这次我们向交易所发送订单试试。前面文章的链接放在文末了,需要的可以看一下

这些内容是给新手看的,找接口的大佬们直接拉到文末即可

取市场数据的方法很多,官方接口取到的要比第三方的准确及时,就如上一篇取的实时数据,我用普通100M的家庭宽带,延迟也就是30毫秒左右。

要实现程序交易,首先取数据,然后我们要判断市场数据是否符合某个条件,然后根据条件来决定是否执行交易。交易接口和行情接口不一样,行情接口可以直接调用,交易接口需要和交易中心建立连接,还要告诉交易所是你的账户发来的指令。

# 客户端的路径
客户端路径 = 'D:/程序交易客户端/userdata_mini'
# 随便输入一个整数
会话编号 = random.randint(100, 10000)
# 创建交易对象实例
交易对象 = XtQuantTrader(客户端路径, 会话编号)
# 启动交易对象
交易对象.start()
# 创建交易连接
连接返回值 = 交易对象.connect()
# 返回值是0就是连接成功,失败返回非0的值,一般是-1
print('连接状态:', 连接返回值)
# 创建账户对象,默认STOCK,表示股票账户,也支持港股通、期权、期货等
账户对象 = StockAccount('你的资金账号', 'STOCK')

首先指定客户端的路径,所有的接口调用都是Python层在和客户端交互,这里你去GPT①问一下,为什么Python中,\要换成/来表示路径的字符串。路径用字符串表示,并赋值给变量“客户端路径”;不同的策略要用不同的会话编号,这里先不用理解,复杂的需要保持连接或者多个策略运行的才需要注意。

创建交易对象API实例,之后所有交易和账户类的操作都要用到,GPT问一下:Python中的对象是什么?面向对象编程是个什么概念?暂时不理解没事,简单读一下就行,这里我们就把对象想象成一把多功能军刀,用到哪个工具就拿出来,不用的时候收起来,就是个对象。后面创建连接,输出连接状态看一下是否成功,还有创建账户对象这些就好理解了。

准备工作做好了,上一篇也取了实时数据,现在就要根据实时价格来判断是否执行交易,还是以平安银行为例,代码000001.SZ,假设今天的价格到了10.01,我们就认为可以建仓了,执行买入一手。

实时数据 = xtdata.get_full_tick(['000001.SZ'])
卖一价 = 实时数据['000001.SZ']['askPrice'][0]
if 卖一价 <= 10.01:订单号 = 交易对象.order_stock(账户对象,'000001.SZ',xtconstant.STOCK_BUY,100,xtconstant.FIX_PRICE,卖一价)print('订单号:', 订单号)
# 一直忘说了,Python的注释是行首加#号
'''
也可以这样用大段注释,三个引号,
Python会认为这是字符串,直接跳过
注释是给人看的,代码是给编译器读的
注释的作用是给别人解释你的代码,给自己做的笔记
代码越写越多,逻辑越来越复杂,
回头再来修改和复用的时候,多半会忘了这段代码的作用
有个段子讲,代码写完当天只有自己和上帝知道什么意思
第二天就只有上帝知道了
'''

这里是以卖一价为准,主要是为了确保吃单成交,如果用买一价报单,就要挂单等待成交,不方便之后演示。

函数还有两个参数,strategy_name和order_remark,主要用于策略中识别订单来源,这里简化了先不用,第三个参数“委托类型”,股票普通交易只有STOCK_BUY和STOCK_SELL两种,两融、期货和ETF还有很多种,这里用不到。第四参数就是“委托数量”,股票是100的整倍数,也就是一手。第五个参数“报价类型”,这里用指定价xtconstant.FIX_PRICE,也就是我们取到的卖一价下单,也可以是自定一个价格,不要超出价格笼子就行。

上面的代码执行后,不一定会输出订单号,因为价格没到,所以要加上循环判断,一直等到价格到了,就执行,当然也可用订阅数据的方式来判断,那个复杂点,后边慢慢讲到。

今天的分享就这里吧,字数挺多了,无心学这些的人也读不到这里,有心学的也要去GPT问问,加深一下理解,对股票量化程序化自动交易感兴趣的朋友可以关注我,有任何相关问题也可以留言讨论或者私信与我交流

前面的相关文章如下:

http://炒股自动化:申请官方API接口,散户也可以icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136907158炒股自动化:官方API接口,Python程序员炒股利器,散户可用icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/137236078简版:

python炒股自动化(0),申请券商API接口icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/135455065python炒股自动化(1),量化交易接口区别icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/134665080Python炒股自动化(2):获取股票实时数据和历史数据icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136244006Python炒股自动化(3):分析取回的实时数据和历史数据icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136347285Python炒股自动化(4):通过接口向交易所发送订单icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136620466Python炒股自动化(5):通过接口查询订单,查询账户资产icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/136812940①:chatGPT、迅飞星火、通义千问、文心一言等等AI大模型,在之后都会用GPT表示,随便哪个都能协助编程,就普通的默认版本足够,不用付费买高级版本。很多很多人,主要是对编程完全没概念的人,认为GPT可以一劳永逸,完全不用懂编程,想多了,目前还做不到

这篇关于炒股自动化:交易接口API才是重点,券商官方散户可用的接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/895299

相关文章

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor