当前位置: 首页 > article >正文

【QMT 量化实战】股市 “高开低走“ 是陷阱还是机会?(下)附完整 Python 代码

摘要本文为《股市 高开低走 是陷阱还是机会》系列下篇提供基于QMT 量化交易平台的完整 高开低走 策略 Python 实现代码。包含 Xtquant 初始化、全局参数配置、数据获取、趋势判断、周期计算及结果输出等全流程代码帮助量化投资者快速复现并应用该策略。关键词 QMT量化交易高开低走策略Python 量化Xtquant1. 前言书接上回在上篇文章中我们详细分析了股市 高开低走 现象背后的市场逻辑区分了哪些是真正的陷阱哪些是值得把握的机会。本文将提供基于 QMT 平台的完整策略实现代码帮助大家将理论转化为可执行的量化策略。以下代码仅供学习参考实盘交易前请务必进行充分的回测和风险评估。2. 完整策略代码实现2.1 导入相关库import pandas as pd import numpy as np from xtquant import xtconstant from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback from xtquant.xttype import StockAccount import datetime import time2.2 Xtquant 初始化# Xtquant初始化 class MyXtQuantTraderCallback(XtQuantTraderCallback): def on_disconnected(self): print(连接断开) def on_account_status(self, status): print(f账户状态: {status}) if __name__ __main__: # 创建交易对象 xt_trader XtQuantTrader(rD:\迅投极速交易终端 睿智融科版\userdata_mini, session_id123456) # 创建回调对象 callback MyXtQuantTraderCallback() # 注册回调 xt_trader.register_callback(callback) # 启动交易线程 xt_trader.start() # 连接客户端 connect_result xt_trader.connect() if connect_result ! 0: print(连接失败) exit() # 订阅账户 acc StockAccount(你的资金账号, STOCK) subscribe_result xt_trader.subscribe(acc) if subscribe_result ! 0: print(订阅账户失败) exit() print(连接成功开始运行策略)2.3 全局参数配置# 全局参数配置 START_DATE 20260101 # 回测开始日期 END_DATE 20260519 # 回测结束日期 STOCK_CODE 000001.SZ # 股票代码平安银行 HIGH_OPEN_RATIO 0.005 # 高开阈值0.5% LOW_CLOSE_RATIO 0.003 # 低收阈值0.3% CYCLE_DAYS 5 # 统计周期5个交易日2.4 核心功能函数# 获取指定股票的K线数据 def get_stock_data(xt_trader, stock_code, start_date, end_date): 获取股票K线数据 :param xt_trader: XtQuantTrader对象 :param stock_code: 股票代码 :param start_date: 开始日期 :param end_date: 结束日期 :return: 包含日期、开盘价、最高价、最低价、收盘价的DataFrame # 获取日线数据 klines xt_trader.get_history_klines( stock_code, periodxtconstant.PERIOD_DAY, start_timestart_date, end_timeend_date, count-1, dividend_typextconstant.DIVIDEND_TYPE_ADJUST ) if not klines: print(f获取{stock_code}数据失败) return None # 转换为DataFrame df pd.DataFrame(klines) df[date] pd.to_datetime(df[time], unitms).dt.strftime(%Y%m%d) df df[[date, open, high, low, close]] df df.sort_values(date).reset_index(dropTrue) return df # 数据清洗 def clean_data(df): 数据清洗删除缺失值、异常值 :param df: 原始数据 :return: 清洗后的数据 # 删除缺失值 df df.dropna() # 计算涨跌幅 df[pre_close] df[close].shift(1) df[pct_change] (df[close] - df[pre_close]) / df[pre_close] # 删除涨跌幅超过10%的异常值A股主板涨跌幅限制 df df[(df[pct_change] -0.1) (df[pct_change] 0.1)] return df.reset_index(dropTrue) # 识别高开低走形态 def classify_trend(df): 识别高开低走形态 :param df: 清洗后的数据 :return: 包含趋势标签的DataFrame # 计算高开幅度 df[high_open] (df[open] - df[pre_close]) / df[pre_close] # 计算低收幅度 df[low_close] (df[close] - df[open]) / df[open] # 标记高开低走 df[is_high_open_low_close] np.where( (df[high_open] HIGH_OPEN_RATIO) (df[low_close] -LOW_CLOSE_RATIO), 1, 0 ) return df # 计算未来周期收益率 def calc_future_return(df, cycle_days): 计算未来N个交易日的收益率 :param df: 包含趋势标签的数据 :param cycle_days: 统计周期 :return: 包含未来收益率的DataFrame # 计算未来N日收盘价 df[future_close] df[close].shift(-cycle_days) # 计算未来N日收益率 df[future_return] (df[future_close] - df[close]) / df[close] # 删除最后N行无未来数据 df df.dropna() return df # 统计分析结果 def statistic_result(df): 统计高开低走后的收益率分布 :param df: 包含未来收益率的数据 :return: 统计结果 # 筛选出高开低走的交易日 high_open_low_close_days df[df[is_high_open_low_close] 1] # 统计基本信息 total_days len(df) high_open_low_close_count len(high_open_low_close_days) high_open_low_close_ratio high_open_low_close_count / total_days * 100 # 统计收益率 avg_return high_open_low_close_days[future_return].mean() * 100 win_rate len(high_open_low_close_days[high_open_low_close_days[future_return] 0]) / high_open_low_close_count * 100 max_return high_open_low_close_days[future_return].max() * 100 min_return high_open_low_close_days[future_return].min() * 100 # 输出结果 print(*50) print(f统计区间: {START_DATE} 至 {END_DATE}) print(f股票代码: {STOCK_CODE}) print(f总交易日数: {total_days}) print(f高开低走天数: {high_open_low_close_count}) print(f高开低走占比: {high_open_low_close_ratio:.2f}%) print(-*50) print(f未来{CYCLE_DAYS}个交易日平均收益率: {avg_return:.2f}%) print(f未来{CYCLE_DAYS}个交易日胜率: {win_rate:.2f}%) print(f未来{CYCLE_DAYS}个交易日最大收益率: {max_return:.2f}%) print(f未来{CYCLE_DAYS}个交易日最小收益率: {min_return:.2f}%) print(*50) return { total_days: total_days, high_open_low_close_count: high_open_low_close_count, high_open_low_close_ratio: high_open_low_close_ratio, avg_return: avg_return, win_rate: win_rate, max_return: max_return, min_return: min_return }2.5 主函数# 主函数 if __name__ __main__: # 初始化XtQuantTrader前面已完成 # 获取数据 raw_df get_stock_data(xt_trader, STOCK_CODE, START_DATE, END_DATE) if raw_df is None: exit() # 数据清洗 clean_df clean_data(raw_df) # 趋势分类 trend_df classify_trend(clean_df) # 计算未来收益率 final_df calc_future_return(trend_df, CYCLE_DAYS) # 统计结果 result statistic_result(final_df) print(策略测试完成) # 停止交易线程 xt_trader.stop()3. 策略使用说明环境配置确保已安装国金证券 QMT 客户端及 Xtquant 库参数调整根据不同股票的特性调整高开阈值、低收阈值和统计周期回测验证先在历史数据上进行充分回测验证策略有效性小资金实盘回测通过后先用小资金进行实盘测试风险控制严格设置止损止盈控制单只股票仓位不超过总资金的 20%4. QMT 开通指南想要运行上述策略需要先开通国金证券 QMT 量化交易系统权限开通条件普通版资金10W要求适合入门级量化投资者专业版资产≥10 万支持全自动交易、极速通道和 API 接口量化QMT之用什么方式能快速计算指标数据5. 免责声明本文仅为量化交易技术分享不构成任何投资建议。投资有风险入市需谨慎。量化交易存在较高风险投资者应根据自身风险承受能力谨慎参与。实盘交易产生的任何盈亏均由投资者自行承担。

