股票学习网

股票入门基础知识和炒股入门知识 - - 股票学习网!

股票实时数据连接 股票实时数据软件

2023-12-29 03:53分类:DMI 阅读:

通过编程获取历史股价的方式很多,但是免费的方式可以简单地分为四类:

使用某种网友开发的插件: 比如Python就有TuShare, akshare, 这种只需要写几行代码就能获取,但是不同的库有不同的利弊。比如TuShare中有很多数据需要一定的积分才能获取。

通过API接口,比如新浪,腾讯等等。

从专门的行情软件上面提取数据。

从财经网站上面爬取行情数据。

使用TuShare获取股价

TuShare是非常方便使用的, 比如在官网拿到Token后, 一行调用就可以获取股价信息:

import tushare as ts ts.set_token('***') pro = ts.pro_api() price = ts.pro_bar(ts_code='000020.SZ', start_date='2022-09-01',\ end_date='2022-09-09') price

结果如图:

通过API获取价格信息

新浪API

 

 

 

接口

描述

http://hq.sinajs.cn/list= + 股票代码

当日行情

http://hq.sinajs.cn/list=s_+ 股票代码

实时行情

 

 

 

请求例子:

import requests stock_code = 'sh600031,sz300866' header = { 'referer': 'http://finance.sina.com.cn' } # 当日行情接口 response = requests.get(f'http://hq.sinajs.cn/list={stock_code}', headers=header) print(response.text)

结果

var hq_str_sh600031="三一重工,15.750,15.750,16.260,16.310,15.660,16.260,16.270, 105649444,1702155639.000,6161,16.260,870579,16.250,132500,16.240,87700,16.230, 103100, 16.220,400510,16.270,328600,16.280,198700,16.290,795400,16.300,548100,16.310,2022-09-09,15:00:00,00,";var hq_str_sz300866="安克创新,59.250,58.620,59.150,59.420,57.850,59.150,59.160, 1703977,100420830.250,700,59.150,300,59.140,300,59.130,2000,59.120,7400,59.110, 300, 59.160,2000,59.170,2700,59.190,700,59.200,400,59.250,2022-09-09,15:35:00,00,D|0|0.000";

以上数据用,分割字符串中的内容,下标从0开始,依次为:

 

 

 

标号

内容

标号

内容

0

股票名字

1

当天开盘价

2

昨日收盘价

3

当天收盘价

4

当天最高价

5

当天最低价

...

     

 

 

 

指数也可以用这种方式获取。但是无法获取历史的股价信息。如果某天没有及时同步到本地数据库,就无法使用该接口获取那天的数据。接口可以一定性请求多个股票代码,用,隔开,不能有空格。

另外,这个接口现在一定要添加请求头:

header = { 'referer': 'http://finance.sina.com.cn' }

不然就会报错,提示:

Kinsoku jikou desu!

也就是日本语“禁止访问”的意思。很艺文!

腾讯API

 

 

 

接口

描述

http://qt.gtimg.cn/q= + 股票代码

最新行情

http://qt.gtimg.cn/q=ff_ + 股票代码

获取实时资金流向

http://qt.gtimg.cn/q=s_pk + 股票代码

盘口分析

http://qt.gtimg.cn/q=s_sh + 股票代码

简要信息

 

 

 

请求例子:

import requests stock_code = 'sh600031,sz300866' # 当日行情接口 response = requests.get(f'http://qt.gtimg.cn/q={stock_code}', timeout=6) print(response.text)

结果

v_sh600031="1~三一重工~600031~16.26~15.75~15.75~1056494~612059~444435~16.26~ 62~16.25~8706~16.24~1325~16.23~877~16.22~1031~16.27~4005~16.28~3286~16.29~1987~ 16.30~7954~16.31~5481~~20220909160001~0.51~3.24~16.31~15.66~ 16.26/1056494/1702155639~1056494~170216~1.24~30.06~~16.31~15.66~4.13~1381.01~ 1381.01~2.20~17.33~14.18~2.47~-10712~16.11~26.21~11.48~~~1.51~170215.5639~0.0000~ 0~ ~GP-A~-27.26~4.16~2.75~7.32~3.17~28.30~14.13~4.77~-3.21~-9.62~8493286021~ 8493286021~-30.86~-29.80~8493286021~~~-41.60~0.06~"; v_sz300866="51~安克创新~300866~59.15~58.62~59.25~17040~9711~7329~59.15~7~59.14~3~ 59.13~3~59.12~20~59.11~74~59.16~3~59.17~20~59.19~27~59.20~7~59.25~4~~20220909161451~ 0.53~0.90~59.42~57.85~59.15/17040/100420830~17040~10042~1.13~20.92~~59.42~57.85~ 2.68~89.46~240.40~3.82~70.34~46.90~0.70~46~58.93~20.88~24.49~~~1.45~10042.0830~ 0.0000~0~ AR~GP-A-CYB~-41.84~-3.30~1.35~18.25~13.07~128.07~48.89~-6.41~-13.66~ -5.83~151240045~406427207~27.38~-46.32~151240045~~~-45.35~-0.03~";

