Python量化1:数据获取

您所在的位置:网站首页 所有股票的代码和名称 Python量化1:数据获取

Python量化1:数据获取

2024-07-05 10:42| 来源: 网络整理| 查看: 265

Python量化1:数据获取 介绍

获取A股所有上市公司的代码和名称,以及获取所有股票的当日信息,并对这些信息进行处理和存储,这里将分别介绍几种数据获取方式,

基于AKSHARE获取A股数据 包介绍 akshare:这是一个用于获取金融数据的Python库,提供了上百种数据获取接口,包括股票、基金、期货等金融产品的历史数据和实时数据。在这段代码中,akshare主要用于获取A股上市公司的代码和名称以及股票的当日信息4。pandas:这是一个非常强大的数据处理库,提供了大量用于数据清洗、转换、分析和可视化的功能。在这段代码中,pandas主要用于读取、处理和保存股票数据。os:这是一个用于与操作系统进行交互的库,提供了文件和目录操作等功能。在这段代码中,os库主要用于创建文件夹和检查文件是否存在。datetime 和 pytz:这两个库用于处理日期和时间。在这段代码中,它们主要用于获取当前日期并将其转换为指定的时区(上海时区)。 代码

基于akshare获取数据,然后将其存储到cvs,当然还是推荐直接存储到数据库的毕竟又快又方便整理

import akshare as ak import pandas as pd import os import datetime import pytz # 获取A股所有的上市公司的代码和名称 stock_info = ak.stock_info_sh_name_code(symbol="主板A股") print(stock_info) # 获取所有股票的当日信息 stock_sh_a_spot_em_df = ak.stock_sh_a_spot_em() start_date = "20210601" shanghai_tz = pytz.timezone('Asia/Shanghai') current_date = datetime.datetime.now(shanghai_tz) end_date = current_date.strftime('%Y%m%d') print(end_date) folder_name = "C:/Users/datasave" if not os.path.exists(folder_name): os.makedirs(folder_name) print(f"文件夹 {folder_name} 已创建.") else: print(f"文件夹 {folder_name} 已存在.") for code in stock_info['证券代码']: # 获取该股票的市值和价格 stock_spot_info = stock_sh_a_spot_em_df[stock_sh_a_spot_em_df['代码'] == code] market_cap = float(stock_spot_info['总市值']) price = float(stock_spot_info['最新价']) # 如果市值大于1000亿或价格大于50,跳过该股票,可以删除 if market_cap > 1000e8 or price > 45: print(f"跳过{code}!") continue try: stock_data = ak.stock_zh_a_daily(symbol='sh'+code, start_date=start_date, end_date=end_date, adjust="hfq") stock_data['date'] = stock_data['date'].dt.strftime("%Y-%m-%d") # convert date to the format "YYYY-MM-DD" print(f"获取{code}的数据成功!") # 将每个公司的数据单独存为csv file_path = os.path.join(folder_name, f"{code}_data.csv") if os.path.isfile(file_path): existing_data = pd.read_csv(file_path) stock_data = pd.concat([existing_data, stock_data]).drop_duplicates() stock_data.to_csv(file_path, index=False) print(f"{code}的数据已保存为CSV文件!") except Exception as e: print(f"获取{code}的数据失败,错误信息为:{e}") `` 基于Tushare获取A股数据 Tushare介绍:

Tushare是一个强大的金融数据提供库,它提供了丰富的金融数据,(部分需要捐赠,具体的权限表格)包括:

股票数据:包括交易数据、投资者结构数据、财务数据等。期货数据:包括各种期货的交易数据。指数数据:提供主要指数的实时行情和历史行情数据。宏观经济数据:包括国内外重要的宏观经济数据。新闻事件数据:提供金融新闻和重大事件数据。

Tushare的主要特点有:

免费:Tushare提供部分的数据接口是免费的,但也有一部分高级数据需要付费。丰富:Tushare提供的数据类型丰富实时:Tushare可以提供实时的金融数据。

官网

从通达信导出数据

这里请参考我的其他博客

链接

具体就我自己的使用体验来说,存在很多问题,首先是历史数据的下载,通达信限制了下载周期,再者我也使用过一些转换软件或者代码程序,依旧存在很多数据转换出错,后续的分析如果涉及到这些数据的清洗会是件比较麻烦的事情,建议还是tushare,这里如果有兴趣可以私聊我询问



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3