相关文章:

【QMT 量化实战】股市 “高开低走“ 是陷阱还是机会?(下)附完整 Python 代码

摘要 本文为《股市 "高开低走" 是陷阱还是机会?》系列下篇,提供基于QMT 量化交易平台的完整 "高开低走" 策略 Python 实现代码。包含 Xtquant 初始化、全局参数配置、数据获取、趋势判断、周期计算及结果输出等全流程代码&#xff…...

2026年实用降AIGC工具:亲测AI率从90%降至4%的靠谱方案

一、前言:2026年毕业必过AIGC检测门槛 2026年国内高校对学术论文的AIGC疑似度审核全面收紧,绝大多数院校都发布了明确的AIGC检测数值要求:985、211院校规定本科论文AI率需低于20%,硕士论文AI率不得高于15%,普通高校也普…...

taotoken模型广场如何帮助开发者根据任务需求选择合适大模型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 taotoken模型广场如何帮助开发者根据任务需求选择合适大模型 面对市场上众多的大语言模型,开发者常常陷入选择困境&…...

构建企业级AI对话平台:Open WebUI部署架构深度解析

构建企业级AI对话平台:Open WebUI部署架构深度解析 【免费下载链接】open-webui User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 项目地址: https://gitcode.com/GitHub_Trending/op/open-webui 在AI技术快速发展的今天,如何构建…...

