基于股票信息的数据分析与可视化

基于股票信息的数据分析与可视化

项目简介:采用皮尔逊相关系数研究A股开盘前十分钟成交量变化与当日收盘价变化的相关性,最后将数据导入到Excel中做可视化分析。
结论:大部分都没有很强的相关性。

在这里插入图片描述

import baostock as bs
import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
from scipy.stats import pearsonr
# 设置显示最大行和列
pd.set_option('display.max_columns', 1000)
pd.set_option('display.width', 1000)
pd.set_option('display.max_rows', None)
#### 登陆系统 ####
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond  error_msg:'+lg.error_msg)
def get_code(start_date):stock_rs = bs.query_all_stock(start_date)stock_df = stock_rs.get_data()stock_df.drop(stock_df[stock_df.code < 'sh.600000'].index, inplace=True)stock_df.drop(stock_df[stock_df.code > 'sz.399000'].index, inplace=True)return stock_df['code'].tolist()'''获得股票衍生变量数据'''
# 通过公式1获取成交量涨跌幅
def chg1(stock_table):stock_table['f_volume'] = stock_table['volume'].shift(-1)stock_table['chg_volume1(%)'] = (stock_table['volume']-stock_table['f_volume'])/stock_table['f_volume']*100return stock_table# 通过公式2获得成交量涨跌幅
def chg2(stock_table):ten_mean = stock_table['volume'].sort_index().rolling(10, min_periods=1).mean()stock_table['m10_volume'] = ten_meanstock_table['chg_volume2(%)'] = (stock_table['volume']-stock_table['m10_volume'])/stock_table['m10_volume']*100stock_table['ma5'] = stock_table['close'].sort_index().rolling(5).mean()return stock_tabledef get_timedataAll(start_date, end_date):stock_list = get_code(start_date)data = pd.DataFrame()i = 0for code in stock_list:i += 1#获取前十分钟数据rs = bs.query_history_k_data_plus(code, "date,time,code,open,high,low,close,volume,amount",start_date=start_date, end_date=end_date,frequency="5", adjustflag="3")#获取收盘涨跌幅rs1 = bs.query_history_k_data_plus(code, "date,code,open,high,low,close,volume,amount,pctChg",start_date=start_date, end_date=end_date, frequency="d",adjustflag="3")df1 = rs1.get_data()df = rs.get_data()if not df.empty:df = df[(df['time'].str[-9:] == '093500000') | (df['time'].str[-9:] == '094000000')]# 统计前10分钟成交量df['volume'] = df['volume'].apply(pd.to_numeric)df = df.groupby(['code', 'date'], as_index=False, sort=True)['volume'].sum()else:print(code, '为空')stock_table = pd.merge(df1[['code', 'date', 'open', 'close', 'pctChg']],df[['code', 'date', 'volume']], on=['code', 'date'])stock_table = stock_table.set_index('date')data1 = chg1(stock_table)data2 = chg2(stock_table)# 通过公式1计算的相关性stock_table['pctChg'] =stock_table['pctChg'].apply(pd.to_numeric)corr = pearsonr(stock_table['pctChg'][:-1], data1['chg_volume1(%)'][:-1])if corr:stock_table['corr1'] = corr[0]stock_table['p1'] = corr[1]# 通过公式2计算的相关性corr2 = pearsonr(stock_table['pctChg'][1:], data2['chg_volume2(%)'][1:])if corr2:stock_table['corr2'] = corr2[0]stock_table['p2'] = corr2[1]# 选取所需要的列target_columns = ['code', 'open', 'close', 'pctChg', 'volume', 'chg_volume2(%)', 'chg_volume1(%)', 'corr1','p1','corr2','p2']stock_table = stock_table[target_columns]data = data.append(stock_table, ignore_index=True)#股票数量太多,可只打印三个股票if(i>3):breakreturn datadef getChangeRate(start_date, end_date):return get_timedataAll(start_date, end_date)start_date = '2021-03-01'
end_date = '2021-04-15'
# print(getChangeRate(start_date, end_date))
final_table = getChangeRate(start_date, end_date)'''数据可视化呈现'''
# 创建一个Excel文件,并设置为不可见
app = xw.App(visible=False)
wb = app.books.add()# 新建一张Excel表,命名为stock_name,也即最开始定义的“万科A”
sht = wb.sheets.add('浦发银行')# 将之前生成的所有股票的指标选出自己想可视化的代码,导入到Excel中
final_table = final_table[final_table['code']=='sh.600000']
sht.range('A1').value = final_table# 数据可视化,并将图片导入到Excel当中
fig = plt.figure()  # 设置一下要导入Excel中的图片
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 解决负号'-'显示为方块的问题# 绘制第一个折线图:股价涨跌幅(%)
plt.plot(final_table.index, final_table['pctChg'], label='股价涨跌幅(%)', color='red')
plt.legend(loc='upper left')  # 设置图例位置# 绘制第二个折线图:10分钟成交量涨跌幅(%)
plt.twinx()  # 生成双坐标轴
plt.plot(final_table.index, final_table['chg_volume2(%)'], label='10分钟成交量涨跌幅(%)', linestyle='--')
plt.legend(loc='upper right')# 设置图片标题,自动调整x坐标轴刻度的角度并展示图片
plt.title('浦发银行')  # 设置标题
plt.gcf().autofmt_xdate()  # 自动调整x坐标轴刻度的角度
# plt.show()# 把图片放到excel中
sht.pictures.add(fig, name='图1', update=True, left=500)wb.save(r'G:\code\股票量化分析10.xlsx')
wb.close()
app.quit()print('股票策略分析及Excel生成完毕')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/59825.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「太阁干货」华为模拟器eNSP安装教程

