当前位置: 首页 > news >正文

服务好的南昌网站建设莱芜区宣传部网站

服务好的南昌网站建设,莱芜区宣传部网站,深圳光明建设局官方网站,wordpress 模板 小工具全文链接#xff1a;https://tecdat.cn/?p33550 时间序列是一系列按时间顺序排列的观测数据。数据序列可以是等间隔的#xff0c;具有特定频率#xff0c;也可以是不规则间隔的#xff0c;比如电话通话记录#xff08;点击文末“阅读原文”获取完整代码数据#xff09;。… 全文链接https://tecdat.cn/?p33550 时间序列是一系列按时间顺序排列的观测数据。数据序列可以是等间隔的具有特定频率也可以是不规则间隔的比如电话通话记录点击文末“阅读原文”获取完整代码数据。 相关视频 什么是时间序列 在进行投资和交易研究时对于时间序列数据及其操作要有专业的理解。本文将重点介绍如何使用Python和Pandas帮助客户进行时间序列分析来分析股票数据。 理解日期时间和时间差 在我们完全理解Python中的时间序列分析之前了解瞬时、持续时间和时间段的差异非常重要。 类型描述例子日期瞬时一年中的某一天2019年9月30日2019年9月30日时间瞬时时间上的单个点6小时6.5分钟6.09秒6毫秒日期时间瞬时日期和时间的组合2019年9月30日06:00:002019年9月30日上午6:00持续时间两个瞬时之间的差异2天4小时10秒时间段时间的分组2019第3季度一月 Python的Datetime模块 datetime模块提供了在简单和复杂方式下进行日期和时间操作的类。 创建瞬时 日期、日期时间和时间都是单独的类我们可以通过多种方式创建它们包括直接创建和通过字符串解析。 now datetime.datetime.today() today datetime.date.today()print(now) print(today) 创建持续时间 timedeltas 表示时间的持续时间。它们可以与时间点相加或相减。 pythonpast now - alldelta print(type(future)) print(future) print(type(past)) print(past) 访问日期时间属性 类和对象属性可以帮助我们分离出我们想要看到的信息。我列出了最常见的属性但你可以在datetime模块的文档上找到详尽的列表。 类/对象属性描述共享类属性class.min可表示的最早日期、datetime、timeclass.max可表示的最晚日期、datetime、timeclass.resolution两个日期、datetimes 或 times 之间的最小差值日期/日期时间object.year返回年份object.month返回月份1 - 12object.day返回日期1-32时间/日期时间object.hour返回小时0-23object.minute返回分钟0-59object.second返回秒数0-59 python print(datetime.datetime.min) print(datetime.datetime.max) print(datetime1.microsecond) 在Pandas中创建时间序列 让我们获取由Intrinio开发者沙盒提供的苹果股票历史数据。 pythonapple_price_history pd.read_csv(f)apple_price_history[[open, high, low, close, volume]].head() 让我们查看数据框的数据类型或 dtypes看看是否有任何日期时间信息。 让我们将数据框的 RangeIndex 更改为 DatetimeIndex。为了好看我们将展示如何使用 read_csv 用 DatetimeIndex 读取数据。 python apptime64) apple_price_history.dtypes pythonprint(apple_price_history[[open, high, low, close]].head()) apple_price_history.index[0:10] python import numpy as np import urllib.requestindex_coldate,usecols[date,adj_open,adj_high,adj_low,adj_close,adj_volume]) apple_price_history.columns namesprint(apple_price_history.head()) 添加日期时间字符串 通常日期的格式可能是无法解析的。我们可以使用dt.strftime将字符串转换为日期。在创建 sp500数据集 时我们使用了strptime。 sp500.loc[:,date].apply(lambda x: datetime.strptime(x,%Y-%m-%d)) 时间序列选择 按日、月或年选择日期时间 现在我们可以使用索引和loc轻松选择和切片日期。 apple_price_history.loc[2018-6-1] 使用日期时间访问器 dt访问器具有多个日期时间属性和方法可以应用于系列的日期时间元素上这些元素在Series API文档中可以找到。 属性描述Series.dt.date返回包含Python datetime.date对象的numpy数组即没有时区信息的时间戳的日期部分。Series.dt.time返回datetime.time的numpy数组。Series.dt.timetz返回还包含时区信息的datetime.time的numpy数组。Series.dt.year日期的年份。Series.dt.month月份其中一月为1十二月为12。Series.dt.day日期的天数。Series.dt.hour时间的小时。Series.dt.minute时间的分钟。Series.dt.second时间的秒数。Series.dt.microsecond时间的微秒数。Series.dt.nanosecond时间的纳秒数。Series.dt.week年的星期序数。Series.dt.weekofyear年的星期序数。Series.dt.dayofweek星期几星期一为0星期日为6。Series.dt.weekday星期几星期一为0星期日为6。Series.dt.dayofyear年的第几天的序数。Series.dt.quarter季度。Series.dt.is_month_start表示日期是否为月的第一天。Series.dt.is_month_end表示日期是否为月的最后一天。Series.dt.is_quarter_start表示日期是否为季度的第一天。Series.dt.is_quarter_end表示日期是否为季度的最后一天。Series.dt.is_year_start表示日期是否为年的第一天。Series.dt.is_year_end表示日期是否为年的最后一天。Series.dt.is_leap_year表示日期是否为闰年。Series.dt.daysinmonth月份中的天数。Series.dt.days_in_month月份中的天数。Series.dt.tz返回时区如果有。Series.dt.freq 方法描述Series.dt.to_period(self, *args, **kwargs)将数据转换为特定频率的PeriodArray/Index。Series.dt.to_pydatetime(self)将数据返回为本机Python datetime对象的数组。Series.dt.tz_localize(self, *args, **kwargs)将时区非感知的Datetime Array/Index本地化为时区感知的Datetime Array/Index。Series.dt.tz_convert(self, *args, **kwargs)将时区感知的Datetime Array/Index从一个时区转换为另一个时区。Series.dt.normalize(self, *args, **kwargs)将时间转换为午夜。Series.dt.strftime(self, *args, **kwargs)使用指定的日期格式转换为索引。Series.dt.round(self, *args, **kwargs)对数据执行舍入操作将其舍入到指定的频率。Series.dt.floor(self, *args, **kwargs)对数据执行floor操作将其舍入到指定的频率。Series.dt.ceil(self, *args, **kwargs)对数据执行ceil操作将其舍入到指定的频率。Series.dt.month_name(self, *args, **kwargs)返回具有指定区域设置的DateTimeIndex的月份名称。Series.dt.day_name(self, *args, **kwargs)返回具有指定区域设置的DateTimeIndex的星期几名称。 周期 print(df.dt.quarter) print(df.dt.day_name()) DatetimeIndex包括与dt访问器大部分相同的属性和方法。 apple_price_history.index.day_name() 频率选择 当时间序列是均匀间隔的时可以在Pandas中与频率关联起来。 pandas.date_range 是一个函数我们可以创建一系列均匀间隔的日期。 dates pd.date_range(2019-01-01, 2019-12-31, freqD) dates 除了指定开始或结束日期外我们可以用一个周期来替代并调整频率。 hours pd.date_range(2019-01-01, periods24, freqH) print(hours) pandas.DataFrame.asfreq 返回具有新频率的数据帧或序列。对于数据中缺失的时刻将添加新行并用NaN填充或者使用我们指定的方法填充。通常需要提供偏移别名以获得所需的时间频率。 别名 别名描述B工作日频率C定制的工作日频率D日历日频率W周频率M月底频率SM半月末频率每月15日和月末BM工作日月末频率CBM定制的工作日月末频率MS月初频率SMS半月初频率每月1日和15日BMS工作日月初频率CBMS定制的工作日月初频率Q季末频率BQ工作日季末频率QS季初频率BQS工作日季初频率A, Y年末频率BA, BY工作日年末频率AS, YS年初频率BAS, BYS工作日年初频率BH工作小时频率H小时频率T, min分钟频率S秒频率L, ms毫秒U, us微秒N纳秒 print(apple_quarterly_history.head()) 填充数据 pandas.Series.asfreq 为我们提供一个填充方法来替换NaN值。 print(apple_price_history[close].asfreq(H, methodffill).head()) 重新采样上采样和下采样 pandas.Dataframe.resample 返回一个重新取样对象与groupby对象非常相似可以在其上运行各种计算。 我们经常需要降低下采样或增加上采样时间序列数据的频率。如果我们有每日或每月的销售数据将其降采样为季度数据可能是有用的。或者我们可能希望上采样我们的数据以匹配另一个用于进行预测的系列的频率。上采样较少见并且需要插值。 print(apple_quarterly_history.agg({high:max, low:min})[:5]) 现在我们可以使用我们上面发现的所有属性和方法。 print(apple_price_history.index.day_name()) Index([Friday, Monday, Tuesday, Wednesday, Thursday, Friday,Monday, Tuesday, Wednesday, Friday,...Wednesday, Thursday, Friday, Monday, Tuesday, Wednesday,Thursday, Friday, Monday, Tuesday],dtypeobject, namedate, length9789) print(datetime.to_period(Q)) datetime.to_period(Q).end_time 滚动窗口平滑和移动平均 pandas.DataFrame.rolling 让我们将数据拆分为聚合的窗口并应用诸如均值或总和之类的函数。 在交易中的一个典型例子是使用50天和200天的移动平均线来买入和卖出资产。 让我们计算苹果公司的这些指标。请注意在计算滚动均值之前我们需要有50天的数据。 apple_price_history_recent[[close, rolling_50, rolling_200]].plot(titleApple vs. 50SMA 200SMA, figsize(32,18)) 点击标题查阅往期内容 对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归 左右滑动查看更多 01 02 03 04 使用Matplotlib可视化时间序列数据 Matplotlib使我们可以轻松地可视化Pandas时间序列数据。Seaborn添加了额外的选项帮助我们使图表更加漂亮。我们导入matplotlib和seaborn来尝试几个基本的例子。 折线图 sns.lineplot 绘制标准折线图。它的工作方式类似于我们上面使用的dataframe.plot。 axax).set_title(Apple Stock Price History) Text(0.5, 1.0, Apple Stock Price History) 箱线图/盒图 盒图能够帮助我们对数据进行分组和理解其分布。对于季节性数据来说往往非常有用。 pythonsns.set(rc{figure.figsize:(32, 18)}) sns.boxplot(dataapple_price_recent_history, xquarter, yclose).s 在 Pandas 中分析时间序列数据 时间序列分析方法可以分为两类 频域方法时域方法 频域方法分析信号在频率带如最后100个样本上的变化程度。时域方法分析信号在指定时间段如前100秒内的变化程度。 时间序列趋势、季节性和周期性 时间序列数据可以分解为四个组成部分 趋势季节性周期性噪声 并不是所有的时间序列都具有趋势、季节性或周期性而且必须有足够的数据支持存在季节性、周期性或趋势。 并不是所有的时间序列必须呈现趋势或模式它们也可能完全是随机的。 除了高频变动如季节性和噪声外时间序列数据通常还会呈现渐变的变异性。通过在不同时间尺度上进行滚动平均可以很容易地可视化这些趋势。让我们导入苹果公司的销售数据以研究季节性和趋势。 趋势 趋势指的是时间序列中存在上升或下降斜率的情况。亚马逊的销售增长就是上升趋势的一个例子。此外趋势不一定是线性的。趋势可以是确定性的是时间的函数也可以是随机的。 季节性 季节性指的是一年内在固定时间间隔内观察到的明显重复模式包括峰值和低谷。苹果公司的销售在第四季度达到峰值就是亚马逊收入中的一个季节性模式的例子。 周期性 周期性指的是在不规则时间间隔内观察到的明显重复模式如商业周期。 让我们分析苹果公司的收入历史数据看看能否进行分解。 import urllib import pandas as pd from scipy import stats apple_revenue_history[fiscal_period].str.upper() slope, intercept, r_value, p_value, std_err stats.linregress(apple_revenue_history.index, 时间序列趋势图与趋势线 python fig plt.figure(figsize(32,18)) ax1 fig.add_subplot(1,1,1)apple_revenue_history.plot( 时间序列堆叠图进行周期分析 python fig plt.figure(figsize(32,18)) ax1 fig.add_subplot(1,1,1) lshareyTrue) ax1.legend(legend) 分解时间序列数据 statsmodel可以将时间序列统计分解为其组成部分。 pythonapple_revenue_history.index apple_revenue_history.index.to_timestamp(freqQ)# 加法分解 result_add seasonal_decompose(apple_revenue_history[value])# 绘图 plt.rcParams.update({figure.figsize: (32,18)}) 时间序列的平稳性 时间序列与传统的分类和回归预测建模问题不同。时间序列数据是有序的并且需要平稳性才能进行有意义的摘要统计。 平稳性是时间序列分析中许多统计过程的假设非平稳数据经常被转化为平稳数据。 平稳性有以下几种分类 平稳过程/模型平稳的观察序列。趋势平稳不呈现趋势。季节平稳不呈现季节性。严格平稳数学定义的平稳过程。 在一个平稳的时间序列中时间序列的均值和标准差是恒定的。此外没有季节性、周期性或其他与时间相关的结构。通常首先查看时间序列是否平稳以更容易理解。 python # 平稳序列 vol .002df1.plot(title pythondf2.plot(t python np.logspace(1,2,num200, dtypeint)) df3.plot(title) pythondf4[0] df4[0] df4[cyclical] df4[0].plot(title) 如何检验平稳性 我们可以通过直观地检查上述图形来测试平稳性就像之前所做的那样将图形分成多个部分查看均值、方差和相关性等摘要统计数据或者使用更高级的方法如增广迪基-富勒检验Augmented Dickey-Fuller test。 增广迪基-富勒测试用于测试是否存在单位根。如果时间序列有单位根则表示存在一些时间相关结构即时间序列不是平稳的。 统计量越负值时间序列越有可能是平稳的。一般来说如果 p 值 0.05则数据有单位根不是平稳的。让我们使用 statsmodel 进行检验。 python import pandas as pd import numpy as np from statsmodels.tsa.stattools import adfullerprint(Critial Values:)print(f {key}, {value:.2f}) 上述示例运行后打印出的测试统计值分别为 0.00平稳和 0.88非平稳。 如何处理非平稳时间序列 如果时间序列中存在明显的趋势和季节性可以对这些组成部分进行建模将它们从观测值中剔除然后在残差上训练模型。 去趋势化 有多种方法可以从时间序列中去除趋势成分。 减去最佳拟合直线使用分解进行减法使用滤波器进行减法 滤波器 使用 SciPy 进行最佳拟合直线 SciPy 的 detrend 函数可以通过减去最佳拟合直线来移除趋势。 pythondetrend signal.detrend(df[0].values) plt.plot(detrend) 使用 StatsModels 进行分解 seasonal_decompose 函数返回一个带有季节性、趋势和残差属性的对象我们可以从系列值中减去它们。 from statsmodels.tsa.seasonal import seasonal_decompose from dateutil.parser import parsedf[0].plot(figsize(32,18)) df[0] df[0] - decompose.trend df[0].plot(figsize(32,18)) 点击文末“阅读原文” 获取全文完整代码数据资料。 本文选自《Python时间序列分析苹果股票数据分解、平稳性检验、滤波器、滚动窗口、移动平均、可视化》。 点击标题查阅往期内容 R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列 R语言风险价值ARIMAGARCHDelta-normal法滚动估计VaRValue at Risk和回测分析股票数据 R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模拟可视化 R语言单变量和多变量多元动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率 R语言中的时间序列分析模型ARIMA-ARCH / GARCH模型分析股票价格 GARCH-DCC模型和DCCMVT建模估计 R语言预测期货波动率的实现ARCH与HAR-RV与GARCHARFIMA模型比较 ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列 PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化 极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR多元化投资组合预测风险测度分析 Garch波动率预测的区制转移交易策略 金融时间序列模型ARIMA 和GARCH 在股票市场预测应用 时间序列分析模型ARIMA-ARCH / GARCH模型分析股票价格 R语言风险价值ARIMAGARCHDelta-normal法滚动估计VaRValue at Risk和回测分析股票数据 R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化 Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用 MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测 R语言极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR多元化投资组合预测风险测度分析 Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列 R语言中的时间序列分析模型ARIMA-ARCH / GARCH模型分析股票价格 R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列 Python使用GARCHEGARCHGJR-GARCH模型和蒙特卡洛模拟进行股价预测 R语言时间序列GARCH模型分析股市波动率 R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测 matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计 Python使用GARCHEGARCHGJR-GARCH模型和蒙特卡洛模拟进行股价预测 使用R语言对SP500股票指数进行ARIMA GARCH交易策略 R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模 R语言股票市场指数ARMA-GARCH模型和对数收益率数据探索性分析 R语言多元Copula GARCH 模型时间序列预测 R语言使用多元AR-GARCH模型衡量市场风险 R语言中的时间序列分析模型ARIMA-ARCH / GARCH模型分析股票价格 R语言用Garch模型和回归模型对股票价格分析 GARCH1,1MA以及历史模拟法的VaR比较 matlab估计arma garch 条件均值和方差模型
http://www.sadfv.cn/news/149650/

