首页 > 其他分享 >指数优化备份1

指数优化备份1

时间:2024-12-23 16:52:19浏览次数:3  
标签:index 指数 df 备份 symbol date 优化 ak stock

import akshare as ak
import pandas as pd
start_date='2024/12/01'
end_date='2024/12/20'
# 获取000300的历史行情数据
df_000300 = ak.index_zh_a_hist(symbol="000300")

# 获取sh000852的历史行情数据
df_sh000852 = ak.stock_zh_index_daily(symbol="sh000852")
# 获取HSI的历史行情数据
df_HSI= ak.stock_hk_index_daily_sina(symbol="HSI")
# 获取IXIC的历史行情数据
df_IXIC = ak.index_us_stock_sina(symbol=".IXIC")
df_Au = ak.spot_hist_sge(symbol='Au99.99')
df_300etf = ak.stock_zh_index_daily_em(symbol="sh510300")
df_1000etf = ak.stock_zh_index_daily_em(symbol="sh512100")
df_hz = ak.stock_zh_index_daily_em(symbol="sh513600")
# 获取黄金指数的历史行情数据
df_goldetf = ak.stock_zh_index_daily_em(symbol="sz159834")
# 获取国债指数的历史行情数据
df_bondetf = ak.stock_zh_index_daily_em(symbol="sh511100")
# 获取纳指指数的历史行情数据
df_nzetf = ak.stock_zh_index_daily_em(symbol="sz159509")
# 将日期列转换为日期时间类型
dataframes = [df_000300, df_sh000852, df_HSI, df_IXIC, df_Au, df_300etf, df_1000etf, df_hz, df_goldetf, df_bondetf, df_nzetf]
 
# 遍历列表中的每个数据框,将名为'date'或'日期'的列转换为日期时间类型
for df in dataframes:
    date_column_name = 'date' if 'date' in df.columns else '日期'
    df[date_column_name] = pd.to_datetime(df[date_column_name])
date_column_names = ['date' if 'date' in df.columns else '日期' for df in dataframes]
# 筛选出指定日期范围内的数据
dfs = {
    'df_sh000852': df_sh000852,
    'df_000300': df_000300,
    'df_HSI': df_HSI,
    'df_IXIC': df_IXIC,
    'df_Au': df_Au,
    'df_300etf': df_300etf,
    'df_1000etf': df_1000etf,
    'df_hz': df_hz,
    'df_goldetf': df_goldetf,
    'df_bondetf': df_bondetf,
    'df_nzetf': df_nzetf
}

# 遍历字典中的所有DataFrame,并应用日期过滤
for name, df in dfs.items():
    # 根据DataFrame中的日期列名称来选择正确的列
    date_column = 'date' if 'date' in df.columns else '日期'
    # 应用日期过滤
    dfs[name] = df[(df[date_column] >= start_date) & (df[date_column] <= end_date)]
df_000300 = dfs['df_000300'][['日期', '收盘', '最高', '最低', '成交量']].rename(columns={
    '日期': 'date',
    '收盘': '000300_close',
    '最高': '000300_high',
    '最低': '000300_low',
    '成交量': '000300_volume'
})
 
df_sh000852 = df_sh000852[['date', 'close', 'high', 'low', 'volume']].rename(columns={
    'close': 'sh000852_close',
    'high': 'sh000852_high',
    'low': 'sh000852_low',
    'volume': 'sh000852_volume'
})
 
df_HSI = df_HSI[['date', 'close', 'high', 'low', 'volume']].rename(columns={
    'close': 'HSI_close',
    'high': 'HSI_high',
    'low': 'HSI_low',
    'volume': 'HSI_volume'
})
 
df_IXIC = df_IXIC[['date', 'close', 'high', 'low', 'volume']].rename(columns={
    'close': 'IXIC_close',
    'high': 'IXIC_high',
    'low': 'IXIC_low',
    'volume': 'IXIC_volume'
})
 
df_Au = df_Au[['date', 'close', 'high', 'low']].rename(columns={
    'close': 'Au_close',
    'high': 'Au_high',
    'low': 'Au_low'
})
 
df_300etf = df_300etf[['date','close']].rename(columns={
    'close': '300etf_close'})
 
df_1000etf = df_1000etf[['date','close']].rename(columns={
    'close': '1000etf_close'})
 
df_hz = df_hz[['date','close']].rename(columns={
    'close': 'hz_close'})
df_goldetf = df_goldetf[['date','close']].rename(columns={
    'close': 'goldetf_close'})
df_bondetf = df_bondetf[['date','close']].rename(columns={
    'close': 'bondetf_close'})
df_nzetf = df_nzetf[['date','close']].rename(columns={
    'close': 'nzetf_close'})
 
