首页 > 其他分享 >akshare库安装及使用

akshare库安装及使用

时间:2023-04-03 11:12:23浏览次数:37  
标签:plt df akshare 使用 date import 安装 stock

一:背景

  作为一个996的加班狗,自己维护的股票分析系统的来源经常进行反爬处理或者干脆停止维护了,换一个来源的话,格式分析脚本也经常需要更换,经过百度之后,发现有大佬维护了一个akshare库,可以获取大量金融相关的数据,并且转换为统一的格式,然后基于从akshare库返回的数据进行加工分析就可以了

 

二:安装

  方式一:直接pip install akshare --upgrade

      由于依赖的组件比较多,需要静待一会,即可。

      

 

 

      随后pip list查看一下:

      

 

 

三、akshare库简介:  

  官网地址:     https://www.akshare.xyz/index.html
  Github地址:  https://github.com/akfamily/akshare

 

四、akshare库使用:

  获取个股的历史价格以及绘制曲线图

      历史价格: 

$ python 
>>> import akshare as ak
>>> stock_df = ak.stock_zh_a_hist(symbol='600519', period="daily", start_date='20220101', end_date='20220125', adjust="qfq")
>>> print(stock_df)日期       开盘       收盘       最高       最低    成交量           成交额    振幅   涨跌幅    涨跌额   换手率
0   2022-01-04  2055.00  2051.23  2068.95  2014.00  33843  6.913653e+09  2.68  0.06   1.23  0.27
1   2022-01-05  2045.00  2024.00  2065.00  2018.00  28396  5.774992e+09  2.29 -1.33 -27.23  0.23
2   2022-01-06  2022.01  1982.22  2036.00  1938.51  51795  1.022693e+10  4.82 -2.06 -41.78  0.41
3   2022-01-07  1975.00  1942.00  1988.88  1939.32  29817  5.831695e+09  2.50 -2.03 -40.22  0.24
4   2022-01-10  1928.01  1966.00  1977.00  1917.55  29627  5.792738e+09  3.06  1.24  24.00  0.24
5   2022-01-11  1948.00  1940.55  1965.00  1931.17  22277  4.332181e+09  1.72 -1.29 -25.45  0.18
6   2022-01-12  1948.00  1967.00  1978.80  1948.00  27474  5.384360e+09  1.59  1.36  26.45  0.22
7   2022-01-13  1964.82  1877.39  1967.99  1865.56  56747  1.078172e+10  5.21 -4.56 -89.61  0.45
8   2022-01-14  1877.39  1867.00  1893.00  1863.00  29322  5.506186e+09  1.60 -0.55 -10.39  0.23

       绘制曲线图:

 1 #!/usr/bin/python3
 2 # -*- coding: UTF-8 -*-
 3 import os
 4 import sys
 5 import pandas as pd
 6 import numpy as np
 7 import matplotlib.pyplot as plt
 8 import matplotlib.dates as md
 9 import seaborn as sns
10 import akshare as akdef stock_data(_symbol,_start_date, _end_date):stock_df = ak.stock_zh_a_hist(symbol=_symbol, period="daily", start_date=_start_date, end_date=_end_date, adjust="qfq")return stock_dfdef view_data(df):_date = df['日期']_open = df['开盘']_close = df['收盘']_high = df['最高']_low = df['最低']# 绘制收盘价折线图plt.figure('K-line')plt.title('600519')plt.xlabel('Date')plt.ylabel('Price')plt.tick_params(labelsize=10)plt.grid(linestyle=':')# 设置x轴刻度定位器ax = plt.gca()ax.xaxis.set_major_locator(md.WeekdayLocator(byweekday=md.MO))ax.xaxis.set_minor_locator(md.DayLocator())# 控制实体与影线的颜色rise = _close >= _opencolor = np.array(['red' if x else 'green' for x in rise])ecolor = np.array(['red' if x else 'green' for x in rise])# 绘制实体plt.bar(_date, _close - _open,0.8, _open, color=color,edgecolor=ecolor, zorder=3)# 绘制影线plt.vlines(_date, _low, _high, color=ecolor)plt.gcf().autofmt_xdate()plt.show()returndef main():df = stock_data('600519','20220101','20220125') #600519 贵州茅台view_data(df)if __name__ == '__main__': main()
View Code

  

  获取股票代码

 1 import akshare as ak
 2 import pandas as pd
 3 import numpy as np
 4 import os
 5 
 6 """
 7 获取A股所有股票的代码
 8 使用stock_info_a_code_name(),反馈数据格式详细参见akshare官网
 9 """
