Skip to main content

A股市场数据SDK

Project description

levistock

A股市场数据 SDK,封装东方财富、财联社、同花顺、开盘红、i问财常用接口。

安装

pip install levistock

或从 GitHub 安装最新版:

pip install git+https://github.com/fleetinglife/levistock.git

快速开始

import levistock as lk

# 大盘指数
lk.market_index_em()

# 涨停池
lk.stock_zt_pool_em()

# 行业板块
lk.sector_em()

接口文档

工具

is_trade_day()

判断今天是否为A股交易日。

if lk.is_trade_day():
    print("今天是交易日")
返回值 说明
bool True=交易日,False=非交易日

大盘 market

market_index_em()

获取A股常用大盘指数实时行情(东方财富),返回上证指数、深证成指、创业板指、科创50、沪深300、中证500。

data = lk.market_index_em()
for item in data:
    print(f"{item['name']}: {item['price']} ({item['change_pct']}%)")
字段 说明
name 指数名称
code 指数代码
price 最新价
change_pct 涨跌幅(%)
change_amt 涨跌额
volume 成交量
amount 成交额(元)
high 最高价
low 最低价
open 开盘价
pre_close 昨收价

market_index_all_em()

获取全部大盘指数,字段同 market_index_em()

data = lk.market_index_all_em()
print(f"共 {len(data)} 个指数")

market_emotion_cls()

获取A股市场情绪数据(财联社),包含涨跌分布、封板率、连板梯队等。

data = lk.market_emotion_cls()
print(f"市场热度: {data['market_degree']}")
print(f"上涨家数: {data['up_down_dis']['rise_num']}")
print(f"涨停家数: {data['up_down_dis']['up_num']}")
print(f"封板率: {data['up_ratio']}")
字段 说明
market_degree 市场热度(0-100)
shsz_balance 两市成交额
shsz_balance_change_px 较上日成交额变化
up_ratio 封板率
up_ratio_num 封板数量
up_open_num 炸板数量
performance 昨涨停今表现
up_open_ratio 高开率
profit_ratio 获利率
up_down_dis 涨跌分布(dict)
limit_up_board 连板梯队(dict)

market_wind_cls()

获取今日风口板块列表(财联社)。

data = lk.market_wind_cls()
for item in data:
    print(f"{item['plate_name']}: {item['catalyst'][:30]}...")
字段 说明
plate_code 板块代码
plate_name 板块名称
catalyst 催化剂描述

market_wind_stocks_cls(plate_code)

获取风口板块龙头股(财联社)。

参数 说明
plate_code 板块代码,通过 market_wind_cls() 获取
wind = lk.market_wind_cls()
stocks = lk.market_wind_stocks_cls(wind[0]["plate_code"])
字段 说明
secu_code 股票代码(含市场前缀)
secu_name 股票名称
last_px 现价
change 涨跌幅
continuous 连板次数

market_mainline_cls()

获取今日主线机会(财联社),返回主线题材、板块及龙头股。

data = lk.market_mainline_cls()
print(data)

板块 sector

sector_em(sector_type="industry")

获取A股板块列表(东方财富),支持行业板块和概念板块。

参数 说明
sector_type "industry" 行业板块(默认),"concept" 概念板块
# 行业板块
industry = lk.sector_em()

# 概念板块
concept = lk.sector_em(sector_type="concept")
字段 说明
sector_code 板块代码
sector_name 板块名称
change_pct 涨跌幅(%)
amount 成交额(元)
main_inflow 主力净流入(元)
lead_stock_name 领涨股名称
lead_stock_code 领涨股代码
lead_stock_chg 领涨股涨跌幅(%)
up_count 上涨家数
down_count 下跌家数

sector_stocks_em(sector_code)

获取板块成分股(东方财富),行业板块和概念板块通用。

参数 说明
sector_code 板块代码,如 "BK1033"
stocks = lk.sector_stocks_em("BK1033")
字段 说明
stock_code 股票代码
stock_name 股票名称

sector_stock_belong_em(stock_codes)

批量查询股票所属行业板块(东方财富)。

参数 说明
stock_codes 股票代码列表,如 ["000001", "600001"]
data = lk.sector_stock_belong_em(["000001", "600001", "300001"])
for item in data:
    print(f"{item['stock_name']}{item['sector_name']}")
字段 说明
stock_code 股票代码
stock_name 股票名称
sector_name 所属行业板块

sector_industry_cls()

获取A股行业板块实时行情(财联社),按涨跌幅从高到低排序。