# Merge the two DataFrames on the 'date' column
for n,i in enumerate([df_000300, df_sh000852, df_HSI,df_IXIC,df_Au,df_300etf,df_1000etf,df_hz,df_goldetf,df_bondetf,df_nzetf]):
    if n == 0:
        result = i
    else:
        result = pd.merge(result, i, on='date', how='inner')
 
# Display the merged DataFrame
result

  

标签:index,指数,df,备份,symbol,date,优化,ak,stock
From: https://www.cnblogs.com/leon507/p/18624493

相关文章

  • 从复盘到优化,电商团队如何破局?
    敏捷的复盘文化是现代电商团队提升竞争力的关键。无论是小型活动还是全年大促,复盘不仅是发现问题的工具,更是团队内部持续进化的核心能力。在线文档编辑与协同工具的应用,为电商团队在这一过程中提供了新的解决方案。电商复盘文化为何重要?1.数据驱动决策:活动过程中会产生大量数据......
  • JavaScript开发中常见问题代码和相关优化Demo参考2.0
    11. 默认参数与解构赋值的误用问题代码:functioncreateUser({name='Guest',age}){return{name,age};}console.log(createUser());//抛出错误解决方案:确保为函数参数提供默认对象。functioncreateUser({name='Guest',age}={}){return{nam......
  • Dijkstra单源最短路堆优化算法
    Dijkstra单源最短路堆优化算法使用基于堆的优先队列,我们可以在进行松弛操作前对找边进行优化操作时间复杂度为\(O(m\logm)\),其中\(m\)为边的数量,优先队列找边的时间复杂度为\(O(\logm)\)优先队列默认为一个大根堆,即堆顶的元素的优先级最高,体现在某个变量的值上每次从队......
  • 网站结构优化:提升用户体验与搜索引擎排名的关键策略
    在当今数字化时代,网站不仅是企业展示形象和服务的重要窗口,更是与用户进行互动和交易的核心平台。一个结构清晰、易于导航的网站不仅能够提升用户体验,还能显著提高搜索引擎的排名,从而吸引更多的流量和潜在客户。本文将深入探讨网站结构优化的重要性、基本原则以及具体策略,旨在......
  • 问答网站地图优化:提升用户体验与搜索引擎效率的艺术
    在当今信息爆炸的时代,问答网站作为用户获取知识和解答疑问的重要平台,其内容的组织与呈现方式对于提升用户体验和搜索引擎效率至关重要。网站地图作为网站的导航蓝图,不仅帮助用户快速定位所需信息,还是搜索引擎理解和索引网站内容的关键工具。本文将深入探讨问答网站地图的优化......
  • GEE 案例:利用MODIS数据和大津法对NDWI指数进行阈值提取分析
    目录简介数据大津法代码简介利用MODIS数据和大津法对NDWI指数进行阈值提取分析数据MODIS/061/MOD09A1数据是由美国国家航空航天局(NASA)的MODIS(ModerateResolutionImagingSpectroradiometer)卫星获取的地表反射率数据。这些数据记录了每个像元的红、近红外和短波红......
  • 优化建图相关技术
    参考tzc_wk的博客前缀优化建图适用形式:从\(x\)向\([1,i]\)连边。从\(x\)向\([i,n]\)连边。从\([1,x]\)向\([y,n]\)连边。考虑建\(n\)个虚点\(s_i\)和\(n\)个虚点\(p_i\)。\(s_i\)代表\([1,i]\)的前缀,\(p_i\)代表\([i,n]\)的后缀。我们连边\(i\tos_i\),\(s_i\tos_{......
  • Java与容器化:如何使用Docker和Kubernetes优化Java应用的部署
    在现代软件开发中,容器化技术已成为提升应用部署和管理效率的关键工具。Java应用由于其庞大的依赖性和较大的体积,常常在传统环境下部署存在挑战。幸运的是,Docker和Kubernetes的出现为Java应用的开发、部署和管理带来了极大的便利。本文将介绍如何通过Docker和Kubernetes优化Java......
  • 反馈处理慢如蜗牛?优化流程的方法看这里
    在电商领域,客户反馈的及时处理直接影响着复购率和品牌声誉。然而,很多团队都面临着反馈跟进流程混乱的问题:反馈记录杂乱无章,处理状态不透明,甚至责任人不明确。这种混乱不仅拖慢了问题解决的速度,还严重影响了客户的信任感。如何打破这一局面?答案就在于团队文档管理的规范化。团队文......
  • 陪玩系统原生APP开发陪玩系统APP功能实现陪玩系统APP性能优化陪玩系统微信小程序开发
    陪玩系统原生APP开发陪玩系统原生APP开发指的是针对Android和iOS两种操作系统,分别采用其对应的原生开发语言进行应用的开发。Android系统开发:采用Java语言进行开发。原生开发方式能够更方便地调用移动端的硬件设备,如摄像头、麦克风等,从而为用户提供更为丰富和流畅的功能体验......