亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么實現折線圖顯示股票數據

發布時間:2021-11-23 17:10:34 來源:億速云 閱讀:210 作者:iii 欄目:大數據

這篇文章主要介紹“Python怎么實現折線圖顯示股票數據”,在日常操作中,相信很多人在Python怎么實現折線圖顯示股票數據問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python怎么實現折線圖顯示股票數據”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

步驟:

  1. 準備數據

  2. 可視化數據、審查數據

  3. 處理數據

  4. 根據ACF、PACF定階

  5. 擬合ARIMA模型

  6. 預測

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

import pandas as pd
import pandas_datareader
import datetime
import matplotlib.pylab as plt
from matplotlib.pylab import style
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf

style.use('ggplot')     # 設置圖片顯示的主題樣式

# 解決matplotlib顯示中文問題
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默認字體
plt.rcParams['axes.unicode_minus'] = False  # 解決保存圖像是負號'-'顯示為方塊的問題


def run_main():
    """
        主函數
    """
    # 1. 準備數據
    # 指定股票分析開始日期
    start_date = datetime.datetime(2009, 1, 1)
    # 指定股票分析截止日期
    end_date = datetime.datetime(2019, 4, 1)
    # 股票代碼
    stock_code = '600519.SS'    # 滬市貴州茅臺

    stock_df = pandas_datareader.data.DataReader(
                        stock_code, 'yahoo', start_date, end_date
                )
    # 預覽數據
    print(stock_df.head())

    # 2. 可視化數據
    plt.plot(stock_df['Close'])
    plt.title('股票每日收盤價')
    plt.show()

    # 按周重采樣
    stock_s = stock_df['Close'].resample('W-MON').mean()
    stock_train = stock_s['2014':'2018']
    plt.plot(stock_train)
    plt.title('股票周收盤價均值')
    plt.show()

    # 分析 ACF
    acf = plot_acf(stock_train, lags=20)
    plt.title("股票指數的 ACF")
    acf.show()

    # 分析 PACF
    pacf = plot_pacf(stock_train, lags=20)
    plt.title("股票指數的 PACF")
    pacf.show()

    # 3. 處理數據,平穩化數據
    # 這里只是簡單第做了一節差分,還有其他平穩化時間序列的方法
    stock_diff = stock_train.diff()
    diff = stock_diff.dropna()
    print(diff.head())
    print(diff.dtypes)

    plt.figure()
    plt.plot(diff)
    plt.title('一階差分')
    plt.show()

    acf_diff = plot_acf(diff, lags=20)
    plt.title("一階差分的 ACF")
    acf_diff.show()

    pacf_diff = plot_pacf(diff, lags=20)
    plt.title("一階差分的 PACF")
    pacf_diff.show()

    # 4. 根據ACF和PACF定階并建立模型
    model = ARIMA(stock_train, order=(1, 1, 1), freq='W-MON')
    # 擬合模型
    arima_result = model.fit()
    print(arima_result.summary())

    # 5. 預測

    pred_vals = arima_result.predict(start=str('2019-01'),end=str('2019-03'),
                                     dynamic=False, typ='levels')
    print(pred_vals)

    # 6. 可視化預測結果
    stock_forcast = pd.concat([stock_s, pred_vals], axis=1, keys=['original', 'predicted'])

    plt.figure()
    plt.plot(stock_forcast)
    plt.title('真實值vs預測值')
    plt.savefig('./stock_pred.png', format='png')
    plt.show()


if __name__ == '__main__':
    run_main()

到此,關于“Python怎么實現折線圖顯示股票數據”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

齐齐哈尔市| 崇文区| 准格尔旗| 子洲县| 临清市| 亚东县| 大港区| 嘉义市| 临城县| 汾阳市| 江都市| 无极县| 宁强县| 平利县| 金坛市| 民丰县| 沂南县| 尖扎县| 泌阳县| 大埔区| 星子县| 马山县| 邵阳县| 长沙县| 应城市| 洞头县| 建湖县| 西城区| 筠连县| 沂水县| 博客| 德阳市| 永州市| 兴化市| 龙胜| 扶绥县| 静安区| 仲巴县| 乡宁县| 博乐市| 原阳县|