import sys
import tushare as ts
import numpy as np
data=ts.get_h_data('601066')
print(data)
#读出兴业银行7列数据
date   open    high close low     volume      amount    
data.to_csv('E:/csv statistic/day/601066.csv')  把读取的股票数据存入某个内存空间中
#开始读某列数据

c,v=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,5),unpack=True)#收盘价,交易量
vwap=np.average(c,weights=v)#成交量加权平均值,
print('vwap=',vwap)
vwap= 9.63994147552952
print(np.mean(c))
9.0965625 #计算时间加权平均值
t=np.arange(len(c))
print(np.average(c,weights=t))
9.534940476190476
#寻找最大值和最小值
h,l=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(2,4),unpack=True)
print(np.max(h))
11.98
print(np.min(l))
6.5
#计算中程数和极差
print(np.max(h)+np.min(l)/2)#计算中程数
print(np.ptp(h))#计算最大值和最小值的差值
print(np.ptp(l))#计算交易量化的差值
15.254999999999999
4.19
4.92
#统计分析
c=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,),unpack=Trueprint(np.median(c))#中间数
8.850000000000001
print('sorted:',np.msort(c))#从小到大排列
sorted: [ 7.77 7.83 7.87 7.92 7.95 8. 8.06 8.15 8.17 8.19 8.2 8.2 8.23  8.27  8.28  8.32  8.32  8.35  8.36  8.36  8.36  8.36 
8.48 8.5
8.53 8.53 8.54 8.55 8.61 8.61 8.64 8.82 8.88 9.09 9.15 9.37 9.38 9.38 9.39 9.45 9.45 9.48 9.52 9.67 9.7 9.73 9.8 9.83
9.86 9.91 9.93 10.06 10.23 10.27 10.31 10.33 10.33 10.41 10.42 10.56 10.8 11.09 11.46 11.85]
print('方差:',np.var(c))
方差: 0.9610756835937502
print('手动计算方差:',np.mean((c-c.mean())**2))
手动计算方差: 0.9610756835937502
#股票收益率的计算
c=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,),unpack=True)
returns=np.diff(c)/c[:-1] #diff计算差分,总体是求股票收益率
print(np.std(returns)) # 求标准差
log_returns=np.diff(np.log(c)) #股票对数收益率
print(log_returns)
posretindices=np.where(returns>0)#股票收益率大于0的那几天
print(posretindices)
ann_vol=np.std(log_returns)/np.mean(log_returns)#日收益率
print(ann_vol)
ann_vol=ann_vol/np.sqrt(1./252.)#年收益率
print(ann_vol)
print(ann_vol*np.sqrt(1./12.))#月收益率
#定义一个 把日期转换为数字的函数
from datetime import datetime
def date2num(s):
return datetime.strptime(s,'%Y-%m-%d').date().weekday()
#读取收盘价
close=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,),unpack=True)
#读取日期
dates=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(0,),unpack=True,dtype=bytes).astype(str)
#读取的str数据转换为 数字
for i in range (dates.size):
dates[i]=date2num(dates[i])
dates=dates.astype(np.int8)
print(dates.dtype)
print(dates)
averages = np.zeros(5)  # 定义一个空数组
# 依次获取不同天的索引,然后根据索引求得close(收盘价)数组中所有的对应值,计算平均值,把平均值加入到averages数组中
for i in range(5):
indices = np.where(dates == i)
prices = np.take(close, indices)
avg = np.mean(prices)
print("Day", i, "prices", prices, "Average", avg)
averages[i] = avg
top = np.max(averages) # 计算周每日的收盘价平均值的最大值
np.argmax(averages) # 获取周每日的收盘价平均值的最大值是哪一天
bottom = np.min(averages) # 计算周每日的收盘价平均值的最小值
np.argmin(averages) # 获取周每日的收盘价平均值的最小值是哪一天
 

 
 