[具身智能-857]:大模型(大脑、知识记忆、反复推演)、 小模型(小脑、肌肉记忆、条件反射)功能的差别,会导致模型在结构和训练等维度上哪些差别?!!

大脑大模型 VS 小脑小模型:功能差异→结构差异→训练差异 全维度对比一、核心功能差异(根源)大脑大模型:负责认知理解、语义交互、多轮逻辑推演、长时序任务规划、经验归纳、知识推理,先思后行,全局预判&am…...

COMET:基于深度学习的机器翻译质量评估框架

COMET:基于深度学习的机器翻译质量评估框架 【免费下载链接】COMET A Neural Framework for MT Evaluation 项目地址: https://gitcode.com/gh_mirrors/com/COMET 在机器翻译技术日益成熟的今天,如何客观、准确、可解释地评估翻译质量成为了学术…...

ESP-IDF+vscode开发ESP32第十三讲——NVS

目录 一、NVS梳理 1.1 分区 (Partition):NVS 的专属“仓库” 1.2 页面 (Page):仓库里的“货架” 1.3 条目 (Entry):货架上的“最小存储格” 1.4 键值对 (Key-Value Pair):实际存放的“货物” 1.5 命名空间 (Namespace)&…...

数学论文降AI工具免费推荐:2026年数学毕业论文降AI4.8元知网达标免费完整方案

数学论文降AI工具免费推荐:2026年数学毕业论文降AI4.8元知网达标免费完整方案 试过五款降AI工具,价格从4.8元到几十元不等。 性价比最高的是嘎嘎降AI(www.aigcleaner.com)——4.8元,知网AI率从66%降到6.3%&#xff0…...

Python之anonymous包语法、参数和实际应用案例

一、包概述与核心功能 graphs-edjedovi是一个极简Python库(当前版本0.0.2),仅封装Dijkstra单源最短路径算法,专注于带权有向/无向图的最短路径计算,无可视化、拓扑排序等扩展能力。 核心能力:计算单个源节点…...

心理学论文降AI工具免费推荐:2026年心理学毕业论文知网维普降AI4.8元亲测完整方案

心理学论文降AI工具免费推荐:2026年心理学毕业论文知网维普降AI4.8元亲测完整方案 答辩前夕,AI率36%,学校要求15%以下。 用嘎嘎降AI(www.aigcleaner.com),4.8元,两小时搞定,一次过…...

[具身智能-855]:什么是AI应用?AI 应用、AI 模型、AI Agent三者区别?

一、定义AI 应用:搭载人工智能技术,具备智能理解、推理、生成、识别、决策能力,能自主完成人类事务的软件、程序、系统、设备。二、狭义 AI 应用(纯 AI 工具,最常见)专门靠 AI 干活,一眼看出是 …...

如何用嘎嘎降AI处理金融学论文:金融学毕业论文降AI免费完整操作教程

如何用嘎嘎降AI处理金融学论文:金融学毕业论文降AI免费完整操作教程 这篇教程是针对金融学论文降AI教程写的——问得最多的操作细节,都在这里。 主工具:嘎嘎降AI(www.aigcleaner.com),4.8元一篇&#xff…...

TabNet: Attentive Interpretable Tabular Learning——一种具有可解释性的注意力表格学习模型

