社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

[Python技术] 量化之miniqmt下载A股数据到本地

子晓聊技术 • 1 月前 • 310 次点击  

前2天写了tushare获取A股数据, 一些同学让我写一写miniqmt, 那这篇文章写一写miniqmt。
提到miniqmt,一起讲一讲xtquant。miniQMT 是一个本地的量化交易终端,而xtquant 是一个Python 接口库,用于在Python 程序中与miniQMT 交互。简单来说,miniQMT 负责接收和存储行情数据,并提供交易接口;xtquant 则充当Python 和miniQMT 之间的桥梁,让量化交易员可以用Python 编写策略并控制交易。
摘自官方的写法:
XtQuant是基于迅投MiniQMT衍生出来的一套完善的Python策略运行框架,对外以Python库的形式提供策略交易所需要的行情和交易相关的API接口。

#XtQuant 运行依赖环境

XtQuant 目前提供的库包括 64 位 Python 3.63.73.83.93.103.113.12、3.13版本,不同版本的 Python 导入时会自动切换。 在运行使用 XtQuant 的程序前需要先启动 MiniQMT 客户端。

#XtQuant 运行逻辑

Xtdata 作为行情模块,本模块旨在提供精简直接的数据满足量化交易者的数据需求,主要提供行情数据(历史和实时的K线和分笔)、财务数据、合约基础信息、板块和行业分类信息等通用的行情数据。

Xttrader 作为交易模块,封装了策略交易所需要的 Python API 接口,可以和 MiniQMT 客户端交互进行报单、撤单、查询资产、查询委托、查询成交、查询持仓以及接收资金、委托、成交和持仓等变动的主推消息。


相关文章:
量化交易之miniqmt入门指南新手篇
【Python技术】miniqmt交易常用操作封装类

如果你有miniqmt 开户需求,可以找我私聊,门槛低, 费率优惠。


这里写个例子,怎么把数据下载到本地,例子比较简单。
from xtquant import xtdataimport datetimeimport pandas as pddef download_full_market_history():    """下载全市场近1年日线数据"""    # 动态计算时间范围    end_date = datetime.datetime.now().strftime("%Y%m%d")    start_date = (datetime.datetime.now() - datetime.timedelta(days=365)).strftime("%Y%m%d")
    # 获取沪深A股全部股票    all_stocks = xtdata.get_stock_list_in_sector("沪深A股")
    # 带进度监控的批量下载    def on_progress(data):        print(f"进度: {data['finished']}/{data['total']} - {data['stockcode']}")
       xtdata.download_history_data2(        stock_list=all_stocks,        period="1d",        start_time=start_date,        end_time=end_date,        callback=on_progress    )if __name__ == "__main__":    download_full_market_history()
       data = xtdata.get_local_data(        field_list=["open""high""low""close""volume"],  # 必须指定字段        stock_list=['000001.SZ'],        period="1d",        start_time=""        end_time=""    )
    print(data)


如果我的分享对你投资有所帮助,不吝啬给个点赞关注呗。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/184723
 
310 次点击