Python入门操作-时间序列分析

本文介绍了Python进行时间序列分析的基础知识,包括获取股票数据、计算每日收益、移动平均数、趋势和季节性分析。通过建立线性模型预测时间序列,验证模型效度,并探讨了在金融交易中处理时间序列数据的实用工具,如日期处理、索引和切片操作。
摘要由CSDN通过智能技术生成

时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。本文我们会分享如何用历史股票数据进行基本的时间序列分析(以下简称时序分析)。首先我们会创建一个静态预测模型,检测模型的效度,然后分享一些用于时序分析的重要工具。

在创建模型之前,我们先简要了解时间序列的一些基本参数,比如移动平均线、趋势、季节性等。

获取数据

我们本文会用到 MRF 过去五年的“调整价格”,用 pandas_datareader 可以从 Yahoo财经上获取所需的数据。我们首先导入需要的库:

import pandas as pd
import pandas_datareader as web
import matplotlib.pyplot as plt
import numpy as np

现在我们用 datareader 获取数据,主要是自 2012 年 1 月 1 日至 2017 年 12 月 21 日的股票数据。当然也可以只用调整收盘价,因为这是最相关的价格,应用在所有的金融分析中。

stock = web.DataReader('MRF.BO','yahoo', start = "01-01-2012", end="31-12-2017")
stock = stock.dropna(how=’any’)

我们可以用 head() 函数检查数据。

stock.head()

image.png

我们可以用导入的 matplotlib 库再次绘制出时间段内的调整价格。

stock[‘Adj Close’].plot(grid = True)

计算和绘制每日收益

利用时间序列,我们可以计算出随着时间变化的每日收益,并绘制出收益变化图。我们将从股票的调整收盘价中计算出每日收益,以列名“ret”储存在同一数据帧“stock”中。

stock['ret'] = stock['Adj Close'].pct_change()
stock['ret'].plot(grid=True)

移动平均数

和收益相同,我们可以计算和绘制出调整收盘价格的移动平均线。移动平均线是广泛应用于技术分析中的一个非常重要的指标。出于简要说明的目的,这里我们只计算 20 天移动

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值