最近小伙伴们在观看太阁6IE讲师 闫辉老师的直播课中&#xff0c;会使用到华为模拟器eNSP&#xff0c;今天给大家分享一下如何对华为eNSP模拟器进行初始化安装。 今天分享的内容主要有以下几个板块&#xff1a; step 1:文件下载&#xff1a; 所需要的文件如下 一共需要5个文件…

网络链路不稳定的排查问题方法

概述 当客户端访问目标服务器出现ping丢包或ping不通时&#xff0c;可以通过tracert或mtr等工具进行链路测试来判断问题根源。本文介绍如何通过工具进行链路测试和分析。 详细信息 本文分别介绍如下链路测试方法。 链路测试工具测试结果的简要分析常见的链路异常场景链路测试…

计算机网络波动大,网络不稳定是什么原因?

当我们的电脑网络不稳定&#xff0c;网络波动大&#xff0c;网络卡顿不顺畅时&#xff0c;我们应该怎么办呢&#xff1f;今天就和大家一起聊聊网络不稳定是什么原因&#xff0c;我们可以怎么解决&#xff01; 一、设备问题引发网速不稳定现象 1.【网线故障问题】由于网线水晶头…

pdf打开口令破解

PDF文件设置打开口令&#xff0c;有可能是自己设置的打开密码时间久了忘记了&#xff0c;也有可能是在网上下载的pdf资源打开的时候需要输入打开密码&#xff0c;那么遇到这种不知道破地方打开口令或者忘记打开口令的情况&#xff0c;并且文件内容对你很重要的话&#xff0c;可…

【口令破解】远程口令破解和本地口令破解(crunch 字典工具和hydra工具)

目录 1 口令安全威胁1.1 口令安全概述1.2 口令安全现状1.2.1 弱口令1.2.2 默认口令1.2.3 明文传输 2 口令破解2.1 暴力破解2.2 字典破解2.2.1 弱口令字典2.2.2 社工字典2.2.3 字符集字典crunch的**用法**如下&#xff1a;crunch生成密码字典实例&#xff1a;简单介绍字典 3 远程…

弱口令及其防御

