当前位置: 首页 > news >正文

成武建设局网站产品设计平台

成武建设局网站,产品设计平台,荣茂网站建设,政协网站建设代码#xff1a; Github#xff1a;Python实现股票数据可视化代码https://github.com/magolan2000/Data-visualization/tree/master 软件环境#xff1a;PyCharm 2022.3.1 数据来源#xff1a;akshare 最近DeepSeek可谓是热度不断#xff0c;因此想评判一下DeepSeek的编程… 代码 GithubPython实现股票数据可视化代码https://github.com/magolan2000/Data-visualization/tree/master 软件环境PyCharm 2022.3.1 数据来源akshare 最近DeepSeek可谓是热度不断因此想评判一下DeepSeek的编程能力到底如何。虽然最近DeepSeek的服务器并不是很稳定大概每问2至3次就会显示服务器繁忙不过显示内容的数量和质量还是非常不错的。 与GPT4进行比较的话同样的问题GPT4可能会出现偷懒的情况例如生成的代码大概率只生成一个代码的大致框架如果不详细提问就不会生成完整的代码。即使最近几天ChatGPT也同样加入了类似于DeepSeek的深度思考R1与联网搜索功能但是其效果还是欠佳而且ChatGPT的推理过程即使你用中文提问但推理过程还是显示用英文在思考。 ChatGPT暂时的优势就是有大量的插件和优秀简约的界面例如生成长代码时会自动进入画布模式可以在画布模式中修改运行代码是一个小型简约的编辑器方便将完全优化好后的代码导入至其他编辑器运行避免利用AI修改优化代码时需要反复在浏览器和编辑器之间跳转。 DeepSeek就不过多介绍了它的蓝紫色小鲸鱼图标与Docker图标还蛮像的下面展示一下生成的股票数据可视化后的代码与结果。 一、股票数据可视化 1.1代码 Python实现股票数据可视化代码——数据.pyhttps://download.csdn.net/download/m0_53095310/90339747        下面给出股票数据可视化的部分代码 # -*- coding: utf-8 -*- import os import pandas as pd import akshare as ak from datetime import datetime import logging from concurrent.futures import ThreadPoolExecutor, as_completed import matplotlib.pyplot as plt import matplotlib.font_manager as fm# 用户配置部分 # A股股票代码列表示例贵州茅台、宁德时代 a_stock_symbols [600519, 300750,601899] # 支持数字或带后缀的代码如600519.SH# 时间范围 start_date 2020-01-01 end_date datetime.now().strftime(%Y-%m-%d)# 数据保存路径 save_dir ./stock_data # 数据存储主目录 a_stock_dir os.path.join(save_dir, A股数据) # A股数据子目录 plot_dir os.path.join(save_dir, 可视化图表) # 可视化图表目录# 创建目录如果不存在 os.makedirs(a_stock_dir, exist_okTrue) os.makedirs(plot_dir, exist_okTrue)# 配置日志 logging.basicConfig(levellogging.INFO,format%(asctime)s - %(levelname)s - %(message)s,handlers[logging.FileHandler(os.path.join(save_dir, stock_data.log)), # 日志文件logging.StreamHandler() # 控制台输出] )# 设置中文字体 try:# Windows 系统使用黑体plt.rcParams[font.sans-serif] [SimHei]# macOS 或 Linux 系统使用 Arial Unicode MS 或文泉驿字体# plt.rcParams[font.sans-serif] [Arial Unicode MS] # macOS# plt.rcParams[font.sans-serif] [WenQuanYi Zen Hei] # Linuxplt.rcParams[axes.unicode_minus] False # 解决负号显示问题 except Exception as e:logging.error(f字体设置失败: {e})# def fetch_a_stock_data(symbol, retries3):通过AKShare获取单只A股数据后复权for attempt in range(retries):try:# 去掉股票代码的后缀如 .SH 或 .SZsymbol_clean symbol.split(.)[0]# 获取数据df ak.stock_zh_a_hist(symbolsymbol_clean, perioddaily, adjusthfq)if df.empty:logging.warning(f[A股] 数据为空{symbol_clean})return None# 重命名列df.rename(columns{日期: Date,开盘: Open,收盘: Close,最高: High,最低: Low,成交量: Volume}, inplaceTrue)# 转换日期格式并设置为索引df[Date] pd.to_datetime(df[Date])df.set_index(Date, inplaceTrue)logging.info(f[A股] 数据获取成功{symbol_clean})return dfexcept Exception as e:if attempt retries - 1:logging.warning(f[A股] 数据获取失败{symbol_clean}第 {attempt 1} 次重试...)else:logging.error(f[A股] 数据获取失败{symbol_clean}: {e})return Nonedef clean_data(df):数据清洗处理缺失值和异常值if df is None or df.empty:return None# 1. 删除完全缺失的行df_clean df.dropna(howall)# 2. 处理零成交量视为停牌/无效数据df_clean df_clean[df_clean[Volume] 0]# 3. 处理价格异常值如价格0或单日涨跌幅超过50%price_columns [Open, High, Low, Close]for col in price_columns:df_clean df_clean[df_clean[col] 0] # 删除价格为负或零的异常记录# 检查清洗后的数据是否为空if df_clean.empty:logging.warning(数据清洗后为空可能全部为异常值)return Nonereturn df_cleandef save_to_csv(df, symbol):保存清洗后的数据到CSV文件if df is None or df.empty:logging.warning(f无有效数据可保存{symbol})return# 保存路径save_path os.path.join(a_stock_dir, f{symbol}.csv)df.to_csv(save_path, encodingutf-8-sig) # 兼容中文路径logging.info(f数据已保存至{save_path}) 1.2数据可视化 1.3分析 该代码的主要功能是通过akshare库获取A股股票的历史数据进行数据清洗、保存和可视化。 函数解释 函数解释fetch_a_stock_data获取单只股票的历史数据clean_data清洗数据处理缺失值和异常值save_to_csv将清洗后的数据保存为CSV文件plot_stock_data绘制股票价格走势图并保存为PNG文件process_single_stock处理单只股票的完整流程获取、清洗、保存、可视化batch_process_a_stocks批量处理所有股票代码使用多线程 二、功能丰富的静态行情图 2.1代码 除了收盘价以外行情图添加了5日均线、10日均线和20日均线包括不同时间段的成交量数据下面给出股票行情数据可视化的部分代码 # def fetch_a_stock_data(symbol, retries3):通过AKShare获取单只A股数据后复权for attempt in range(retries):try:# 去掉股票代码的后缀如 .SH 或 .SZsymbol_clean symbol.split(.)[0]# 获取数据df ak.stock_zh_a_hist(symbolsymbol_clean, perioddaily, adjusthfq)if df.empty:logging.warning(f[A股] 数据为空{symbol_clean})return None# 重命名列df.rename(columns{日期: Date,开盘: Open,收盘: Close,最高: High,最低: Low,成交量: Volume}, inplaceTrue)# 转换日期格式并设置为索引df[Date] pd.to_datetime(df[Date])df.set_index(Date, inplaceTrue)logging.info(f[A股] 数据获取成功{symbol_clean})return dfexcept Exception as e:if attempt retries - 1:logging.warning(f[A股] 数据获取失败{symbol_clean}第 {attempt 1} 次重试...)else:logging.error(f[A股] 数据获取失败{symbol_clean}: {e})return Nonedef clean_data(df):数据清洗处理缺失值和异常值if df is None or df.empty:return None# 1. 删除完全缺失的行df_clean df.dropna(howall)# 2. 处理零成交量视为停牌/无效数据df_clean df_clean[df_clean[Volume] 0]# 3. 处理价格异常值如价格0或单日涨跌幅超过50%price_columns [Open, High, Low, Close]for col in price_columns:df_clean df_clean[df_clean[col] 0] # 删除价格为负或零的异常记录# 检查清洗后的数据是否为空if df_clean.empty:logging.warning(数据清洗后为空可能全部为异常值)return Nonereturn df_cleandef save_to_csv(df, symbol):保存清洗后的数据到CSV文件if df is None or df.empty:logging.warning(f无有效数据可保存{symbol})return# 保存路径save_path os.path.join(a_stock_dir, f{symbol}.csv)df.to_csv(save_path, encodingutf-8-sig) # 兼容中文路径logging.info(f数据已保存至{save_path})def plot_stock_data(df, symbol):专业级股票行情走势图if df is None or df.empty:logging.warning(f无有效数据可绘制{symbol})return 2.2数据可视化 2.3分析 调用batch_process_a_stocks()函数批量处理用户配置的A股股票数据。处理完成后记录日志信息。 三、具有可交互界面的行情图 3.1代码 # 布局设计 app.layout html.Div([html.Div([html.H1(专业级股票分析系统, style{color: white}),html.Div([dcc.Input(idstock-input,typetext,value600519,placeholder输入股票代码,style{width: 150px, margin-right: 10px}),dcc.DatePickerRange(iddate-picker,min_date_alloweddatetime(2010, 1, 1),max_date_alloweddatetime.today(),start_datedatetime.today() - timedelta(days365),end_datedatetime.today(),display_formatYYYY-MM-DD),dcc.Dropdown(idindicator-selector,options[{label: MACD, value: MACD},{label: RSI, value: RSI},{label: 布林线, value: BOLL},],value[MACD],multiTrue,style{width: 300px, margin-left: 10px})], style{padding: 20px, backgroundColor: #1a1a1a})]),dcc.Loading(idloading,typecircle,children[dcc.Graph(idmain-chart, style{height: 600px}),dcc.Interval(idinterval-component, interval60 * 1000, n_intervals0)]) ], style{backgroundColor: #1a1a1a, height: 100vh}) 3.2数据可视化 可交互界面设计的不错颜色搭配效果很好不仅添加了时间区间设置功能还可以任意选择股票代码查看股票行情的历史数据鼠标移动至折线图上会有详细的数据展示。
http://www.w-s-a.com/news/174541/

