目录​​​​​​​

针对股票数据的项目分析实战

1.数据预处理

2.调用to_dsv方法把数据保存到本地

3.删除unnamed列

4.找出所有收盘比开盘上涨超过3%的日期

​5. 找出所有收盘比开盘跌幅超过2%的日期

6.估计收益

7.计算均线

8.统计金叉和死叉的时期


针对股票数据的项目分析实战

1.数据预处理

首先需要使用pip install tushare安装tushare第三方包, Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集清洗加工数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于利用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析。

tushare网站:Tushare -财经数据接口包

获取一只股票的数据。

import numpy as np
import pandas as pd
import tushare as ts#获取股票数据
#code 为股票代码 start 为获取数据的开始时间,end为结束时间
df=ts.get_k_data(code='002354',start='2021-12-10',end='2022-01-5')
print(df)

2.调用to_dsv方法把数据保存到本地

读取刚刚保存的本地数据

3.删除unnamed列

查看数据相关信息

将data的数据类型改为时间序列

修改日期作为行索引

4.找出所有收盘比开盘上涨超过3%的日期

5. 找出所有收盘比开盘跌幅超过2%的日期

6.估计收益

假如2010年1月1日开始, 每月第一个交易日以开盘价买入该股票,每年最后一个交易日收盘价卖出,到今天为止,ps2022买的卖不出去,收益如何?

7.计算均线

在计算均值时,可以利用rolling函数

8.统计金叉和死叉的时期

完整代码如下:

import numpy as np
import pandas as pd
import tushare as ts
import matplotlib.pyplot as plt#用以正常显示中文
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号#获取股票数据
#code 为股票代码 start 为获取数据的开始时间,end为结束时间
df=ts.get_k_data(code='600519',start='2008-01-01')#保存数据
df.to_csv('maotai.csv')#读入刚刚保存的文本数据
df=pd.read_csv('maotai.csv')
# print(df.head(5))#删除unnameed列
df.drop(labels='Unnamed: 0',axis=1,inplace=True)
# print(df.head(5))
#查看数据相关信息
# print(df.info())#将date数据改为时间序列
df['date']=pd.to_datetime(df['date'])
# print(df.info())
#将日期修改为行索引
df.set_index('date',inplace=True)
# print(df.head(5))#找出所有收盘比开盘上涨3%的日期 将布尔值作为行索引 取出true对应的行数据 忽略false对应的行数据
df1=df.loc[(df['close']-df['open'])/df['open']>0.03].index
# print(df1)#找出所有收盘比开盘跌涨2%的日期 将布尔值作为行索引 取出true对应的行数据 忽略false对应的行数据
df2=df.loc[(df['close']-df['open'])/df['open']<-0.02].index
# print(df2)#估算收益
df3=df['2010-01':'2021-01']#切片
# print(df3)#取出每一个月第一个交易日数据
df3_monthly=df3.resample('m').first()
# print(df3_monthly)
#买入的总金额
cost=df3_monthly['open'].sum()*100
#取出每一年最后一个交易日 2022的不卖作切片处理
df3_yearly=df3.resample('A').last()[:-1]
#卖出的总金额
resv=df3_yearly['close'].sum()*1200
money=resv-cost
# print("利润为{}".format(money))#计算5日均线
# ma5=df['close'].rolling(5).mean()[4:]
# ma30=df['close'].rolling(30).mean()[29:]
#绘制曲线
# plt.plot(ma5,color="r", label="5日均线")
# plt.plot(ma30,color="b", label="30日均线")
# plt.legend(loc='best')
# plt.show()#输出金叉和死叉的日期
#统一切片
df=df.dropna()
df['ma5']=df['close'].rolling(5).mean()[30:]
df['ma30']=df['close'].rolling(30).mean()[30:]
df=df[30:]
gold_cross=[]
death_cross=[]
# #判别金叉死叉 方法1
# for i in range(len(df)):
#     if df['ma5'][i]>df['ma30'][i] and df['ma5'][i-1]<df['ma30'][i-1]:
#         gold_cross.append(df.index[i])
#     if df['ma5'][i]<df['ma30'][i] and df['ma5'][i-1]>df['ma30'][i-1]:
#         death_cross.append(df.index[i])
# #保留年月日
# gold_cross = [i.strftime("%Y%m%d") for i in gold_cross]
# death_cross = [i.strftime("%Y%m%d") for i in death_cross]
# print(gold_cross)
# print(death_cross)#方法2
s1=df['ma5']>df['ma30']
s2=df['ma5']<df['ma30']death_cross=df[s1&s2.shift(1)].index
gold_cross=df[~(s1|s2.shift(1))].index
print(death_cross)
print(gold_cross)

