Python数据分析之股票分析
股票分析
- 使用tushare包获取某股票的历史行情数据
- 输出该股票所有收盘比开盘上涨3%以上的日期
- 输出该股票所有开盘比前日收盘跌幅超过2%的日期
- 假如从2010年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票。到今天为止,收益如何?
库
tushare:财经数据接口包
预处理数据
- 获取某支股票的历史行情数据
df = ta.get_k_data(code='600519', start='2022-01-01')
# code:字符串形式的股票代码,start:起始日期,end:结束日期
- 将互联网上获取的股票数据存储到本地
df.to_csv('./maotai.csv') # 调用to_xxx方法将df中的数据写入到本地进行存储
- 将本地存储数据输入到df1
df1 = pd.read_csv('./maotai.csv')
- 对读取的数据进行相关的处理
# 删除df中指定的一列
df1.drop(labels='Unnamed: 0', axis=1, inplace=True)
# drop中0表示行,1表示列;inplace为True表示将删除后的结果存入原始中,反之则建立一个新的
df1.info()
# 查看每一列的数据类型
# 将date列转为时间序列类型
df1['date'] = pd.to_datetime(df1['date'])
# 将date列作为源数据的行索引
df1.set_index('date', inplace=True)
捕获股票上涨日期
- 输出该股票所有收盘比开盘上涨3%以上的日期
伪代码:(开盘 - 收盘) / 开盘 > 0.03
# 在分析的过程中如果产生了布尔值则下一步马上将布尔值作为源数据的行索引
# 如果布尔值作为df1的行索引,则可以取出true对应的行数据,忽略false对应的行数据
df1.loc[(df1['open'] - df1['close']) / df1['open'] > 0.03].index # 获取了满足需求的行数据对应的索引值
捕获股票跌幅的日期
- 输出该股票所有开盘比前日收盘跌幅超过2%的日期
伪代码:(开盘 - 前日收盘) / 前日收盘 < -0.02
# 由于需要对比今天与前一天的数据,因此可指定一列整体下移一行
# df1['close'].shift(1)
print(df1.loc[(df1['open'] - df1['close'].shift(1)) / df1['close'].shift(1) < -0.02].index)
股票买卖收益分析
假如从2010年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票。到今天为止,收益如何?
- 时间节点:2010-2022
- 一手股票:100支股票
- 买:
- 一个完整的年需要买入12手股票,即为1200支股票
- 卖:
- 一个完整的年需要卖出12手股票,即为1200支股票
- 买卖股票的单价:
- 开盘价
收益计算
- 根据时间进行切片
new_df = df['2010-01':'2022-07']
- 买股票
# 每个月的第一个交易日对应的行数据(开盘价)
# 根据月份从原始数据中提取指定的数据
# 每月第一个交易日对应的行数据
df_monthly = new_df.resample('M').first() # 数据的重新取样
- 买入的股票花费的总金额
cost = df_monthly['open'].sum() * 100
- 卖出股票到手的钱
# 特殊情况:2022年买入的股票卖不出去,将2022年最后一行切出去
df_yearly = new_df.resample('A').last()[:-1]
resv = df_yearly['open'].sum() * 1200
# 最后手中剩余的股票需要估计价值计算到总收益中
# 使用昨天的收盘价作为股票的单价
last_money = 700 * new_df['close'][-1]
- 计算总收益
total = resv + last_money - cost
Python数据分析之股票分析相关推荐
- Python数据分析之股票双均线策略制定
Python数据分析之股票双均线策略制定 需求:双均线策略制定 库 tushare包 预处理数据 df = pd.read_csv('./maotai.csv').drop(labels='Unnam ...
- Python数据分析:股票数据分析案例
Python数据分析:股票数据分析案例 步骤: 准备数据 可视化数据.审查数据 处理数据 根据ACF.PACF定阶 拟合ARIMA模型 预测 import pandas as pd import pa ...
- Python数据分析初学之分析表格
文章目录 Python数据分析初学之分析表格 任务要求 代码实现 Python数据分析初学之分析表格 任务要求 1)使用 pandas 读取文件 data.csv 中的数据 ,创建 DataFrame ...
- 【详解】Python数据分析第三方库分析
Python数据分析第三方库分析 目录 Python数据分析第三方库分析 @常用库下载地址 1 Numpy 2 Matplotlib 3 Pandas 4 SciPy 5 Scikit-Learn 6 ...
- python股票数据分析_Python股票分析(一)获取历史数据
股票分析最重要的是获取历史数据,现在网上各种数据接口层出不穷,最近发现一个免费好用的接口,和大家分享一下. 证券宝(网址www.baostock.com)是一个免费.开源的证券数据平台,最重要的是:无 ...
- python数据分析的交叉分析和分组分析 -第三次笔记
python数据分析 -第三次笔记 –1.交叉分析 –2.分组分析 1.交叉分析 交叉分析的含义是在纵向分析法和横向分析法的基础上,从交叉.立体的角度出发,由浅入深.由低级到高级的一种分析方法.这种方 ...
- 【时间之外】10分钟搞懂Python+Tushare+Excel股票分析
Python+Tushare+Excel 场景和工具 不想996就多赚钱(1分钟) 需求简介(1分钟) Tushare简介(1分钟) 思路分析 三行代码取数据(2分钟) 最麻烦的一步:保存成excel ...
- python爬取股票大单历史记录_python爬取股票实时数据,python爬虫与股票分析
内容导航: Q1:怎么学python爬取财经信息 本程序使用Python 2.7.6编写,扩展了Python自带的HTMLParser,自动根据预设的股票代码列表,从Yahoo Finance抓取列表 ...
- 数据分析--01股票分析
文章目录 需求:股票分析 需求:股票分析 使用tushare包获取某股票的历史行情数据. 输出该股票所有收盘比开盘上涨3%以上的日期. 输出该股票所有开盘比前日收盘跌幅超过2%的日期. 假如我从201 ...
最新文章
- 数据中心行业人士如何进行继续教育
- 计算机编程语言python-2018年计算机编程语言排名: Python语言排名第一
- 信号与系统第四章-第六章习题易错点整理
- 【转】如何掌握所有的程序语言
- Bounce 弹飞绵羊
- SQLServer中批量插入数据方式的性能对比 (转)
- 虚拟化安全防护系统部署在安全服务器上,虚拟化安全防护-安天 智者安天下
- jboss5.1安全性配置_使用Java EE安全性和JBoss AS 7.x保护JSF应用程序的安全
- 【Codeforces Round #424 (Div. 2) C】Jury Marks
- 实例26:python
- Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
- 150330之软件测试
- shell 脚本检测端口状态
- MongoDB 3.2+ 安全授权登录访问控制
- 流文件 服务器无响应,文件服务器配置程序未响应
- Linux红外驱动重点解析
- mybatis之 trim prefix=( suffix=)
- python np float_Python astype(np.float)函数使用方法解析
- 微博相互关注互粉mysql表实现_用MySQL实现微博关注关系的方案分析
- 风控概要和内容安全,反欺诈(营销风控)