您的位置 首页 股票炒股

Python自动获取当日所有股票数据

开年以来,大盘直接从2400站上了3200,为了后续进一步分析股票数据,我想把每只股票每天的数据保存下来。 i…

开年以来,大盘直接从2400站上了3200,为了后续进一步分析股票数据,我想把每只股票每天的数据保存下来。

import pandas as pd
import tushare as ts
import datetime

首先导入必要的库:pandas数据处理,tushare是一个第三方库,通过它可以查到每天的实时股票数据,datetime是下面做日期标记会用到的一个库

#获取所有股票当日数据
stock = ts.get_today_all()

这是获取当前股票数据的一个命令,它返回的是当日实时的一个数据,如果是收盘或者节假日,则返回最近一个交易日的数据:

返回的值,包括了代码、开盘价、收盘价等。

#给数据添加一个日期
stock['date'] = datetime.date.today()

我需要给数据添加一个日期,这样就可以看到数据是哪一天的数据。这里要用到的是datetime库,新增加了一个叫date的字段,日期为当前日期。

在最后一列,可以看到date字段

然后,就可以导出数据了:

stock.to_csv('stock_data.csv',encoding = 'utf-8',index=None)

这里我将导出CSV格式的文件,原因有两个,一是pandas处理CSV格式的文件远比Excel快,二是Excel有最大行数限制,只能有104w行数据,而CSV没有这个限制(每天的股票数据有接近4000条,以一年交易日200天算,一年下来有80W条数数据),设置index为None主要是后面需要读取它,如果不设置,read_csv读取出来就会识别为一个没有表头的字段。

stock_data = pd.read_csv('stock_data.csv',sep=',')
df = pd.concat([stock,stock_data])
df.to_csv('stock_data.csv',encoding = 'utf-8',index=None)

stock_data 相当于是累计数据,stock为今天的数据,将今天的数据和stockdata用concat拼接在一起,最后还是输出到名为stock_data的CSV文件中,覆盖掉昨天的数据。

最后,将这个脚本放在定时任务crontab里执行,就可以获得累计每一天的每只股票的数据了(比如第一天3000行,第二条6000行,第3天9000行数据,以此类推),包括开盘价、收盘价、PE、PB、换手率等。

本文来自网络,不代表伊好股票网立场,转载请注明出处:https://www.yhaow.com/chaogu/1649.html

作者: 伊好股票网

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部