股票行情数据怎么提取到Excel?普通人也能学会的5个实用方法

企业微信

为什么要把股票行情数据弄进Excel

干投资这行十几年,见过太多人每天在行情软件和Excel之间来回复制粘贴,收盘后花一小时整理持仓表。股票行情数据提取到Excel这件事,说小了是省时间,说大了直接影响你复盘的质量和交易的执行力。行情软件里的数据是死的,只有落到Excel里跟你的成本价、仓位、策略参数放在一起,才能看出门道。这篇把从零到进阶的几条路都捋清楚,你按自己的数据量和使用频率挑一条走就行。

方法一 直接从网页表格复制粘贴

最原始也最快的方法,适合偶尔查几只股票的数据。打开新浪财经、东方财富或者巨潮资讯的行情页面,找到你需要的表格,鼠标框选整个表格区域,Ctrl+C复制,切到Excel里Ctrl+V粘贴。Excel会自动识别网页表格的结构,把每个单元格拆开。

这条路有个坑要注意:粘贴过来的数字经常带着单位或者空格,比如“12.35元”或者“1.2万手”,Excel会当成文本处理,没法直接算涨跌幅。解决办法是用Ctrl+H把“元”替换成空,选中整列用“数据-分列”处理一下,或者干脆粘贴时右键选择“匹配目标格式”。对于每天只看十几只票的人来说,这个方法三秒钟搞定,没必要上工具。

股票行情数据怎么提取到Excel?普通人也能学会的5个实用方法

方法二 用财经网站的数据导出功能

东方财富的Choice、同花顺的iFinD这些终端自带导出Excel的按钮,点一下就能把当前列表的行情数据存成xlsx文件。免费用户也能用,只是导出的字段少一些、有延时。雪球和理杏仁这类网站同样支持把筛选后的股票列表导出。

操作上没什么难度,选好你要的字段——开盘价、收盘价、成交量、换手率、市盈率这些——点导出,Excel打开后做一次格式整理就能用。适合每天收盘后整理一次自选股池的人,数据是现成的,省去自己抓取的麻烦。缺点是不能定制抓取频率,也没法自动更新,每天得手动点一次。

方法三 Excel自带的股票数据类型

Office 365和Excel 2021之后的版本内置了“股票”数据类型,这个功能被严重低估了。选中一列股票代码,点“数据”选项卡里的“股票”,Excel会自动联网匹配对应的公司,单元格左上角出现一个小图标。点这个图标就能展开几十个字段:最新价、涨跌幅、市盈率、市值、52周高低点,应有尽有。

更实用的是这些字段是动态的,右键刷新就能更新。你可以建一个持仓表,A列放代码,B列用公式引用股票数据类型的字段,比如=A2.最新价,刷新后整列自动更新。不需要写任何代码,适合不想折腾工具的普通投资者。限制在于数据有延迟,且依赖微软的数据源,A股覆盖还行,期货和港股的支持弱一些。

方法四 用VBA抓取网页数据

如果每天要更新几十上百只股票,手动操作就太蠢了。Excel自带的Power Query能抓网页表格,但遇到需要登录或者动态加载的行情页面就歇菜。这时候VBA里的XMLHTTP对象就派上用场了。

思路很简单:用VBA发一个HTTP请求到行情接口,拿到返回的JSON或者HTML,解析出需要的字段,写进单元格。东方财富和新浪财经都有公开的行情接口,返回的是JSON格式,VBA用Split或者正则表达式就能拆出价格。代码框架大概是这样:创建XMLHTTP对象、Open方法指定URL、Send发送请求、用ResponseText拿到返回内容、然后按分隔符拆字符串写入单元格。

这段代码写一次就能反复用,设个按钮绑定宏,每天点一下全市场自选股数据自动更新。缺点是VBA处理JSON比较笨拙,接口一改返回格式代码就得跟着调,维护成本不低。适合有一定编程基础、数据需求固定的老手。

方法五 Python批量抓取写入Excel

数据量大、需要定时更新、还要做计算的话,Python是目前最顺手的工具。核心就三样东西:requests发请求拿数据,pandas整理成表格,openpyxl或者to_excel写进Excel文件。

以抓取东方财富的行情接口为例,请求里带上股票代码列表,返回JSON后直接用pd.DataFrame()转成数据框,字段重命名、类型转换几行代码搞定,最后df.to_excel('行情.xlsx', index=False)落盘。想每天自动跑就挂到Windows任务计划或者服务器定时任务上,早上开盘前数据已经躺在Excel里了。

相比VBA,Python处理JSON和缺失值的能力强太多,几十万行数据也是秒级处理。还能顺手把涨跌幅、均线偏离度这些衍生指标算好一起写进表格,打开Excel直接就是能用的分析底稿。唯一的门槛是得装Python环境,对完全没碰过代码的人需要半天学习成本。

怎么选适合自己的路子

每天只看十几只票、偶尔用一下,方法一和方法二足够了,别为了省五分钟去学编程。持仓二三十只、想自动刷新,Excel自带的股票数据类型最省心。每天要处理全市场几千只股票、或者需要定时落盘做回测的,直接上Python,VBA可以作为过渡方案但长远看维护起来累。

还有一个容易被忽略的点:抓下来的数据一定要在Excel里做好字段命名和格式规范,比如价格保留两位小数、成交量统一成“手”、日期用标准格式。不然今天用这个格式明天用那个格式,攒了三个月的数据没法合并分析,前面的功夫全白费。行情数据提取到Excel不是目的,目的是让你复盘和决策的时候手里有干净、能直接算的数据。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/gupiaohangqing-shuju-Excel-1412.html