akshare股票数据学习(二)

目录

 一、 AKShare 简介

二、安装与配置

三、A股-个股信息查询

1、东财(东方财富网)

 2、雪球

四、A股-行情报价 

五、运用示例

 六、总结 

1、接口概览

 2、 注意事项


一、 AKShare 简介

定位:AKShare 是一个开源的 Python 库,专注于提供股票、基金、期货、期权、外汇等金融数据接口。

akshare官网:https://akshare.akfamily.xyz/index.html

特点:数据源丰富、接口简洁、支持主流数据格式(如 Pandas DataFrame)。

适用场景:量化交易、数据分析、学术研究等。

二、安装与配置

安装 AKShare

pip install akshare --upgrade

依赖库安装

AKShare 依赖 pandas, requests 等库,若未自动安装,可手动安装。

三、A股-个股信息查询

1、东财(东方财富网)

接口:stock_individual_info_em

目标:单次返回指定 symbol 的个股信息

输入参数:

名称类型描述
symbolstrsymbol="603777"; 股票代码
timeoutfloattimeout=None; 默认不设置超时参数

接口示例:

import akshare as ak

stock_individual_info_em_df = ak.stock_individual_info_em(symbol="000001")
print(stock_individual_info_em_df)

输出示例:

   item                value
0  股票代码               000001
1  股票简称                 平安银行
2   总股本        19405918198.0
3   流通股        19405571850.0
4   总市值  221033408275.220001
5  流通市值       221029463371.5
6    行业                   银行
7  上市时间             19910403

输出字段说明

名称类型描述
itemobject-
valueobject-
字段类型说明
总股本float即公司已发行的全部股份数量(单位:股)
流通股float指的是可以在公开市场交易的股份(单位:股)
总市值float总股本乘以当前股价(单位:元)
流通市值float流通股数乘以股价(单位:元)
行业str所属证监会行业分类
上市时间int上市日期(YYYYMMDD格式)

 2、雪球

接口:stock_individual_basic_info_xq

目标:单次返回指定 symbol 的个股信息

输入参数:

名称类型描述
symbolstrsymbol="SH601127"; 股票代码
tokenstrtoken=None;
timeoutfloattimeout=None; 默认不设置超时参数

接口示例:

import akshare as ak

stock_individual_basic_info_xq_df = ak.stock_individual_basic_info_xq(symbol="SH601127")
print(stock_individual_basic_info_xq_df)

输出及字段说明

名称类型描述
itemobject-
valuefloat64-

( 太长了,为了方便看,还是放一起吧。)

字段名称 (item)说明数据示例(value)注意事项
org_id公司唯一标识符(雪球内部编码)T000071215用于雪球系统内部数据关联,非公开标准编码
org_name_cn公司中文全称赛力斯集团股份有限公司与工商注册名称一致
org_short_name_cn公司中文简称赛力斯日常交易中显示的股票简称
org_name_en公司英文全称Seres Group Co.,Ltd.可能为空(如未披露英文名称)
org_short_name_en公司英文简称SERES常见于国际化业务的公司
main_operation_business主营业务描述新能源汽车及核心三电(电池、电驱、电控)的研发、制造、销售关键字段,反映公司核心竞争力和收入来源
operating_scope工商注册的经营范围制造、销售:汽车零部件、机动车辆零部件...包含详细法律表述,可能含冗余信息
district_encode注册地区编码(行政区划代码)500106对应国家统计局编码(如500106=重庆市沙坪坝区)
org_cn_introduction公司中文简介赛力斯始创于1986年,是...包含公司历史、战略定位等宣传性内容
legal_representative法人代表姓名张正萍需注意变更(如公司控制权变动)
general_manager总经理姓名张正萍可能与法人代表为同一人
secretary董事会秘书姓名申薇信息披露直接责任人
established_date公司成立日期(13位时间戳格式:表示自1970年1月1日00:00:00 UTC以来的总毫秒数)1178812800000需转换为日期(示例对应2007-05-12)
reg_asset注册资本(单位:元)1509782193.0反映公司法定资本规模
staff_num员工总数16102需结合行业特性分析(如制造业人数通常较多)
telephone公司联系电话86-23-65179666包含国际区号(86为中国)
postcode公司注册地邮编401335可用于地理信息分析
fax公司传真号码86-23-65179777逐渐被电子化沟通方式取代
email投资者关系邮箱601127@seres.cn用于股东沟通和信息披露
org_website公司官网网址www.seres.com.cn可爬取官网获取更多业务动态
reg_address_cn中文注册地址重庆市沙坪坝区五云湖路7号法律文件送达地址
reg_address_en英文注册地址None境外上市公司可能填写
office_address_cn中文办公地址重庆市沙坪坝区五云湖路7号可能与注册地址一致
office_address_en英文办公地址None适用于跨国企业
currency_encode货币编码019001对应标准编码(如019001=人民币)
currency货币名称CNY财务报表记账货币
listed_date上市日期(时间戳格式)1465920000000需转换(示例对应2016-06-15)
provincial_name所属省份重庆市用于区域经济分析
actual_controller实际控制人(含持股比例)张兴海 (13.79%)可能通过多层股权结构控制,需注意最终受益人分析
classi_name企业性质分类民营企业其他可能值:国有企业、外资企业等
pre_name_cn曾用中文名称重庆小康工业集团股份有限公司反映公司历史重组/更名信息
chairman董事长姓名张正萍公司决策核心人物
executives_nums高管人数20包括董事会、监事会、高级管理人员
actual_issue_vol实际发行数量(股)142500000.0IPO或增发时的实际发行量
issue_price发行价格(元/股)5.81重要历史数据,用于计算募资总额
actual_rc_net_amt实际募集资金净额(元)738451000.0扣除发行费用后的净募集金额
pe_after_issuing发行后市盈率18.19反映IPO时的估值水平
online_success_rate_of_issue网上发行中签率0.110176中签率=发行量/申购量,越低说明申购越火爆
affiliate_industry所属行业分类(字典格式){'ind_code':'BK0025','ind_name':'汽车整车'}行业代码与名称对应,可用于行业对比分析

