Comments (2)
如何通过接口获取一只股票当日的炸板次数和一段时间内的连板次数
这是一个获取某日涨停股信息的代码,你可以根据它实现你说的两个需求
import pandas as pd
import requests
from datetime import datetime
from jsonpath import jsonpath
def get_zt_stock_rank(date: str = None) -> pd.DataFrame:
"""
获取指定日期涨停股票行情
Parameters
----------
date : str
指定日期,默认为当前日期 格式形如 ``'20220506'``
Returns
-------
DataFrame
指定日期涨停股票行情
Fields
------
``['日期', '股票代码', '股票名称', '涨跌幅', '成交额', '封板资金', '流通市值', '最新价', '换手率','首次封板时间', '最后封板时间', '炸板次数', '连扳数', '所属行业']``
"""
if date is None:
date = datetime.today().strftime('%Y%m%d')
params = (
('ut', '7eea3edcaed734bea9cbfc24409ed989'),
('dpt', 'wz.ztzt'),
('Pageindex', '0'),
('pagesize', '10000'),
('sort', 'fbt:asc'),
('date', date),
)
response = requests.get(
'http://push2ex.eastmoney.com/getTopicZTPool', params=params, verify=False)
fields = {
'c': '股票代码',
'n': '股票名称',
'zdp': '涨跌幅',
'amount': '成交额',
'fund': '封板资金',
'ltsz': '流通市值',
'p': '最新价',
'hs': '换手率',
'fbt': '首次封板时间',
'lbt': '最后封板时间',
'zbc': '炸板次数',
'lbc': '连扳数',
'hybk': '所属行业'
}
items = jsonpath(response.json(), '$..pool[:]')
if not items:
df = pd.DataFrame(
columns=['日期']+list(fields.values())+['统计天数', '涨停次数'])
return df
df = pd.DataFrame(items)
extra_df: pd.DataFrame = pd.DataFrame.from_records(df['zttj']).rename(columns={
'days': '统计天数',
'ct': '涨停次数'
})
df: pd.DataFrame = pd.concat([df, extra_df], axis=1)
df: pd.DataFrame = df.rename(columns=fields)[fields.values()]
df['首次封板时间'] = df['首次封板时间'].apply(lambda x: pd.to_datetime(
str(x), format='%H%M%S').strftime('%H:%M:%S'))
df['最后封板时间'] = df['最后封板时间'].apply(lambda x: pd.to_datetime(
str(x), format='%H%M%S').strftime('%H:%M:%S'))
df['最新价'] /= 1000
df['涨跌幅'] = df['涨跌幅'].apply(lambda x: round(x, 2))
df.insert(0, '日期', date)
return df
df = get_zt_stock_rank('20220520')
df
from efinance.
wow 感谢大佬! 非常感谢!
from efinance.
Related Issues (20)
- 请问如何获取"季报披露时间“表格 HOT 1
- get_history_bill issue HOT 1
- get_latest_quote() 今天一直报错 JSONDecodeError HOT 1
- efinance.stock.get_quote_history("CN00Y")
- 拉数据出错 HOT 2
- 能否获取 商品期货的 指数? HOT 1
- n天期货分钟k线问题 HOT 1
- 请问大佬,哪个函数可以获取股票的上市时间?最好是多任务?
- 如何获取所有非A股(美股等)的stock code 列表 HOT 3
- 最新版(0.5.1)efinance.stock.get_top10_stock_holder_info 特别慢 HOT 1
- 出现包弃用的警告提示
- 使用 py3.10时出现notifyAll() 报错的解决方案
- 希望提供以下示例
- 怎么知道一个股票一天的状态是不是涨停啊?回测要用到这个信息,涨停不一定是10%,不知道最后封板没有。 HOT 2
- 多股票获取历史数据卡死,已有人发过,问题目前还存在
- 关于「名称」或「code」重名时,查询结果和期望不一致的疑问? HOT 4
- 新增了美股财报,和其他A股API
- ef.stock.get_realtime_quotes获得的数据中一部分含有A的股票名称使用的是全角A,另一部分使用的半角A
- 大神,请问获取股票列表如何操作?
- 可以称为最好用的库
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from efinance.