数字经济

最新更新

课程案例:Python语言程序在公司股票价值分析中的应用 ——以寒武纪-688256为例

发布时间:2025-04-14 浏览量:

教学部门:经济管理与法学院                                                   制作人:万有为

课程信息

课程名称

Python商业数据分析

授课对象

本科生

案例课名称

Python商业数据分析

学科大类

工商管理

二级门类

工商管理

专业名称

数字经济

教材信息

Python数据分析案例实战,王浩、袁世琴、张明慧,

人民邮电出版社,2024年6月

教学案例课信息

教学目标

1. 价值目标

1) 培养学生对AI人工智能底层实现的程序代码逻辑结构设计重要性的认识

2) 培养学生深刻理解人工智能时代已经来临,必须应用人工智能来进行学习与工作的基本认知

2. 知识目标

3) 了解Python是目前广泛使用的且相对简单的适合非计算机专业进行编程的面向对象的程序设计语言

4) 熟悉Python的语法结构与程序设计、调试的基本步骤

5) 掌握Tushare、numpy、scipy和matplotlib库函数的基本应用

3. 能力目标

1) 掌握爬虫的基本知识。

2) 能够对获取的数据进行统计学分析并可视化。

教学内容

1.课堂设计思路

本课程设计旨在通过实际操作,让学生理解和掌握Python语言在股票数据分析中的应用。选取寒武纪(股票代码:688256)作为案例,是因为其在人工智能芯片领域具有代表性,且其股价波动反映了市场对高科技企业的预期变化。课程将围绕数据获取、数据处理、数据分析和预测四个环节展开,使学生掌握股票数据分析的基本流程和方法。

2.教学重点

Python语言在数据获取和处理中的应用,特别是使用第三方库(如yfinance、pandas、matplotlib等)。

数据分析方法,包括时间序列分析、趋势分析、相关性分析等。

基于历史数据的股价预测模型,如线性回归、时间序列预测等。

3.教学难点

数据清洗和预处理,尤其是处理缺失值和异常值。

预测模型的构建和验证,确保模型的准确性和可靠性。

将数据分析结果转化为实际的投资决策建议。

4.对教学重点和教学难点的处理

通过示例代码和实际操作演示Python库的使用方法,强化学生的动手能力。

引入数据清洗和预处理的技巧,通过案例分析让学生理解数据质量对分析结果的影响。

通过对比不同预测模型的性能,引导学生理解模型选择的依据和方法。


教学方法

1. 理论讲授与案例分析相结合
通过理论讲授使学生掌握基础知识,结合寒武纪股票案例分析,加深对知识的理解和应用。

2. 实践操作
组织学生进行实际操作,编写Python代码下载和分析股票数据,提升实践能力。

3. 小组讨论
分组讨论数据分析结果和预测模型的选择,促进学生之间的交流和合作。

4. 翻转课堂
提前布置预习任务,让学生自学相关理论知识,课堂上重点讨论和解决疑难问题。

教学过程

1. 应用Python语言下载寒武纪688256股票近一个月股价的程序代码

python复制代码


import yfinance as yf


import pandas as pd




# 下载寒武纪股票数据


ticker = yf.Ticker("688256.SS") # 注意:yfinance可能不支持中国A股,需使用其他API如Tushare


hist = ticker.history(period="1mo")




# 保存数据到CSV文件


hist.to_csv("hanwuji_stock_data.csv")

2. 对获取的股票数据进行作图

python复制代码


import matplotlib.pyplot as plt




# 读取CSV文件


df = pd.read_csv("hanwuji_stock_data.csv")




# 作图


plt.figure(figsize=(10, 5))


plt.plot(df['Date'], df['Close'], label='Close Price')


plt.xlabel('Date')


plt.ylabel('Close Price')


plt.title('Hanwuji Stock Price Over the Past Month')


plt.legend()


plt.show()

3. 对获取的数据进行分析

o 计算移动平均线,分析股价趋势。

o 计算日收益率,分析股价波动性。

o 进行相关性分析,探讨股价与其他经济指标的关系。

4. 应用获取的数据,对下一周的股价进行预测

python复制代码


from sklearn.linear_model import LinearRegression


from sklearn.model_selection import train_test_split


import numpy as np




# 准备数据(以日期为自变量,收盘价为因变量)


df['Date'] = pd.to_datetime(df['Date'])


df['Day'] = (df['Date'] - df['Date'].min()).dt.days


X = df[['Day']].values


y = df['Close'].values




# 划分训练集和测试集


X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False)




# 构建线性回归模型


model = LinearRegression()


model.fit(X_train, y_train)




# 预测下一周的股价(假设一周有5个交易日)


future_days = np.arange(X_test[-1][0] + 1, X_test[-1][0] + 6).reshape(-1, 1)


future_prices = model.predict(future_days)




print("Predicted stock prices for the next week:"

教学评价

· 通过课堂参与度、实践操作表现、小组讨论成果和最终报告等多维度评价学生的学习效果。

· 注重过程性评价,鼓励学生积极参与课堂讨论和实践操作,及时给予反馈和指导。

教学创新

· 结合最新技术和市场热点,选取具有代表性的股票案例进行分析,提升学生的学习兴趣和参与度。

· 引入爬虫技术获取数据并进行股价预测,拓宽学生的视野和技能。

· 采用翻转课堂教学模式,提高学生的学习自主性和课堂互动性。

课程思政的理念与内涵

· 强调诚信和责任,引导学生树立正确的投资理念和风险意识。

· 培养学生的创新意识和实践能力,鼓励学生不断探索和尝试新的方法和技术。

· 结合国家发展战略和市场需求,引导学生关注国家经济发展和科技进步,增强社会责任感和使命感。

专业知识与思政元素的有机

融合

· 在数据分析过程中,引导学生思考数据质量和可靠性对分析结果的影响,培养学生的严谨态度和求真精神。

· 在预测模型构建过程中,引导学生理解模型选择的依据和方法,培养学生的批判性思维和创新能力。

· 结合股市波动和国家政策变化,引导学生分析其对股市的影响,培养学生的宏观视野和社会责任感。