Python數據分析-股票分析和可視化(深證指數)

一、內容簡介

股市指數作為衡量股市整體表現的重要工具,不僅反映了市場的即時狀態,也提供了經濟健康狀況的關鍵信號。在全球經濟體系中,股市指數被廣泛用于預測經濟活動,評估投資環境,以及制定財政和貨幣政策。在中國,深證指數作為深圳證券交易所的主要指數之一,它包含了深市的所有上市公司,因此能夠全面地反映中國改革開放后經濟發展的成果以及區域經濟的活躍度。通過分析深證指數,可以得到中國經濟特別是南方經濟的宏觀走向,這對投資者和政策制定者而言具有重要意義。

本項目采用了2022年的深證指數數據,主要目的是通過數據分析工具對該數據集進行深入分析和可視化。

二、問題討論

數據清洗與預處理

數據加載:首先,使用Pandas的read_csv函數加載CSV格式的數據文件。

日期格式轉換:將trade_date列中的日期字符串轉換為Pandas的datetime對象,這是時間序列分析的重要步驟,因為它允許使用日期作為索引進行高效操作。

缺失值處理:檢查數據中是否存在缺失值,如果存在,使用前向填充法(ffill)。這種方法假設數據的連續性,即前一個時間點的觀察可以代替缺失值。

讀取數據

數據和代碼

報告代碼數據

# 加載數據
file_path = 'sz_index_2022.csv'  
if os.path.exists(file_path):df = pd.read_csv(file_path)
else:sys.exit("File not found.")  

?

描述性統計分析

這些描述性統計結果展示了242個觀測值的金融指標總結。具體來說,收盤價的平均值為11988.456368,標準差為1004.135569,最低值為10206.638500,最高值為14791.313600。開盤價的平均值為11994.138000,標準差為1023.500263,最低值為10090.983800,最高值為14935.227700。

接下來進行可視化

plt.figure(figsize=(10, 5))
plt.plot(df.index, df['close'], label='Closing Price')  # 繪制收盤價折線圖
plt.title('Shenzhen Index 2022 Closing Prices')  # 設置標題
plt.xlabel('Date')  # 設置X軸標簽
plt.ylabel('Closing Price')  # 設置Y軸標簽
plt.legend()
plt.show()

這個圖表展示了2022年深圳指數的收盤價走勢。從圖中可以看出,整個2022年深圳指數經歷了較大的波動:年初至3月,指數從約15000點大幅下跌至約12000點,顯示出市場在這一段時間內表現較為疲軟。

plt.figure(figsize=(10, 5))
plt.boxplot([df['open'], df['high'], df['low'], df['close']], labels=['Open', 'High', 'Low', 'Close'])  # 繪制箱線圖
plt.title('Box Plot of Opening, Highest, Lowest, and Closing Prices')  # 設置標題
plt.show()

?

這個箱線圖展示了2022年深圳指數的開盤價、最高價、最低價和收盤價的分布情況。從圖中可以看出,開盤價(Open),中位數接近12000點,數據分布較為對稱,范圍從約10000點到14900點。上方存在一些離群值,表示有幾天的開盤價異常高。。。

條形圖用于展示不同類別數據的比較。我們繪制了開盤價、最高價、最低價和收盤價的平均值條形圖。

avg_prices = [summary_stats[col]['mean'] for col in ['open', 'high', 'low', 'close']]
plt.figure(figsize=(10, 5))
plt.bar(['Open', 'High', 'Low', 'Close'], avg_prices, color=['blue', 'green', 'red', 'orange'])  # 繪制條形圖
plt.title('Average Prices')  # 設置標題
plt.xlabel('Price Type')  # 設置X軸標簽
plt.ylabel('Average Price')  # 設置Y軸標簽
plt.show()

這個條形圖展示了開盤價、最高價、最低價和收盤價的平均值。每個價格類型都用不同顏色的條形表示:開盤價(Open)平均開盤價接近12000點。說明市場在開盤時的價格大致穩定在這一水平。?

直方圖展示了數據的分布情況。我們繪制了2022年深圳指數收盤價的直方圖。

這個直方圖展示了2022年深圳指數收盤價的分布情況。收盤價主要集中在11000點到13000點之間。在11000點到12000點之間的頻率最高,顯示出這一范圍內的收盤價出現次數最多。

餅圖用于展示各部分占總體的比例。我們繪制了2022年每個季度交易量占全年總交易量的比例。

df['quarter'] = df.index.quarter
volume_by_quarter = df.groupby('quarter')['vol'].sum()  # 計算每季度總成交量
plt.figure(figsize=(10, 5))
plt.pie(volume_by_quarter, labels=['Q1', 'Q2', 'Q3', 'Q4'], autopct='%1.1f%%',colors=['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'])  # 繪制餅圖
plt.title('Proportion of Total Trading Volume by Quarter')  # 設置標題
plt.show()

