python多进程与多线程获取股票实时数据(二).pdf


立即下载 WL
2024-07-11
数据 股票 获取 实时 thon py import 进程 多线程 线程
331.5 KB

python 多进程与多线程获取股票数据
前一天简单介绍了 python 怎样获取历史数据和实时分笔数据,那么如果要
获取所有上市公司的实时分笔数据,应该怎么做呢?
肯定有人想的是,用一个列表存储所有上市公司的股票代号,然后无限循环
获取不就得了吗?
现在深市和沪市的股票一共有 3400 多只,如果你真这样做的话,获取一次
所有股票的实时数据需要十几二十秒的时间,甚至更多,而且非常容易因为等待
超时而使程序挂掉,如果你的模型对实时数据的质量要求非常高,这肯定是不行
的,即使不考虑数据质量,获取数据的脚本经常挂也是不行的。
那首先想到的是多线程和多进程。然而因为 python 全局解释锁的存在,在
多线程情况下,即使是在多核 cpu的情况下,也只能同时执行一个线程,即使如
此,多线程获取一次所有股票实时数据所花的时间,依然比在一个大循环里面运
用单线程少得多,这是因为 python从网络获取数据存储到本地,是 IO密集型任
务,python 多线程依然能很大程度上提高性能,具体细节在这里不多做介绍。
为了充分利用带宽资源,IO资源,在这里使用多线程和多进程两种方式获取
股票数据,
首先我们需要有一个比较全的所有股票代号文件,我已经替大家准备好了,关注
微信公众号【数据之佳】回复“股票”四个字即可得到下载链接,压缩包提供多
线程和多进程获取股票实时数据两个案例,其中的 stocks 文件内存储的是股票
代号文件,提供的是截止今日(2017-11-23)的所有上市公司代号。
在这里提供多线程的例子,多进程的例子请在【数据之佳】里面查看,同时
代码也给大家准备好了,上面回复的“股票”得到的下载链接里面直接就有
python源文件,下载以后修改一下路径直接就可以跑了,其中用到的 python版

本是昨天分享的文章中 anaconda 自带的 python3.5,代码依然使用 jupyter 编
写,操作系统为 win10,在 linux上只需要稍加改动就可以了执行了。
import pandas as pd
import numpy as np
import tushare as ts
import os
import time


数据/股票/获取/实时/thon/py/import/进程/多线程/线程/ 数据/股票/获取/实时/thon/py/import/进程/多线程/线程/
-1 条回复
登录 后才能参与评论
-->