指数优化备份1

news/2024/12/23 16:53:00/文章来源:https://www.cnblogs.com/leon507/p/18624493
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 = ielse:result = pd.merge(result, i, on='date', how='inner')# Display the merged DataFrame
result

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/857525.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

洞察质量保障:14款测试用例管理工具深度评测,助力软件质量提升

在当今数字化时代,软件的质量关乎着企业的成败。而测试用例管理工具作为保障软件质量的重要利器,其选择的正确与否直接影响到测试工作的效率与效果。在众多的测试用例管理工具中,究竟哪一款才最适合您的项目呢?本文将深入评测 14 款测试用例管理工具,为您在提升软件质量的…

如何选择适合您需求的采集卡

选择采集卡时,需要考虑以下四个因素:1. 内置和外置采集卡选择对于普通的带货直播间来说,外置采集卡就够了。对于一些产品促销或者大型活动直播,可以优先考虑这种更稳定的内置采集卡。如果是做多机位直播,又想省下直播台的钱,可以考虑多路内置采集卡,可以多机位切换。 2.…

X00012-轴承数据集故障诊断的仿真平台完整实现

https://item.taobao.com/item.htm?ft=t&id=725232092864&spm=a21dvs.23580594.0.0.275c2c1bZoUNhN

SM5604勾选的主键和实际主键可能不一致

这是一个bug,看到勾选中是第一行,实际对应的主键可能是第2行。所见不是所得。 勾选的主键与实际的主键不一样。如果不一样,就要把实际的主键设置成一样。$(#btnSCHC,#btnMXCF).click(function () { var $checked = $("td[colname=MC] input[type=checkbox]:checked&q…

sm5604

这是一个bug,看到勾选中是第一行,实际对应的主键可能是第2行。所见不是所得。 勾选的主键与实际的主键不一样。如果不一样,就要把实际的主键设置成一样。$(#btnSCHC,#btnMXCF).click(function () { var $checked = $("td[colname=MC] input[type=checkbox]:checked&q…

小迪安全-基础入门-Web应用蜜罐系统堡垒机运维API内外接口第三方拓展架构部署影响

Web应用&蜜罐系统&堡垒机运维&API内外接口&第三方拓展架构&部署影响知识点: 1、基础入门-Web应用-蜜罐系统 2、基础入门-Web应用-堡垒机运维 3、基础入门-Web应用-内外API接口 4、基础入门-Web应用-第三方拓展架构 一、演示案例-Web-拓展应用-蜜罐-钓鱼诱…

从规划到执行:10款高效项目计划与任务管理软件,助力团队与个人完美协同

在当今快节奏的工作环境中,无论是大型企业团队还是个人创业者,高效的项目计划与任务管理都成为了取得成功的关键因素。随着科技的不断发展,众多项目管理软件应运而生,它们如同得力助手,帮助我们将复杂的项目从规划逐步推进到完美执行,实现团队成员之间以及个人工作流程中…

免费的10款高效项目管理软件——2024年最新选择指南

随着技术的进步,项目管理工具也在不断演变和改进,为团队提供更高效、更具协作性和更加便捷的管理解决方案。在2024年,有许多免费且高效的项目管理软件值得推荐。本文将介绍十款热门的免费项目管理软件,帮助您找到最适合自身需求的工具。一、引言 在当今的商业环境中,高效的…

项目管理软件大比拼:2024年15款最受欢迎工具详细评测

在数字化时代,有效的项目管理对于任何企业的成功都至关重要。它使组织能够更有效地规划、执行、监控和结束项目。随着技术的发展,各种项目管理工具层出不穷,它们各有特色,能满足不同行业和规模的企业的需求。一、项目管理核心知识点 1.范围管理: 定义项目的范围,确定项目…

2024年项目管理软件大对比——15款最佳工具一网打尽

在当今数字化时代,项目管理的效率和精准度对于企业的成功至关重要。无论是大型企业的复杂项目,还是小型团队的日常任务管理,合适的项目管理软件都能成为提升工作效率、优化资源分配、确保项目按时交付的得力助手。本次我们将深入对比 2024 年的 15 款最佳项目管理工具,包括…

shell自动化部署集群

expect语法1.自动和远程主机建立ssh免密连接#!/bin/bash#sh new_deploy.sh 192.168.30.164 admin 2323 yxh-test #sh new_deploy.sh 192.168.30.164 admin Caosoc@345 yxh-test#1.先接收传递过来的参数 hostip=$1 hostuser=$2 hostpasswd=$3 clusternamespace=$4#2.先和远程机器…