数据分析项目实战day1相关推荐

  1. 【数据分析项目实战】Python爬取BOSS直聘岗位和数据分析

    说明:这是一个数据分析项目全流程(附带项目实例),本篇教程来源于网络,胖哥对此进行了完整的梳理,并把用到的数据+代码完全奉上.如需数据+完整代码可以直接到文章最后获取. 这里面的数据,我只爬取了部分, ...

  2. 福布斯系列之数据采集 | Python数据分析项目实战

    1 数据采集概述 开始一个数据分析项目,首先需要做的就是get到原始数据,获得原始数据的方法有多种途径.比如: 获取数据集(dataset)文件 使用爬虫采集数据 直接获得excel.csv及其他数据 ...

  3. 【项目实战】Python基于波动率模型(ARCH和GARCH)进行股票数据分析项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取. 1.项目背景 在衍生产品定价和风险管理中,对当前波动率是很感兴趣的,这是因为需 ...

  4. 数据分析项目实战项目一:CPC广告优化以及bilibili订单分析(下)

    第一章:电商平台数据分析思路与bilibili会员购介绍 1.1互联网电商平台数据分析的一般思路 互联网电商平台数据分析的一般思路一般分为以下三步:找出问题,分析问题,解决问题.其中,找出问题包括描述 ...

  5. 福布斯系列之数据分析思路篇 | Python数据分析项目实战

    福布斯每年都会发布福布斯全球上市企业2000强排行榜(Forbes Global 2000),这个排行榜每年发布的时候,国内外总有新闻会热闹的讨论一番,但很少见到比较全面的分析. 因此才有了这样一个想 ...

  6. 最新高清仿驴妈妈旅行网大数据分析项目实战

    目录 第1章 大数据基本技能储备 1.1.项目介绍.mp4 1.2.hadoop介绍.mp4 1.3.SSH免密码登录.mp4 1.4.JAVA安装.mp4 1.5.Hadoop安装及验证.mp4 1 ...

  7. 数据分析项目实战项目二:入驻商用户画像体系

    第一章:电商平台入驻商数据分析思路与亚马逊相关信息介绍 1.1 互联网电商平台入驻商数据分析的一般思路 互联网电商平台入驻商数据分析的一般思路一般分为以下三步:获得数据,分析业务需求,产生数据成果.其 ...

  8. 银行贷款客户拉新活动分析——数据分析项目实战

    1.案例背景 Thera Bank是一家拥有不断增长客户群的银行.这银行中大多数客户的存款规模都是不一样的.由于贷款业务的客户数量很少,所以银行希望有效地将存款用户转化为贷款用户以此扩大贷款业务量的基 ...

  9. 大数据分析项目实战--天猫订单综合分析

    天猫订单综合分析 分析订单转化率.销量趋势.地域分布统计等. 文章目录 天猫订单综合分析 一.数据背景 二.分析目的 三.读取数据 导入相关包 读取并查看数据 四.处理数据 规范字段名称 重复值与缺失 ...

最新文章

  1. 《解释性机器学习》笔记(五):Rule Fit 规则拟合
  2. h.264 scanning process for transform coefficients
  3. zookeeper基本操作(常用命令)
  4. flex module不编译的问题
  5. HEVC概念缩写对照表
  6. P2494 [SDOI2011]保密(网络流/最小割/01分数规划)
  7. python学习1:注释\变量类型\转换函数\转义字符\运算符
  8. pagehelper插件oracle,带你学习最简单的分页插件PageHelper
  9. KNIME二次开发的环境配置安装过程
  10. 【测试用例】2021年逢面试必考题
  11. 记一次axios源码排查
  12. R爬虫小白入门:Rvest爬链家网+分析(三)
  13. CNN结构:色彩特征提取-色彩属性HSV空间(色彩冷暖初始)
  14. Influx Sql系列教程三:measurement 表
  15. Flutter Align控件用法
  16. php获取手机号码6,php随机生成姓名,手机号,6位数
  17. 使用Blinker+ESP8266接入天猫精灵
  18. OpenGL ply
  19. 第三代搜索技术展望(转)
  20. CSS Text Decoration

热门文章

  1. 算法设计与分析--昆虫繁殖
  2. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊...
  3. 矩阵行秩与列秩的关系。
  4. 加速度 陀逻计的设备方向的使用
  5. ​如何恢复回收站清空的文件?
  6. H.324M 3G-324M
  7. 斩仙java_我的世界1.7.10僵尸生存整合包
  8. js中every用法_every方法怎么使用
  9. EasyPlayerPro RTMP播放器助力远程娃娃机直播抓娃娃技术方案
  10. 第七节:通信之WLAN(信道)