zoukankan      html  css  js  c++  java
  • 人民币对澳元汇率的大数据分析与预测

    import pandas as pd
    import matplotlib.pyplot as plt
    import statsmodels as sm
    from statsmodels.graphics.tsaplots import plot_acf,plot_pacf
    import numpy as np
    
    discfile = r'D:python日线数据
    enminbi_ouyuan.xlsx'
    forecastnum = 5
    data = pd.read_excel(discfile, index_col = '时间')
    data = data['']
    data
    plt.rcParams['font.sans-serif'] = ['SimHei']
    ##datetime时间转化
    data.index = pd.to_datetime(data.index,format="%Y/%m/%d")
    plt.figure(figsize=(8,4))
    plt.plot(data)
    plt.show()
    ##ACF,PACF计算
    fig = plt.figure(figsize = (12,8))
    ax1 = fig.add_subplot(211)
    fig = plot_acf(data,lags = 40,ax =ax1)
    ax1.xaxis.set_ticks_position('bottom')
    fig.tight_layout()
    ax2 = fig.add_subplot(212)
    fig = plot_pacf(data,lags = 40,ax =ax2)
    ax1.xaxis.set_ticks_position('bottom')
    fig.tight_layout()
    
    data_diff = data.diff(5)
    data_diff = data_diff.dropna()
    
    ##差分后ACF,PACF计算
    fig = plt.figure(figsize = (12,8))
    ax1 = fig.add_subplot(211)
    fig = plot_acf(data_diff,lags = 40,ax =ax1)
    ax1.xaxis.set_ticks_position('bottom')
    fig.tight_layout()
    ax2 = fig.add_subplot(212)
    fig = plot_pacf(data_diff,lags = 40,ax =ax2)
    ax1.xaxis.set_ticks_position('bottom')
    fig.tight_layout()
    
    arima11 = sm.tsa.arima_model.ARMA(data_diff,order=(6,4))
    model_results=arima11.fit()
    predict = model_results.predict()
    forecast = model_results.forecast(5)
    plt.figure(figsize=(12,8))
    plt.plot(data_diff.iloc[data_diff.size-1000:data_diff.size])
    plt.plot(predict[data_diff.size-1000:data_diff.size],'r')
    plt.show()
  • 相关阅读:
    python 监听文件夹下的文件,将文本内容写入kafka,支持断电续传 (docker 发布)
    python监控目录和文件变化
    Python 单例
    Python 面向对象 继承
    Python 面向对象 多态
    Python 面向对象 类属性和类方法
    Python 基础2
    Python 面向对象
    【bird-front】全自动数据表格组件bird-grid
    【bird-java】bird-java系列文章汇总
  • 原文地址:https://www.cnblogs.com/ggzjf/p/10145781.html
Copyright © 2011-2022 走看看