文章提出了一种名为 TabNet 的新型深度神经网络架构,专门用于处理表格数据。该架构旨在结合决策树(DT)的优势(如可解释性、处理表格数据的高效性)与深度神经网络(DNN)的优势(如端到端…...

Kotlin 跨平台 SqliteNow 全平台数据持久化方案

Kotlin 跨平台 SqliteNow 全平台数据持久化方案1. 环境与依赖配置1.0 创建一个Kotlin 多平台项目1.1 版本声明(libs.versions.toml)1.2 项目级插件配置(build.gradle.kts)1.3 模块级依赖配置(app/shared/build.gradle.…...

5大长期记忆系统终极横评!谁是AI Agent的「最强大脑」

🚀 5大长期记忆系统终极横评!谁是AI Agent的「最强大脑」? AI Agent 的「长期记忆」能力,决定了它能否真正拥有"持续学习"和"深度理解"的核心竞争力。 我们耗时数周,对 虾觅 Xiami、AgentMemory…...

一多操作系统的生命体架构与当前主流开发语言的区别

这套架构与当前主流开发语言的区别,本质上就是**“造物主”与“工匠”**的区别。 目前的编程语言(无论是 C、Java 还是 Python)都是在教计算机**“怎么做”(How),而一多 OS 的生物学构架是在告诉系统“要什…...

7天深度拆解:openpilot自动驾驶系统技术实现与二次开发指南

7天深度拆解:openpilot自动驾驶系统技术实现与二次开发指南 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Tr…...

戴森球计划工厂蓝图架构深度解析:构建高效星际生产线的核心策略

戴森球计划工厂蓝图架构深度解析:构建高效星际生产线的核心策略 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints FactoryBluePrints 项目作为戴森球计划游戏中最…...

BilibiliDown:简单三步掌握B站视频下载的终极指南

BilibiliDown:简单三步掌握B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bi…...

华硕笔记本G-Helper显示管理全攻略:从色彩异常到专业校准的5步解决方案

华硕笔记本G-Helper显示管理全攻略:从色彩异常到专业校准的5步解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivob…...

GDScriptDecomp:让Godot游戏逆向工程变得触手可及

GDScriptDecomp:让Godot游戏逆向工程变得触手可及 【免费下载链接】gdsdecomp Godot reverse engineering tools 项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp 你是否曾遇到过这样的情况:手头有一个Godot引擎开发的游戏&#xff…...

Windows 环境下 NVM 安装与 Node.js 版本管理完全指南

💡 为什么需要 NVM? 作为前端开发者,你是否遇到过这些困扰: 场景痛点新项目要求 Node 20,老项目依赖 Node 16频繁卸载重装,浪费时间团队协作时环境不一致代码在同事电脑上跑不通全局安装的依赖版本冲突升…...

计算机图形学——四、光栅化与消隐

第四章 光栅转化与消隐 重点总结 一、光栅转化(Rasterization) 定义:把用数学描述的图形(如三角形)变成屏幕上一个个像素点。 1. 多边形扫描转换 顶点表示 → 点阵表示:把多边形的顶点坐标,转成…...

c#string字符串

//API 应用程序接口 内置函数 //字符串的属性 string a "abcd";//表示字符串中 字符的个数Console.WriteLine(a.Length);//字符串是可以通过 索引 取值的 因为string类内部顶一个一个索引器char c a[2];Console.WriteLine(c);string s1 "abc";st…...

四大音乐平台一键解析:免费开源music-api打破会员壁垒

四大音乐平台一键解析:免费开源music-api打破会员壁垒 【免费下载链接】music-api Music API 项目地址: https://gitcode.com/gh_mirrors/mu/music-api 在音乐流媒体平台林立的今天,你是否曾被各大平台的会员壁垒所困扰?想听周杰伦的歌…...

有哪些AI论文软件是真的适配学科专业,而不是模板套话?

在 AI 写作技术迅猛发展的今天,各类论文工具层出不穷,看似能快速完成写作任务,实则多数是内容空洞、逻辑混乱、格式随意的“模板复制器”,生成的文章缺乏专业深度,充斥着机械化的表达方式。真正具备学术价值的 AI 论文…...

开发AI应用时利用Taotoken实现多模型聚合与路由策略

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 开发AI应用时利用Taotoken实现多模型聚合与路由策略 应用场景类,面向正在构建复杂AI应用的架构师或开发者,…...

3步掌握React Easy Crop:从零到精通的图像裁剪完整指南

3步掌握React Easy Crop:从零到精通的图像裁剪完整指南 【免费下载链接】react-easy-crop A React component to crop images/videos with easy interactions 项目地址: https://gitcode.com/gh_mirrors/re/react-easy-crop 你是否在为React应用中的图片裁剪…...

FlashAttention 在昇腾NPU上的极致优化

刚接触 FlashAttention 那会,我被一个困惑砸懵了:明明 Attention 机制的计算量已经是 O(n) 了,业界还在拼命优化它,图什么? 直到我看见一组数据才明白——训练一个 1750 亿参数的 GPT-3,光是 Attention 计…...

GeoSeg:突破性混合Transformer架构实现高效遥感图像语义分割

GeoSeg:突破性混合Transformer架构实现高效遥感图像语义分割 【免费下载链接】GeoSeg UNetFormer: A UNet-like transformer for efficient semantic segmentation of remote sensing urban scene imagery, ISPRS. Also, including other vision transformers and C…...