概述

本文将介绍如何使用Python的AKShare库获取工商银行股票历史数据,并计算日收益率,最终将处理好的数据保存为CSV文件。

环境准备

确保已安装以下Python库

pip install akshare pandas

获取数据

这里以工行(601398)为例

df_stock = ak.fund_etf_hist_sina(symbol="sh601398")

确保日期列为日期格式,并设为索引

df['date'] = pd.to_datetime(df['date'])
df.set_index('date', inplace=True)

以股票数据的日期为基准创建DataFrame,计算收盘价的日百分比变化

returns = pd.DataFrame({
    '收益率': df['close'].pct_change()
}).dropna()

保存数据到csv文件

returns.to_csv('工行收益率.csv', encoding='utf-8-sig')

完整代码

import akshare as ak
import pandas as pd

# 获取工商银行股票数据
df = ak.fund_etf_hist_sina(symbol="sh601398")

# 数据处理
df['date'] = pd.to_datetime(df['date'])
df.set_index('date', inplace=True)

# 创建收益率DataFrame
returns = pd.DataFrame({
    '收益率': df['close'].pct_change()
}).dropna()

# 输出结果
print(f"收益率数据概览:")
print(returns.head())
print(f"\n数据时间范围: {returns.index.min()} 至 {returns.index.max()}")
print(f"总交易日数: {len(returns)}")

# 保存数据
returns.to_csv('工行收益率.csv', encoding='utf-8-sig')

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