使用python爬取股票基金的最新数据消息,并用Excel绘制树状图一目了然

python用线性回归预测股票价格 线性回归在整个财务中广泛应用于众多应用程序中。在之前的教程中,我们使用普通最小二乘法(OLS)计算了公司的beta与相对索引的比较。现在,我们将使用线性回归来估计股票价格。 线性回归是一种用于模拟因变量(y)和自变量(x)之间关系的方法。通过简单的线性回归,只有一个自变量x。可能有许多独立变量属于多元线性回归的范畴。在这种情况下,我们只有一个自变量即日期。对于第一个日期上升到日期向量长度的整数,... 阅读详情

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取

Python免费学习资料、代码以及交流解答点击即可加入


大家好,最近大A的白马股们简直跌妈不认,作为重仓了抱团白马股基金的养鸡少年,每日那是一个以泪洗面啊。

 

 

不过从金融界最近一个交易日的大盘云图来看,其实很多中小股还是红色滴,绿的都是白马股们。

以下截图来自金融界网站-大盘云图:

 

 

那么,今天我们试着用python爬取最近交易日的股票数据,并试着用excel简单绘制上面这个树状图。

  • 爬取网易财经各板块股票数据
  • excel树状图
  • 简单的树状图
  • 带有增长率的树状图

一.爬取网易财经各板块股票数据

目标网址:

http://quotes.money.163.com/old/#query=hy010000&DataType=HS_RANK&sort=PERCENT&order=desc&count=24&page=0

 

由于这个爬虫部分比较简单,这里不做过多赘述,仅介绍一下思路并附上完整代码供大家参考。

爬虫思路:

请求目标网站数据,解析出主要行业(新)的数据:行业板块名称及对应id(如金融,hy010000)

根据行业板块对应id构造新的行业股票数据网页

由于翻页网址不变,代入参数,获取全部页数,然后翻页爬取全部数据

爬虫代码:

# -*- coding: utf-8 -*-
"""
Created Feb 28 10:30:56 2021
@author: 可以叫我才哥
"""

import requests
import re
import pandas as pd

# 获取全部板块及板块id
url = 'http://quotes.money.163.com/old/#query=hy001000&DataType=HS_RANK&sort=PERCENT&order=desc&count=24&page=0'

r = requests.get(url)

html = r.text
# 替换非字符为空,便于下面的正则
html = re.sub('\s','',html)
# 正则获取 板块及id所在区域
labelHtml = re.findall(r'</span>主要行业\(新\)</a>(.*?)</span>证监会行业\(新\)',html)[0]
# 正则板块和id,结果为由元组组成的列表
label = re.findall(r'"qid="(hy.*?)"qquery=.*?"title="(.*?)">',labelHtml)
# 转化为dataframe类型
dfLabel = pd.DataFrame(label,columns=['id','板块'])

# 根据板块id和翻页获取页面数据(json格式)
def get_json(hy_id, page):
    query = 'PLATE_IDS:' + str(hy_id)
    params={
        'host': 'http://quotes.money.163.com/hs/service/diyrank.php',
        'page': page,
        'query': query,
        'fields': 'NO,SYMBOL,NAME,PRICE,PERCENT,UPDOWN,FIVE_MINUTE,OPEN,YESTCLOSE,HIGH,LOW,VOLUME,TURNOVER,HS,LB,WB,ZF,PE,MCAP,TCAP,MFSUM,MFRATIO.MFRATIO2,MFRATIO.MFRATIO10,SNAME,CODE,ANNOUNMT,UVSNEWS', #你可以不用这么多字段
        'sort': 'PERCENT',
        'order': 'desc',
        'count': '24',
        'type': 'query',
        }
    url = 'http://quotes.money.163.com/hs/service/diyrank.php?'
    r = requests.get(url,params=params)
    j = r.json()
    
    return j