相关文章:

  • 微小店网站建设平台手机优化加速有什么用
  • 沈阳酒店企业网站制作公司竞价网站怎么做seo
  • 中山企业网站多少钱学网站建设的好处
  • 做官网网站哪家公司好jianux wordpress
  • 插件素材网站新站seo优化快速上排名
  • 网站注销主体填写原因asp响应式h5网站源码下载
  • 电商类网站模板下载济南市建设网官网
  • 万户网络做网站如何采集器wordpress
  • 襄阳网站建设企业查看 wordpress 插件
  • 网站地址申请京东联盟怎么做网站
  • 三亚市城乡建设局网站网站口碑营销
  • 图书租借网站 开发企业网站搜索优化外
  • 新乡个人网站建设哪家好免费的图片做视频在线观看网站
  • 洛阳工程建设信息网站山西响应式网页建设哪里好
  • 企业网站建设市场的另一面wordpress分类插件
  • 网站建设名头公司展厅装修
  • 小型购物网站开发费用郑州企业网站模板建站
  • 个体商户建自己的网站做销售建设积分兑换官方网站
  • 网站建设与维护培训网页制作专业用语
  • 建站特别慢wordpress网页制作与设计项目策划书
  • 视频制作素材免费网站头像制作在线生成器
  • 网站建设是不是可以免费建站广州做网站 信科网络
  • 闸北区网站设计叫别人做网站后怎么更改密码
  • 为什么想做网站运营建设工程教育网站
  • 站长基地百度推广整体优化网站
  • 门窗 东莞网站建设wordpress外链论坛
  • 安徽省建设部网站官网还能用的wap网站
  • 企业网站设计开发网站关键词优化seo
  • 郑州高档网站建设台州网站建设推广
  • 广东省建设信息港网站WordPress手机缩略图设置