data = lk.sector_industry_cls()
# 按主力净流入排序
sorted_data = sorted(data, key=lambda x: x["main_fund_diff"], reverse=True)
字段 说明
secu_name 板块名称
secu_code 板块代码
change 涨跌幅
main_fund_diff 主力净流入(元)
limit_up 上涨家数
limit_down 下跌家数
limit_up_num 涨停家数
limit_down_num 跌停家数
first_stock 领涨股信息(dict)

sector_ranking_kph(date)

获取历史精选板块列表(开盘红),仅支持历史日期。

参数 说明
date 交易日期,格式 "YYYY-MM-DD",必须小于今天
data = lk.sector_ranking_kph(date="2026-05-06")
字段 说明
plate_id 板块ID
plate_name 板块名称
change_pct 涨跌幅(%)
amount 成交额(元)
net_inflow 净流入(元)
turnover_rate 换手率(%)
stock_count 成分股数量

sector_ranking_stocks_kph(plate_id, date)

获取精选板块内股票详情(开盘红),每个板块返回前20条。

参数 说明
plate_id 板块ID,通过 sector_ranking_kph() 获取
date 交易日期,格式 "YYYY-MM-DD",必须小于今天
plates = lk.sector_ranking_kph(date="2026-05-06")
stocks = lk.sector_ranking_stocks_kph(plates[0]["plate_id"], date="2026-05-06")
字段 说明
code 股票代码
name 股票名称
price 现价
change_pct 涨跌幅(%)
amount 成交额(元)
main_net 主力净额(元)
limit_tag 板块标签
rank_tag 龙虎榜标签
chg_1d 1日涨幅(%)
chg_5d 5日涨幅(%)
chg_20d 20日涨幅(%)

股票 stock

stock_zh_spot_em(filter_st=True)

获取A股全量实时行情(东方财富)。

参数 说明
filter_st 是否过滤ST股,默认 True
data = lk.stock_zh_spot_em()
print(f"股票数: {len(data)}")
字段 说明
stock_code 股票代码
stock_name 股票名称
price 现价
change_pct 涨跌幅(%)
change_amt 涨跌额
volume 成交量(手)
amount 成交额(元)
turnover_rate 换手率(%)
pe_ttm 市盈率TTM
volume_ratio 量比
high 最高价
low 最低价
open 开盘价
pre_close 昨收价
total_market 总市值(元)
circ_market 流通市值(元)
pb 市净率PB

stock_spot_em(stock_codes)

获取指定股票实时行情(东方财富),最多支持100只。

参数 说明
stock_codes 股票代码列表,如 ["000001", "600001"],最多100只
data = lk.stock_spot_em(["000001", "600001", "300001"])
for item in data:
    print(f"{item['stock_name']}: {item['price']} ({item['change_pct']}%)")

字段同 stock_zh_spot_em()


stock_zt_pool_em(date=None)

获取涨停板股票池(东方财富),支持历史日期查询。

参数 说明
date 交易日期,格式 "YYYYMMDD",默认今天
# 今日涨停
data = lk.stock_zt_pool_em()

# 历史涨停
data = lk.stock_zt_pool_em(date="20260506")
字段 说明
stock_code 股票代码
stock_name 股票名称
price 现价(元)
change_pct 涨跌幅(%)
continuous 连板次数
first_zt_time 首次涨停时间
last_zt_time 最后涨停时间
open_times 炸板次数
amount 成交额(元)
turnover_rate 换手率(%)
main_inflow 主力净流入(元)
sector 所属行业板块

stock_zt_pool_cls()

获取当日涨停池(财联社),含涨停原因,仅支持当天。

data = lk.stock_zt_pool_cls()
for item in data:
    print(f"{item['secu_name']}: {item['up_reason']}")
字段 说明
secu_code 股票代码(含市场前缀)
secu_name 股票名称
last_px 现价(元)
change 涨跌幅
up_reason 涨停原因

stock_changes_em(change_type="8201", filter_st=True)

获取实时盘口异动股票列表(东方财富)。

参数 说明
change_type 异动类型,默认 "8201" 火箭发射,支持22种类型
filter_st 是否过滤ST及三板,默认 True

常用异动类型:

类型值 说明
"8201" 火箭发射
"8202" 快速反弹
"8193" 大笔买入
"8205" 封涨停板
"64" 有大买盘
# 火箭发射
data = lk.stock_changes_em()

# 大笔买入
data = lk.stock_changes_em(change_type="8193")

stock_changes_detail_em(stock_code, market, date=None)

获取个股盘口异动明细(东方财富)。