其中第一季度占比為25.1%,是全年交易量最高的季度。這一比例表明第一季度的市場交易活動較為活躍。第二季度占比為24.8%,略低于第一季度。這一比例顯示第二季度的交易量與第一季度相當,市場活躍度持續。。。?

接下來計算相關矩陣?繪制散點圖

# 計算相關矩陣
correlation_matrix = df[['open', 'high', 'low', 'close', 'vol', 'amount']].corr()
print("Correlation matrix:\n", correlation_matrix)# 繪制散點圖
plt.figure(figsize=(12, 8))
for i, predictor in enumerate(['open', 'high', 'low', 'vol', 'amount']):plt.subplot(2, 3, i + 1)plt.scatter(df[predictor], df['close'], alpha=0.5)plt.xlabel(predictor)plt.ylabel('Close')
plt.tight_layout()
plt.show()

從圖中可以看到,收盤價與開盤價、最高價、最低價之間有很強的線性關系,點幾乎沿對角線分布。這表明這些特征之間有高度相關性。而收盤價與交易量和交易金額之間的相關性較低,點的分布較為分散。

?接下來線性回歸分析

多元線性回歸:建立以開盤價、最高價和最低價為自變量,收盤價為因變量的回歸模型。計算并報告每個變量的系數,評估模型的效力和各變量的影響力。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
predictors = ['open', 'high', 'low', 'vol', 'amount']
X = df[predictors].values
y = df['close'].values
# 增加一個截距列
X = np.column_stack((np.ones(X.shape[0]), X))# 計算回歸系數 (beta)
# beta = (X^T * X)^-1 * X^T * y
X_transpose = X.T
beta = np.linalg.inv(X_transpose @ X) @ X_transpose @ y# 計算預測值
y_pred = X @ beta

圖中紅色虛線(擬合收盤價)與藍色實線(實際收盤價)基本重合,這表明模型對收盤價的預測非常準確。在大多數時間段內,擬合值與實際值的波動趨勢基本一致。

三、結論

通過對2022年深證指數數據的綜合分析,我們得出了以下主要結論:

在數據清洗與預處理方面,我們對數據進行了日期格式轉換和缺失值處理,確保了分析的準確性和數據的連續性。這些步驟為后續的時間序列分析和可視化提供了可靠的基礎。在描述性統計分析方面,通過計算開盤價、最高價、最低價和收盤價等主要金融指標的平均值、標準差、最大值和最小值,我們對市場的波動情況和價格分布有了基本了解。。。。?

創作不易,希望大家多點贊關注評論!!!(類似代碼或報告定制可以私信)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38072.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IEEE JSTSP綜述:從信號處理領域分析視觸覺傳感器的研究

觸覺傳感器是機器人系統的重要組成部分,雖然與視覺相比觸覺具有較小的感知面積,但卻可以提供機器人與物體交互過程中更加真實的物理信息。 視覺觸覺傳感是一種分辨率高、成本低的觸覺感知技術,被廣泛應用于分類、抓取、操作等領域中。近期&a…

R-CNN和YOLO的各自優缺點

R-CNN(包括其改進版本如Faster R-CNN和Mask R-CNN)與YOLO(You Only Look Once)是兩種常用的物體檢測算法,它們各自有不同的優缺點,適用于不同的應用場景和需求。 R-CNN 系列 優點: 高精度&am…

如何跑起來一個前后端項目

后端部署 第一步配置自己的maven 第二步優先導入自己本地jar包當本地沒有在從遠程下載 第三步找到配置文件 第四步成功運行后端部署完畢 前端部署 第一步看看項目node_modules有沒有文件如果有就是已經安裝好了對應的依賴,沒有執行npm install 第二步運行即可

決策樹劃分屬性依據

劃分依據 基尼系數基尼系數的應用信息熵信息增益信息增益的使用信息增益準則的局限性 最近在學習項目的時候經常用到隨機森林,所以對決策樹進行探索學習。 基尼系數 基尼系數用來判斷不確定性或不純度,數值范圍在0~0.5之間,數值越低&#x…

【知識學習】Unity3D中Scriptable Render Pipeline的概念及使用方法示例

Unity3D中的Scriptable Render Pipeline(SRP)是一種高度可定制的渲染管線框架,允許開發者完全控制渲染流程,以適應不同的渲染需求和硬件平臺。SRP使得開發者可以編寫自己的渲染邏輯,包括攝像機管理、渲染設置、光照處理…

【機器學習】K-means++: 一種改進的聚類算法詳解

🌈個人主頁: 鑫寶Code 🔥熱門專欄: 閑話雜談| 炫酷HTML | JavaScript基礎 ?💫個人格言: "如無必要,勿增實體" 文章目錄 K-means: 一種改進的聚類算法詳解引言1. K-means算法回顧1.1 基本概念1.2 局限性…

Java的多彩之旅

Java的多彩之旅,確實是一場技術與創新的盛宴。下面,我們將探索它如何在不同領域展現其魅力和功能,從基礎到前沿,一步步揭開Java的神秘面紗。 基礎開發:清新之源 Java的基礎語法簡潔而嚴謹,是學習之旅的起…

