目前国内有很多数据团队专门为金融机构、学术团体和量化研究者们提供的本地量化金融数据服务,那么最常见的就是通达信、同花顺等团队,他们开发出来的level2接口可快速查看和计算金融数据,无障碍解决本地、Web、金融终端调用数据的需求。为了满足投资者的需求,这些数据团队在level2接口中提供了全面的基础金融数据,其中就包括了沪深A股行情数据,那么这些数据可以帮助您、投资者更好的完成量化研究和投资决策。
那么接下来小编为大家分享一下level2接口用Python获取A股行情数据的代码!
## 撰写自定义函数,通过API获取数据
def fetch_trochil(url: str,
                  params: Dict[str, str],
                  attempt: int = 3,
                  timeout: int = 3) -> Dict[str, Any]:
    """装饰requests.get函数"""
    for i in range(attempt):
        try:
            resp = requests.get(url, params, timeout=timeout)
            resp.raise_for_status()
            data = resp.json()["data"]
            if not data:
                raise Exception("empty dataset")
            return data
        except (ConnectionError, Timeout) as e:
            print(e)
            i += 1
            time.sleep(i * 0.5)
def fetch_cnstocks(apikey: str) -> pd.DataFrame:
    """从蜂鸟数据获取A股产品列表"""
    url = "https://api.trochil.cn/v1/cnstock/markets"
    params = {"apikey": apikey}
    res = fetch_trochil(url, params)
    return pd.DataFrame.from_records(res)
def fetch_daily_ohlc(symbol: str,
                     date_from: dt.datetime,
                     date_to: dt.datetime,
                     apikey: str) -> pd.DataFrame:
    """从蜂鸟数据获取A股日图历史K线"""
    url = "https://api.trochil.cn/v1/cnstock/history"
    params = {
        "symbol": symbol,
        "start_date": date_from.strftime("%Y-%m-%d"),
        "end_date": date_to.strftime("%Y-%m-%d"),
        "freq": "daily",
        "apikey": apikey
    }
    res = fetch_trochil(url, params)
    return pd.DataFrame.from_records(res)
def fetch_index_ohlc(symbol: str,
                     date_from: dt.datetime,
                     date_to: dt.datetime,
                     apikey: str) -> pd.DataFrame:
    """获取股指的日图历史数据"""
    url = "https://api.trochil.cn/v1/index/daily"
    params = {
        "symbol": symbol,
        "start_date": date_from.strftime("%Y-%m-%d"),
        "end_date": date_to.strftime("%Y-%m-%d"),
        "apikey": apikey
    }
    res = fetch_trochil(url, params)
    return pd.DataFrame.from_records(res) 
以上是使用Python获取A股行情的几种方法。那么level2接口的逐笔成交功能是它比较亮眼的一个点,小编接下来和大家说说逐笔成交的实例!
level2接口(逐笔成交)
|    字段名  |    类型  |    备注  | 
|   stock_exchange  |   uint32  |   证券市场,1-SH,2-SZ  | 
|   stock_code  |   string  |   证券代码  | 
|   created_at  |   int64  |   成交日期时间戳(毫秒)  | 
|   code  |   string  |   成交编号  | 
|   price  |   uint32  |   成交单价  | 
|   volume  |   uint64  |   成交数量  | 
|   amount  |   uint64  |   成交金额  | 
|    tx_dir  |    uint32  |   交易方向:0-未知,1-买方成交,2-卖方成交  | 
|    tx_kind  |    uint32  |   交易类型:0-成交,1-撤单  | 
|   buy_order_seq  |   string  |   买方委托序号  | 
|   sell_order_seq  |   string  |   卖方委托序号  | 
返回实例:

大家若是没有渠道获取A股行情数据的话也可以通过https://gitee.com/l2gogogo 获取,那么对 level2接口有不懂的话也可以通过下方名片给小编留言!



