# 空列表用于存取每页数据
dfs = []
# 遍历全部板块
for hy_id,板块 in dfLabel.values:
    # 获取页数
    j = get_json(hy_id, 0)
    pages = j['pagecount']
    
    for page in range(pages):
        j = get_json(hy_id, page)
        data = j['list']
        df = pd.DataFrame(data)
        df['板块'] = 板块
        dfs.append(df)
    print(f'已爬取{len(dfs)}个板块数据')

result = pd.concat(dfs)     

二.绘制Excel树状图

excel树状图是在office2016级之后版本中新加的图表类型,想要绘制需要基于此版本及之后的版本哦。

简单的树状图绘制流程:框选数据—>插入—>图表—>选中树状图 即可。

 

 

以下图为例,在树状图中,每个色块代表一个省份,色块面积大小则由其GDP值大小决定。

 

三.带有增长率的树状图

我们发现,在基础的树状图中,色块颜色除了区别色块之外并没有其他特殊含义。拿GDP来说,除了值之外我们一般也会去看其增长率,那么是否可以让色块颜色和增长率有关联呢?

下面我们试着探究一下,如果成功的话,那么金融界的大盘云图似乎也可以用excel树状图来进行绘制了不是!

1.思路:

我们希望色块颜色能代表增长率,比如红色是上涨,绿色是下降且颜色越深代表绝对值越大

再对每个色块进行对应的颜色填充即可

由于 树状图顶多支持多级,色块颜色也只能手动单一填充,怎么办呢?既然手动可以,那么其实就可以用VBA自动化这个过程咯。

2、增长率配色

基于上述思路,我们需要对增长率进行配色,最简单的就是用条件格式里的色阶。

框选增长率数据—>开始—>条件格式—>色阶(选中那个让值越大颜色越红的,由于这里有负增长率,所以选了带红绿的):

 

 

为了更好的展示区分正负增长率,我们在设置完色阶后再进行管理规则:

我们将中间值设为数字0,这样负增长率就是绿色,正增长率就是红色;

我们将最大值设置为百分点值80,也就是增长率前80%的值都是最红的。

 

 

最终配色效果:

 

四.VBA填充色块颜色

先看效果:

湖北因为收到疫情影响最大,有接近小半年属于封省状态,全年增长率为负数。

 

 

由于条件格式下单元格颜色是不固定的无法通过vba获取,我们需要将颜色赋值到新的一列中去,需要用到如下操作:

选中增长率数据复制,然后点击剪切板最右下角会出现剪贴板,再鼠标左键选择需要粘贴的地方如E2,点击剪贴板中需要粘贴的数据即可。 这个时候,被粘贴的单元格区域的颜色就是固定的了,你可以选择删除数据只留颜色部分。

 

 

VBA思路:

  • 激活需要操作的图表(Activate)
  • 遍历全部的系列和数据点(ActiveChart.FullSeriesCollection(1).Points.Count)
  • 从第一个数据点开始,获取对应增长率单元格颜色(ActiveSheet.Range("E" & i + 1).Interior.Color)
  • 将单元格赋值给该数据点(Selection.Format.Fill.ForeColor.RGB)

VBA代码:

Sub My_Color()
 
 ActiveSheet.ChartObjects("图表 1").Activate
 '遍历全部的数据点
 For i = 1 To ActiveChart.FullSeriesCollection(1).Points.Count
 '选中数据点
 ActiveChart.FullSeriesCollection(1).Points(i).Select
 '获取单元格颜色
 MyColor = ActiveSheet.Range("E" & i + 1).Interior.Color
 '将单元格颜色赋值给对应数据点填充色
 Selection.Format.Fill.ForeColor.RGB = MyColor
 Next

执行脚本过程如下:

 

 

好了,以上就是本次全部内容,大家可以试着爬取股票数据,然后试着绘制一下。

