首页
统计
友链
推荐
在线工具网
IT工具
Linux 命令
OneAPI
60秒新闻
大模型导航
Search
1
记录一次博客建站过程,基于云服务器、1Panel和typecho,最快10分钟完成!
373 阅读
2
使用python akshare获取股票数据
285 阅读
3
typecho joe主题优化
122 阅读
4
ChatGPT 是什么, 普通人该怎么使用?
85 阅读
5
这是一个测试
60 阅读
AI前沿资讯
AI软件服务
python编程
博客建站
网站搭建教程
typecho主题
wordpress主题
资源分享
PC软件
实用工具
Search
标签搜索
prompt
AI
python
博客
博客建站
大模型
ChatGPT
LLM
建站
1Panel
typecho
云服务器
akshare
股票数据
智潮先锋
累计撰写
9
篇文章
累计收到
4
条评论
首页
栏目
AI前沿资讯
AI软件服务
python编程
博客建站
网站搭建教程
typecho主题
wordpress主题
资源分享
PC软件
实用工具
页面
统计
友链
推荐
在线工具网
IT工具
Linux 命令
OneAPI
60秒新闻
大模型导航
搜索到
1
篇与
的结果
2024-04-16
使用python akshare获取股票数据
引言AKshare 是什么?AKShare 是 基于 Python 的财经数据接口库,目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具,主要用于学术研究目的。AKShare 的特点?AKShare 的特点是获取的是相对权威的财经数据网站公布的原始数据,通过利用原始数据进行各数据源之间的交叉验证,进而再加工,从而得出科学的结论。Github:https://github.com/akfamily/akshare文档:https://akshare.akfamily.xyz/开始使用安装部署AKShare 原身是基于 Python 的财经数据接口库,当然目前也支持 http 接口部署。本文主要使用 Python 环境,Python 如何安装不再演示,使用venv创建虚拟环境,使用 pip 安装 Akshare 包。# 创建虚拟环境 root@mine:/pro-dev/akshare-uat# python3 -m venv venv # 激活虚拟环境 root@mine:/pro-dev/akshare-uat# source venv/bin/activate # 在虚拟环境安装akshare (venv) root@mine:/pro-dev/akshare-uat# pip install akshare然后查看包已经安装完成了:(venv) root@mine:/pro-dev/akshare-uat# pip list | grep akshare akshare 1.13.38获取一只股票的行情数据接下来我们获取一只股票的行情数据,以 工商银行 为例。import akshare as ak stock_zh_a_hist_df = ak.stock_zh_a_hist( symbol="601398", # 股票代码 period="daily", # 日线数据 start_date="20180101", # 开始日期 end_date="20240101", # 截至日期 adjust="" ) print(stock_zh_a_hist_df)打印结果:(venv) root@mine:/pro-dev/akshare-uat# python main.py 日期 开盘 收盘 最高 最低 成交量 成交额 振幅 涨跌幅 涨跌额 换手率 0 2018-01-02 6.19 6.18 6.39 6.11 5374662 3.356778e+09 4.52 -0.32 -0.02 0.20 1 2018-01-03 6.18 6.16 6.32 6.12 3493611 2.172614e+09 3.24 -0.32 -0.02 0.13 2 2018-01-04 6.18 6.07 6.18 6.06 4351365 2.661279e+09 1.95 -1.46 -0.09 0.16 3 2018-01-05 6.09 6.08 6.11 6.06 2817843 1.715072e+09 0.82 0.16 0.01 0.10 4 2018-01-08 6.09 6.07 6.10 6.04 2184876 1.325134e+09 0.99 -0.16 -0.01 0.08 ... ... ... ... ... ... ... ... ... ... ... ... 1452 2023-12-25 4.77 4.80 4.81 4.77 1094809 5.249893e+08 0.84 0.42 0.02 0.04 1453 2023-12-26 4.80 4.82 4.82 4.79 1487372 7.155550e+08 0.63 0.42 0.02 0.06 1454 2023-12-27 4.82 4.83 4.84 4.78 1843188 8.862157e+08 1.24 0.21 0.01 0.07 1455 2023-12-28 4.83 4.77 4.85 4.77 3465162 1.664753e+09 1.66 -1.24 -0.06 0.13 1456 2023-12-29 4.78 4.78 4.80 4.77 1800478 8.615642e+08 0.63 0.21 0.01 0.07 [1457 rows x 11 columns]增加缓存由于每次调用都是在向财经接口发送请求,频率过高了有被封 IP 的风险。这里我们将取得的数据存储到本地,当再次需要同样数据的时候直接从存储读取,避免短时间重复发送请求,同时也提高了速度。import akshare as ak # 首先获取到行情数据 stock_zh_a_hist_df = ak.stock_zh_a_hist( symbol="601398", # 股票代码 period="daily", # 日线数据 start_date="20180101", # 开始日期 end_date="20240101", # 截至日期 adjust="" ) # 将数据保存到文件 stock_zh_a_hist_df.pkl stock_zh_a_hist_df.to_pickle("stock_zh_a_hist_df.pkl")这样我们在调用的时候直接读取本地文件 stock_zh_a_hist_df.pkl 即可# 需要导入pandas import pandas as pd stock_zh_a_hist_df = pd.read_pickle("stock_zh_a_hist_df.pkl") print(stock_zh_a_hist_df)如果我们是在做测试验证,可以使用 try except 把上面过程组织起来,不用每次要先运行获取存储数据、再运行策略算法。# 导入 akshare 和 pandas import akshare as ak import pandas as pd try: # 首先尝试从本地读取文件 stock_zh_a_hist_df = pd.read_pickle("stock_zh_a_hist_df.pkl") except: # 如果没有则会调用 ak 接口获取 stock_zh_a_hist_df = ak.stock_zh_a_hist( symbol="601398", # 股票代码 period="daily", # 日线数据 start_date="20180101", # 开始日期 end_date="20240101", # 截至日期 adjust="" ) # 获取数据后存储到本地 stock_zh_a_hist_df.to_pickle("stock_zh_a_hist_df.pkl") print(stock_zh_a_hist_df)能够保证我们每次相同的数据只需要执行一次接口调用。
2024年04月16日
285 阅读
0 评论
1 点赞