以上数据用~分割字符串中的内容,下标从0开始,依次为:

 

 

 

标号

内容

标号

内容

0

未知

1

股票名字

2

股票代码

3

当前价格

4

昨收

5

今开

6

成交量(手)

7

外盘

8

内盘

9

买一

10

买一量(手)

11-18

买二

19

卖一

20

卖一量

21-28

卖二

29

最近逐笔成交

30

时间

31

涨跌

32

涨跌%

33

最高

34

最低

35

价格/成交量(手)/成交额

36

成交量(手)

37

成交额(万)

38

换手率

39

市盈率

40

 

41

最高

42

最低

43

振幅

44

流通市值

45

总市值

46

市净率

47

涨停价

48

市净率

   

 

 

 

弊端就是哪天接口被禁用了,这种方式就用不了了。从专门的行情软件上面提取数据通达信

通达信是使用非常广泛的行情软件,其公司财富趋势已经在港交所上市。在通达信软件上下载行情后,数据会下载到本地(至少此时2022-09-10是这样)。数据在通达信的安装目录下:

可以使用程序读出来。附完整解析代码:

import struct import datetime class stock_price: def __init__(self, stock_date, stock_open, stock_high,\ stock_low, stock_close, stock_amount, stock_vol): self.stock_date = stock_date self.stock_open = stock_open self.stock_high = stock_high self.stock_low = stock_low self.stock_close = stock_close self.stock_amount = stock_amount self.stock_vol = stock_vol def get_stock_price(filepath): data = [] with open(filepath, 'rb') as f: while True: stock_date = f.read(4) stock_open = f.read(4) stock_high = f.read(4) stock_low= f.read(4) stock_close = f.read(4) stock_amount = f.read(4) stock_vol = f.read(4) stock_reservation = f.read(4) if not stock_date: break stock_date = struct.unpack("l", stock_date) # 4字节 如20220909 stock_open1 = struct.unpack("l", stock_open) #开盘价*100 stock_high1 = struct.unpack("l", stock_high) #最高价*100 stock_low= struct.unpack("l", stock_low) #最低价*100 stock_close = struct.unpack("l", stock_close) #收盘价*100 stock_amount = struct.unpack("f", stock_amount) #成交额 stock_vol = struct.unpack("f", stock_vol) # 成交量 stock_reservation = struct.unpack("f", stock_reservation) #保留值 date_format = datetime.datetime.strptime(str(stock_date[0]),\ '%Y%M%d') #格式化日期 data.append(stock_price(date_format.strftime('%Y-%M-%d'), stock_open1[0]/100.0, stock_high1[0]/100.0,\ stock_low[0]/100.0, stock_close[0]/100.0, stock_amount[0]/100.0, \ stock_vol[0]/100.0)) return data

找一个文件试试:

data_list = get_stock_price('./sz000002.day') print(f'交易日期: {data_list[-1:][0].stock_date}') print(f'开盘价: {data_list[-1:][0].stock_open}') print(f'最高价: { data_list[-1:][0].stock_high}') print(f'最低价: { data_list[-1:][0].stock_low}') print(f'收盘价: { data_list[-1:][0].stock_close}')

输出:

交易日期: 2022-09-09 开盘价: 17.49 最高价: 18.39 最低价: 17.41 收盘价: 18.15

 

在同花顺里面验证了下价格信息,是正确的。不过这种方式的弊端在于,需要手工在通达信里面执行更新数据的操作,并且通达信在未来某天变更了读写文件的方式,这种方式就不能用了。其它的软件也是类似的。这里要注意的是,如果需要读取指数的信息,

struct.unpack("l", stock_open)

这行代码里面的格式需要变动一下,目前变成

struct.unpack("f", stock_open)

即可。

从财经网站上面爬取行情数据

