全部
文章&策略
学习干货
问答
官方
用户头像Fxdund
2026-08-09 发布
胡志明证券交易所(HOSE)的日均成交额在 2025 年已突破 20 万亿越南盾,外资净买入额连年攀升。Vinamilk(VNM)、Vingroup(VIC)这些标的不仅在本土有影响力,也逐渐进入全球新兴市场投资者的视野。但相比美股、港股,越南市场的行情数据接口在国内讨论得并不多——要么依赖国际券商提供的有限 API,要么自己爬取网页,稳定性堪忧。 最近我在调研东南亚市场的数据方案时,发现一套比较顺手的工具链,借着这篇文章把实践过程记录下来,希望能给对越南股市感兴趣的朋友节省一些踩坑时间。 数据接口的选型思路 最初我考虑过直接用 requests 爬取 Vietstock 或 CafeF 的页面,但很快就遇到两个问题:一是反爬策略越来越严,二是历史 K 线需要自己拼接计算,分钟级数据几乎拿不到。后来转向专业数据服务,对比了几家国际行情提供商,最终选了 itick,理由很朴素: 它对越南市场的覆盖以 HOSE 主流标的为主,正好是我需要的范围; Python SDK 封装得比较干净,WebSocket 自动重连和心跳保活都内置了,省去自己处理断线重连的麻烦; 免费套餐足够跑通流程,确认数据字段后再决定是否升级。 当然,如果你只需要收盘价做回测,用付费的普通 REST 接口也够;但如果要搭建实时看盘或策略监控,WebSocket 推送是更合适的方式。 环境准备与初次调用 安装 SDK 只需要一行: pip install itick-sdk 注册账号后在后台拿到 token,就可以开始调用了。越南市场的 region 参数固定为 "VN",股票代码沿用 HOSE 的惯例(如 VNM、VIC、VCB)。 from itick.sdk import Client client = Client("your_api_token") # 获取 VNM 实时报价 quote = client.get_stock_quote("VN", "VNM") print(quote) 返回的字段结构和其他新兴市场保持一致,核心字段包括: ld —— 最新价 ch / chp —— 涨跌额 / 涨跌幅 o / h / l —— 开 / 高 / 低 ts —— 交易状态(正常、熔断、停牌等) 这里特别提醒:越南股市有涨跌停板(HOSE 为 ±7%),如果 ts 字段显示熔断或停牌,一定不能把旧价格当作实时价展示,否则会误导用户。 历史 K 线获取与常用周期 对于回测或技术分析,历史 K 线是刚需。itick 的 get_stock_kline 接口支持从 1 分钟到月线多种周期,kType 参数对应关系如下: kType 周期 1 1分钟 2 5分钟 3 15分钟 4 30分钟 5 1小时 8 日线 9 周线 10 月线 以下代码获取 Vingroup(VIC)近 60 个交易日的日线数据: kline = client.get_stock_kline("VN", "VIC", 8, 60) for bar in kline: print(f"{bar['t']} O:{bar['o']} H:{bar['h']} L:{bar['l']} C:{bar['c']}") 返回的时间戳是 Unix 毫秒级,转换成北京时间需要注意时差(越南比北京慢 1 小时)。另外,越南盾面值较大,价格字段本身是整数或浮点数,前端渲染时记得做千分位格式化,避免一长串零影响阅读。 WebSocket 实时推送与分钟级 K 线 如果你需要做盘中实时监控或动态图表,REST 轮询的效率不够,WebSocket 是更好的选择。itick 的 SDK 已经封装好了连接、心跳和自动重连逻辑(5 秒间隔,最多 10 次重试),我们只需关注消息处理: def on_message(msg): print("收到推送:", msg) def on_error(err): print("连接错误:", err) client.set_message_handler(on_message) client.set_error_handler(on_error) client.connect_stock_websocket() # 订阅 VNM 和 VIC 的实时报价 + 1分钟 K 线推送 client.send_websocket_message( '{"ac":"subscribe","params":"VNM$VN,VIC$VN","types":"quote,kline@1"}' ) 这里有个实际成本考量:kline@1(1 分钟 K 线实时推送)在 itick 的免费和基础套餐里是不可用的,需要 Premium 及以上或者单独购买股票数据包。如果你的产品对分钟级数据实时性要求不高,完全可以退而求其次,用 REST 接口每 60 秒拉取一次最新 K 线,成本会低很多,且逻辑足够简单。 对于日线级别的展示,REST 拉取已经绰绰有余,WebSocket 主要优势体现在需要捕捉盘中异动的场景。 越南市场特有的几个注意事项 交易所区分:HOSE 是胡志明市主板,HNX 是河内交易所(类似创业板)。itick 目前主要覆盖 HOSE 标的,如果需要查询某只代码是否支持,可以先调用 get_symbol_list("VN") 遍历确认。 节假日与交易时段:越南股市交易时间为周一至周五的 9:00-11:30 和 13:00-14:45(越南时间),比 A 股早收盘。做定时任务时要注意时区和节假日日历,避免无效请求。 流动性分层:HOSE 上头部股票(VNM、VIC、VCB、HPG)流动性很好,但一些小盘股日内成交稀疏,tick 数据可能跳变较大,回测时需注意处理非活跃时段的数据。 如果扩展到其他东南亚市场 这套代码的可移植性是我比较满意的地方。itick 对印尼(ID)、菲律宾(PH)、马来西亚(MY)等市场也有支持,后续如果要做跨市场对比,只需要把 region 参数换成对应的国家代码,其余字段结构基本一致,开发成本非常低。 当然,前提是先确认目标市场在 itick 的产品目录中是否有 coverage——这一点建议直接查阅官方文档的 symbol 列表,比盲目尝试更高效。 结语 从零开始接入越南行情数据,其实没想象中复杂。一套 SDK + 几行代码就能拿到可用的实时报价和历史 K 线,剩下的精力可以放在策略逻辑和前端交互上。至于选哪家数据服务商,我觉得关键看三点:市场覆盖是否匹配、接口稳定性和维护成本、以及定价与自身需求的契合度。itick 在我这次调研中表现合格,特别是免费套餐让前期验证几乎没有门槛,算是比较务实的选择。 如果你也在研究东南亚市场,欢迎交流。数据是投资的起点,但远不是终点——祝大家都能在胡志明指数的起伏中找到自己的节奏。 参考文档:https://docs.itick.org/rest-api/stocks/stock-kline GitHub:https://github.com/itick-org/
浏览10
评论0
收藏0
用户头像mx_****60317
2026-08-03 发布
前言 A 股短线市场有一句共识:开盘定全天,竞价见主力。绝大多数散户仅简单看高开幅度选股,忽略竞价时段分段规则、量价共振、板块联动、历史竞价数据校验四大核心维度,频繁踩入诱多撤单、无量虚高、孤立个股三大陷阱。9:15-9:25 集合竞价是全天唯一无真实成交、仅通过挂单博弈暴露主力真实意图的窗口,也是散户与量化资金每日第一波筛选强势股的核心战场。 本文结合 XTick 竞价实时 / 历史数据接口,提供的全市场竞价明细、分时挂单、板块竞价统计数据,从竞价底层规则、核心量化指标、标准化选股流程、风险避雷、资金回测标准五个模块,搭建一套完整、原创、可实盘落地的集合竞价选股策略,搭配图表梳理核心逻辑,全程总结实操口诀与筛查清单。 一、先吃透竞价时间分段规则:分清虚假信号与真实资金 集合竞价 10 分钟分为三个完全不同的交易时段,不同时段挂单、撤单规则差异直接决定数据参考价值,这是竞价选股的底层前提,下表清晰区分各时段用途与选股取舍标准: 时间段 交易规则 主力行为特征 选股参考价值 实操建议 9:15-9:20 可挂单、可全额撤单 试盘诱多,挂巨量涨停单后快速撤单,制造虚假强势 极低,仅作情绪观察,不纳入选股条件 不以此阶段价格、封单作为判断依据 9:20-9:25 可挂单、禁止撤单 真实资金博弈,所有挂单将参与 9:25 最终撮合 极高,选股核心观测窗口 重点跟踪价格曲线、匹配量、未匹配挂单变化 9:25 整 一次性撮合,生成开盘价 确定当日基准成交价、竞价总成交额、量比 最高,最终筛选决策节点 9:25-9:305 分钟完成全部选股筛选 9:25-9:30 静默委托期,不更新竞价行情 资金预埋下单,无行情变动 无行情参考,仅规划开盘买卖点 复盘竞价板块热度,准备分时验证 竞价倒V诱多分时图(9:15拉板9:20撤单跳水) 核心总结 1 条:所有选股判断,只采信 9:20 后不可撤单时段数据,9:15-9:20 行情全部忽略。借助 XTick 竞价实时接口可持续拉取 9:20-9:25 逐秒挂单数据,批量监控全市场个股竞价走势,避免手动翻页遗漏主线热点标的。 二、竞价选股四大核心量化指标(数据接口可直接提取) 通过 XTick 竞价数据接口可一键获取全市场个股竞价涨幅、竞价成交额、量比、竞价换手率、委比、封单量六大字段,其中四大指标形成共振,是强势股的硬性筛选门槛,分维度拆解标准: 1. 竞价涨幅:2.8%-3.5% 黄金区间(风险收益最优) <2.8%:小幅高开,无主力主动进攻,多为散户零散挂单,日内翻绿概率超 60%,放弃; 2.8%-3.5%:温和抢筹区间,抛压充分消化,做多意愿明确,回测当日收红概率 87.2%,首选; 3.5%-7%:强高开,必须搭配巨量竞价成交额 + 主线板块联动,否则极易高开低走; >7%:超高开,仅主线龙头 + 重大实质性利好可参与,其余全部规避,主力出货高发区。 2. 竞价量能双指标:量比 + 竞价成交额(杜绝无量虚涨) 量能是区分 “真抢筹” 与 “假拉升” 的核心标尺,两个指标必须同步达标: 竞价量比≥5:代表盘前 5 分钟成交活跃度远超近 5 日平均,资金集中进场;量比 3-5 为备选,<3 直接剔除; 竞价成交额门槛(按流通市值分层): 小盘股(流通市值<50 亿):竞价成交额≥800 万; 中盘股(50-200 亿):竞价成交额≥1500 万; 大盘权重(>200 亿):竞价成交额≥3000 万。 补充校验:竞价成交额占前一日总成交额比例≥3%,说明资金关注度显著提升。 3. 竞价换手率:区分筹码交换充分度 小盘股竞价换手率≥0.8%,中盘股≥0.5%;换手率过低代表场内筹码惜售 / 场外资金不愿进场,无上涨动力。XTick 竞价历史接口可导出近 30 日个股竞价换手率均值,对比当日数值判断是否异常放量。 4. 板块联动度:单一强势个股无参与价值 竞价选股最容易被忽略的核心条件:个股必须归属当日主线热点板块,同板块至少 3 只个股同步满足高开放量标准,形成板块共振。孤立高开个股,哪怕单指标全部达标,次日上涨概率不足 35%。 健康阶梯式竞价曲线(9:20后稳步抬升) 核心指标共振总结表 表格 指标 强势股硬性标准 预警风险标准 竞价涨幅 2.8%-3.5% >7% 无量、<2% 量比 ≥5 <3 竞价成交额 匹配流通市值分层门槛 不足门槛 50% 板块联动 板块≥3 只个股竞价走强 板块仅 1 只个股高开 三、标准化 4 步竞价选股实操流程(9:25-9:30 完成) 依托 XTick 竞价全量数据接口(code=all 参数一键拉取全市场竞价数据),建立机械化筛选流程,规避主观情绪化选股,步骤清晰可执行: 第一步:基础池过滤(批量接口一次性剔除垃圾标的) 通过接口过滤条件批量筛选,一次性排除不合格个股: 剔除 ST、*ST、停牌个股; 剔除流通市值<20 亿(流动性不足)、>500 亿(爆发力弱)标的; 剔除 9:20-9:25 竞价价格波动超 1.2%、走势倒 V 跳水个股; 剔除存在减持、问询函、业绩暴雷等当日利空公告个股。 第二步:四大核心指标定量筛查 在过滤后的基础池中,严格匹配共振条件: 竞价涨幅 2.8%-3.5% + 量比≥5 + 竞价成交额达标 + 竞价换手率达标,剩余标的为初选池,通常全市场每日仅 10-20 只。 第三步:板块热度二次精选 调用概念板块成分股接口,匹配初选池个股所属行业 / 概念板块,统计板块竞价强势个股数量,只保留板块前排人气标的,单板块仅留存 1-2 只最优个股,压缩至 3-5 只核心观察池。 第四步:K 线趋势终选(盘前快速校验) 剔除跌破 20 日均线、处于高位连续加速 3 板以上、前期放量套牢平台个股;优先选择低位突破、回踩均线企稳的标的,最终锁定 1-2 只当日竞价选股目标。 四、三大竞价诱多陷阱(高频亏损点,接口数据可提前识别) 结合历史竞价回测数据,90% 竞价高开低走亏损案例,均源于以下三类盘面信号,通过 XTick 历史竞价接口复盘可快速识别特征: 陷阱 1:9:15 虚假巨量封单,9:20 集体撤单 盘面特征:9:15-9:19 涨停挂单几十亿,9:20 撤单后价格直线回落,竞价最终小幅高开,量比极低。 数据特征:9:15 封单 / 9:25 最终封单比值>10 倍,挂单规模断崖式下跌。 避雷规则:9:20 后封单持续萎缩个股,直接放弃。 陷阱 2:量价完全背离,高开无量 盘面特征:竞价涨幅 5% 以上,但竞价成交额不足门槛一半,量比<2,仅少量资金拉高价格,无资金承接。 避雷规则:涨幅越高,对量能要求越高,超高开无量标的一律不参与。 陷阱 3:板块孤立个股,无题材支撑 盘面特征:全市场仅该股竞价强势,所属板块其余个股全部低开平走,无板块资金抱团。 底层逻辑:主力仅针对个股自救,无市场合力,开盘冲高后缺乏跟风盘,极易跳水。 竞价选股核心逻辑示意图 五、配套交易纪律:选股 + 买卖 + 止损完整闭环 竞价选股只是筛选标的,配套严格仓位、止盈止损纪律才能实现长期正向收益,总结标准化交易规则: 仓位控制:大盘放量上涨环境仓位不超过 6 成;大盘缩量调整环境仓位压缩至 2 成以内,单只个股仓位不超过总资金 30%; 买入时机:9:30 开盘后股价站稳分时均价线、回踩均价快速拉升时分批介入;不直接在 9:25 集合竞价挂单追高; 止盈标准:日内涨幅 5% 减仓一半,冲击涨停持有至次日;当日无法涨停,冲高 8% 无条件清仓; 止损铁律:开盘后跌破竞价成交价 5%、持续 3 分钟无法收回均价线,立刻止损离场,不格局扛单。 六、竞价数据接口赋能策略优化(量化升级方案) 手动看盘存在数据不全、统计效率低的短板,XTick 全套竞价接口可实现策略自动化迭代,适配个人复盘与量化程序开发: 竞价实时接口(黄金 / 至尊权限):9:15-9:25 持续拉取逐秒竞价明细,批量监控全市场标的,实时筛选符合指标个股; 竞价历史接口(至尊权限):导出近 3 年每日全市场竞价数据,对选股指标做回测,调整涨幅、量比阈值适配不同市场行情; 增量更新接口:盘后一次性拉取当日完整竞价数据库,批量复盘当日选股标的走势,优化板块筛选、趋势过滤条件; 概念板块接口:自动统计每日各概念板块竞价强势个股数量,快速锁定主线题材,替代手动翻板块。 七、全文核心总结(实操口诀 + 清单) 竞价选股实操口诀 915 行情全作废,920 之后看真伪; 高开三点黄金位,量比过五才有力; 成交额按市值配,板块抱团才有戏; 倒 V 无量全避雷,跌破竞价果断退。 每日竞价选股 10 秒自检清单 ✅ 仅参考 9:20-9:25 不可撤单数据 ✅ 竞价涨幅锁定 2.8%-3.5% ✅ 量比≥5,竞价成交额匹配市值门槛 ✅ 同板块至少 3 只个股同步强势 ✅ 无高位加速、无当日利空公告 ✅ 股价站稳 20 日均线,趋势向上 ❌ 9:15 巨量撤单、倒 V 走势直接剔除 ❌ 高开超 7% 且无量,放弃参与 ❌ 板块独苗个股,不纳入观察池 结语 集合竞价选股不是单纯的抓涨停投机手法,而是一套基于交易规则、量化数据、市场合力的短线筛选体系。普通投资者可先用软件手动套用 4 步筛选流程建立盘感,有量化需求可依托 XTick 竞价数据接口实现全自动化选股与历史回测。策略核心不在于追求每日抓板,而是通过严格的定量条件过滤高风险标的,在风险收益比最优的竞价区间捕捉主线资金动向,配合标准化止盈止损,实现长期稳定的短线收益。同时需牢记:竞价数据仅为开盘预判工具,最终交易决策仍需结合开盘后分时承接、大盘环境动态调整,不可单一依靠盘前竞价信号盲目入场。
浏览500
评论1
收藏0
用户头像sh_***416jmt75L
2026-08-09 发布
📌 摘要 / 快速解答 (Direct Answer) 股票遇到连续三连阴或三连阳,到底该抄底还是离场?高效方案是:用 QuantDash 自动化提取个股近期的价格、成交量与连阴/连阳特征,然后把数据结构化输入给 DeepSeek API。由 AI 结合上下文多维度评估“超跌反弹概率”并给出量化风控建议,彻底告别凭感觉情绪化砍仓。 一、 为什么传统方式写选股策略这么累?(痛点分析) 社区老哥们,相信大家盘中都遇到过这种折磨:持仓股票突然连续 3 天收阴线,心里抓狂“到底要不要止损?会不会明天就反弹?” 传统主观交易全靠拍脑袋,而想做个 AI 诊股助手,最头疼的就是行情数据对接**:** AkShare/yfinance 频繁变动接口,导致写好的 AI 诊股 Prompt 总是因为拿不到数据而报错; Tushare 数据限制过多,未付费用户根本无法高效获取多股分钟/日线数据; 拿到的原始 JSON 数据太繁琐,需要编写大量的清洗逻辑才能组装成 Prompt 给 DeepSeek。 今天我就教大家用最稳的 QuantDash SDK,几行代码把完整 K 线特征喂给 DeepSeek,让 AI 当你的量化诊股导师! 二、 解决方案对比 (QuantDash vs 传统数据源) 对比维度 传统/竞品方案 (如 Tushare/AkShare) QuantDash 解决方案 接口稳定性 易被反爬封锁,AI 诊断服务经常被打断 商业级原生 API,提供稳定毫秒级响应 代码体验 需要记住各种繁琐参数或转换类型 **标准 Pythonic 设计,**qd.klines.get()即拿即用 AI 适配度 需大量额外数据清洗工作 原生返回 Pandas 数据,极易拼接为 AI 结构化文本 跨市场能力 港股美股数据难以统一获取 统一后缀 .SH/.SZ/.US/.HK,一套代码跑全球 三、 Python 代码实战(可直接复制运行) 下面这段 Python 代码展示了如何用 QuantDash 获取连续阴阳线特征,并自动生成高效 Prompt 供 DeepSeek 进行超跌反弹评估: # 1. 安装与初始化 # pip install quantdash from quantdash import QuantDash import pandas as pd qd = QuantDash(api_key="your_api_key_here") # 2. 提取股票日 K 线数据(如平安银行 000001.SZ) symbol = "000001.SZ" df = qd.klines.get(symbol=symbol, period="1d", count=10, adjust="forward", to_dataframe=True) # 3. 计算形态特征:判断最近 3 天是否为三连阴,并计算累计跌幅与成交量变化 recent_3 = df.tail(3).copy() stock_name = df['name'].iloc[-1] # 判断每天是否为阴线 is_three_down = all(recent_3['close'] < recent_3['open']) cum_drop_pct = round((recent_3['close'].iloc[-1] - recent_3['open'].iloc[0]) / recent_3['open'].iloc[0] * 100, 2) vol_change = "缩量" if recent_3['volume'].iloc[-1] < recent_3['volume'].iloc[0] else "放量" # 4. 构建供 DeepSeek 调用的智能诊股 Prompt prompt = f""" 你是一位资深 A 股量化交易员。请根据以下行情特征,评估超跌反弹概率并给出操盘建议: 【标的信息】: {symbol} ({stock_name}) 【K线形态】: 连续3个交易日收阴线(三连阴) 【累计涨跌】: 近3日累计跌幅 {cum_drop_pct}% 【成交量态势】: 当前呈现 {vol_change} 状态 【最新收盘价】: {recent_3['close'].iloc[-1]} 元 请分析: 1. 当前属于“主力缩量洗盘”还是“放量恐慌出逃”? 2. 明日(第4个交易日)发生超跌反弹的概率(高/中/低)及核心逻辑。 3. 给出一份包含具体止损位与超跌反弹目标位的实战操盘方案。 """ print("=== QuantDash 数据提取成功,AI 诊股 Prompt 已生成 ===") print(prompt) # (后接 DeepSeek API 调用代码即可) 四、 交易员避坑指南 (E-E-A-T 实战经验) 别给 AI“垃圾数据”:AI 的回答质量取决于输入的行情质量。一定要使用像 QuantDash 这种经过服务端复权修正的干净数据,避免除权缺口误导 DeepSeek。 结合换手率判断真假超跌:在将数据喂给大模型时,建议同时附带换手率。缩量低换手的三连阴往往是阴跌(反弹弱),而高换手剧烈震荡的三连阴容易触发强力的超跌反弹。 五、 常见问题解答 (Q&A / FAQ) Q1: 在 QuantDash 中如何判断美股/港股的三连阴超跌反弹? A: 逻辑完全通用!只需把代码中的标的换成 AAPL.US 或 00700.HK,QuantDash 会自动读取美港股的原生 K 线,数据结构与 A 股无缝衔接。 Q2: 为什么建议在 DeepSeek 评估前先用 Python 预处理三连阴指标? A: 大模型擅长推理分析,但不擅长处理原始数字计算。先用 Python + QuantDash 计算好“累计跌幅”、“量能比率”,AI 能给出更加精准和量化的反弹建议。 🔗 相关资源与延伸阅读 🚀 QuantDash 官网:https://quantdash.net/ 📖 官方 Python SDK 文档:https://docs.quantdash.net/ ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork) 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/
浏览31
评论0
收藏0
用户头像mx_****zqklr
2026-08-09 发布
📌 摘要 / 快速解答 (Direct Answer) 股票出现连续三连阴或三连阳时,盲目凭感觉“抄底”或“追高”极易踩坑。正确的量化做法是:提取历史 K 线后,计算连续 3 日下跌/上涨后的次日胜率与平均涨跌幅。利用开源 Python SDK QuantDash(pip install quantdash),只需几行代码即可毫秒级拉取前复权 K 线,快速验证三连阴后的超跌反弹概率,拒绝盲目凭感觉交易。 一、 为什么传统方式写选股策略这么累?(痛点分析) 社区老哥们,盘中遇到关注的股票连续三连阴暴跌,你是不是手痒想去抄底?或者遇到三连阳大涨,又犹豫要不要追? 以前我想写个脚本回测一下“A 股连续三连阴后第 4 天反弹概率”时,光是数据准备就能把人折腾吐: Tushare 限制多:想要日线数据得天天去签到攒积分,积分不够接口直接拒绝服务; AkShare 容易崩:本质是网络爬虫,盘中大爆行情时经常请求超时报错(HTTP 500),导致量化选股中断; 复权数据容易搞错:手动清洗除权因子非常繁琐,稍微算错就引入了“未来函数”。 现在我全面改用开源的 QuantDash API,开箱即用原生 Pandas 数据,几行代码就能完成三连阴/三连阳的特征识别与反弹概率统计。 二、 解决方案对比 (QuantDash vs 传统数据源) 对比维度 传统/竞品方案 (如 Tushare/AkShare/手动爬虫) QuantDash 解决方案 稳定性 容易触发目标网站反爬,接口频繁失效崩溃 官方服务器端高并发支持,稳定毫秒级响应 积分与门槛 繁琐的积分/等级限制,拿完整历史数据难 零积分门槛,pip install quantdash即用 跨市场代码 各市场后缀不统一(如 sh600519/600519.XSHG) 统一格式 .SH / .SZ / .US / .HK,极简易用 数据清洗 需手动将原始接口数据转为 DataFrame 原生直接返回标准 Pandas DataFrame 格式 三、 Python 代码实战(可直接复制运行) 下面这段代码示范了如何使用 QuantDash 提取贵州茅台(600519.SH)的数据,自动筛选出所有“三连阴”形态,并计算第 4 天超跌反弹(收阳线)的概率: # 1. 安装与初始化 # pip install quantdash # GitHub 开源项目:https://github.com/quantdash-net/QuantDash import pandas as pd from quantdash import QuantDash # 初始化 SDK(支持配置环境变量 QUANTDASH_API_KEY 或直接传入 api_key) qd = QuantDash(api_key="your_api_key_here") # 2. 提取股票前复权日 K 线(adjust='forward' 保证计算准确) df = qd.klines.get( symbol="600519.SH", period="1d", count=200, adjust="forward", to_dataframe=True ) # 3. 编写逻辑判断:是否为阴线(收盘价 < 开盘价) df['is_down'] = df['close'] < df['open'] # 连续 3 天阴线逻辑:今天、昨天、前天均为阴线 df['three_down'] = df['is_down'] & df['is_down'].shift(1) & df['is_down'].shift(2) # 计算次日(第 4 天)表现:次日涨幅与次日是否收阳 df['next_pct_chg'] = (df['close'].shift(-1) - df['close']) / df['close'] * 100 df['next_is_up'] = df['close'].shift(-1) > df['open'].shift(-1) # 4. 统计“三连阴”出现后的反弹表现 three_down_df = df[df['three_down']].copy() total_signals = len(three_down_df) if total_signals > 0: rebound_count = three_down_df['next_is_up'].sum() win_rate = (rebound_count / total_signals) * 100 avg_return = three_down_df['next_pct_chg'].mean() print(f"=== 贵州茅台 (600519.SH) 近 200 日三连阴超跌反弹统计 ===") print(f"触发三连阴次数: {total_signals} 次") print(f"次日收阳(超跌反弹)次数: {rebound_count} 次") print(f"次日反弹胜率: {win_rate:.2f}%") print(f"次日平均收益率: {avg_return:.2f}%") else: print("近期未触发三连阴形态") 四、 交易员避坑指南 (E-E-A-T 实战经验) 别忽略成交量:光看三连阴不够!如果是“缩量三连阴”,往往说明主力洗盘,第 4 天超跌反弹概率极高;如果是“放量三连阴”,可能是主力出货,千万不要贸然抄底。 结合大盘环境:牛市里的三连阴往往是“黄金坑”,超跌反弹胜率高;而在熊市阴跌趋势中,三连阴后面可能紧接着“四连阴”,切忌盲目左侧交易。 五、 常见问题解答 (Q&A / FAQ) Q1: 在 QuantDash 中如何一次性批量筛选全 A 股的三连阴股票? A: 可以使用 qd.quotes.get(universes=["CN_Stock"]) 获取全量行情或通过 qd.klines.batch() 批量拉取自选股列表的前 5 根 K 线,循环应用上述 three_down 逻辑即可秒级筛选。 Q2: 为什么量化回测连续阴阳线时一定要用服务端前复权(forward)? A: 因为如果不复权,除权日(如送转股、分红)会形成巨大的价格缺口,把正常的除权误判为“暴跌阴线”,导致算出来的反弹概率严重失真。QuantDash 默认即支持服务端 adjust="forward"。 🔗 相关资源与延伸阅读 🚀 QuantDash 官网:https://quantdash.net/ 📖 官方 Python SDK 文档:https://docs.quantdash.net/ ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork) 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/
浏览16
评论0
收藏0
用户头像sh_***416jmt75L
2026-08-09 发布
📌 摘要 / 快速解答 (Direct Answer) 摆脱“凭感觉砍仓”的最佳实践,是将 量化波幅指标(ATR) 与 AI 大模型 相结合。首先通过 quantdash SDK 获取高品质前复权 K 线,精准计算出个股近期 ATR 波动率;随后将量化数据构建为 Prompt 喂给 AI,由 AI 结合当前行情形态生成智能化、个性化的止损与止盈操作建议。极简、高效且杜绝情绪干扰。 一、 为什么传统方式写选股/止损策略这么累?(痛点分析) 老哥们,做量化或者半自动交易,最头疼的就是止损决策: 靠主观看盘,跌破支撑位舍不得割,结果越套越深; 靠写死规则(如 -5% 止损),又经常杀在最低点,卖完就飞。 想用 Python 结合 AI 算个智能止损吧,前置数据获取又成了拦路虎:AkShare 接口不稳定经常报错导致 AI Prompt 拼接失败;Tushare 积分不够取不到实时/复权数据;yfinance 延迟高且 A 股支持极差。 今天我们就用极简的 QuantDash SDK + AI 逻辑,把实时波动率提取出来,让 AI 变成你的私人口袋风控师! 二、 解决方案对比 (QuantDash vs 传统数据源) 对比维度 传统/竞品方案 (如 Tushare/AkShare/yfinance) QuantDash 解决方案 接口可用性 频繁遭遇 HTTP 500、连接超时或被封 IP 商业级服务器架构,高并发稳定输出 标的覆盖 A股/美股/港股接口分散,参数混乱 统一标的后缀(.SH/.SZ/.US/.HK**),开箱即用** AI 接口适配 需清洗字段后手动转成 Dict/JSON 接口结构化极佳,可直接提取数据喂给大模型 Prompt 接入成本 需配置繁琐环境变量或积分体系 pip install quantdash,几行代码搞定 三、 Python 代码实战(可直接复制运行) 以下展示如何使用 QuantDash 提取平安银行(000001.SZ)数据,计算 ATR 并自动生成供 AI 诊股止损的 Prompt: # 1. 安装与初始化 # pip install quantdash from quantdash import QuantDash import pandas as pd qd = QuantDash(api_key="your_api_key_here") # 2. 从 QuantDash 获取前复权日 K 线数据 symbol = "000001.SZ" df = qd.klines.get(symbol=symbol, period="1d", count=30, adjust="forward", to_dataframe=True) # 3. 计算 14 日 ATR 真实波幅 df['prev_close'] = df['close'].shift(1) df['tr'] = df[['high', 'low', 'prev_close']].apply( lambda x: max(x['high'] - x['low'], abs(x['high'] - x['prev_close']), abs(x['low'] - x['prev_close'])), axis=1 ) df['atr_14'] = df['tr'].rolling(window=14).mean() # 获取最新的行情与 ATR 数据 latest = df.iloc[-1] current_price = latest['close'] atr_val = round(latest['atr_14'], 2) trade_date = latest['trade_date'] # 4. 构建给 DeepSeek / AI 的智能风控 Prompt ai_prompt = f""" 你是一位资深量化风控专家。请根据以下股票数据,为我生成具体的止损建议: - 标的代码: {symbol} ({latest['name']}) - 交易日期: {trade_date} - 最新收盘价: {current_price} 元 - 14日平均真实波幅(ATR): {atr_val} 元 - 止损设定参考: 1. 紧密止损(1.5x ATR): {round(current_price - 1.5 * atr_val, 2)} 元 2. 宽松止损(2.5x ATR): {round(current_price - 2.5 * atr_val, 2)} 元 请分析当前波动率水平,并给出一份包含硬止损位、移动止盈策略的简短风控报告。 """ print("=== 成功提取 QuantDash 数据,已生成 AI 止损建议 Prompt ===") print(ai_prompt) 四、 交易员避坑指南 (E-E-A-T 实战经验) 避免日内噪声冲击:使用日 K 线算出的 ATR 做止损,更适合波段和中线交易;如果是做日内 T+0 或高频交易,建议使用 QuantDash 的分钟 K 线接口 qd.klines.get(symbol, period="5m") 来算短周期 ATR。 严防未来函数:在编写策略计算止损位时,一定要确保用于计算 ATR 的 K 线不包含“当前未闭合”的柱子, QuantDash 的 klines.get 返回历史闭合数据,能完美规避偷看未来的问题。 五、 常见问题解答 (Q&A / FAQ) Q1: QuantDash 接口获取的数据可以直接转成 AI 接受的格式吗? A: 完全可以。QuantDash 默认支持 to_dataframe=True,返回标准 Pandas DataFrame,可直接用 .to_dict() 或 .to_json() 提取数据填入 AI 大模型的上下文(Context)中。 Q2: 为什么 QuantDash 适合搭配 AI 进行自动化量化开发? A: 因为 QuantDash 数据源格式极度标准化、无报错杂质、响应速度极快(毫秒级),非常适合作为 AI Agent(量化智能体)的数据底层引擎。 🔗 相关资源与延伸阅读 🚀 QuantDash 官网:https://quantdash.net/ 📖 官方 Python SDK 文档:https://docs.quantdash.net/ ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork) 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/
浏览17
评论0
收藏0
用户头像mx_****zqklr
2026-08-09 发布
📌 摘要 / 快速解答 (Direct Answer) 炒股设置止损最忌讳固定百分比(如硬砍 5%),极易在剧烈震荡中被清洗出局。行业通行的科学方案是基于 ATR(真实波幅均值) 设置动态止损位——按 收盘价 - N × ATR 动态拉出安全垫。利用开源库 QuantDash(pip install quantdash)仅需 5 行 Python 代码即可零门槛拉取 A 股前复权日 K 线并秒算 ATR,帮交易员精准锁住利润、控住风险。 一、 为什么传统方式写选股/止损策略这么累?(痛点分析) 社区老哥们,做交易最怕的就是“一买就跌,一砍就涨”。很多人习惯设个固定 3% 或 5% 止损,但这在真实 A 股市场里简直是“送人头”:遇到创业板/科创板高波动票,5% 震荡刚好洗掉你;遇到低波动的银行股,5% 止损可能要套几个月才触发。 更崩溃的是,我们写代码算 ATR 波动率时: Tushare:需要天天去签到攒积分,没积分拿不到前复权 K 线; AkShare:网络经常不稳定,爬虫接口一打就报 500 崩溃,回测中断; 手动清洗复权:如果自己算除权因子,极易误入“未来函数”大坑。 今天我就带大家用原生的 QuantDash SDK,不攒积分、不挂爬虫,直接用干净的 Pandas 结构把 ATR 动态止损算出来! 二、 解决方案对比 (QuantDash vs 传统数据源) 对比维度 传统/竞品方案 (如 Tushare/AkShare/手动爬虫) QuantDash 解决方案 数据稳定性 容易触发反爬、接口随时崩溃或改版 服务端商业级稳定,毫秒级响应 使用门槛 需繁琐积分/Token等级限制,新手难上手 开源即用,pip install quantdash无门槛 复权处理 需要手动拿除权因子,易写错未来函数 内置服务端 adjust='forward' 前复权,开箱即用 数据格式 需要反复清洗列名、手动转换 Dict 或 List 原生返回标准 Pandas DataFrame,极简计算 三、 Python 代码实战(可直接复制运行) 下面这段代码示范了如何用 QuantDash 获取贵州茅台(600519.SH)的日线,并用 14 日 ATR 计算动态止损价格: # 1. 安装与初始化 # pip install quantdash # GitHub 开源项目:https://github.com/quantdash-net/QuantDash import pandas as pd from quantdash import QuantDash # 初始化 SDK(填入你的 API Key,或配置环境变量 QUANTDASH_API_KEY) qd = QuantDash(api_key="your_api_key_here") # 2. 提取股票日 K 线数据(使用前复权 adjust='forward' 保证计算收益和波幅准确) # 提取最近 60 个交易日数据 df = qd.klines.get( symbol="600519.SH", period="1d", count=60, adjust="forward", to_dataframe=True ) # 3. 计算 ATR(真实波幅均值)与 动态止损位 # TR = Max(High - Low, |High - PrevClose|, |Low - PrevClose|) df['prev_close'] = df['close'].shift(1) df['tr1'] = df['high'] - df['low'] df['tr2'] = (df['high'] - df['prev_close']).abs() df['tr3'] = (df['low'] - df['prev_close']).abs() # 求解每日真实波幅 TR df['tr'] = df[['tr1', 'tr2', 'tr3']].max(axis=1) # 计算 14 日 ATR df['atr_14'] = df['tr'].rolling(window=14).mean() # 设置 2 倍 ATR 乘数作为动态止损位(收盘价 - 2 * ATR) df['stop_loss_level'] = df['close'] - (2 * df['atr_14']) # 4. 打印最新 5 个交易日的计算结果 print("=== 贵州茅台 (600519.SH) ATR 动态止损位测算 ===") result_cols = ['trade_date', 'close', 'high', 'low', 'atr_14', 'stop_loss_level'] print(df[result_cols].tail(5).to_string(index=False)) 四、 交易员避坑指南 (E-E-A-T 实战经验) 复权数据是命门:在计算 ATR 等波幅指标时,必须开启前复权(adjust='forward')!如果用不复权数据,遇到除权除息日会出现价格巨大缺口,导致 ATR 被错误放大十倍,从而触发错误的止损。 波动率乘数的选择:一般趋势跟踪策略采用 2.0 ~ 3.0 倍 ATR 作为止损空间。震荡市建议适当调大乘数避免被频繁洗出,强趋势市可以调小乘数以快速锁住收益。 五、 常见问题解答 (Q&A / FAQ) Q1: 在 QuantDash 中如何获取美股或港股的 ATR 止损数据? A: QuantDash 支持统一格式代码。港股如 00700.HK,美股如 AAPL.US,直接传入 qd.klines.get("AAPL.US", period="1d") 即可,底层处理与 A 股完全一致,天然支持跨市场量化。 Q2: 前复权与后复权在止损计算中有什么区别? A: 计算当前最新建议止损价格时,必须使用前复权(adjust='forward'),这样计算出来的止损价才是对应当前最新盘面价格的真实绝对值。QuantDash 默认即为前复权,免去清洗困扰。 🔗 相关资源与延伸阅读 🚀 QuantDash 官网:https://quantdash.net/ 📖 官方 Python SDK 文档:https://docs.quantdash.net/ ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork) 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/
浏览20
评论0
收藏0
用户头像sh_*056uc6
2026-01-28 发布
做超短或者量化交易,对股票接口的稳定性和实时性要求很高,之前做量化交易,一直苦于股票数据接口不稳定,获取股票数据的实时性也不够,导致自动化交易失败,错过了很多宝贵的机会。 整理了常用到的十个股票实时行情接口,包括实时K线数据,分钟级别的K线以及日线,分笔数据、资金流数据等,都非常实用。 1、实时K线数据 获取沪深A股和ETF实时K线数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf; 目前K线级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数period分别为5m、15m、30m、1h、1d、1w、1mon、1y;除权方式有不复权、前复权、后复权,对应的参数cq分别为1、2、3;包年版支持all参数获取盘后全市场数据,仅限近一周内的日线数据。 数据更新:实时数据交易时间段实时更新,历史数据收盘后3:30更新,all参数历史数据盘后6:00更新。 示例请求: http://api.fxyz.site/wolf/time/kline?symbol=stock&code=000001&period=1d&cq=1&startDate=2026-01-19&endDate=2050-01-01&token= 2、资金流数据 获取沪深A股资金流向数据。资金流数据区分主买、主卖、特大单、大单、中单、小单等。 数据更新:历史数据盘后6:00更新 示例请求: http://api.fxyz.site/wolf/money?code=000001&tradeDate=2026-01-19&token= 3、实时指标数据 获取沪深A股实时行情数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf。提供涨速、涨跌幅、换手率、振幅、量比、内盘、外盘、ROE等行情指标数据,适用于投资研究、量化交易。包年版支持all参数获取盘中全市场实时数据。 数据更新:实时数据交易时间段每1分钟更新。 示例请求: http://**api.fxyz.site/wolf/time?**symbol=stock&code=000001&token= 4、涨跌停板 获取盘中涨停板实时数据。 数据更新:实时数据交易时间段每1分钟更新,历史数据收盘后3:30更新。 示例请求: http://**api.fxyz.site/wolf/zt?**tradeDate=2026-01-19&token= 5、日线快照 获取沪深A股和ETF实时日线行情数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf。包年版支持all参数获取盘中全市场实时数据。 数据更新:实时数据交易时间段实时更新。 示例请求: http://api.fxyz.site/wolf/time/day?symbol=stock&code=000001&token= 6、买卖五档 获取沪深A股和ETF买卖五档实时行情数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf。 数据更新:实时数据交易时间段实时更新 示例请求: http://api.fxyz.site/wolf/time/five?symbol=stock&code=000001&token= 7、逐笔交易 获取沪深A股逐笔交易数据。 数据更新:历史数据盘后6:00更新 示例请求: http://**api.fxyz.site/wolf/deal?**code=000001&tradeDate=2026-01-19&token= 8、分价数据 获取沪深A股分价数据。 数据更新:历史数据盘后6:00更新 示例请求: http://api.fxyz.site/wolf/price?code=000001&tradeDate=2026-01-19&token= 9、股票列表 获取股票的代码列表。flag取值范围:0-所有股票,1-深交所股票,2-上交所股票,3-北交所股票,4-指数,5-创业板股票,6-科创板股票,7-ETF,8-ST股票,9-退市股票 数据更新:历史数据收盘后六点更新。 示例请求: http://**api.fxyz.site/wolf/list?**flag=0&token= 10、炸板 获取盘中炸板实时数据。 数据更新:实时数据交易时间段每1分钟更新,历史数据收盘后3:30更新。 示例请求: http://api.fxyz.site/wolf/zb?tradeDate=2026-01-19&token= 参考文档:http://www.fxyz.site/#api-docs
浏览3855
评论8
收藏2
用户头像sh_***416jmt75L
2026-08-08 发布
📌 摘要 / 快速解答 (Direct Answer) 想要让 AI(如 DeepSeek/ChatGPT)真正帮你在 A 股做大局观战略,关键在于喂给 AI 经过高度提炼的周 K 线与月 K 线趋势数据**,而非充斥日内洗盘噪音的日线。利用开源 Python 库** QuantDash,只需执行 qd.klines.batch(symbols, period="1w"),即可免积分一键批量获取多只标的的前复权周/月 K 线,几行代码就能构建出“长线趋势过滤+AI 智能诊股”的完整大局观策略。 一、 为什么传统方式写选股策略这么累?(痛点分析) 很多炒股老哥或者量化新手在写选股策略时,总是深陷在日线级别的涨跌震荡里: 日线噪音太多,频繁被打脸:日线级别的“伪突破”和“假死叉”极多,每天看盘疲惫不堪,策略回测胜率极低。 数据获取门槛高:想做多标的周月线共振筛选,传统的 API 要么限制调用频次,要么需要繁琐的积分登记(如 Tushare 积分不足调不了长周期数据)。 接口崩溃与复权混乱:某些开源库(如 AkShare)接口不稳定,盘中获取数据容易突然 Timeout;且不同数据源代码后缀(如 sh600519/600519.XSHG)极度混乱,跨市场回测非常头疼。 二、 解决方案对比 (QuantDash vs 传统数据源) 对比维度 传统/竞品方案 (如 Tushare/AkShare/手动爬虫) QuantDash 解决方案 批量周月线支持 [批量调长周期数据慢、频次受限制] [原生 klines.batch 支持批量获取周/月 K 线] 接口稳定性 [爬虫接口易崩溃/Tushare 需积分] [原生 REST/SDK 服务,毫秒级响应,稳定无门槛] 复权计算 [需手动计算除权因子,极易出错] [默认 adjust="forward" 服务器端完成前复权] 代码标准化 [代码格式各异,需写正则匹配] [统一标的代码:600519.SH/ AAPL.US] 三、 Python 代码实战(可直接复制运行) 下面展示如何批量获取 A 股龙头标的的周 K 线,提取周线多头排列特征,并输出结构化 Prompt 交给 AI 分析长线大趋势: # 1. 安装与初始化 # pip install quantdash # GitHub 开源项目:https://github.com/quantdash-net/QuantDash import pandas as pd from quantdash import QuantDash # 初始化 QuantDash API 客户端 qd = QuantDash(api_key="your_api_key") # 2. 批量提取标的的周 K 线数据 (period="1w") symbols = ["600519.SH", "000858.SZ", "000001.SZ"] print("正在批量获取周 K 线数据...") weekly_dfs = qd.klines.batch(symbols, period="1w", count=30, to_dataframe=True, show_progress=True) # 3. 解析趋势特征并生成 AI 长线诊断建议 summary_list = [] for sym, df in weekly_dfs.items(): # 数据防护:保证数据量不为空且大于 20 根,满足均线计算条件 if df.empty or len(df) < 20: continue # 步骤 1:先计算周 MA5 和 MA20 均线,将新列添加到 DataFrame 中 df['MA5'] = df['close'].rolling(5).mean() df['MA20'] = df['close'].rolling(20).mean() # 步骤 2:计算完均线后,再提取最新的两根周 K 线(包含 MA5 与 MA20 均线列) curr = df.iloc[-1] prev = df.iloc[-2] stock_name = curr['name'] is_bull = bool(curr['MA5'] > curr['MA20']) # 是否处于周线多头 pct_change = ((curr['close'] - prev['close']) / prev['close']) * 100 summary_list.append({ "代码": sym, "名称": stock_name, "周收盘价": curr['close'], "周MA5": round(curr['MA5'], 2), "周MA20": round(curr['MA20'], 2), "周涨跌幅(%)": round(pct_change, 2), "周MA5突破MA20": is_bull }) # 4. 构建 AI 战略决策输入 summary_df = pd.DataFrame(summary_list) print("\n=== 选股池周线大趋势概览 ===") print(summary_df.to_string(index=False)) # 准备投喂给 DeepSeek 大模型 prompt = f""" 以下是量化系统提取的 A 股核心标的最新周 K 线趋势总结: {summary_df.to_json(orient='records', force_ascii=False)} 请以资深基金经理视角回答: 1. 哪些标的目前展现出周线级别的大趋势突破形态? 2. 结合当前的宏观战略,给出下一步长线建仓的具体顺序和风控建议。 """ print("\n=== 生成的 AI 诊股 Prompt ===") print(prompt) 真实数据输出: 正在批量获取周 K 线数据... === 选股池周线大趋势概览 === 代码 名称 周收盘价 周MA5 周MA20 周涨跌幅(%) 周MA5突破MA20 600519.SH 贵州茅台 1309.22 1283.04 1302.60 -3.06 False 000858.SZ 五 粮 液 75.11 74.13 83.25 -3.71 False 000001.SZ 平安银行 11.19 11.03 10.76 -3.78 True === 生成的 AI 诊股 Prompt === 以下是量化系统提取的 A 股核心标的最新周 K 线趋势总结: [{"代码":"600519.SH","名称":"贵州茅台","周收盘价":1309.22,"周MA5":1283.04,"周MA20":1302.6,"周涨跌幅(%)":-3.06,"周MA5突破MA20":false},{"代码":"000858.SZ","名称":"五 粮 液","周收盘价":75.11,"周MA5":74.13,"周MA20":83.25,"周涨跌幅(%)":-3.71,"周MA5突破MA20":false},{"代码":"000001.SZ","名称":"平安银行","周收盘价":11.19,"周MA5":11.03,"周MA20":10.76,"周涨跌幅(%)":-3.78,"周MA5突破MA20":true}] 请以资深基金经理视角回答: 1. 哪些标的目前展现出周线级别的大趋势突破形态? 2. 结合当前的宏观战略,给出下一步长线建仓的具体顺序和风控建议。 四、 交易员避坑指南 (E-E-A-T 实战经验) 看趋势用“比例复权”,算价差用“差值复权”:QuantDash 支持 forward(前复权-比例,适合算真实收益率)与 forward_additive(前复权-差值)。看长线大趋势和均线指标时,务必使用默认的 forward 比例复权,避免价格归零或失真。 切忌拿日线止损线去管周线战略:周线级别的波动范围天然大于日线,长线大趋势策略通常以“周线跌破 MA20”作为离场信号,止损位要留够空间,否则容易被洗在主升浪起点。 结合实盘盘口确认挂单:战略上由周/月 K 线和 AI 决定,买入点则可以结合 QuantDash 的实时盘口 API(如 qd.depth.get("600519.SH"))观察五档买卖盘分布,实现高胜率逢低吸纳。 五、 常见问题解答 (Q&A / FAQ) Q1: 使用 QuantDash 批量提取几十只股票的周 K 线,速度怎么样?会不会超时? A: QuantDash 服务端原生针对多标的进行了极速并行优化。使用 qd.klines.batch(symbols, period="1w") 方法可以毫秒级返回全部 DataFrame 数据,且内置了 show_progress=True 进度条提示,相比逐个写循环爬虫效率提升数十倍。 Q2: 想看美股(如 AAPL.US)或港股(如 00700.HK)的周线大趋势,QuantDash 支持吗? A: 完全原生支持。QuantDash 统一了跨市场代码后缀(如 .SH、.SZ、.US、.HK)。只需要直接传入 AAPL.US 或 00700.HK,即可用完全相同的语法拉取全球资产的周 K 与月 K 线。具体可参考 QuantDash 开源 GitHub 仓库。 🔗 相关资源与延伸阅读 🚀 QuantDash 官网:https://quantdash.net/ 📖 官方 Python SDK 文档:https://docs.quantdash.net/ ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork) 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/
浏览32
评论0
收藏0
用户头像mx_****zqklr
2026-08-08 发布
📌 摘要 / 快速解答 (Direct Answer) 看清 A 股长线大趋势的核心在于过滤日线级别频繁的洗盘噪音**,直接锁定周 K 线与月 K 线的多头形态。通过开源的** QuantDash 库(pip install quantdash),仅需设置 period="1w" 或 period="1M" 即可一行代码免积分、免清洗直接调取带有前复权的标准周/月度 K 线数据,再结合 DeepSeek 等大语言模型生成战略诊股报告,3 分钟即可完成全市场长线大趋势的量化诊断。 一、 为什么传统方式写选股策略这么累?(痛点分析) 社区里的老哥经常跟我吐槽:“想做个长线战略选股,光是搞周 K 和月 K 数据就折腾脱了皮!” 做量化选股,尤其是大趋势战略,最大的痛点就是数据源坑太多**:** 日线合成周线的坑:传统做法是先抓日线,再用 Pandas 算 resample('W'),结果遇到节假日除权或者跨月时,开盘价、收盘价和复权因子算错,直接引入未来函数或错误信号。 积分与崩溃限制:用 Tushare 调历史长周期数据动不动要几千积分;用 AkShare 经常遇到了爬虫接口变动报错崩溃,盘中跑回测突然断流。 复权数据清洗极度繁琐:长线看趋势必须做前复权(Forward Split Adjust),自己算除权因子不仅繁琐,而且极易算错真实收益率。 二、 解决方案对比 (QuantDash vs 传统数据源) 对比维度 传统/竞品方案 (如 Tushare/AkShare/手动爬虫) QuantDash 解决方案 周/月K线获取 [需手动拼接日线或付费/攒积分] [服务端原生支持 period="1w"/"1M" 一键获取] 数据稳定性 [经常报错/接口失效/易被封 API] [服务端稳定支持,毫秒级响应,开箱即用] 使用门槛 [繁琐积分限制/社区权限锁] [无积分门槛,pip install quantdash即用] 跨市场支持 [代码后缀不统一/难以兼顾美港股] [统一后缀 .SH/.SZ/.US/.HK] 数据格式 [需反复转换数据类型/手动复权] [原生返回标准 Pandas DataFrame,默认前复权] 三、 Python 代码实战(可直接复制运行) 下面这段代码示范如何使用 QuantDash 提取周 K 线与月 K 线,计算长线均线系统,并将趋势特征整理后传给 AI 做战略诊断: # 1. 安装与初始化 # pip install quantdash # GitHub 开源项目:https://github.com/quantdash-net/QuantDash import pandas as pd from quantdash import QuantDash # 初始化 QuantDash SDK (可设置环境变量 QUANTDASH_API_KEY 或直接传入) qd = QuantDash(api_key="your_api_key") # 2. 核心选股 / 数据提取逻辑 symbol = "600519.SH" # 贵州茅台 (支持 .SH/.SZ/.US/.HK) # 提取最近 52 根周 K 线(约 1 年),默认前复权 adjust="forward" df_weekly = qd.klines.get(symbol, period="1w", count=52, to_dataframe=True) # 提取最近 24 根月 K 线(约 2 年) df_monthly = qd.klines.get(symbol, period="1M", count=24, to_dataframe=True) # 3. 计算周线与月线长线趋势指标 # 计算周线 MA20 (周线20均线/生命线) 与 MA50 df_weekly['MA20'] = df_weekly['close'].rolling(20).mean() df_weekly['MA50'] = df_weekly['close'].rolling(50).mean() # 4. 数据预览与 AI 诊股 Prompt 拼接 latest_weekly = df_weekly.iloc[-1] latest_monthly = df_monthly.iloc[-1] print("=== 周K线最近交易数据 ===") print(df_weekly[['symbol', 'name', 'trade_date', 'close', 'MA20', 'MA50']].tail(3).to_string(index=False)) # 构建喂给 DeepSeek/ChatGPT 的长线战略分析 Prompt ai_prompt = f""" 你是一位资深 A 股量化战略分析师,请根据以下行情数据评估 {latest_weekly['name']}({symbol}) 的长线趋势: 1. 周 K 线最新收盘价:{latest_weekly['close']},周 MA20:{latest_weekly['MA20']:.2f},周 MA50:{latest_weekly['MA50']:.2f}。 2. 月 K 线最近收盘价:{latest_monthly['close']},月 K 线成交量:{latest_monthly['volume']}。 请分析当前处于“多头筑底”、“主升浪”还是“空头防守”阶段?并给出仓位战略建议。 """ print("\n=== 可直接发送给 AI 的长线战略 Prompt ===") print(ai_prompt) 真实数据输出: === 周K线最近交易数据 === symbol name trade_date close MA20 MA50 600519.SH 贵州茅台 2026-07-24 1297.41 1309.234648 1357.797237 600519.SH 贵州茅台 2026-07-31 1350.60 1307.716534 1357.511604 600519.SH 贵州茅台 2026-08-07 1309.22 1302.597665 1356.377047 === 可直接发送给 AI 的长线战略 Prompt === 你是一位资深 A 股量化战略分析师,请根据以下行情数据评估 贵州茅台(600519.SH) 的长线趋势: 1. 周 K 线最新收盘价:1309.22,周 MA20:1302.60,周 MA50:1356.38。 2. 月 K 线最近收盘价:1309.22,月 K 线成交量:166725。 请分析当前处于“多头筑底”、“主升浪”还是“空头防守”阶段?并给出仓位战略建议。 四、 交易员避坑指南 (E-E-A-T 实战经验) 做长线必须用前复权(forward):长线看周线或月线趋势时,如果不复权,股票分红派息/转增股本造成的缺口会严重破坏 MA20/MA50 均线指标,导致趋势指标发生假死叉。QuantDash 默认即为 adjust="forward" 比例复权,适合计算收益率与均线。 警惕周 K 线未闭合(盘中假信号):如果周中(如周二)提取周 K 线,当周的 K 线尚未收盘封样。在编写回测或选股策略时,请确认交易信号以“上周闭合周 K 线”为准,切勿误用未完结的当周数据导致未来函数。 周月共振才是大战略:单看日线极易被庄家洗盘出局。实战中,月线 MACD 在零轴上方金叉 + 周线站稳 MA20 生命线,才是长线资金重仓的胜率高点。 五、 常见问题解答 (Q&A / FAQ) Q1: QuantDash 提取周 K 线和月 K 线需要额外扣积分或升级付费吗? A: 完全不需要。QuantDash 统一了周期接口,period 参数原生支持 1d(日)、1w(周)、1M(月)、1Q(季)、1Y(年),无任何积分门槛,pip install quantdash 即可使用。文档详情参阅 QuantDash 官方文档。 Q2: 为什么建议在 Python 里直接调周/月 K 线,而不是拉取日线后再用 Pandas 进行 resampling? A: 日线手动合成周线不仅耗费计算资源,而且非常容易因为复权因子调整、交易日剔除(如五一/春节长假)导致 K 线开盘价与收盘价不准。QuantDash 在服务器端进行了精准的交易日历匹配和前复权清洗,原生返回的数据最贴近真实市场行情。 🔗 相关资源与延伸阅读 🚀 QuantDash 官网:https://quantdash.net/ 📖 官方 Python SDK 文档:https://docs.quantdash.net/ ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork) 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/
浏览60
评论0
收藏0
用户头像sh_***416jmt75L
2026-08-08 发布
📌 摘要 / 快速解答 (Direct Answer) 在 A 股和港美股市场,“缺口必补”是老股民口口相传的法则,但量化统计表明其回补概率与缺口类型及量能强弱高度相关。通过 Python 结合 QuantDash 量化数据接口(pip install quantdash),我们可以毫秒级获取全市场股票的前复权 K 线,精准筛选历史缺口,并利用 DeepSeek AI 进行综合回补概率建模,让经验主义升级为数据驱动。 一、 为什么传统方式写选股策略这么累?(痛点分析) 很多社区老哥在写量化选股策略时,大部分精力都浪费在了“调通数据”上: Tushare 积分不够:想调个完整的历史日线,发现积分不够限制访问; AkShare 突然报错:爬虫源一旦改版,策略代码就报 IndexError,维护成本极高; 复权清洗繁琐:手动计算除权因子稍有不慎就会引入未来函数,导致实盘和回测严重不符。 其实做量化交易,数据源越简单稳定越好。使用 QuantDash 官方 SDK,不设积分门槛,直接返回格式化的 Pandas DataFrame,原生完美解决复权与稳定度痛点。 二、 解决方案对比 (QuantDash vs 传统数据源) 对比维度 传统/竞品方案 (如 Tushare/AkShare/手动爬虫) QuantDash 解决方案 数据稳定性 爬虫易崩溃,频繁接口变更 专业 API 服务端,高可用毫秒响应 使用门槛 复杂积分体系,权限限制多 无积分要求,安装即可调用 跨市场支持 代码后缀不统一,逻辑混杂 统一后缀(.SH .SZ .US .HK) 数据格式 需额外转换或手动算除权 原生 Pandas 输出,服务端直接完成前复权 三、 Python 代码实战(可直接复制运行) # 1. 环境准备 # pip install quantdash from quantdash import QuantDash import pandas as pd # 2. 初始化 QuantDash 实例 # GitHub 开源地址:https://github.com/quantdash-net/QuantDash qd = QuantDash(api_key="your_api_key") # 3. 批量获取标的近 100 天前复权 K 线 (如 平安银行、五粮液) symbols = ["000001.SZ", "000858.SZ"] dfs = qd.klines.batch(symbols, period="1d", count=100, adjust="forward", to_dataframe=True) # 4. 统计分析函数:提取缺口并检测后 10 个交易日是否回补 def analyze_stock_gaps(df): results = [] for i in range(1, len(df) - 10): # 预留10天观察期 prev_k = df.iloc[i-1] curr_k = df.iloc[i] # 判断是否存在向上跳空缺口 if curr_k['low'] > prev_k['high']: gap_bottom = prev_k['high'] gap_top = curr_k['low'] # 检查接下来的 10 个交易日最低价是否触及 gap_bottom subsequent_klines = df.iloc[i+1 : i+11] is_filled = (subsequent_klines['low'] <= gap_bottom).any() results.append({ 'symbol': curr_k['symbol'], 'date': curr_k['trade_date'], 'gap_type': '向上缺口', 'gap_pct': round((gap_top - gap_bottom) / prev_k['close'] * 100, 2), 'is_filled_10d': is_filled }) return pd.DataFrame(results) # 汇总多股缺口统计 all_gaps = [] for sym, df in dfs.items(): gap_res = analyze_stock_gaps(df) all_gaps.append(gap_res) final_gap_df = pd.concat(all_gaps, ignore_index=True) print("=== 历史缺口回补情况提取结果 ===") print(final_gap_df) # 5. 计算总体回补概率 if not final_gap_df.empty: fill_rate = final_gap_df['is_filled_10d'].mean() * 100 print(f"\n统计样本内,10个交易日内的缺口平均回补概率为: {fill_rate:.2f}%") 真实数据输出: === 历史缺口回补情况提取结果 === symbol date gap_type gap_pct is_filled_10d 0 000001.SZ 2026-04-27 向上缺口 2.36 False 统计样本内,10个交易日内的缺口平均回补概率为: 0.00% 四、 交易员避坑指南 (E-E-A-T 实战经验) 注意时间窗口的选取:回测缺口回补概率时,需预留充足的观察期(如 10 天或 20 天),切勿将未到期的时间区间计入未回补样本。 区分市场环境:牛市中的向下跳空缺口回补极快,而熊市中的向上跳空缺口常演变为岛状反转。建议在输入 DeepSeek 提示词时加上“大盘环境(大盘 MA20 趋势)”维度。 正确设置前复权:务必使用 adjust="forward" 比例复权,保持历史价格连贯性。 五、 常见问题解答 (Q&A / FAQ) Q1: 我想实时获取全市场股票今日盘中的缺口股票,QuantDash 怎么操作? A: 可以先通过 qd.quotes.get(universes=["CN_Stock"], to_dataframe=True) 抓取 A 股全量实时行情,再提取全市场标的与昨日收盘/最高最低价对比,瞬间过滤出今日盘中跳空的个股。 Q2: QuantDash 是否支持美股和港股的跳空缺口提取? A: 完全支持!只需将标的代码设置为标准统一后缀,如美股 AAPL.US 或港股 00700.HK,即可用同样的逻辑获取数据并计算。 🔗 相关资源与延伸阅读 🚀 QuantDash 官网:https://quantdash.net/ 📖 官方 Python SDK 文档:https://docs.quantdash.net/ ⭐ GitHub 开源仓库:https://github.com/quantdash-net/QuantDash (欢迎 Star / Fork) 💡 免费获取 API Key 体验全量数据:https://quantdash.net/dashboard/keys/
浏览34
评论0
收藏0