通过Python实现股票数据的本地下载与深度分析,以下将详细介绍从Python环境的配置到数据下载及分析完成的完整流程。
Python开发环境的搭建
1、首先启动百度浏览器,在搜索栏输入”python”,并访问Python的官方下载页面。
2、进入Python官网后,点击页面上方的”Download”按钮,选择下载最新版本的Python 3.8.5。若需其他版本,可向下滚动页面查找或根据项目需求选择特定版本,例如本案例采用Python 3.7.4版本。
3、下载完成后,进入安装界面,根据操作系统选择相应的安装包,并点击下载。
4、安装过程中,务必勾选”Add Python to environment variables”选项,确保Python能够被系统识别。
开发工具PyCharm的配置
1、使用百度浏览器搜索”pycharm”,访问JetBrains公司的官方网站,下载社区版(Free Version)。
2、点击”Download”按钮保存安装文件。
3、运行安装程序,按照提示完成PyCharm的安装。
在完成Python环境和PyCharm开发工具的配置后,即可开始连接JQDATA(聚宽)平台。
JQDATA(聚宽)平台的接入
1、通过百度搜索引擎查找JQDATA,进入聚宽官网,注册账号并获取登录凭证。
2、打开PyCharm,创建新的项目并进入项目设置界面。
3、在设置界面中,点击右侧的”+”号,搜索”jqdata”,选择”jqdatasdk”模块,点击”Install Package”完成安装。
验证JQDATA本地模块的安装状态
若安装成功,将显示相关确认信息。
实现数据的本地下载与数据库存储
1、使用百度浏览器搜索”mysql”,访问MySQL的官方下载页面。
2、在下载页面选择适合当前操作系统的MySQL版本进行下载。
将股票数据导入MySQL数据库
1、设计股票字典表和概念字典表的结构。
2、通过JQDATA平台将数据批量导入到本地MySQL数据库中。
执行相关SQL语句后,数据将被成功写入数据库。
股票基本数据
股票概念数据
接下来对程序进行详细解析:
本程序依赖以下核心模块,若检测到未安装的模块,可参考JQDATA模块的安装方法进行配置。
对数据连接进行封装处理。
实现与JQDATA平台的登录与连接。具体使用方法可参考JQDATA官方文档。
stocks = get_all_securities([‘stock’])
get_all_securities – 获取所有证券信息get_all_securities(types=[], date=None)
用于获取平台支持的所有股票、基金、指数、期货等证券信息。
参数说明
types: list类型,用于筛选证券类型。可选值包括:’stock’(股票)、’fund’(基金)、’index’(指数)、’futures’(期货)、’options’(期权)、’etf’(ETF基金)、’lof’(LOF基金)、’fja’(分级A)、’fjb’(分级B)、’open_fund’(开放式基金)、’bond_fund’(债券基金)、’stock_fund’(股票型基金)、’QDII_fund’(QDII基金)、’money_market_fund’(货币基金)、’mixture_fund’(混合基金)等。当types为空时,默认返回所有股票信息,不包含基金、指数和期货。
date: 日期参数,可以是字符串或datetime.datetime/datetime.date对象,用于获取特定日期仍在上市的股票信息。默认值为None,表示获取所有日期的股票信息。
返回值
[pandas.DataFrame]类型,例如:get_all_securities()[:2]的返回结果:
—
display_name
name
start_date
end_date
type
000001.XSHE
平安银行
PAYH
1991-04-03
9999-01-01
stock
000002.XSHE
万 科A
WKA
1991-01-29
9999-01-01
stock
display_name: 证券全称
name: 证券简称
start_date: 上市日期
end_date: 退市日期(若无退市则为2200-01-01)
type: 证券类型:包括stock(股票)、index(指数)、etf(ETF基金)、fja(分级A)、fjb(分级B)、fjm(分级母基金)、mmf(货币基金)、open_fund(开放式基金)、bond_fund(债券基金)、stock_fund(股票型基金)、QDII_fund(QDII基金)、money_market_fund(货币基金)、mixture_fund(混合基金)、options(期权)等。
#获取A股股票概念列表
concept=get_concepts()
get_concepts – 获取概念板块信息get_concepts()
用于获取所有概念板块的列表信息。
返回值
pandas.DataFrame类型,包含以下列:
index: 概念代码
name: 概念名称
start_date: 概念开始日期