
一些同学对竞价tick分析感兴趣,问我怎么获取竞价tick数据。说实话, 我之前写过tick这样的文章, 只要把时间更正下就能获取。
这里用迅投miniqmt简单演示下 竞价tick获取的方式, 非顶部截图效果。 代码比较简单
from xtquant import xtdata
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.expand_frame_repr', False)
pd.set_option('display.max_colwidth', 100)
def on_progress(data):
print(f"进度: {data['finished']}/{data['total']} - {data['stockcode']}")
xtdata.download_history_data2(
stock_list=["000001.SZ"],
period="tick",
start_time="20260410091500",
end_time="20260410150000",
callback=on_progress
)
# 2. 查询数据
data = xtdata.get_market_data_ex(
stock_list=["000001.SZ"],
period="tick",
start_time="20260410092000",
end_time="20260410102600"
)
# 转换为DataFrame
if data and "000001.SZ" in data:
# 直接获取股票的DataFrame
df = data["000001.SZ"]
df['时间'] = pd.to_datetime(df['time'], unit='ms') + pd.Timedelta(hours=8)
# 查看DataFrame的基本信息
print("DataFrame形状:", df.shape)
print("\n列名:", df.columns.tolist())
print("\n前10行数据:")
print(df.head(10))
print("\n数据类型:")
print(df.dtypes)
# 如果需要重置索引(将time列变成普通列)
df_reset = df.reset_index()
print("\n重置索引后的DataFrame:")
print(df_reset.head(10))
else:
print("未获取到数据")上面的例子演示了怎么获取竞价的tick数据, 至于竞价tick分时图代码放在星球 。 这里说下思路, 根据 tick数据的委卖委买数据做下计算。
另外,最近在研究竞价,最早使用同花顺的 竞价数据,这段时间在同学的提醒下 把 迅投miniqmt、 开盘啦、短线侠的数据都分析了下。 还是有一定参考意义