语言第⑤章 集合

很久没有立异了!!!咱再忙也不可能忘记学习啊~

第六章 集合

在 Swift语言中,有三种集合类型。数组用来存款和储蓄一组有序的变量,字典则是储存一组冬天的变量。正如我们透过目录查阅一本普通的新华字典一样,字典类型的成团能够由此索引来查询有些大家需求的值,在
Swift 语言中,称之为关键字。假设读者熟习 C++/STL,那么他们相应的正是vector 和 map。
数组和字典所蕴藏的变量都是一样档次的,并且在宣称数组或字典时,类型就曾经明确。大家不能够向2个字符串类型的数组中放入1个整数。那种严格做法的功利是当大家从自身定义的数组中取出三个变量时,大家得到的万古是明确的品种。它能确认保障大家付出代码的花色一致性,并且帮助大家在开发早期发现项目标谬误。

注意:
在赋值给常量、变量,或然当做参数字传送递给函数时,数组会表现出与其余门类差异的作为。更加多音讯参见

近期不论同事承认,朋友能够,都关乎多只股票”湖北刘伶醉”,所以就拿来试水,接下去会介绍下简单介绍下该模型概念,以及python如何选取该模型。

基本概念

ACR-VIMA模型的完备叫做自回归活动平均模型,全称是(APAJEROIMA, Autoregressive
Integrated Moving Average
Model)。也记作A锐界IMA(p,d,q),是计算模型(statistic
model)中最广大的一种用来展开时间种类预测的模型。

建立模型步骤
  1. 获得被考察系统时间连串数据;
  2. 对数码绘图,观测是还是不是为祥和时间类别;对于非平稳时间类别要先进行d阶差分运算,化为平稳时间系列;
  3. 经过第③步处理,已经取得平安时间连串。要对稳定时间连串分别求得其自相关联数ACF偏自相关联数PACF,通过对自相关图和偏自相关图的辨析,得到最佳的阶层
    p
    阶数 q
  4. 由以上获得的d、q、p,得到AWranglerIMA模型。然后初阶对获得的模型实行模型检验。
实战解析

规律差不多知道,实践却照旧会有不少难题。上面就通过Python语言贴出重要完结代码。

先上最后结出图,深湖蓝虚线为预测部分,实线为方今股票价格,预测趋势发展
# 文中使用到这些基础库:
import tushare as ts 
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.graphics.tsaplots import plot_acf,plot_pacf

# 获得贵州茅台数据
df_source = ts.get_hist_data('600519')

# 对收盘价进行排序
ser_close = df_source['close'].sort_index()

# 收盘曲线
ser_close.plot(kind='line', c='r', label='Close')

# 20日均线
ser_close.rolling(window=20).mean().plot(kind='line', c='b', ls='--', alpha=.8, label='M_20')

# 趋势不平稳,对数据进行一阶差分
df_close['diff1'] = df_close['close'].diff(1)
# 二阶差分
df_close['diff2'] = df_close['diff1'].diff(1)

# 日频数据太多,对数据做降频处理
df_close_resample = df_close.resample('W-MON').mean()

# AM与MA定阶,落在置信区间的前一个点位为模型阶数
acf_dif = plot_acf(train_dif1, lags=20)
pacf_dif = plot_pacf(train_dif1, lags=20)

# 把得到的参数放进模型中训练
model = ARIMA(stk_train_set['close'], order=(1, 1, 1), freq='W-MON')
arima_result = model.fit()

# 得到预测结果
pred_vals = arima_result.predict(startdate,enddate,dynamic=True, typ='levels')

ARIMA pre result

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图