相关文章:

  • 站长平台官网全国造价信息网官网
  • 莱芜网站网站建设金融网站源码 asp
  • 怎么做论坛的网站自己开发小程序要多少钱
  • 网站上广告动图是怎么做的在线视频网站a做免费下载
  • 网站 空间wordpress淘宝客推广插件
  • 网站营销如何做杭州网站推广宣传
  • 网站小程序app定制开发购物网站建设的原理
  • 通过付费网站做lead无锡网站建设哪里好
  • 北京市城乡住房建设部网站wordpress在线不能播放视频播放器
  • 网站建设费可以进广告宣传费吗儿童 摄影 wordpress 模板
  • 网站的栏目和板块设计wordpress怎么套模板
  • 住房和城乡建设部网站招聘怎样免费推广自己的网站
  • 网站制作帐户设置做网站外包的公司好干嘛
  • 网站做淘宝推广收入买衣服网站排行榜前十名
  • 营销导向的企业网站优化黄村网站建设
  • 长春建站网站商城网站seo
  • 朝城做网站公司营销型网站建设教程视频教程
  • 网站建设套餐价格阳江市招聘最新招聘
  • 手机网站存储登录信息网站没有备案做竞价吗
  • 吉他网站怎么做茂名网站建设维护
  • wordpress入门建站wordpress html5 win8
  • 婺源网站建设什么是网站收录
  • 网站设计维护合同企业手机网站建设讯息
  • 如何设计网站后台led动态视频网站建设
  • 成都地铁建设分公司网站怎么做网站引流
  • 新手如何建立网站建筑考试培训网
  • 免费虚拟主机网站网页设计个人网站设计
  • 建设银行网站注册用户名上海高品质网站建设公司
  • 初期做网站wordpress好用的企业展示主题
  • 南三环做网站的公司12306建网站多少钱