10 StockList=ak.stock_info_a_code_name()
11 #StockList返回的股票代码是“000001”,“000002”这样的格式
12 #但是stock_zh_a_daily()函数中,要求代码的格式为“sz000001”,或“sh600001”
13 #即必须有sz或者sh作为前序
14 #因此,通过for循环对股票代码code进行格式变换
15 for i in range(0,len(StockList)):
16     temp=StockList.iloc[i,0]
17     if temp[0]=="6":
18         temp="sh"+temp
19     if temp[0]=="0":
20         temp="sz"+temp
21     if temp[0]=="3":
22         temp="sz"+temp
23     StockList.iloc[i,0]=temp
24 
25 #通过txt形式保存数据,先检测是否存在文件。
26 #若存在,则在更新股票列表时,先将原有文件删除,再重建文件。
27 if os.path.exists("D://akstock//stockList.txt"):
28            os.remove("D://akstock//stockList.txt")
29 StockList.to_csv("D://akstock//stockList.txt",sep="\t",index=False,header=True)
30 #将原有表格删除后,更新原有数据
31 
32 """
33 下一步,根据原有的股票代码数据,读取历史数据
34 "stock_zh_a_hist"  # A 股日频率数据-东方财富
35 "stock_zh_ah_daily"  # 获取 A+H 股历史行情数据(日频)
36 "stock_zh_a_daily"  # 获取 A 股历史行情数据(日频)
37 "stock_zh_kcb_daily"  # 获取科创板历史行情数据(日频)
38 "option_sina_cffex_hs300_daily"  # 沪深300期权历史行情-日频
39  "option_sina_sse_daily"  # 上交所期权日频数据
40 """
View Code

 

五:参考链接

  AKShare量化接口简介:  https://blog.csdn.net/halps/article/details/126930450

  每一个宽客都应该收藏的量化“利器”:  https://zhuanlan.zhihu.com/p/26983703?utm_source=wechat_session&utm_medium=social

 

 

 

 

 

 

获取股票代码

标签:plt,df,akshare,使用,date,import,安装,stock
From: https://www.cnblogs.com/effortscodepanda/p/17282492.html

相关文章

  • 网页打印(不使用插件的情况下)
    //剔除不需要打印的部分functionContrarypreview(){bdhtml=document.body.innerHTML;sprnstr="<!--startprint-->";eprnstr="<!--endprint-->";vartophtml=bdhtml.substr(0,......
  • XmlTextReader正由另一进程使用,因此该进程无法访问此文件
    此处调用报错:publicvoidsetMaxValueByXml(stringJym,stringvalueMax){XmlDocumentxmlDoc=newXmlDocument();xmlDoc.Load(Server.MapPath("XMLData.xml"));XmlNodeListnodeList=xmlDoc.SelectSingleNode("body")......
  • StreamSets单机版安装文档
    StreamSets单机版安装文档解压安装包到opt目录tar-zxvfstreamsets-datacollector-common-3.22.3.tgz-C/opt修改为sdc配置为表单认证cd/opt/streamsets-datacollector-3.22.3/vietc/sdc.propertieshttp.authentication=form后台启动nohup./bin/streamsets......
  • HummerRisk 使用教程:镜像检测
    概览HummerRisk是开源的云原生安全平台,以非侵入的方式解决云原生环境的安全和治理问题。核心能力包括混合云的安全治理和容器云安全检测。本文将介绍如何使用HummerRisk在云原生安全领域进行「镜像检测」,通过「镜像检测」功能,可以对镜像进行深入扫描,获取镜像的内部结构,检测镜像的......
  • layui和vue.js和jq一起使用调用vue方法及变量
    <divclass="layui-rowlayui-col-space15"id="app"></div>定义vueApp:letvueApprequire(['vue'],function(Vue){vueApp=newVue({el:"#app",data:{where......
  • Kerberos 安装
    Kerberos安装1.Kerberos服务端安装服务端重点三个配置文件:/etc/krb5.conf/var/kerberos/krb5kdc/kdc.conf/var/kerberos/krb5kdc/kadm5.acl注意点:防止配置文件格式错误,如编辑过程中导致内容缺失。查询软件对加密算法的支持程度,如降低版本hadoop需要去除掉aes和......
  • npm安装
    npm&&NVM安装nvm安装NVM_DIR="/root/.nvm"NODE_VERSION=17.9.0curl-o-https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh|bash\&&[-s"$NVM_DIR/nvm.sh"]&&\."$NVM_DIR/nvm.sh"\&......
  • Redis6 集群单机安装
    Redis6集群单机安装官网下载https://download.redis.io/releases/redis-6.2.6.tar.gzhttp://download.redis.io/redis-stable.tar.gz文档参考https://redis.io/documentation解压编译#安装编译需要的tclyum-yinstallgcctclrm-rf/data/redismkdir-p/data/re......
  • 【妙用WebView】鸿蒙元服务中如何使用Java Script的API创建地图
    【关键字】webview地图高德腾讯地图百度地图 【问题背景】开发元服务过程中需要用到地图能力:卡片中显示我的快递位置和我的位置信息;PageAbility中可以打开自定义地图,查询POI点,做路径规划、路径推荐等;查看了高德、百度、华为、腾信地图的后发现,各大厂商对鸿蒙系统的支持能......
  • 【HMS Core】您的设备未安装最新版本的HMS Core,XXX无法正常运行
    【关键字】未安装HMSCore、XXX无法正常运行、IAP应用内支付 【问题描述】项目中接入了华为应用内支付SDK,在使用时调用了如下接口:Iap.getIapClient(activity).isEnvReady然后弹出了一个对话框,提示:“您的设备未安装最新版本的HMSCore,XXX无法正常运行”,详情跟下图中的弹框是......