四、A股-行情报价 

接口:stock_bid_ask_em

目标:单次返回指定股票的行情报价数据

输入参数:

名称类型描述
symbolstrsymbol="000001"; 股票代码

接口示例:

import akshare as ak

stock_bid_ask_em_df = ak.stock_bid_ask_em(symbol="000001")
print(stock_bid_ask_em_df)

输出示例:

          item         value
0       sell_5  1.144000e+01
1   sell_5_vol  1.485200e+06
2       sell_4  1.143000e+01
3   sell_4_vol  1.769200e+06
4       sell_3  1.142000e+01
5   sell_3_vol  1.431100e+06
6       sell_2  1.141000e+01
7   sell_2_vol  1.586300e+06
8       sell_1  1.140000e+01
9   sell_1_vol  2.076800e+06
10       buy_1  1.139000e+01
11   buy_1_vol  6.200000e+03
12       buy_2  1.138000e+01
13   buy_2_vol  2.698500e+06
14       buy_3  1.137000e+01
15   buy_3_vol  2.013600e+06
16       buy_4  1.136000e+01
17   buy_4_vol  2.422500e+06
18       buy_5  1.135000e+01
19   buy_5_vol  4.041000e+06
20          最新  1.140000e+01
21          均价  1.138000e+01
22          涨幅  1.800000e-01
23          涨跌  2.000000e-02
24          总手  4.618690e+05
25          金额  5.256708e+08
26          换手  2.400000e-01
27          量比  5.800000e-01
28          最高  1.141000e+01
29          最低  1.135000e+01
30          今开  1.137000e+01
31          昨收  1.138000e+01
32          涨停  1.252000e+01
33          跌停  1.024000e+01
34          外盘  2.385060e+05
35          内盘  2.233630e+05

输出字段说明

名称类型描述
itemobject-
valuefloat64-
字段说明示例值(当前数据)
sell_n卖n价(第n档卖出报价)(n=5)11.44元
sell_n_vol卖n挂单量(手)(n=5)1,485,200手
buy_n买n价(第n档买入报价)(n=1)11.39元
buy_n_vol买n挂单量(手)(n=1)6,200手
字段说明公式/计算逻辑
最新当前成交价最后一笔成交价格
均价当日平均成交价总成交金额 / 总成交量
涨幅涨跌幅度(百分比)(最新价 - 昨收价)/昨收价 × 100%
涨跌涨跌绝对值最新价 - 昨收价
总手累计成交量(手)1手=100股
金额总成交金额(元)∑(每笔成交价 × 成交量)
换手换手率(百分比)总成交量 / 流通股数 × 100%
量比相对成交量强度当前成交量 / 过去5日平均成交量
最高当日最高价-
最低当日最低价-
今开当日开盘价-
昨收前日收盘价-
涨停涨停价昨收价 × 1.1(主板)
跌停跌停价昨收价 × 0.9(主板)
外盘主动买入量(手)买方主动以卖价成交的累计量
内盘主动卖出量(手)卖方主动以买价成交的累计量

五、运用示例

import akshare as ak
import pandas as pd

def get_stock_report(symbol):
    # 获取东方财富基础数据
    em_info = ak.stock_individual_info_em(symbol=symbol)
    
    # 生成雪球股票代码
    if symbol.startswith("6"):
        # 沪市A股(主板60开头,科创板688开头)
        xq_symbol = f"SH{symbol}"
    elif symbol.startswith("0") or symbol.startswith("3"):
        # 深市A股(主板00开头,创业板30开头)
        xq_symbol = f"SZ{symbol}"
    elif symbol.startswith("4") or symbol.startswith("8"):
        # 北交所股票(43/83/87开头,新三板代码)
        xq_symbol = f"BJ{symbol}"
    else:
        raise ValueError(f"无法识别的股票代码格式: {symbol}")
    
    xq_info = ak.stock_individual_basic_info_xq(symbol=xq_symbol)
    
    # 获取实时行情
    quote = ak.stock_bid_ask_em(symbol=symbol)
    
    # 整合数据
    report_df = pd.concat([
        em_info.set_index('item')['value'],
        xq_info.set_index('item')['value'],
        quote.set_index('item')['value']
    ], axis=0)
    
    return report_df.dropna()

# 使用示例
report = get_stock_report("300927")#A股
print(report[['总市值', 'staff_num', '最新', '换手']])

 六、总结 

1、接口概览

接口示例数据源输入参数主要功能
stock_individual_info_em东方财富

symbol="603777"; 股票代码

timeout=None; 默认不设置超时参数

个股信息查询
stock_individual_basic_info_xq雪球

symbol="SH601127"; 股票代码

token=None;

timeout=None; 默认不设置超时参数

个股信息查询
stock_bid_ask_em东方财富symbol="603777"; 股票代码行情报价

 2、 注意事项

  1. 代码格式要求

    • 东方财富接口使用纯数字代码(如 "000001"

    • 雪球接口需要带交易所前缀(如 "SH601127"

  2. 数据更新频率

    • 财务数据(如市值)一般按日更新

    • 行情数据(如买卖五档)为实时数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值