Mongodb的體系結構,語法,底層原理,怎么開發使用,使用場景有哪些?

MongoDB 教材 MongoDB 是一個開源的 NoSQL 數據庫,以其高性能、高可用性和自動擴展性廣受歡迎。本文將詳細介紹 MongoDB 的體系結構、語法、底層原理、開發使用方法及常見使用場景。 目錄 MongoDB 簡介MongoDB 體系結構MongoDB 語法 基本操作高級查詢聚合操作 底…

RDMA建鏈的3次握手和斷鏈的4次揮手流程?

文章目錄 基礎信息建鏈 3次握手斷鏈4次揮手建聯狀態active端passive端 報文結構函數關系其他后記 基礎信息 CM: Communication Management 通信管理 連接管理SIDR: Service ID Resolution Protocol. 作用: enables users of Unreliable Datagram service to locate …

實驗4 圖像空間濾波

1. 實驗目的 ①掌握圖像空間濾波的主要原理與方法; ②掌握圖像邊緣提取的主要原理和方法; ③了解空間濾波在圖像處理和機器學習中的應用。 2. 實驗內容 ①調用 Matlab / Python OpenCV中的函數,實現均值濾波、高斯濾波、中值濾波等。 ②調…

【操作系統期末速成】 EP02 | 學習筆記(基于五道口一只鴨)

文章目錄 一、前言🚀🚀🚀二、正文:??????2.1 考點二:操作系統的功能及接口2.2 考點三:操作系統的發展及分類2.3 考點四:操作系統的運行環境(重要) 一、前言&#x…

從零開始三天學會微信小程序開發(三)

看到不少入門的小程序開發者不斷的問重復性的問題,我們從實戰角度開發了這個課程,希望能夠幫助大家了解小程序開發。 課程分三天: 第一天:微信小程序開發入門第二天:給小程序接入云端數據第三天:完善我的…

MySQL高級-MVCC- readview介紹

文章目錄 1、介紹2、ReadView中包含了四個核心字段:3、版本鏈數據的訪問規則:4、不同的隔離級別,生成ReadView的時機不同: 1、介紹 ReadView(讀視圖)是 快照讀 SQL執行時MVCC提取數據的依據,記錄…

【計算機組成原理實驗】——運算器組成實驗

計組TEC4實驗——運算器組成實驗 1. 實驗目的 (1)掌握算術邏輯運算加、減、乘、與的工作原理。 (2) 熟悉簡單運算器的數據傳送通路。 (3) 驗證實驗臺運算器的8位加、減、與、直通功能。 (4) 驗證實驗臺的4位乘4位功能。 (5) 按給定數據,完成幾種指…

SerDes介紹以及原語使用介紹(4)ISERDESE2原語仿真

文章目錄 前言一、iserdese2_module模塊二、oserdese2_module模塊三、頂層模塊四、仿真結果分析 前言 上文詳細介紹了ISERDESE2原語的使用,本文根據仿真對ISERDESE2原語的使用進一步加深印象。在仿真時,與OSERDESE進行回環。 一、iserdese2_module模塊…

昇思MindSpore學習筆記4--數據集 Dataset

昇思MindSpore學習筆記4--數據集 Dataset 摘要: 昇思MindSpore數據集Dataset的加載、數據集常見操作和自定義數據集方法。 一、數據集 Dataset概念 MindSpore數據引擎基于Pipeline 數據預處理相關模塊: 數據集Dataset加載原始數據,支持文本…

移動端H5應用,使用了postcss-px-to-viewport插件,750設計稿兼容Vant框架

目前在搞一個移動端的H5項目,使用的是Vue3Vant框架。設計稿是750的,而且使用了postcss-px-to-viewport。所以發現使用Vant框架的時候,發現有點問題,好像縮小了,后來百度了一下,是需要設置portcss.config.js…

vue components

vue components intro 組件是帶有名稱的可復用實例。 因為組件是可復用的組件實例,所以它們與根實例接收相同的選項,例如 data、computed、watch、methods 以及生命周期鉤子等。 組成 props: 組件的attributes,可以傳任意類型…

大創項目推薦 題目:基于機器視覺的圖像矯正 (以車牌識別為例) - 圖像畸變校正

文章目錄 0 簡介1 思路簡介1.1 車牌定位1.2 畸變校正 2 代碼實現2.1 車牌定位2.1.1 通過顏色特征選定可疑區域2.1.2 尋找車牌外圍輪廓2.1.3 車牌區域定位 2.2 畸變校正2.2.1 畸變后車牌頂點定位2.2.2 校正 7 最后 0 簡介 🔥 優質競賽項目系列,今天要分享…

題目的起名

整個經濟社會描繪為無數個交織的方程組。機場航班的起降時間、物流的路徑規劃、金屬冶煉的原料配比、工廠店鋪的選址……”而這些方程組的價值在于,“為了實現經濟學最簡單而又最權威的目標——對稀缺資源進行最佳利用,必須快速求出這些方程組的最優解。…