Python实现股票涨跌预测——随机森林模型 ''' python3.7 -*- coding: UTF-8 -*- @Project -> File :Code -> Stock @IDE :PyCharm @Author :YangShouWei @USER: 296714435 @Date :2021/3/18 15:52:15 @LastEditor: ''' import tushare as ts # 引入股票基本数据相关库 import numpy as np import pandas as pd imp 阅读详情

相关推荐

(二)python金融数据分析--β求解

2.股票的系统性风险β (1)单只股票的收益率 A:简单收益率 计算逻辑=(当期价格-上期价格)/上期价格,获取的数据由上之下开始计算,所以第一个数据一般都为NAN df2=df1['close'].pct_change() df2.plot() B:对数收益率 df1['return']=np.log(df1['close']/df1['close'].shift(1)) df1['retu...

luckyboy1997的博客 1943

python量化选股_python量化选股策略

python量化哪个平台可以回测模拟实盘还不要钱Python量化投资框架:回测+模拟+实盘Python量化投资 模拟交易 平台   1. 股票量化投资框架体系 1.1 回测 实盘交易前,必须对量化交易策略进行回测和模拟,以确定策略是否有效,并进行改进和优化。作为一般人而言,你能想到的,一般都有人做过了。回测框架也如此。当前小白看到的主要有如下五个回测框架: Zipline :事件驱动框架,国外很流...

weixin_39710179的博客 2202

数据分析实战:Excel、SQL、Python、Power BI全流程电商项目解析

很多同学想入门数据分析,但面对 Excel、Python、SQL、BI 这些工具,常常感到无从下手,不知道从哪学起,也不知道学完后能做什么。网上资料虽然多,但往往零散不成体系,学完基础语法却做不出一个完整的分析项目。 本文为你整合了一套从零到一的数据分析实战学习路径,覆盖 Excel、Python、SQL、Power BI 四大核心工具。我们不只讲语法,更通过一个完整的“电商用户行为分析”项目,串联所有知识点,让你亲手完成数据获取、清洗、分析、可视化的全流程。无论你是学生、转行者,还是想提升技能的职场人,都

weixin_33744141的博客 386

实现基于股票收盘价的时间序列的统计(用Python实现)

时间序列是按时间顺序的一组真实的数字,比如股票的交易数据。通过分析时间序列,能挖掘出这组序列背后包含的规律,从而有效地预测未来的数据。在这部分里,将讲述基于时间序列的常用统计方法。 1 用rolling方法计算移动平均值 当时间序列的样本数波动较大时,从中不大容易分析出未来的发展趋势的时候,可以使用移动平均法来消除随机波动的影响。可以说,移动平均法是针对时间序列的常用分析方法,其基本思想是,根据时间序列样本数据、逐步向后推移,依次计算指定窗口序列的平均值。 股票的移动平均线是个...

hsm_computer的博客 6085

【Python】用matplotlib函数绘制股票趋势图

在Python中用matplotlib函数绘制股票趋势图。

阿黎逸阳的博客 6886

模式分类识别 | Python实现基于Xboost的股票走势识别预测

模式分类识别 | Python实现基于Xboost的股票走势识别预测

前程算法屋的博客 1117

python爬取股票最新数据并用excel绘制树状图

文章目录1. python爬取网易财经不同板块股票数据2. excel树状图2.1. 简单的树状图2.2. 带有增长率的树状图2.3.1. 增长率配色2.3.2. VBA填充色块颜色 大家好,最近大A的白马股们简直跌妈不认,作为重仓了抱团白马股基金的养鸡少年,每日那是一个以泪洗面啊。 不过从金融界最近一个交易日的大盘云图来看,其实很多中小股还是红色滴,绿的都是白马股们。 以下截图来自金融界网站-大盘云图: 那么,今天我们试着用python爬取最近交易日的股票数据,并试着用excel简单绘制以下上面这个

可以叫我才哥 1401

从空调温控到信号降噪:一阶RC低通滤波器在Arduino和STM32上的C语言实现指南

本文详细介绍了如何在Arduino和STM32平台上使用C语言实现一阶RC低通滤波器,涵盖从基础理论到实际应用的完整流程。通过具体代码示例和优化技巧,帮助开发者有效处理传感器噪声、信号平滑等问题,提升嵌入式系统的信号处理能力。

weixin_30565199的博客 501

python源码案例 使用python爬虫爬取股票基金的最新数据消息,并用Excel绘制树状图进行数据分析

python源码案例 使用python爬虫爬取股票基金的最新数据消息,并用Excel绘制树状图进行数据分析

m0_37302966的博客 1271

Chapter 5 Gate Drivers and Level Shifters

Gate driver如下图所示, 包括功率管(带保护), Gate driver, Level shifter, Gate Supply 和Dead-time control.

2304_76736886的博客 2237

BMS短路测试避坑指南:从炸管到稳定,我是如何搞定MOS管和TVS的

本文详细记录了BMS短路测试中MOS管和TVS的优化过程,从驱动电阻调整、PCB寄生参数控制到TVS选配策略,提供了一套实用的调试方法论。通过实战案例解析,帮助工程师避免常见陷阱,实现稳定可靠的短路测试性能。

weixin_30652897的博客 140

数据清洗与融合期末考试(常见理论题)

大数据时代虽然信息资源丰富,但是根据大数据的4V原则中的(数据量大,种类繁多,价值密度低,速度快)数据量大,种类繁多和价值密度低,我们可知我们所获取的数据中有大量的脏数据和异常值,包括我们所用不到的数据。在我们日常的分析中,我们所有的数据难免会有一些脏数据和异常值,数据清洗和融合可以为我们提高数据质量,增加我们的数据分析的效率,使我们数据分析的结果更为准确。大数据时代信息资源丰富,人们可以轻松从现实世界采集到大量的数据,为什么不能直接使用获取的数据,还要对其进行预处理呢?请举例说明数据可视化的应用实例。

DypBellwether的博客 1818

Matlab基于PSO-MVMD粒子群算法优化多元变分模态分解

Matlab基于PSO-MVMD粒子群算法优化多元变分模态分解

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 518

数据科学学位路径:能力模块拆解与真实项目映射

数据科学并非单一学科,而是数学统计、工程实现与业务翻译三大能力的动态组合。理解其底层原理,关键在于识别不同学术背景(如统计学、计算机科学、信息科学)在真实场景中的能力覆盖差异与结构性缺口。例如,统计学训练建模直觉但常缺工程落地能力,CS强于系统构建却易忽视业务语义。这种能力拼图关系,直接决定从业者能否独立完成用户流失预测、AB测试归因或实时推荐迭代等核心任务。因此,选学位本质是选能力组合路径,而非追求排名或头衔。本文基于37个转行案例与12个企业内训经验,系统揭示四类主流学位在端到端项目中的实际表现与补足策

weixin_30535843的博客 387

IIC软件协议及硬件知识汇总

IIC软件协议及硬件相关知识,真的是非常齐全了!

记得诚 1万+

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 348

python_计算股票指标

使用python计算常用的股票指标,本文涉及到的指标包括:RSI、OBV、MACD、 KDJ、 SAR、 VOL、 PSY、 ARBR、 CR、 EMV、 BOLL、 TRIX、 DMA、 BIAS、 CCI、 W%R、 ROC、 DMI

m0_37967652的博客 1万+

uni-app - 解决 H5 微信公众号授权登录后,无法回退到 “上一页“ 的问题(微信登录后如何返回到触发它的那一页?无法通过 uni.navigateBack() 返回到前一页的问题?)详细教程

uniappH5微信登录重定向后无法返回到原来进入前的页面了,uni-appH5微信浏览器中授权微信登录后,无法正常回退问题,uniappH5微信登录后怎么返回上一页,uniapp公众号登陆后使用uni.navigateBack()回不去上一页,uniapp微信登录成功后返回页面后一直自动刷新页面,uniapph5授权成功后如何返回上一页,uniappH5微信登录后怎么返回到触发它的那一页去,公众号h5在授权后如何跳转回到刚进入时的页面,微信公众号H5网页返回上一页疑问,解决微信H5静默授

🏆 前端领域优质创作者 7715

python基于svm实现指数预测_基于SVM的股票预测 Python实现 附Github

SVM 支持向量机原理就不赘述了,其余的文章有讲过。SVM是一种十分优秀的分类算法,使用SVM也能给股票进行一定程度上的预测。核心因为是分类算法,因此不像ARIMA一样预测的是时序。分类就要有东西可分,因此将当日涨记为1,跌记为0,作为分类的依据。使用历史数据作为训练数据。处理数据:1.股票历史数据来源于yahoo_finance api,获取其中Open,Close,Low,High,Volum...

weixin_30831105的博客 5167

2026年美赛数学建模竞赛 MCM B题:使用太空电梯系统建立月球殖民地 问题一 月球殖民地材料运输的三种场景建模 详细解题思路和代码

如果运输系统不能完美工作(例如,系绳摆动、火箭失败、电梯故障等),你的解决方案在多大程度上会发生变化?技术可行性:三种方案在技术上都是可行的,但挑战不同 经济性:混合方案在长期视角下最具成本效益 时间效率:并行运输可以显著缩短总建设时间环境影响:太空电梯的环境优势明显,混合方案可平衡需求风险分散:混合方案提供了天然的风险分散机制

YOLO 616

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

js实现轮播图片,淡入淡出

代码效果: Paste_Image.png html xmlns="http://www.w3.org/1999/xhtml"> head> meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> title>Jq切换title> style type="text/css"> /*****

OBKoro1前端分享 1072

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【数值预测案例】(5) LSTM 时间序列气温数据预测,附TensorFlow完整代码

大家好,今天和各位分享一下如何使用循环神经网络LSTM 完成有多个特征的气温预测。上一节中我介绍了 LSTM 的单个特征的预测,感兴趣的可以看一下:https://blog.csdn.net/dgvv4/article/details/124349963 1. 导入工具包 我使用GPU加速计算,没有GPU的朋友可以把调用GPU的代码段去掉。 import tensorflow as tf from tensorflow import keras from tensorflow.keras impo.

博观而约取,厚积而薄发 3万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python获取excel总行数_python实时获取股票涨停跌停与封板手数

涨停板对于每天要复盘的股票高手们,经常会去关注当天的涨停板和跌停板,涨停板与跌停板的数目,可以很好反应当天的市场的情绪,比如千股涨停,千股跌停,半数涨停被砸开,什么天地板,地天板。即使笔者不去打板,不去追题材,平时也会根据涨跌停的分布与封单数据作为考量市场,作为一个市场活跃因子和情绪量化指标。比如下面是今天收盘后程序自动获取的数据。有人问怎么自动?答:部署在某台电脑服务器,crontab...

weixin_42603332的博客 769

Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列

原文链接:http://tecdat.cn/?p=24084 原文出处:拓端数据部落公众号 在这篇文章中,我将扩展从数据推断概率的示例,考虑 0 和 1之间的所有(连续)值,而不是考虑一组离散的候选概率。这意味着我们的先验(和后验)现在是一个probability density function(pdf) 而不是probability mass function(pmf)。 我考虑了从数据序列推断 p0,即零的概率: 我使用 p0的不同先验来解决相同的问题,该先验允许 0 和.....

大数据部落 7182

python实现读取Excel里面的数据并且转换为标准json文件存放

使用python完成xls表格数据的读取,并且按照json格式存放成文件的示例

hhl_work的博客 5559
上一篇: Python一切皆是对象,但这和内存管理有什么关系?
下一篇: 使用Python+BI爬取数千条车厘子相关数据,最终发现了这些秘密
酸菜鱼编程
博客等级 码龄6年 155粉丝 63原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值