练习:万达院线股价分析
万达院线股价分析
数据来源:新浪财经、腾讯财经、上交所和深交所
分析时间:2017/9/11
分析目的:分析维度练习
数据采集
1.基本面数据
#coding=utf-8 import pandas as pd import tushare as ts#获取万达院线(股票代码002739)第2季度的基本面数据,可能未更新没有输出 b1 = ts.get_report_data(2017,2) #业绩报告 b2 = ts.get_profit_data(2017,2) #盈利能力 b3 = ts.get_operation_data(2017,2) #营运能力 b4 = ts.get_growth_data(2017,2) #成长能力 b5 = ts.get_debtpaying_data(2017,2) #偿债能力 b6 = ts.get_cashflow_data(2017,2) #现金流量 basic = pd.concat([b1,b2,b3,b4,b5,b6]) bData = basic.ix[{'code':'002739'}] #print bData #basic.to_csv('C:/Users/HP/Desktop/601988basic.csv',encoding = 'utf-8')
2.历史行情
#coding=utf-8 import pandas as pd import numpy as np import matplotlib.pyplot as plt from pandas import Series,DataFrame from matplotlib.pylab import datestr2num import matplotlib.finance as mpfdata = ts.get_hist_data('002739',start='2017-01-01') data.describe()
数据分析
频率分析
1.可视化维度信息
import scipy.stats as stopenY = st.norm.fit(data['open']) print '拟合函数',openYmu, sigma = 55.37, 2.17 xs = data['open'] F = st.norm.pdf(xs, loc=mu, scale=sigma)plt.plot(xs, F,label='Norm Distribution') plt.legend(loc = 'best') plt.show()print 'mean of data is: ' + str(np.mean(F)) print 'standard deviation of data is: ' + str(np.std(F))
2.计算收益分布
import tushare as ts %matplotlib inlinedata = ts.get_hist_data('002739',start='2017-01-01')['p_change'] #p_change涨跌幅 print data data[-1] = 1 returns = (1 + data).cumprod()-1 #print returns#累计收益 returns.plot(legend = True,figsize = (15,10))
注:收益分布图两段趋平,暂时还没搞清楚是什么原因
探索性分析
1.分析均价、收盘价、均量、成交量、换手率等指标相关性
#散点图分析各指标的相关性 data = ts.get_hist_data('002739',start='2017-01-01') pieces = data[['close', 'price_change', 'ma20','volume', 'v_ma20', 'turnover']] pd.scatter_matrix(pieces)cov = np.corrcoef(pieces.T) img = plt.matshow(cov,cmap=plt.cm.winter) plt.colorbar(img, ticks=[-1,0,1]) plt.show()
2.移动窗口和指数加权
data = ts.get_hist_data('002739',start='2017-01-01')['close'] fig,ax = plt.subplots(figsize=(20,10)) #移动窗口中位数 ma100 = pd.rolling_mean(data,10,min_periods = 10) plt.subplot(211) data.plot(style = 'k-',label = 'nomal') ma100.plot(style = 'k--',label = 'Simple MA') plt.legend(loc = 'best') plt.grid(True)plt.subplot(212) ewma100 = pd.ewma(data,span = 10) data.plot(style = 'k-',label = 'nomal') ewma100.plot(style = 'k--',label = 'Exponetially-weighted MA') plt.legend(loc = 'best') plt.grid(True)
关系分析
from pyecharts import Klinedata = ts.get_hist_data('002739',start='2017-01-01') new_data = data.ix[:,['open','close','high','low']] train_data = np.array(new_data) train_index = np.array(data.index)kline = Kline("2017年万达院线K线图") kline.add("每日K线",train_index.tolist() ,train_data.tolist()) kline
注:matplotlib画K线图可能出现断裂,使用pyechart画K线图比matplotlib简便,pyechart需要的数据类型为列表
plt.rc('font', family='SimHei', size=13) #解决图例中文乱码 """ 画图的三种写法: fig,axes = plt.subplots(1,1,figsize=(22,10)) 1.plt.plot(data):最直接的写法 2.plt.plot_date(x_date,data['high']):用于多个趋势图 3.data[['close','volume']].plot(ax =axes): 数据类型直接绘图 """#最高价、开盘价与收盘价 data = ts.get_hist_data('002739',start='2017-01-01') x = range(len(data)) x_date = [datestr2num(i) for i in data.index]plt.figure(figsize=(22,10)) plt.title(u"2017年万达院线历史最高价、开盘价与收盘价走势折线图") plt.xlabel(u"时间") plt.ylabel(u"指数") plt.plot_date(x_date,data['high'],'-',color='r',label=u"最高价") plt.plot_date(x_date,data['open'],'-',color='g',label=u"开盘价") plt.plot_date(x_date,data['close'],'-',color='b',label=u"收盘价") plt.legend() plt.grid(True)#收盘价与成交量 fig,axes = plt.subplots(1,1,figsize=(22,10)) plt.title(u"2017年万达院线收盘价和成交量趋势折线图") data[['close','volume']].plot(ax =axes,secondary_y='volume', grid=True)#日均线与换手率 fig = plt.figure(figsize=(22,15)) ax1 = plt.subplot2grid((4,4),(0,0),rowspan = 3,colspan = 4) #plt.subplot(211) 这样两子图的大小相同,展示不好看 Ma5 = data['ma5'] Ma5.plot(kind = 'line',ax = ax1,color = 'r',label=u"5日均价") Ma10 = data['ma10'] Ma10.plot(kind = 'line',ax = ax1,color = 'g',label=u"10日均价") Ma20 = data['ma20'] Ma20.plot(kind = 'line',ax = ax1,color = 'b',label=u"20日均价") plt.legend(loc = 'best') plt.grid(True)#plt.subplot(212) ax2 = plt.subplot2grid((4,4),(3,0),rowspan = 1,colspan = 4) TurnOver = data['turnover'] TurnOver.plot(kind='bar',ax = ax2,color = 'black')ax1.set_title(u"2017年万达院线日均价折线图") ax1.set_ylabel(u"股价(元)") ax2.set_ylabel(u"换手率") ax2.set_xlabel(u"日期") plt.grid(True)plt.setp(ax1.get_xticklabels(),visible = False) plt.setp(ax1.yaxis.get_ticklabels()[0],visible = False) #隐藏y轴的第一个标签 plt.subplots_adjust(bottom = 0.2,top = 0.9,hspace = 0) #调整子图间距 plt.show()
其它
tushare提供获取全国影院单日票房排行数据的接口,可以通过特定日期(比如股价涨停日等)观察万达影院票房信息
df = ts.day_cinema('2017-06-07') #取指定日期的数据 df.head(10)
注:tushare数据只更新到2017/07/03
转载于:https://www.cnblogs.com/Ryana/p/7490838.html
练习:万达院线股价分析相关推荐
- 如何用Python进行历史股价分析
如何用Python进行历史股价分析 一. 概述 二. 概念 三. 操作 3.1 统计分析 3.2 股票收益率 3.3 日期分析 3.4 周汇总 3.5 真实波动幅度均值 3.6 简单移动平均线 3.7 ...
- matlab股价分析论文,matlab股票分析:MATLAB怎样获取实时股市行情数据
1Sina股 据接 口 以大秦 (股票 :601006)为例,如 果要获取它的最新行情, 只 问新浪 的股票数据 接口: http://hq.sinajs.cn/list=sh601006 这个url ...
- Python 揭秘斐波那契定律,如何帮助码农分析股票?| 技术头条
作者 | 元宵大师 责编 | 胡巍巍 剖析斐波那契数列 对于斐波那契数列相信大家并不陌生,它指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.55.89.144.233----这个数列 ...
- 股票分析及利用tushare查看股票部分信息
股票分析及利用tushare查看股票部分数据 观前提示:本文面向和我一样不懂炒股的投资小白 本文涉及: 利用python调用tushare最基础的少量操作(查看股价及可类推的基本数据.将多支股票数据放 ...
- 学会分析股票的基本面!使你顺水长流!
股票应该算是最变幻莫测的物质之一了,作为人造出来的一种信用符号,其本身并不存在更多的意义和属性,对于股票的把握,归根结底还是要回到上市公司去. 我不知道股票基本面分析在一场股灾面前能有多大的抵抗力,因 ...
- 大象转身,地表最强投行高盛开启转型之路
大象转身,地表最强投行高盛开启转型之路 2018-10-27 15:06技术/科技/公司 原创: 李思琪 ,微众银行金融科技研究员 来源: 金融科技微洞察(ID:weinsights),已获授权 金融 ...
- 花木兰到底好看不,我用Python爬取了几万条评论!
对于神仙姐姐刘亦菲,估计很多码农都很喜欢,小编也非常喜欢她.从一开始的金粉世家里面的青涩的白秀珠,到天龙八部的神仙姐姐王语嫣,再到仙剑奇侠传里面的赵灵儿,后来挑战四大名捕里面的无情,演技也是越来越好. ...
- ApacheCN 数据科学译文集 2020.8
协议:CC BY-NC-SA 4.0 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 2.3.c 在线阅读 ApacheCN 面试求职交流群 724187166 Apach ...
- ApacheCN Pandas 教程集
Pandas 秘籍 零.前言 一.Pandas 基础 二.数据帧基本操作 三.开始数据分析 四.选择数据子集 五.布尔索引 六.索引对齐 七.分组以进行汇总,过滤和转换 八.将数据重组为整齐的表格 九 ...
最新文章
- pytorch 训练过程acc_【图节点分类】10分钟就学会的图节点分类教程,基于pytorch和dgl...
- 让vim正确显示cfg文件中的xxx = yyy=zzz
- 最长递增子序列Python解法
- Spring开发环境搭建和第一个示例程序
- 自由软件基金会称DRM被用于锁定、控制和监视用户
- 粉碎文件软件测试大乐,软件测试基础(面试)(27页)-原创力文档
- AWS 挂了 11 个小时:因多处光缆被挖断
- 第2节 网站点击流项目(下):5、访客分析
- 渗透测试 重点方法检测网站漏洞
- 怎么把PDF拆分成单页?
- Zbrush curve Tube ,Move topologica笔刷的使用
- Simpson公式、复化梯形公式、Cotes公式以及Romberg公式
- C——识别键盘按下模拟键盘按下
- 网络文件常常提到类似./run.sh的数据,这个命令的意义是什么?
- 替换mysql数据库_mysql数据库的替换
- 蓝牙无法连接手机解决大全(转)
- 2018阿里巴巴基础平台研发工程师实习生笔试题:一.十进制数转换成的二进制数中有几个1. 二.输出IP所在的网段
- 《UNIX网络编程》配置unp.h头文件
- 计算机学院陈宇,计算机学院学生社团联合会第一次全体会议顺利召开
- 怎么查电脑服务器的基本信息,怎么查电脑服务器的地址
热门文章
- 【UCOSIII】1.初识UCOS
- java语言基于什么区别_Java语言程序有几种?它们有什么区别?
- python—2048小游戏
- 卡位5G节点!vivo联手三星共研双模5G芯片Exynos 980发布
- user版本如何打开root权限
- [转] 网络术语大全
- Cocos 资料大全
- 速卖通 授权流程 java_外贸开发,用java调用速卖通api第一步,token的获取。
- windows10下使用gyp编译google_breakpad
- 只因用了这五个素材网,三天剪辑了10个作品有861,收藏起来