常见的弱口令分为默认型弱口令和社工型弱口令。 一.默认型弱口令 1.系统服务弱口令 sshftptelnetsnmp 2.应用组件弱口令 tomcatweblogicredismysqlmongoDBrsyncmemcache 3.设备弱口令 (1)路由器弱口令 tp-linkTendaD-linkMERCURY (2)安全设备弱口令 绿盟(weboper/nsfoc…

弱口令扫描工具mysql ftp_超级弱口令检查工具

超级弱口令检查工具是一款Windows平台的弱口令审计工具&#xff0c;支持批量多线程检查&#xff0c;可快速发现弱密码、弱口令账号&#xff0c;密码支持和用户名结合进行检查&#xff0c;大大提高成功率&#xff0c;支持自定义服务端口和字典。 介绍 工具采用C#开发&#xff0c…

万能命令

在日常工作生活中下载文档资料、网上购物、看电影追剧&#xff0c;早已成为生活的中的一部分&#xff0c;在面对这些生活工作必要内容你是是怎么办的呢&#xff1f;还在花钱下载文档&#xff1f;追剧开会员吗&#xff1f;今天就教你无需任何工具&#xff0c;只需要几个简单的命…

9月1日5G商用,你的4G变慢了吗?

近日&#xff0c;据运营商财经网报道&#xff0c;相关人士透露&#xff0c;三大运营商即将于9月1日对5G商用&#xff0c;也就是一个星期之后&#xff0c;中国正式进入5G时代。 这与6月5G牌照发放时三大运营商表示将在今年9月底前在40城提供5G服务的计划一致。 此外&#xff0c;…

项立刚:乔布斯展现了人类无尽的创造力

北京时间10月6日消息&#xff0c;苹果董事会、联合创始人史蒂夫乔布斯周三辞世&#xff0c;享年56岁。乔布斯的辞世&#xff0c;引起了IT界名人的关注。 知名电信专家、飞象网创始人<!--keyword--><!--/keyword-->项立刚<!--keyword-->(微博)<!--/keywor…

有了5G,Wi-Fi还有用武之地吗?

没有Wi-Fi的日子&#xff0c;总是让我们如坐针毡。有人甚至调侃道&#xff0c;在马斯洛需求层次理论中&#xff0c;Wi-Fi已成为新衍生出来的底层需求。 不久前&#xff0c;国际Wi-Fi联盟组织&#xff08;以下简称Wi-Fi联盟&#xff09;表示&#xff0c;他们将在今年第3季度推出…

赠书活动 | 万亿级市场:大家都能看到的机会谈不上机会

5G时代已经来了&#xff0c;在5G引领下的数字产业互联网&#xff0c;将带来万亿级市场。如果说中国的消费互联网市场只能容纳几家千亿美元级的企业&#xff0c;那么产业互联网领域有可能容纳几十家、几百家同等规模的创新企业。 那么&#xff0c;5G能做什么、自己用5G又能做什么…

[書籍]5G時代

人類文明常常是因為相互競爭和激發而逐漸進步的。1733年&#xff0c;飛梭的發明使織布速度大為提升&#xff0c;然而&#xff0c;織布所需的棉紗原料卻往往來不及供應&#xff0c;原因是紡紗的速度趕不上織布的速度。1764年&#xff0c;珍妮機的發明使得紡紗的效率成倍提高&…

谷歌互联网热气球试验失败;工业互联网联盟发布1.8版参照架构│IoT黑板报

美大学研发“后向散射”技术 用电量近乎为零 环球科技 据英国《每日邮报》12月8日报道&#xff0c;一项被称为“后向散射”的技术马上将会推出&#xff0c;它利用环境中已经存在的低电量无线电信号发送信息&#xff0c;可以将随机对象转化为电台&#xff0c;并向手机传送信息。…

为什么会有鸿蒙系统,专家详解为什么鸿蒙有机会成为世界第一大操作系统

集微网6月3日消息&#xff0c;专家项立刚认为鸿蒙有机会成为世界第一大操作系统&#xff0c;具体有以下几个原因。 图片来源&#xff1a;微博 1、人类电子产品有操作系统时&#xff0c;不同产品因为服务需要&#xff0c;系统是隔裂的&#xff0c;而且是适会某一类产品需要。如服…

手机隔空充电,会有辐射吗?

关注、星标公众号&#xff0c;直达精彩内容 出品 21ic中国电子网 付斌综合 网站&#xff1a;21ic.com 近日&#xff0c; 高通、小米、moto等品牌发布隔空充电技术&#xff0c;隔空充电到底是什么&#xff1f; 真如科幻电影那样&#xff1f;辐射大不大&#xff1f;会不会浪费电或…

鸿蒙系统会给其它厂商用,中国通信知名观察家项立刚:鸿蒙系统多终端互通,势必会给其他硬件厂商带来压力...

原标题&#xff1a;中国通信知名观察家项立刚&#xff1a;鸿蒙系统多终端互通&#xff0c;势必会给其他硬件厂商带来压力 封面新闻记者 雷强 6月2日&#xff0c;华为正式推出HarmonyOS 2.0正式版。自2019年8月&#xff0c;余承东公布华为自研的操作系统鸿蒙&#xff0c;不到两年…

2023年最新苹果AppleiOS开发证书申请创建App详细图文流程

一、开发者基本知识 苹果开发者官网&#xff1a;https://developer.apple.com/account/ &#xff0c;个人账号688人民币一年&#xff0c;另外还有公司账号和企业账号&#xff0c;可以自行了解。本次介绍基于个人账号。 上架App或游戏需要先申请证书&#xff0c;申请证书需要涉…

Win制作苹果IOS证书

很多小伙伴苦于win电脑无法制作IOS证书问题,或者登录苹果官方开发者账号操作太繁琐或者一堆英文看不懂 今天来教大家通过Win电脑一键导出证书,一键上传IPA ,小猿因为自用非常好,所以分享给各位小伙伴 1.购买开发者账号 苹果开发者developer.apple.com 2.登录购买的开发者账号 …

2021苹果AppleiOS开发证书申请详细图文流程

链接&#xff1a;2021苹果AppleiOS开发证书申请详细图文流程_SkyHand-CSDN博客_苹果开发者证书 注意&#xff1a; 开通消息推送 一、开发者基本知识 苹果开发者官网&#xff1a;https://developer.apple.com/account/ &#xff0c;个人账号688人民币一年。 上架app和游戏需要先…