万达院线股价分析

数据来源:新浪财经、腾讯财经、上交所和深交所

分析时间: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

练习:万达院线股价分析相关推荐

  1. 如何用Python进行历史股价分析

    如何用Python进行历史股价分析 一. 概述 二. 概念 三. 操作 3.1 统计分析 3.2 股票收益率 3.3 日期分析 3.4 周汇总 3.5 真实波动幅度均值 3.6 简单移动平均线 3.7 ...

  2. matlab股价分析论文,matlab股票分析:MATLAB怎样获取实时股市行情数据

    1Sina股 据接 口 以大秦 (股票 :601006)为例,如 果要获取它的最新行情, 只 问新浪 的股票数据 接口: http://hq.sinajs.cn/list=sh601006 这个url ...

  3. Python 揭秘斐波那契定律,如何帮助码农分析股票?| 技术头条

    作者 | 元宵大师 责编 | 胡巍巍 剖析斐波那契数列 对于斐波那契数列相信大家并不陌生,它指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.55.89.144.233----这个数列 ...

  4. 股票分析及利用tushare查看股票部分信息

    股票分析及利用tushare查看股票部分数据 观前提示:本文面向和我一样不懂炒股的投资小白 本文涉及: 利用python调用tushare最基础的少量操作(查看股价及可类推的基本数据.将多支股票数据放 ...

  5. 学会分析股票的基本面!使你顺水长流!

    股票应该算是最变幻莫测的物质之一了,作为人造出来的一种信用符号,其本身并不存在更多的意义和属性,对于股票的把握,归根结底还是要回到上市公司去. 我不知道股票基本面分析在一场股灾面前能有多大的抵抗力,因 ...

  6. 大象转身,地表最强投行高盛开启转型之路

    大象转身,地表最强投行高盛开启转型之路 2018-10-27 15:06技术/科技/公司 原创: 李思琪 ,微众银行金融科技研究员 来源: 金融科技微洞察(ID:weinsights),已获授权 金融 ...

  7. 花木兰到底好看不,我用Python爬取了几万条评论!

    对于神仙姐姐刘亦菲,估计很多码农都很喜欢,小编也非常喜欢她.从一开始的金粉世家里面的青涩的白秀珠,到天龙八部的神仙姐姐王语嫣,再到仙剑奇侠传里面的赵灵儿,后来挑战四大名捕里面的无情,演技也是越来越好. ...

  8. ApacheCN 数据科学译文集 2020.8

    协议:CC BY-NC-SA 4.0 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 2.3.c 在线阅读 ApacheCN 面试求职交流群 724187166 Apach ...

  9. ApacheCN Pandas 教程集

    Pandas 秘籍 零.前言 一.Pandas 基础 二.数据帧基本操作 三.开始数据分析 四.选择数据子集 五.布尔索引 六.索引对齐 七.分组以进行汇总,过滤和转换 八.将数据重组为整齐的表格 九 ...

最新文章

  1. pytorch 训练过程acc_【图节点分类】10分钟就学会的图节点分类教程,基于pytorch和dgl...
  2. 让vim正确显示cfg文件中的xxx = yyy=zzz
  3. 最长递增子序列Python解法
  4. Spring开发环境搭建和第一个示例程序
  5. 自由软件基金会称DRM被用于锁定、控制和监视用户
  6. 粉碎文件软件测试大乐,软件测试基础(面试)(27页)-原创力文档
  7. AWS 挂了 11 个小时:因多处光缆被挖断
  8. 第2节 网站点击流项目(下):5、访客分析
  9. 渗透测试 重点方法检测网站漏洞
  10. 怎么把PDF拆分成单页?
  11. Zbrush curve Tube ,Move topologica笔刷的使用
  12. Simpson公式、复化梯形公式、Cotes公式以及Romberg公式
  13. C——识别键盘按下模拟键盘按下
  14. 网络文件常常提到类似./run.sh的数据,这个命令的意义是什么?
  15. 替换mysql数据库_mysql数据库的替换
  16. 蓝牙无法连接手机解决大全(转)
  17. 2018阿里巴巴基础平台研发工程师实习生笔试题:一.十进制数转换成的二进制数中有几个1. 二.输出IP所在的网段
  18. 《UNIX网络编程》配置unp.h头文件
  19. 计算机学院陈宇,计算机学院学生社团联合会第一次全体会议顺利召开
  20. 怎么查电脑服务器的基本信息,怎么查电脑服务器的地址

热门文章

  1. 【UCOSIII】1.初识UCOS
  2. java语言基于什么区别_Java语言程序有几种?它们有什么区别?
  3. python—2048小游戏
  4. 卡位5G节点!vivo联手三星共研双模5G芯片Exynos 980发布
  5. user版本如何打开root权限
  6. [转] 网络术语大全
  7. Cocos 资料大全
  8. 速卖通 授权流程 java_外贸开发,用java调用速卖通api第一步,token的获取。
  9. windows10下使用gyp编译google_breakpad
  10. 只因用了这五个素材网,三天剪辑了10个作品有861,收藏起来