参数 说明
stock_code 股票代码,如 "000001"
market 市场,"0" 深市,"1" 沪市
date 日期,格式 "YYYYMMDD",默认今天
data = lk.stock_changes_detail_em(stock_code="000001", market="0")

stock_hot_rank_ths(limit=100)

获取A股人气股排行榜(同花顺)。

参数 说明
limit 返回条数,默认100
data = lk.stock_hot_rank_ths()
for item in data[:5]:
    print(f"{item['rank']}. {item['name']} {item['change_pct']}%")
字段 说明
rank 排名
code 股票代码
name 股票名称
price 现价(元)
change_pct 涨跌幅(%)
change_amt 涨跌额
tag 标签信息(dict)

stock_timeline_cls(stock_code)

获取个股分时数据(财联社)。

参数 说明
stock_code 股票代码,支持 "002664""sz002664" 格式
data = lk.stock_timeline_cls("002664")
字段 说明
date 交易日期
minute 分钟时间
last_px 最新价
business_balance 成交额
business_amount 成交量
open_px 开盘价
preclose_px 昨收价
av_px 均价

stock_kline_cls(stock_code, kline_type="daily", limit=50, offset=0)

获取个股K线数据(财联社)。

参数 说明
stock_code 股票代码,支持 "002664""sz002664" 格式
kline_type K线类型,默认 "daily"
limit 返回条数,默认50
offset 偏移量,默认0

K线类型:

类型值 说明
"daily" 日K(默认)
"weekly" 周K
"monthly" 月K
"yearly" 年K
# 日K
data = lk.stock_kline_cls("002664")

# 周K,返回100条
data = lk.stock_kline_cls("002664", kline_type="weekly", limit=100)

stock_strategy_wencai(query, page=1, limit=50)

i问财自然语言股票策略查询。

参数 说明
query 自然语言查询条件
page 页码,默认1
limit 每页条数,默认50
data = lk.stock_strategy_wencai(query="连板3板以上")
print(data["title"])    # 表头
print(data["result"])   # 数据

资讯 news

news_telegraph_cls(date=None, category=None)

获取财联社电报快讯,数据超过20条时自动显示进度条。

参数 说明
date 日期,格式 "YYYY-MM-DD",默认今天
category 消息类型,默认 None

消息类型:

类型值 说明
None 全部电报(默认)
"important" 加红重要消息
"company" 公司公告
# 今日全部
data = lk.news_telegraph_cls()

# 今日重要消息
data = lk.news_telegraph_cls(category="important")

# 历史公司公告
data = lk.news_telegraph_cls(date="2026-05-07", category="company")
for item in data:
    print(f"{item['time']} | {item['title']}")
字段 说明
id 电报ID
title 标题
content 正文内容
time 发布时间,格式 "YYYY-MM-DD HH:MM:SS"

数据源

模块 数据源 接口类型
market_index_em 东方财富 HTTP API
market_emotion_cls 财联社 HTTP API
market_wind_cls 财联社 HTTP API(含签名)
sector_em 东方财富 HTTP API
sector_industry_cls 财联社 HTTP API(含签名)
sector_ranking_kph 开盘红 HTTP API
stock_zh_spot_em 东方财富 HTTP API
stock_spot_em 东方财富 HTTP API
stock_zt_pool_em 东方财富 HTTP API
stock_zt_pool_cls 财联社 HTTP API(含签名)
stock_changes_em 东方财富 HTTP API
stock_hot_rank_ths 同花顺 HTTP API
stock_kline_cls 财联社 HTTP API(含签名)
stock_strategy_wencai i问财 HTTP API(需 cookie)
news_telegraph_cls 财联社 HTTP API(含签名)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

levistock-0.1.2.tar.gz (36.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

levistock-0.1.2-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file levistock-0.1.2.tar.gz.

File metadata

  • Download URL: levistock-0.1.2.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for levistock-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2752b5e98d00f5607c5fd75fa8332dba53cd9201d0a0057eeaa19f69d45c4116
MD5 b1eeed562f53429c1a6bce075d62c9cb
BLAKE2b-256 c788fdd915f1c62ef2007d610e54ced3051d32b72780401f84ef64b95245976b

See more details on using hashes here.

File details

Details for the file levistock-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: levistock-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 42.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for levistock-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f597fe3b35f4f1eb381a5e82adbe04fbcd298012f2df4810f680e0eb6b87fd2e
MD5 574056f641d8d289b7fb5eb0e647e475
BLAKE2b-256 bff1231c56cfb95802e4b59bd471de2fe731b2cfa4dba7fad0df43ccc0542205

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page