| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- """
- Date: 2024/2/1 16:20
- Desc: 东方财富网-数据中心-新股数据-打新收益率
- 东方财富网-数据中心-新股申购-打新收益率
- https://data.eastmoney.com/xg/xg/dxsyl.html
- 东方财富网-数据中心-新股数据-新股申购与中签查询
- https://data.eastmoney.com/xg/xg/default_2.html
- """
- import pandas as pd
- import requests
- def stock_xgsglb_em(symbol: str = "全部股票") -> pd.DataFrame:
- """
- 新股申购与中签查询
- https://data.eastmoney.com/xg/xg/default_2.html
- :param symbol: choice of {"全部股票", "沪市主板", "科创板", "深市主板", "创业板", "北交所"}
- :type symbol: str
- :return: 新股申购与中签数据
- :rtype: pandas.DataFrame
- """
- market_map = {
- "全部股票": """(APPLY_DATE>'2010-01-01')""",
- "沪市主板": """(APPLY_DATE>'2010-01-01')(SECURITY_TYPE_CODE in ("058001001","058001008"))(TRADE_MARKET_CODE in ("069001001001","069001001003","069001001006"))""",
- "科创板": """(APPLY_DATE>'2010-01-01')(SECURITY_TYPE_CODE in ("058001001","058001008"))(TRADE_MARKET_CODE="069001001006")""",
- "深市主板": """(APPLY_DATE>'2010-01-01')(SECURITY_TYPE_CODE="058001001")(TRADE_MARKET_CODE in ("069001002001","069001002002","069001002003","069001002005"))""",
- "创业板": """(APPLY_DATE>'2010-01-01')(SECURITY_TYPE_CODE="058001001")(TRADE_MARKET_CODE="069001002002")""",
- }
- url = "http://datacenter-web.eastmoney.com/api/data/v1/get"
- params = {
- "sortColumns": "APPLY_DATE,SECURITY_CODE",
- "sortTypes": "-1,-1",
- "pageSize": "50",
- "pageNumber": "1",
- "reportName": "RPTA_APP_IPOAPPLY",
- "columns": "SECURITY_CODE,SECURITY_NAME,TRADE_MARKET_CODE,APPLY_CODE,TRADE_MARKET,MARKET_TYPE,ORG_TYPE,ISSUE_NUM,ONLINE_ISSUE_NUM,OFFLINE_PLACING_NUM,TOP_APPLY_MARKETCAP,PREDICT_ONFUND_UPPER,ONLINE_APPLY_UPPER,PREDICT_ONAPPLY_UPPER,ISSUE_PRICE,LATELY_PRICE,CLOSE_PRICE,APPLY_DATE,BALLOT_NUM_DATE,BALLOT_PAY_DATE,LISTING_DATE,AFTER_ISSUE_PE,ONLINE_ISSUE_LWR,INITIAL_MULTIPLE,INDUSTRY_PE_NEW,OFFLINE_EP_OBJECT,CONTINUOUS_1WORD_NUM,TOTAL_CHANGE,PROFIT,LIMIT_UP_PRICE,INFO_CODE,OPEN_PRICE,LD_OPEN_PREMIUM,LD_CLOSE_CHANGE,TURNOVERRATE,LD_HIGH_CHANG,LD_AVERAGE_PRICE,OPEN_DATE,OPEN_AVERAGE_PRICE,PREDICT_PE,PREDICT_ISSUE_PRICE2,PREDICT_ISSUE_PRICE,PREDICT_ISSUE_PRICE1,PREDICT_ISSUE_PE,PREDICT_PE_THREE,ONLINE_APPLY_PRICE,MAIN_BUSINESS",
- "filter": market_map[symbol],
- "source": "WEB",
- "client": "WEB",
- }
- r = requests.get(url, params=params)
- data_json = r.json()
- big_df = pd.DataFrame()
- temp_df = pd.DataFrame(data_json["result"]["data"])
- big_df = pd.concat([big_df, temp_df], ignore_index=True)
- big_df.rename(
- columns={
- "SECURITY_CODE": "股票代码",
- "SECURITY_NAME": "股票简称",
- "TRADE_MARKET_CODE": "-",
- "APPLY_CODE": "申购代码",
- "TRADE_MARKET": "-",
- "MARKET_TYPE": "-",
- "ORG_TYPE": "-",
- "ISSUE_NUM": "发行总数",
- "ONLINE_ISSUE_NUM": "网上发行",
- "OFFLINE_PLACING_NUM": "_",
- "TOP_APPLY_MARKETCAP": "顶格申购需配市值",
- "PREDICT_ONFUND_UPPER": "_",
- "ONLINE_APPLY_UPPER": "申购上限",
- "PREDICT_ONAPPLY_UPPER": "_",
- "ISSUE_PRICE": "发行价格",
- "LATELY_PRICE": "最新价",
- "CLOSE_PRICE": "首日收盘价",
- "APPLY_DATE": "申购日期",
- "BALLOT_NUM_DATE": "中签号公布日",
- "BALLOT_PAY_DATE": "中签缴款日期",
- "LISTING_DATE": "上市日期",
- "AFTER_ISSUE_PE": "发行市盈率",
- "ONLINE_ISSUE_LWR": "中签率",
- "INITIAL_MULTIPLE": "询价累计报价倍数",
- "INDUSTRY_PE_NEW": "行业市盈率",
- "OFFLINE_EP_OBJECT": "配售对象报价家数",
- "CONTINUOUS_1WORD_NUM": "连续一字板数量",
- "TOTAL_CHANGE": "涨幅",
- "PROFIT": "每中一签获利",
- "LIMIT_UP_PRICE": "_",
- "INFO_CODE": "_",
- "OPEN_PRICE": "_",
- "LD_OPEN_PREMIUM": "_",
- "LD_CLOSE_CHANGE": "_",
- "TURNOVERRATE": "_",
- "LD_HIGH_CHANG": "_",
- "LD_AVERAGE_PRICE": "_",
- "OPEN_DATE": "_",
- "OPEN_AVERAGE_PRICE": "_",
- "PREDICT_PE": "_",
- "PREDICT_ISSUE_PRICE2": "_",
- "PREDICT_ISSUE_PRICE": "_",
- "PREDICT_ISSUE_PRICE1": "_",
- "PREDICT_ISSUE_PE": "_",
- "PREDICT_PE_THREE": "_",
- "ONLINE_APPLY_PRICE": "_",
- "MAIN_BUSINESS": "_",
- "IS_REGISTRATION": "_",
- },
- inplace=True,
- )
- big_df = big_df[
- [
- "股票代码",
- "股票简称",
- "申购代码",
- "发行总数",
- "网上发行",
- "顶格申购需配市值",
- "申购上限",
- "发行价格",
- "最新价",
- "首日收盘价",
- "申购日期",
- "中签号公布日",
- "中签缴款日期",
- "上市日期",
- "发行市盈率",
- "行业市盈率",
- "中签率",
- "询价累计报价倍数",
- "配售对象报价家数",
- "连续一字板数量",
- "涨幅",
- "每中一签获利",
- ]
- ]
- big_df["申购日期"] = pd.to_datetime(big_df["申购日期"], errors="coerce").dt.date
- big_df["中签号公布日"] = pd.to_datetime(big_df["中签号公布日"]).dt.date
- big_df["中签缴款日期"] = pd.to_datetime(big_df["中签缴款日期"]).dt.date
- big_df["发行总数"] = pd.to_numeric(big_df["发行总数"], errors="coerce")
- big_df["网上发行"] = pd.to_numeric(big_df["网上发行"], errors="coerce")
- big_df["顶格申购需配市值"] = pd.to_numeric(big_df["顶格申购需配市值"], errors="coerce")
- big_df["申购上限"] = pd.to_numeric(big_df["申购上限"], errors="coerce")
- big_df["发行价格"] = pd.to_numeric(big_df["发行价格"], errors="coerce")
- big_df["最新价"] = pd.to_numeric(big_df["最新价"], errors="coerce")
- big_df["首日收盘价"] = pd.to_numeric(big_df["首日收盘价"], errors="coerce")
- big_df["发行市盈率"] = pd.to_numeric(big_df["发行市盈率"], errors="coerce")
- big_df["行业市盈率"] = pd.to_numeric(big_df["行业市盈率"], errors="coerce")
- big_df["中签率"] = pd.to_numeric(big_df["中签率"], errors="coerce")
- big_df["询价累计报价倍数"] = pd.to_numeric(big_df["询价累计报价倍数"], errors="coerce")
- big_df["配售对象报价家数"] = pd.to_numeric(big_df["配售对象报价家数"], errors="coerce")
- big_df["涨幅"] = pd.to_numeric(big_df["涨幅"], errors="coerce")
- big_df["每中一签获利"] = pd.to_numeric(big_df["每中一签获利"], errors="coerce")
- return big_df
- if __name__ == "__main__":
- #显示所有列
- pd.set_option('display.max_columns', None)
- #显示所有行
- pd.set_option('display.max_rows', None)
- #设置value的显示长度为100,默认为50
- pd.set_option('max_colwidth',100)
- stock_xgsglb_em_df = stock_xgsglb_em(symbol="全部股票")
- print(stock_xgsglb_em_df)
|