Python数据分析及可视化实例之个股走势预测(26)

Python数据分析及可视化实例之个股走势预测(26)

系列文章总目录:Python数据分析及可视化实例目录


1.项目背景:

仅仅用来练手,个股走势如果真预测准确了,都就改行当操盘手了,哈哈!

但话又说回来,如果把数据曲线特征提取出来,再进行对比异常判断,也是可以的。


数据源,请关注微信公众号:海豹战队,回复:数据


2.分析步骤:

(1) 时间序列

(2) 数据重采样

(3) 预测


3.分析结果:





4.源码(公众号:海豹战队):

# coding: utf-8
# 亲,转载即同意帮推公众号:海豹战队,嘿嘿......
# 数据源可关注公众号:海报战队,后留言:数据
%matplotlib inline
import pandas as pd
import datetime
import matplotlib.pylab as plt
import seaborn as sns
from matplotlib.pylab import style
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
style.use('ggplot')    
plt.rcParams['font.sans-serif'] = ['SimHei'] 
plt.rcParams['axes.unicode_minus'] = False  

stockFile = 'data/T10yr.csv'
stock = pd.read_csv(stockFile, index_col=0, parse_dates=[0])
stock.head(10)

stock_week = stock['Close'].resample('W-MON').mean()
stock_train = stock_week['2000':'2015']
stock_train.head()

stock_train.plot(figsize=(12,8))
plt.legend(bbox_to_anchor=(1.25, 0.5))
plt.title("Stock Close")
sns.despine()

stock_diff = stock_train.diff()
stock_diff = stock_diff.dropna()
stock_diff = stock_train.diff()
stock_diff = stock_diff.dropna()

plt.figure()
plt.plot(stock_diff)
plt.title('一阶差分')
plt.show()

pacf = plot_pacf(stock_diff, lags=20)
plt.title("PACF")
pacf.show()

acf = plot_acf(stock_diff, lags=20)
plt.title("ACF")
acf.show()

# 核心
model = ARIMA(stock_train, order=(1, 1, 1),freq='W-MON')
result = model.fit()
#print(result.summary())
plt.figure(figsize=(6, 6))
plt.xticks(rotation=45)
plt.plot(pred)
plt.plot(stock_train)

# 搬砖也是个力气活,可视化采用Bokeh并非plt,以后再专门教大家使用Bokeh和Flask交互。


胶水语言博大精深,

本主只得一二为新人带路,

老鸟可去另一专栏:Python中文社区


新手可查阅历史目录:

Python数据分析及可视化实例目录



最后,别只收藏不关注哈

编辑于 2017-10-13

文章被以下专栏收录