这种是最靠谱的方式的,但是实现也是比较繁琐的,某种程度上,也有法律上面的风险,参考:中国爬虫违法违规案例汇总 (
https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China)。股票价格数据都是公开的,不是什么隐私,但是程序写的不好,把目标网站爬宕机了,就有法律风险了。上面例子中的新浪API接口还是很稳定,支持高并发的。貌似可能是某个性能高手开发的, 参考: 杨建:网站加速--服务器编写篇(上)(
https://blog.csdn.net/lishenglong666/article/details/39028093), 原文不见了,放个转载。

提供股价信息的部分网站

雪球, https://xueqiu.com

集思录, https://www.jisilu.cn/

巨潮资讯网, http://www.cninfo.com.cn

百度股市通, https://gushitong.baidu.com

东方财富网, https://www.eastmoney.com/

同花顺, https://www.10jqka.com.cn/

......

 

八爪鱼采集器用户使用场景:

投资者常需要根据股票市场行情来进行决策调整,每天查找同花顺的股票信息并同步到投资小组群内,但人工手动查询不仅会浪费大量时间,且复制粘贴信息到钉钉群的过程中易出错。因此,投资人常常在想这一套流程是否可以实现自动化?

如果要连接两个不同系统的数据,往往需要系统开发,费用高,时间周期长,并且像八爪鱼采集器这种比较灵活,企业经常会调整使用流程,系统字段,这会导致需要不断地进行调整和开发。

八爪鱼采集器如何无代码集成第三方系统?

利用集简云系统,企业可以轻松实现这个功能,将多个软件中的数据自动同步,并且无需开发,即便没有任何技术知识的业务人员,也可以轻松使用。

集简云全渠道连接器,轻松连接八爪鱼采集器与数百款软件系统

通过集简云无代码集成平台,无需开发就可以将八爪鱼采集器无缝集成到各种第三方应用系统,例如:OA办公系统,客户服务系统,MySQL数据库,企业微信,表单系统,CRM等数十款应用系统,以及企业内部系统进行数据同步与功能执行。

查看完整的可用应用列表:

集简云的使用流程:

触发动作:当一个应用系统发生了什么事情时

执行动作:自动在一个或者多个不同系统中执行不同事件

【定时启动+八爪鱼采集器+钉钉群机器人】具体操作演示

定时启动是集简云一款内置应用,每天晚上12点查询广告推广数据,每小时查询一次实时要闻等,这些如果想在指定时间执行,可以通过此应用来实现。

八爪鱼网页数据采集器,是一款使用简单、功能强大的网络爬虫工具,完全可视化操作,无需编写代码,内置海量模板,支持任意网络数据抓取。

钉钉(DingTalk)是中国领先的智能移动办公平台,由阿里巴巴集团开发,免费提供给所有中国企业,用于商务沟通和工作协同。钉钉群机器人是钉钉系统的内置功能,可以理解为是一个群提醒通知工具,接收数据并自动发送信息到钉钉群中。

1.实现目的:八爪鱼每天定时获取同花顺股票信息并自动发送到群内,无需人工再手动查询,省时省力。

2.数据流程由两个部分组成(触发&执行)

触发动作:每天指定时间启动

执行动作:八爪鱼采集器自动导出一批任务数据

执行动作:钉钉群机器人自动发送消息通知

3.达成效果:通过集简云,八爪鱼每天定时获取同花顺股票信息并自动发送到群内,无需人工再手动查询,省时省力。

更多流程示例:

表单系统+八爪鱼采集器+OA系统:当表单系统中有数据新增时,八爪鱼采集器自动导出指定任务的一批数据,然后通过OA系统发送消息通知企业相关成员及时查看

webhook+八爪鱼采集器+表单系统:当webhook接收网页传来的数据时,八爪鱼采集器自动获取指定任务组中的任务数据,然后同步到表单系统中存储

CRM系统+八爪鱼采集器+OA系统:当CRM系统新增用户时,八爪鱼采集器自动获取当前用户的所有任务组数据,然后通过OA系统发送消息通知企业相关成员及时查看

为什么选择集简云?

1. 业务流程自动化,节省企业数万小时的人工成本

您的团队还在人工导出导入不同系统之间的数据信息,手动的在不同的系统中录入,修改和执行各种操作吗?通过集简云,无需任何开发既可以快速搭建自动化的业务流程,简单快捷,人人可用,几分钟创建的自动化业务流程或许可以节省企业数万小时的人工成本。

2. 利用AI人工智能技术,提升业务流程的效率与价值

在自动化业务流程之外,集简云提供了AI人工智能组件,帮助企业将那些需要人工参与的重复性工作转由AI人工智能技术自动处理,包括语义分析,预测模型,信息自动提取等多种不同的AI模块。

集简云:让连接更简单

集简云是一款超级软件连接器,无需开发,无需代码知识就可以轻松打通数百款软件之间的数据连接,构建自动化与智能化的业务流程。通过自动化业务流程,每月可节省您百甚至数万小时的人工成本。

集简云开放平台介绍

集简云开放平台是集简云为开发者(软件公司,企业内部开发者,独立开发者)提供快速与集简云平台中的应用进行连接的能力,您可以将您的软件接口上线到集简云平台轻松实现数百款应用软件的数据互通。您也可以将集简云的集成能力嵌入到您的软件系统中,将数百款软件的集成能力变成您产品的功能与卖点,扩展额外收入,提升客户成交率,成交金额与满意度。

https://www.haobaihe.com

上一篇:新手如何炒股基本常识同炒股新手如何选股

下一篇:怎么样开一家水吧以及怎么样开发新客户

相关推荐

返回顶部