利用tushare进行对兴业银行股价的爬取,并使用numpy进行分析的更多相关文章

  1. Python 爬取淘宝商品数据挖掘分析实战

    Python 爬取淘宝商品数据挖掘分析实战 项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 爬取淘宝商品 ...

  2. 利用Python3的requests和re库爬取猫眼电影笔记

    以下笔记,作为参考借鉴,如有疑问可以联系我进行交流探讨! 代码思路很简单,简单概括为:   首先利用requests的get方法获取页面的html文件,之后对得到的html文件进行相对应的正则处理,然 ...

  3. 利用python的requests和BeautifulSoup库爬取小说网站内容

    1. 什么是Requests? Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库. 它比urllib更加方便,可以节约 ...

  4. 毕设之Python爬取天气数据及可视化分析

    写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...

  5. Python爬虫使用lxml模块爬取豆瓣读书排行榜并分析

    上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的首页地 ...

  6. 常用正则表达式爬取网页信息及HTML分析总结

    Python爬取网页信息时,经常使用的正则表达式及方法. 1.获取<tr></tr>标签之间内容 2.获取<a href..></a>超链接之间内容 3 ...

  7. python实例:自动爬取豆瓣读书短评,分析短评内容

    思路: 1.打开书本“更多”短评,复制链接 2.脚本分析链接,通过获取短评数,计算出页码数 3.通过页码数,循环爬取当页短评 4.短评写入到txt文本 5.读取txt文本,处理文本,输出出现频率最高的 ...

  8. python爬取B站视频弹幕分析并制作词云

    1.分析网页 视频地址: www.bilibili.com/video/BV19E… 本身博主同时也是一名up主,虽然已经断更好久了,但是不妨碍我爬取弹幕信息来分析呀. 这次我选取的是自己 唯一的爆款 ...

  9. 团队-爬取豆瓣电影TOP250-需求分析

    需求: 1.搜集相关电影网址 2.实现相关逻辑的代码 项目步骤: 1.通过豆瓣网搜索关键字,获取相关地址 2.根据第三方包实现相关逻辑  

随机推荐

  1. 自动化测试基础篇--Selenium多窗口、句柄问题

    摘自https://www.cnblogs.com/sanzangTst/p/7680402.html 有时我们在打开浏览器浏览网页时,当点击网页上某些链接时,它不是直接在当前页面上跳转,而是重新打开 ...

  2. AndroidNDK开发中使用CMake编译JNI

    虽然一直在做NDK的开发工作,但是由于项目比较久远,都是使用Makefile进行底层编译,对于目前AndroidStudio官方提供的CMake编译方式并不是很了解,现在学习下这种已经不算新潮的新方式 ...

  3. June 15. 2018 Week 24th Friday

    If at first you don't succeed, then dust yourself off and try again. 失败了没关系,重振旗鼓,从头再来. From Aaliyah, ...

  4. C语言 实现逆置功能

    C语言 实现逆置功能 //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 字符串的逆置 方法1:利用数组 #include<stdio.h> ...

  5. Mysql的用户管理

  6. springboot中配置了拦截器后,拦截器无效的解决方案之一

    springboot的启动类xxxApplication不能扫描到拦截器配置类,可加上@ComponentScan(basePackages={"com.maya.common"} ...

  7. linux学习笔记整理(四)

    第五章 Vim编辑器和恢复ext4下误删除的文件-Xmanager工具本节所讲内容:5.1 vim的使用5.2 实战:恢复ext4文件系统下误删除的文件5.3 实战:使用xmanager等远程连接工具 ...

  8. Unix/Linux环境C编程新手教程(21) 各个系统HelloWorld跑起来效果怎样?

    版权声明:本文为博主尹成联系QQ77025077,微信18510341407原创文章,欢迎转载侵权不究. https://blog.csdn.net/yincheng01/article/detail ...

  9. centos7下安装docker(15.3跨主机网络-macvlan)

    除了ovrlay,docker还开发了另一个支持跨主机容器的driver:macvlan macvlan本身是linu kernel模块,其功能是允许在同一物理网卡上配置多了MAC地址,即:多个int ...

  10. DataGrid获取单元格的值

    string str = (dataGrid.Columns[0].GetCellContent(dataGrid.Items[0]) as TextBlock).Text;