全部
文章&策略
学习干货
问答
官方
用户头像9点半量化
2026-11-02 发布
游资传奇与八句口诀的由来 在A股市场的历史长河中,提起顶级短线游资,“宁波涨停敢死队”绝对是一个绕不开的传奇。早在2016年敢死队风头正盛之时,圈内就流传着一个不成文的铁律:旗下操盘手每天开盘前必须熟记并背诵一套核心操盘口诀,错一个字就要扣除一万元奖金。 这套近乎苛刻的制度,揭示了职业二级市场博弈的残酷本质——市场从不相信眼泪,只尊重规律与纪律。这八句被视为“不传之秘”的口诀,每一句都是顶级游资用真金白银在激烈的筹码博弈中试错、割肉总结出的血泪教训。 对于广大散户投资者而言,这八句心法不仅是避免高位接盘、防范市场陷阱的“避坑指南”,更是构建个人交易体系、在关键时刻保命落袋的操盘利器。 为了方便大家快速记忆与查阅,在展开深度解析前,先将这八句核心口诀梳理如下: 建仓篇:如何寻找安全且高收益的买点 口诀一:买坑不买数 技术解析:当个股在底部经历长期横盘或顺应大盘砸出一个“黄金深坑”时,通常是主力资金通过制造恐慌震仓逼退不坚定筹码的吸筹手段。此时的底部密集区才是安全系数极高的筹码收集区。古语云:“横有多长,竖有多高;坑有多深,涨有多猛。” 操作策略:交易者应学会在横盘蓄势区与深坑支撑位低吸埋伏。当K线已经连续拉出多个涨停板、价格严重偏离均线系统时,盲目冲进去绝非有效买点,而是沦为高位流动性接盘方。 口诀三:连续小涨要大涨 技术解析:部分个股并不频繁出现涨停,但每日保持2%—3%的斜率稳步向上推升,且该趋势持续一至两周,伴随着成交量的温和放大。这一形态标志着主力正通过“试盘+隐蔽建仓”的方式持续收集筹码,筹码集中度显著提高且控盘度极佳。 操作策略:此类标的一旦完成温和放量突破,极易触发资金共振,演变为连续涨停的连板主升浪行情。持有此类形态的个股时,必须保持战略定力,切忌因微小收益中途离场。 口诀八:不挖深坑不见仓 技术解析:优质的风险收益比都是跌出来的。主力在启动大级别行情前,往往需要通过深幅回撤挤压出市场最后一批“死多头”的筹码,直到盘面抛压彻底枯竭。 操作策略:顶级交易者的核心品质是耐心。切记不可害怕踏空而提前建仓,必须耐心等待“黄金坑”形态确立。 风险提示:在运用“买坑”原则时,技术上须配合止跌信号与关键支撑位(如年线、前期平台底等)。若下跌无量且连破关键支撑,则需警惕陷阱,防止误入“下跌无底洞”。 逃顶篇:如何在狂热与诱多中落袋为安 在市场情绪达到顶峰或主力制造诱多陷阱时,落袋为安是区分职业选手与普通散户的分水岭。 口诀二:卖在人声鼎沸处 狂热市场现象:平时从不关注股票的群体开始打听股票标的;股吧与社交媒体满屏晒收益,市场情绪陷入极度狂热;菜市场与街头巷尾都在讨论股市;全网一致高喊“牛市来临”。 应对策略:游资界有一句至理名言:“敢死队不怕下跌,最怕全市场高喊牛市。” 当全市场都在高喊牛市、“人声鼎沸”之时,正是主力资金完成高位筹码派发最顺畅的窗口期。此时应坚决贯彻“别人贪婪我恐惧”的逆向思维,果断清仓离场。 口诀四:连续大涨要离场 狂热市场现象:个股在经历连续大涨或短线拉出两三个涨停板后,各类财经媒体开始铺天盖地报道利好,各大分析师与大V集中推荐。 应对策略:短线交易吃到两到三个涨停板收益已极其丰厚,切不可贪婪试图吃尽所有涨幅。媒体与大V的集中吹捧,往往是主力资金借市场热度出货的烟雾弹。把尾段行情与剩余利润留给市场,及时落袋为安才是锁定胜局的关键。 口诀七:快速冲高要回落 盘面诱多现象:早盘短时间内分时图急剧拉高,但全天迟迟无法封封死涨停板。此类走势大多为主力的分时拉高诱多套路——通过少量对倒资金迅速拉高股价吸引跟风盘,同时在上方高位派发筹码。 应对策略:切勿在早盘急速拉升时盲目追高,否则极易套在山顶。面对早盘急拉未封板的股票,必须保持冷静,耐心等待股价回落企稳、换手充分后再行评估,绝不追接诱多筹码。 辨析篇:量价关系看透主力“洗盘”与“出货” 在股价波动过程中,区分主力资金的真实意图到底是“震仓洗盘”还是“高位派发”,核心钥匙在于研判成交量与K线的相对匹配关系。 口诀五:急跌无量是洗盘 口诀六:急跌放量立马撤 以下为两种典型形态的对比分析: 缩量急跌(主力洗盘) 盘面特征:股价在涨停或大涨后突然急跌,但成交量相比拉升期显著缩减。 主力意图:主力通过控盘锁定筹码,利用快速下挫制造恐慌,震出浮筹。 应对动作:保持定力,切勿割肉在低位,避免倒在主升浪拉升的前夜。 放量急跌(主力出货) 盘面特征:股价在涨停或高位急转直下,同时伴随着成交量的剧烈放大。 主力意图:主力筹码松动并大举出逃,在跌势中不计成本地派发筹码。 应对动作:无需寻找任何借口,果断清仓离场,保住本金安全。 总结与核心心法:知易行难的终极考验 “宁波涨停敢死队”流传的这八句口诀,系统地构筑了短线交易中建仓、逃顶与量价辨析的完整逻辑闭环。其底层逻辑,归根结底是对人性的克服以及对市场规律的绝对敬畏——买在无人问津处,卖在人声鼎沸时;看清量价虚实,严守操作纪律。 然而,二级市场交易从来都是“知易行难”。正如顶级游资前辈在传授完八句口诀后留下的终极警示: “这些口诀不值钱,值钱的是你被套的时候还能不能记得住。” 在充满诱惑与恐慌的博弈中,真正决定投资人生死成败的,从来不是掌握了多少招式与口诀,而是在面对股价剧烈波动与账户盈亏考验时,能否将规则内化于心、外化于行,克服贪婪与恐惧。恪守纪律,保持耐心,方能在残酷的市场中立于不败之地。
浏览14
评论0
收藏0
用户头像sh_***174w0d
2026-11-02 发布
在股市二级市场交易中,绝大多数散户投资者都经历过一段极其痛苦的心理磨难:股价从 12 元跌到 10 元时,慌张感开始蔓延;当跌至 8 元、账户浮亏扩大到 30% 以上时,绝望与焦虑往往会驱使散户做出一个最具破坏性的决策——“无脑补仓”。 散户给出的理由通常是“摊薄持仓成本”,但内心的真实意图不过是“盼望快速回本”,寄希望于“只要成本拉得足够低,股价早晚会涨回来”。 作为一名深耕市场多年的资深投资顾问,我必须严正指出:**在下跌趋势中,****“越跌越补”**是极其致命的交易误区。 单边下跌从来不是市场在打折促销,而是主力资金在有计划地分批抽离流动性。 市场微观结构与主力意图博弈 散户认知误区*:以为股价下跌 20% 就已经企稳见底,急于掏空最后一口筹码盲目补仓,结果往往被扣在“地下室”的上方。 主力真实意图*:下跌趋势是机构与主力资金逐层出货、抽走资金的过程。散户满仓硬扛不仅帮主力接了盘,更彻底丧失了后续交易的主动权。 职业交易员遭遇被套时,绝不靠死扛,更不会盲目补仓,而是依靠一套严密的数据逻辑与微观筹码管理策略——“轮动解套法(滚动做T****)****”。通过“破位减仓、逢低吸纳、反弹兑现、回踩滚动”四大战术动作,在震荡与下行周期中抢回资金控制权。 案例实操:12万本金演练“解套四步法” 为了让大家透彻理解,我们以一个标准的 12 万元本金实战教学模型进行逐步拆解: 初始盘面设定:投资者账户本金 **12 **万元,在股价 **12 **元 时满仓买入 **1 **万股。买入后股价不幸破位下行,交易员如何通过“解套四步法”扭亏为盈? 【初始状态】持股: 10,000 股 | 可用现金: 0.0 万元 | 持仓市值: 12.0 万元 (参考价: 12元) 动作一:破位减仓,拿回主动权 **●**实战操作:当股价跌破支撑线至 **10 **元 时,绝不选择全额切腹式的盲目割肉,而是果断砍掉 40% 的仓位——卖出 **4000 **股,变现 **4 **万元 现金,手头保留 **6000 **股 作为核心底仓。 ●**微观逻辑:很多散户在这里无法理解:“跌了近 20% 还要卖,这不是割肉吗?”非也。此举的核心目的不是认输,而是重新夺回资金的主动权**。若股价继续下杀,手中握有现金才能在安全区低价接回筹码;若选择满仓硬扛,哪怕后续走出完美的“黄金坑”,你也只能眼睁睁错失良机。 [第一步后账户状态] 持仓: 6,000 股 | 可用现金: 4.0 万元 | 当前参考价: 10 元 动作二:逢低吸纳,低价攒筹码 **●**实战操作:股价继续顺势下探至 **8 **元 附近。若股票基本面无暴雷隐患、板块逻辑未彻底熄火,且成交量呈现显著缩量企稳态势、分时图不再出现放量杀跌,即为黄金低吸点。此时动用手中的 **4 **万元 现金,在 **8 **元 价位精准买入 **5000 **股。 **●**微观逻辑:完成低吸后,账户持仓变更为 **6000 **股底仓 + 5000 股浮仓 = 1.1 万股。对比非常鲜明:同样是 12 万元初始本金,躺平不动者依然只有 1 万股被套筹码,而你通过“先减后接”的逆向操作,在未追加任何本金的前提下,持股筹码已扩充至 1.1 万股。 [第二步后账户状态] 持仓: 11,000 股 | 可用现金: 0.0 万元 | 当前参考价: 8 元 动作三:反弹兑现,锁定现金 **●**实战操作:股价从 8 元展开超跌反弹,回升至 **10 **元。此时果断将低吸的 **5000 **股 浮仓抛出,成功收回 **5 **万元 现金。 **●**微观逻辑:10 元不仅是前期减仓的节点,更是前期支撑位跌破后转化的第一道重压位(套牢盘解套抛压与结构性阻力)。散户在此极易犯贪婪毛病,幻想股价一口气涨回 12 元乃至创新高。职业做T最忌讳“把浮盈差价做成意淫幻想”。卖出后持股恢复为 **6000 **股 底仓,但可用现金从 4 万元大幅增至 **5 **万元。股票数量未少,现金净增 1 万元,账户风险敞口极大收窄。 [第三步后账户状态] 持仓: 6,000 股 | 可用现金: 5.0 万元 | 当前参考价: 10 元 动作四:回踩滚动,滚大雪球 **●**实战操作:当股价在压力位遇阻、再次回踩至 **8 **元 支撑区时,拿出 **4.8 **万元 现金买入 **6000 **股,账户保留 **2000 **元 零头备用现金。 ●****技术警示(核心风控):此处的二次回踩必须是**“缩量回踩”****!** 如果股价回踩至 8 元时呈现放量杀跌或放量破位,说明主力资金正在倾泻式出货,此时必须严格暂停买入指令,绝不能盲目接刀子。 **●**微观逻辑:在确认缩量企稳后成功买入,持股总量进一步滚大至 **1.2 **万股,完美实现了筹码在低波动区间的滚雪球效应。 [第四步后账户状态] 持仓: 12,000 股 | 可用现金: 0.2 万元 | 当前参考价: 8 元 口诀提炼:滚动做T的十六字核心心法 为了便于记忆与实战应用,我们将职业交易员的解套精髓总结为十六字心法: 1.破位先减仓保住现金流 —— 趋势破位坚决减仓,锁定流动资金,夺回战术主动权。 2.逢低再低吸攒筹码 —— 跌至支撑缩量企稳,分批接回筹码,实现低成本扩仓。 3.反弹到压力位果断做兑现 —— 触及结构阻力果断出局,锁定现金落袋为安,切忌贪婪幻想。 4.回踩不破继续滚雪球 —— 再次缩量回踩确认支撑,重复滚动操作,实现资产雪球效应。 避坑指南:实战做T的三大硬性前提与人性考验 上述演练虽然精准,但实战盘面充斥着假突破、假反弹与单边无头下挫。实施“轮动解套法”必须严格满足以下三大硬性门槛: **1.**基本面绝对不能暴雷 标的股票绝不能存在财务造假、大股东违规占用资金、退市风险警示(*ST)等重大地雷。如果在暴雷股上试图做T解套,无异于在下坠的陨石上搭梯子,终将面临资产归零。 **2.**板块核心逻辑不能熄火 股票所属的产业链逻辑必须完好,市场关注度与换手率须维持活跃。若板块彻底边缘化,成交量枯竭成“僵尸股”,失去股价波动弹性,任何技术做T均会因流动性匮乏而失效。 **3.**必须具备铁一般的执行纪律 绝大多数散户做T失败,根本原因不在于技术指标,而在于无法克服人性弱点。低吸前必须严格设定卖出止盈点,卖出后必须严守回踩接回点。必须坚决杜绝“低位恐慌不敢买、高位贪婪舍不得卖”的散户通病。 T+1市场下的保命法则 在 A 股市场现行的 T+1 交易交收规则下,当天买入的股票无法实时卖出。因此,正确理解“底仓”与“浮仓”的战术辩证关系至关重要: 底仓是命,浮仓是刀。命不能乱丢,刀更不能乱挥。 底仓是你在 T+1 制度下发起日内做T交易的筹码基石,而浮仓则是你斩获差价现金流的机动战术力量。滚动做T的核心从来不是去预测市场绝对的最低点,更不是虚无缥缈地祈祷主力资金上门救场,而是通过主动的仓位再分配,将原本被动的亏损转化为主动的盈利空间。
浏览16
评论0
收藏0
用户头像sh_*219t3e
2026-09-23 发布
亲测最好用的AI编写量化策略工具,可以让 AI 直接生成同花顺Supermind上可运行的策略代码,代码质量远高于直接使用 DeepSeek、GPT等平台。 😃Supermind AI工具入口:https://easyquant.ai/ 大家可以直接向AI描述策略,然后一键生成可运行的完整策略代码,也可以把它当做一个API 查询工具。
浏览741
评论22
收藏0

高股息 增加牛熊市加减仓和持股时间调整等。内含策略代码

用户头像想知道能涨停吗
2025-02-12 发布
社区分享来的策略,增加了部分功能,判断牛熊市场对默认持仓日期和每日开仓数进行调整。策略中有每个指标调整值回测率的记录,方便调试。 在2024年2月6日至2025年1月31日之间,回测收益率超过100%,最大到过120左右。 目前存在问题:1、 24年2月起大盘大跌,目前还没有增加对大盘暴跌不开仓并清仓的处理能力,后期会逐步完善。 2、只进行回测和模拟,没有进入实盘,具体实盘收益不清楚。 从社区取得收获分享给社区。策略提供参考,有错误或优化建议请提出,在此表示感谢。
浏览2260
评论11
收藏20
策略回测收益图
用户头像sh_**711i03
2026-11-01 发布
融资融券杠杆资金3个月走势分析(2026/7/31 – 2026/10/29) 说明:最新交易日 10/30 的两融数据尚未收全(当日仅统计到 1.22 万亿,明显低于正常水平),图中以 10/29 为最新完整数据点。该篇报告由StockApi智能体自动化分析总结而来。 一、核心数据总表(两融余额单位:亿元) 日期 两融余额 融资余额 融资买入占成交额 阶段特征 7/31 26,113 — 9.54% 加杠杆初期 8/18 26,979★峰值 ~26,700 9.49% 杠杆冲顶(情绪最热) 8/20 26,664 26,395 9.02% 高位松动 8/31 26,647 26,355 — 横盘 9/18 26,382 26,087 8.02% 温和回落 9/30 25,699 25,405 — 单日融资净流出392 亿 10/16 24,889 24,597 6.30% 去杠杆加速 10/23 24,318 24,027 6.29% 31 个行业全线净流出 10/29 23,850 23,567 6.11% 仍在流出 关键变化:峰值→最新,两融余额减少 3,130 亿元(-11.6%),融资余额减少约 11%,融资买入占成交额从 9.80% 高点降至 6.11%(-38%)。 二、图形化:三个阶段一目了然 图1|两融余额阶梯式下降(每格 ≈100 亿,基数为 23,500 亿) 7/31 26,113 ██████████████████████████ 加杠杆 8/07 26,475 ██████████████████████████████ 8/14 26,739 ████████████████████████████████ 8/18 26,979 ███████████████████████████████████ ★峰值 8/28 26,647 ███████████████████████████████ 9/04 26,378 █████████████████████████████ 9/11 26,316 ████████████████████████████ 高位横盘 9/18 26,382 █████████████████████████████ 9/24 26,373 █████████████████████████████ 9/30 25,699 ██████████████████████ 拐点 10/09 25,597 █████████████████████ 10/16 24,889 ██████████████ 加速去杠杆 10/23 24,318 ████████ 10/29 23,850 ████ ← 仍在下行 图2|杠杆资金参与度(融资买入额/成交额,越靠右越冷) 8月 ▅██▇█▇▇██▇██▆▇ 均值 9.2% 过热区 9月 ▄▃▄▃▅▄▄▃▃▃▃▅▄▅ 均值 7.5% 降温 10月 ▂▂▂▂▂▁▁▂▂▂▁▁▂▁▃▁ 均值 6.4% 冷区 ↑8月17日峰值9.80% ↑10月22日低点5.97% ↑10/29 6.11% 图3|杠杆与指数同向下行,但创业板跌幅远大于杠杆收缩幅度 指标 8月高点 10/30 最新 区间涨跌 两融余额 26,979(8/18) 23,850(10/29) -11.6% 上证指数 3,990(8/18) 3,599.02 -9.8% 深证成指 14,704(8/17) 10,833.78 -26.3% 创业板指 3,740(8/17) 2,413.63 -35.5% 沪深300ETF — 4.065 元 -11.7% 成交同步萎缩:上证日成交额从 8/19 的 1.22 万亿降至 10/30 的 7,642 亿(-37%);创业板成交额从 7,348 亿降至 4,542 亿。量价与杠杆三者同步走弱,是典型的去杠杆下跌结构。 三、结构拆解:这不是空头行情,是多头去杠杆 融券端几乎没动:融券余额 9/30 为 293.96 亿,占两融余额仅 1.14%,全月基本持平(8/31 为 292.71 亿)。做空力量不是主导,纯多头撤退。 融资端连续大额净流出:9/30 单日 -392 亿、10/15 -314 亿、10/29 -263 亿、10/23 -243 亿、10/22 -234 亿。10 月 16 个交易日累计 -1,849 亿(-7.2%),去杠杆速度约为 9 月(-949 亿)的 ​2 倍。 行业上系统性撤出:10/12–10/16 当周 31 个申万一级行业仅 1 个获融资净买入,电子 -263.58 亿、通信 -121.55 亿、电力设备 -59.17 亿;10/19–10/23 当周 31 个行业全部净流出(电子 -134.34 亿、电力设备 -88.46 亿、通信 -86.16 亿)。→ 流出集中在科技成长,与创业板 -35% 完全对应。 杠杆水位仍偏高:两融余额占 A 股流通市值 10/16 为 2.70%、10/23 为 2.66%,仍高于历史常见的中枢水平(约 2.3%–2.5%)。这意味着去杠杆还有空间,尚未到“出清”状态。 四、结论 杠杆资金已明确转熊,且尚未见底:8/18 见顶后连续 2 个多月单边回落,累计 -3,130 亿;10 月流出速度还在加快,10/29 单日仍净流出 263 亿,没有任何企稳信号。 下跌由多头被动减仓和市值缩水造成,并非空头主动进攻:融券余额几乎零变化,说明这不是“做空砸盘”,而是杠杆多头在亏损中出现被动平仓与主动降杠杆的循环。 杠杆交易的市场弹性已大幅下降:融资买入占比 6.1%,意味着“杠杆资金推涨”的引擎熄火,市场进入缩量阴跌、反弹缺乏持续性的状态。 创业板的风险释放远未完成:创业板指跌 35.5%,而两融仅收缩 11.6%,且 2.66% 的杠杆水位仍偏高,成长股仍有被动平仓的潜在抛压。 从时间节奏看,10 月是主力去杠杆阶段,尚未结束;后续要确认底部,至少需要:单日融资净流出收窄至 50 亿以内、连续 3 日转为净买入,同时融资买入占比回到 7% 以上。目前两者均未出现。 操作建议 方向:观望(防御为主,不抄底)。杠杆去化未完成、指数处 3 个月新低,任何反弹都先按反抽处理。 标的: 防御底仓:沪深300ETF华泰柏瑞(510300),规模 1,578 亿元、流动性最好,近 3 个月 -11.7%,适合分批定投而非一次性买入; 抗跌替代:红利低波类策略(中证红利低波 100 近 3 个月仅 -1.2%,远强于沪深300 的 -11.7%),注意 159228 规模仅 1.07 亿、流动性一般,宜选同类规模更大的品种; 回避:电子、通信、电力设备(融资净流出前三的行业)及创业板高贝塔成长股。 板块概念:高股息红利、大盘价值、公用事业类防御;回避 AI 算力、半导体设备、锂电等融资盘密集的成长赛道。 仓位:权益总仓位降至 40%–50%,其中红利与宽基占七成以上;融资杠杆仓位清零,不要在下跌趋势中使用两融。 参考价位: 上证指数 3,600 已失守,下方观察 3,550 / 3,450;反弹压力区 3,700–3,750(10/19–10/21 密集成交区)、3,800–3,850; 创业板指 2,400 为心理关口,2,500–2,550(10/29 前成交密集区)为反弹压力。 风控: 若两融单日净流出再超 300 亿,权益仓位进一步降至 30% 以下; 创业板指有效跌破 2,400,成长类持仓无条件减半; 加仓的唯一触发条件——两融余额连续 3 个交易日净买入 + 融资买入占比回升至 7% 以上 + 指数站上 5 日均线并伴随成交额回升,三者同时满足才可加仓至 60%。 风险提示:以上内容基于StockApi智能体公开两融与行情数据的技术与资金面分析,不构成投资建议;杠杆资金数据存在统计口径差异,10/30 数据尚未收全,请以交易所官方披露为准。
浏览63
评论0
收藏0
用户头像sh_**711i03
2026-11-01 发布
游资活跃股共振:别人画像,你直接看聚合结果 本文由 StockApi 智能体基于最近游资活跃股、月游资排行榜与龙虎榜接口整理撰写,代码可直接运行复现。 引言 跟游资的难点从来不是"找不到游资",而是画像成本太高:拉三个月交割单、按席位统计胜率、再盯当日龙虎榜交叉验证——这套流程认真做完要一天,等你做完,行情走完了。 但有一类"懒人友好"的数据:平台已经替你完成聚合的游资信号。比如「最近五日各大游资买入金额大于 8000 万且关注度比较高的票」这种现成股池——它已经把"哪些票正在被多个大资金营业部反复光顾"这件事算好了。你要做的不是从零画像,而是把聚合股池、月度席位排行、当日龙虎榜三层共振起来用:股池给"最近谁热",月榜给"哪路游资在主导",龙虎榜给"今天有没有真金白银确认"。 策略原理 本篇用到StockApi的四个接口 接口(中文名) 路径 在策略里做什么 最近游资活跃股 /v1/activeYouziStocks 近 5 日游资大额买入 + 高关注度的聚合股池(10 次/天,必须落库,交易日 18:00 更新) 月游资排行榜单 /v1/youziRank 当月席位买入排行,识别主导资金风格 龙虎榜查询 /v1/base/dragonTiger 当日上榜明细与净买额,做最后确认 股票日/周/月 K 线行情 /v1/base/day 近 5 日涨幅,过滤已处高位的热度股(涨幅 > 60% 只看不买) 字段中文对照 字段 中文含义 备注 total_count 总上榜次数 近 5 日该票被游资关注的总次数 big_count 大额营业部次数 单笔 > 8000 万的营业部上榜次数 yyb_count 营业部个数 涉及的营业部数量,越分散越健康 diff_total_count 较昨日总次数变化 增量信号:今天又多了一批游资进来 diff_yyb_count 较昨日营业部个数变化 新营业部加入 = 关注度扩散 total_je_formatted 总净额(格式化字符串) 已格式化,数值比较需清洗 bk_info 所属板块 用于板块聚集度判断 close(日 K 口径) 个股收盘价 5 日涨幅 = 收盘 / 5 日前收盘 − 1,过滤高位票 buyAmountRatio 买入额占成交额比(龙虎榜口径) ≥ 5% 说明上榜买入是真仓位 三层共振流程(18:00 数据更新后) 热度层(游资活跃股接口):取 total_count ≥ 3 且 big_count ≥ 2 的票;重点看增量:diff_total_count > 0 或 diff_yyb_count > 0 的票——游资是做加法的票才有接力价值,次数开始环比下降的票是热度尾声。 主导层(月游资排行接口):确认当月排行前列的席位属于"接力型"还是"一日游型"——接力型席位主导的活跃股,次日参与胜率显著更高;这个判断不需要精算,看月榜前十的名字性质即可。 确认层(龙虎榜接口):候选票当日若上龙虎榜,要求买入额占成交额比 ≥ 5% 且净买额为正——把"热度高但今日实际在出货"的票剔除。 位置过滤(日 K 接口):近 5 日涨幅 > 60% 的票只观察不参与——游资活跃股里最危险的就是这些高位票,热度还在但赔率已经反转。 执行:通过全部过滤的票,次日开盘涨幅 ≤ 3% 参与,持有 3 个交易日,跌破买入价 5% 离场。 与"游资席位跟随"篇(前作)的分工:那一篇是从交割单自下而上画像(适合深研少数席位);这一篇是自上而下用聚合结果(适合每天批量过一遍全市场)。前者精度高、成本高;后者成本低、覆盖广。两条路都通,按精力分配。 为什么"增量字段"比"存量字段"值钱 活跃股池里 total_count 大的票,可能已经热了四天——你看到的时候就是接盘的时候。真正有预测力的是 diff_* 系列变化量: 状态 total_count diff_total_count 含义 动作 热度启动 3—5 +1 或更多 新游资刚进场 最佳介入窗口 热度维持 6—10 ≈ 0 老面孔原地踏步 观察,等增量 热度衰竭 ≥ 8 负数 游资开始撤 回避 聚合接口最容易被用成"买热度最高的票"——正好用反。存量表筛选,增量表决策,这是所有聚合类数据的通用法则。 Python 完整实现 import os import re import time import requests import pandas as pd TOKEN = os.getenv("STOCKAPI_TOKEN", "你的Token") BASE = "https://www.stockapi.com.cn/v1" def call(path, **params): params["token"] = TOKEN r = requests.get(f"{BASE}{path}", params=params, timeout=15) r.raise_for_status() d = r.json() if d.get("code") == 20000: return d["data"] raise RuntimeError(f"{path} 调用失败: {d.get('msg')}") def to_num(s): """清洗 'total_je_formatted' 这类格式化字符串(如 '1.2亿'、'3456万')""" if isinstance(s, (int, float)): return float(s) m = re.match(r"([\d.]+)(亿|万)?", str(s)) if not m: return None v = float(m.group(1)) return v * 1e8 if m.group(2) == "亿" else v * 1e4 if m.group(2) == "万" else v # ---------- 1. 热度层:活跃股池(每天最多 10 次调用,落库复用) ---------- def active_pool(trade_date): df = pd.DataFrame(call("/activeYouziStocks", tradeDate=trade_date) or []) if df.empty: return df for c in ["total_count", "big_count", "yyb_count", "diff_total_count", "diff_yyb_count"]: if c in df.columns: df[c] = pd.to_numeric(df[c], errors="coerce") if "total_je_formatted" in df.columns: df["total_je"] = df["total_je_formatted"].map(to_num) df["code"] = df["code"].astype(str).str.zfill(6) return df # ---------- 2. 日 K:5 日涨幅过滤高位票 ---------- def zf5(code): d = call("/base/day", code=code, startDate="2026-09-01", endDate="2026-10-29", calculationCycle=100) k = pd.DataFrame({c: v for c, v in d.items() if isinstance(v, list)}) k["time"] = pd.to_datetime(k["time"]) k = k.sort_values("time") k["close"] = pd.to_numeric(k["close"], errors="coerce") if len(k) < 6: return None return k["close"].iloc[-1] / k["close"].iloc[-6] - 1 # ---------- 3. 确认层:龙虎榜净买 ---------- def dragon_ok(code, trade_date): df = pd.DataFrame(call("/base/dragonTiger", tradeDate=trade_date) or []) if df.empty: return False for c in df.columns: try: df[c] = pd.to_numeric(df[c], errors="ignore") except (TypeError, ValueError): pass row = df[df["code"].astype(str).str.zfill(6) == code] if row.empty: return True # 未上榜不否决,交给热度层判断 return row["buyAmountRatio"].iloc[0] >= 5 # ---------- 4. 主流程:增量共振 ---------- def resonance(date): pool = active_pool(date) if pool.empty: return pd.DataFrame() hot = pool[(pool["total_count"] >= 3) & (pool["big_count"] >= 2) & ((pool["diff_total_count"] > 0) | (pool["diff_yyb_count"] > 0))] picks = [] for c in hot["code"]: z = zf5(c) # 高位票过滤:5 日涨幅 > 60% 只观察 if z is not None and z > 0.60: continue if dragon_ok(c, date): picks.append(c) out = hot[hot["code"].isin(picks)].copy() return out.sort_values("diff_total_count", ascending=False) res = resonance("2026-10-28") print(res[["code", "name", "total_count", "diff_total_count", "big_count"]].head(10).to_string(index=False)) 回测指标怎么读 指标 典型量级(示意) 说明 每日共振票数 1—6 只 增量条件过滤后并不多 3 日持有胜率 55%—65% 龙虎榜净买确认贡献主要 平均持有收益 2%—6% 3 日短持有,快进快出 最大风险 高位票断板补跌 用开盘 ≤ 3% 与 5% 止损控制 活跃股池每天只有 10 次调用,回测需逐日落库积累;先用龙虎榜 + 涨停池近似回放,落库两周后再用真实聚合数据校准。 参数与风控 参数 默认 调整方向 总上榜次数下限 3 提高到 5 更聚焦头部 增量条件 diff 任一 > 0 收紧为 diff_total_count ≥ 2 次日参与上限 开盘 ≤ 3% 高开太多的票次日溢价已被吃掉 持有期 3 交易日 游资接力周期通常不超过一周 风控三条: 接口 10 次/天的调用限额是硬约束:每天收盘后调用一次并落库,绝不在盘中浪费调用次数。 候选票若位于 5 日涨幅 > 60% 的位置,只观察不参与——游资活跃股里高危的正是这些高位票。 月榜席位的风格会漂移(接力型游资也会改打一日游),每月重新评估一次主导席位性质,不要用上个月的印象。 常见问题(FAQ) Q:活跃股池和交割单画像(游资席位跟随篇)数据有什么区别? A:活跃股池是平台预聚合的股票维度数据(哪些票热、增量如何),交割单是原始的席位维度数据(谁在买、买多少)。前者开箱即用但无法细拆席位;后者自由度最高但要自己写画像逻辑。按"批量筛选用池、深度研究用单"的原则分配。 Q:total_je_formatted 为什么是字符串? A:该字段是给人看的格式化文本("1.2亿")。做数值比较必须先清洗:正则提取数字与单位(亿/万),换算回元。代码里的 to_num 就是干这个的——直接 pd.to_numeric 会全部变 NaN。 Q:为什么候选票没上龙虎榜也算通过? A:龙虎榜有上榜门槛,游资小仓位试错的票不一定上榜。未上榜不否决,上榜才做净买校验——龙虎榜在这一层是"证伪工具"(发现上榜但净卖出的票),不是"证实工具"。
浏览41
评论0
收藏0
用户头像sh_**711i03
2026-11-01 发布
跌停池 × 炸板池:情绪冰点日的「错杀股」反抽 本文由 StockApi 智能体基于跌停股池、炸板股池、情绪周期与日 K 接口整理撰写,代码可直接运行复现。 引言 情绪冰点日是短线客最难熬、也是赔率最好的一天:跌停几十家、涨停寥寥无几,恐慌到连强势股都被砸出跌停。这种日子的第二天,市场经常出现技术性反抽——不是所有跌停都是该跌的,相当一部分是情绪错杀。 但抄跌停是所有抄底里最危险的姿势:真利空跌停后面还有十个跌停。这个策略的核心是区分「错杀」和「该杀」,靠三个结构证据:封单撤了多少(封不死说明有资金在接)、开板开了几次(反复开板 = 多空在交换筹码,不是单边出逃)、它昨天是不是涨停/炸板(从涨停被砸下来的才叫错杀,阴跌了半个月的跌停叫补跌)。跌停股池、炸板股池、情绪周期三个接口正好把这三件事全部量化。 策略原理 本篇用到的StockApi四个接口 接口(中文名) 路径 在策略里做什么 跌停股池 /v1/base/DTPool 当日跌停股结构:连续跌停天数、开板次数、封单(交易日 15:30 更新) 炸板股池 /v1/base/ZBPool 当日曾涨停但收盘未封住的票,识别"从涨停被砸下来"的错杀路径 情绪周期 /v1/base/emotionalCycle 判定冰点日与恐慌收敛 股票日/周/月 K 线行情 /v1/base/day 次日开盘价与当日均价,确定低吸执行价 字段中文对照 字段 中文含义 备注 days 连续跌停天数 = 1 才是首板跌停(错杀候选),≥ 2 的连续跌停不碰 oc 开板次数 跌停板打开的次数,≥ 3 说明有资金反复接 ceilingAmount 封单资金 跌停口径下是封住跌停的卖单金额,越小越好 fba 板上成交额 跌停价位上成交的金额,有成交说明有人接飞刀 bombNum 炸板次数 炸板池口径,昨日涨停被砸的次数 ztjs / dtjs 涨停家数 / 跌停家数 冰点判定:dtjs ≥ 前5日均值 × 2 且 ztjs < 30 close / open 收盘价 / 开盘价 次日低吸的执行参照 冰点判定 + 错杀识别(收盘后) 冰点日判定(情绪周期接口):当日跌停家数 ≥ 前 5 日均值的 2 倍,且涨停家数 < 30。冰点日是整个策略的触发器,不是冰点日不启动。 错杀筛选(跌停股池接口):在当日跌停池里筛 days = 1(首日跌停,不是连续阴跌的补跌) oc ≥ 3(跌停反复被打开,有承接) ceilingAmount / 流通市值 < 0.5%(跌停封单薄,封不死) 错杀路径确认(炸板股池接口):候选票昨日出现在涨停池或今日出现在炸板池——从涨停/炸板跌到跌停的票才是情绪错杀;一路阴跌型跌停剔除。 次日执行(日 K 接口):次日开盘低开 2%—4% 时买入(低开太深说明有利空未出尽,高开说明反抽已抢跑);当日反抽 ≥ 5% 兑现一半,尾盘留一半;次日收盘前无条件清仓。冰点反抽是 T+1 游戏,不恋战。 为什么"开板次数"是错杀最强的证据 跌停板上的开板,每一场都是多空的一次正面交锋: 跌停形态 开板次数 封单变化 本质 次日倾向 一字跌停 0 封单巨大且增加 单边出逃/重大利空 继续跌 尾盘封死 0—1 收盘才封上 恐慌宣泄不充分 隔日继续宣泄 反复开板 ≥ 3 封单被反复打穿 有资金在跌停位持续承接 反抽概率最高 开板次数多意味着跌停价位上实际发生了大量成交——恐慌盘的卖压被吃掉了。配合「封单占比 < 0.5%」,筛出来的就是"想砸的砸完了、想接的接到了"的票。 Python 完整实现 import os import requests import pandas as pd TOKEN = os.getenv("STOCKAPI_TOKEN", "你的Token") BASE = "https://www.stockapi.com.cn/v1" def call(path, **params): params["token"] = TOKEN r = requests.get(f"{BASE}{path}", params=params, timeout=15) r.raise_for_status() d = r.json() if d.get("code") == 20000: return d["data"] raise RuntimeError(f"{path} 调用失败: {d.get('msg')}") # ---------- 1. 冰点判定(情绪周期) ---------- def ice_day(date): d = call("/base/emotionalCycle") df = pd.DataFrame(d["contentList"], columns=d["colNameList"]) df["dt"] = pd.to_datetime(df["date1"].astype(str), format="%Y%m%d") df = df[df["dt"] < pd.Timestamp(date)].sort_values("dt") dt_cnt = pd.to_numeric(df["dtjs"], errors="coerce") zt_cnt = pd.to_numeric(df["ztjs"], errors="coerce") today_dt = dt_cnt.iloc[-1] return today_dt >= dt_cnt.tail(6).head(5).mean() * 2 and zt_cnt.iloc[-1] < 30 # ---------- 2. 跌停池错杀筛选 ---------- def dt_candidates(date): df = pd.DataFrame(call("/base/DTPool", date=date) or []) if df.empty: return df for c in ["days", "oc", "ceilingAmount", "flowCapital", "fba"]: if c in df.columns: df[c] = pd.to_numeric(df[c], errors="coerce") df["code"] = df["code"].astype(str).str.zfill(6) cond = (df["days"] == 1) & (df["oc"] >= 3) & \ (df["ceilingAmount"] / df["flowCapital"].replace(0, pd.NA) < 0.005) return df[cond] # ---------- 3. 炸板路径确认 ---------- def path_ok(code, date): zb = pd.DataFrame(call("/base/ZBPool", date=date) or []) if zb.empty: return False return code in zb["code"].astype(str).str.zfill(6).values # ---------- 4. 主流程 ---------- def ice_rebound_watchlist(date): if not ice_day(date): return "非冰点日,不启动" cands = dt_candidates(date) picks = [c for c in cands["code"] if path_ok(c, date)] return cands[cands["code"].isin(picks)][ ["code", "name", "oc", "ceilingAmount", "fba"]] watch = ice_rebound_watchlist("2026-10-28") print(watch) 回测指标怎么读 指标 典型量级(示意) 说明 冰点日频率 每季度 1—3 次 策略天然低频,等待是主要成本 每次入选票数 2—8 只 冰点日规模越大候选越多 次日反抽 ≥ 5% 概率 50%—60% 三重结构过滤后的水平 失败情形 次日继续大跌 由"低开 2%—4% 才买"与 T+1 清仓兜底 回测方式:遍历历史,对每个冰点日执行同一筛选,统计次日开盘买入后的 T+1 收盘收益。三个池子接口都支持按历史日期查询,可完整回放。 参数与风控 参数 默认 调整方向 冰点倍数 2×前5日均值 收紧到 3× 更极端、更少 开板次数下限 3 放宽到 2 信号更多、质量下降 次日低吸区间 低开 2%—4% 超出区间放弃,宁缺毋滥 持仓期 次日收盘清仓 冰点反抽不过夜到第三天 风控三条: 连续跌停(days ≥ 2)的票无论结构多好都不碰——首日跌停是情绪,连续跌停大概率是基本面。 候选票若当晚出现利空公告(业绩雷、监管问询),次日无论开在哪个位置都放弃。 单次冰点反抽总仓位 ≤ 2 成,这是情绪博弈不是价值投资,错了就走。 常见问题(FAQ) Q:跌停池的 ceilingAmount 在跌停语境下是什么? A:是封住跌停的卖单金额,方向与涨停池相反。所以这里它是"封死下跌的力量"——越小越封不死、越有承接机会,筛选条件是 < 而不是 >。字段同名方向相反,是这两个池子最容易混淆的地方。 Q:为什么一定要叠加炸板池确认? A:跌停池只说明"今天跌停了",炸板池说明"它今天曾经涨到过涨停"。有这个路径的票才是从抢筹到踩踏的情绪反转,波动最大、反抽动力最强;而平稳阴跌到跌停的票没有情绪记忆,反抽动力弱。 Q:这个策略和涨停池系的龙头策略什么关系? A:正好是硬币的两面:13—16 篇做的是情绪进攻端的"强上强",本篇做的是情绪崩溃端的"错杀修复"。两者的环境判定都来自情绪周期接口——涨停家数高做前者,跌停家数极端做后者,刚好填满情绪光谱的两端。 免责声明:本文为策略研究与技术分享,不构成任何投资建议。市场有风险,入市需谨慎。
浏览53
评论0
收藏0

精华 长期有效,公开征集意见反馈。

用户头像量化官方小助理
2023-03-09 发布
请大家不要客气,任何意见建议可以在这里评论提出。 被采纳后我们将奖励1G研究环境内存 3个月。
浏览26350
评论192
收藏8
用户头像sh_*2176oo
2026-11-01 发布
怎么用 Python 怎么获取五档行情?
浏览26
评论0
收藏0
用户头像Fxdund
2026-10-31 发布
股票和外汇的数据接口,拉回来就能用。期货不一样——同样是"行情",期货多了一层合约的概念:同一品种有主力合约、连续合约,还分不同到期月份;交易所有好几家,还有夜盘。第一次做期货监控的时候,我以为就是多调几个接口的事,结果被合约体系和换月问题折腾得不轻。这篇把我搭的一套多品种期货数据管道完整记录下来:合约代码怎么认、批量快照怎么拿、实时推送怎么接、主力换月怎么处理。数据源用的 iTick,token 去它官网 itick.org 申请,REST 和 WebSocket 共用一套。 期货合约体系:先认识代码,再谈接入 期货跟股票最大的区别就是"品种"和"合约"是两个概念。股票一个代码就是一个公司,期货一个品种下面有多个合约,接口里用"品种代码"来标识: 品种 代码 市场 region 说明 股指期货(沪深300) IF 中国 CN 中金所 黄金 GC 美国 US COMEX 白银 SI 美国 US COMEX 原油 CL 美国 US NYMEX 大豆 ZS 美国 US CBOT 纳指期货 NQ 美国 US CME 标普期货 ES 美国 US CME 接口统一用 region + code 定位一个品种。认准这几个主流代码,后面调接口就不会发懵。 REST批量快照:一个请求拿全品种 监控面板启动时要初始化所有品种的状态,用批量报价接口一次拉全,别一个个循环调: import requests API_BASE = "https://api.itick.org" headers = {"accept": "application/json", "token": "your_token_here"} def fetch_futures_snapshots(codes="GC,SI,CL,ZS,NQ,ES,IF"): # /future/quotes 批量报价,codes 用英文逗号分隔 # 返回 dict,key 是品种代码 resp = requests.get( f"{API_BASE}/future/quotes", headers=headers, params={"region": "US", "codes": codes}, ) return resp.json()["data"] snap = fetch_futures_snapshots() for symbol, q in snap.items(): print(symbol, q["ld"], q["chp"], q["ts"]) 返回的每个品种都是一个报价对象,字段 s/ld/o/p/h/l/t/v/tu/ts/ch/chp:ld 最新价、p 前日收盘价、ts 交易状态、ch/chp 涨跌。有几个点值得注意: 返回是 dict 不是数组,key 是品种代码,遍历时用 for symbol, q in snap.items() p 前收字段是期货报价特有的,算涨跌额直接用 ld - p 批量接口的参数是 codes(复数),写 code 会报参数错误 ts 交易状态:期货有夜盘,判断行情是否有效前先看这个字段 历史K线:kType 一个编码走所有周期 回测和画图需要历史数据,期货K线接口的参数跟股票一样:region + code + kType + limit。周期用数字编码,1分钟到月线都有: def fetch_future_klines(code, region="US", ktype=8, limit=200): resp = requests.get( f"{API_BASE}/future/kline", headers=headers, params={ "region": region, "code": code, "kType": ktype, # 1=1分钟 2=5分钟 5=1小时 8=日K 9=周K 10=月K "limit": limit, # 单次最大500 }, ) rows = resp.json()["data"] # 返回数组,每条 t/o/h/l/c/v/tu,时间戳毫秒 return rows gold_daily = fetch_future_klines("GC", ktype=8, limit=300) print(gold_daily[-1]["c"]) # 黄金最新一根日K收盘 这里有个期货特有的坑:连续合约和具体月份合约的K线不一样。接口返回的一般是主力/连续合约的标准化数据,做回测时如果自己拼接具体月份合约的数据,换月那天会出现跳空,别把它当成真实的行情波动。 WebSocket实时推送:一条连接盯多个品种 盘中实时监控用 WebSocket,流程还是那四步:连上 → 等鉴权成功 → 订阅 → 心跳。一条连接最多订500个标的,主流品种一条连接全搞定: import json import threading import time import websocket WS_URL = "wss://api.itick.org/future" TOKEN = "your_token_here" authenticated = False heartbeat_alive = True def on_message(ws, message): global authenticated payload = json.loads(message) if payload.get("resAc") == "auth" and payload.get("code") == 1 and not authenticated: authenticated = True ws.send(json.dumps({ "ac": "subscribe", "params": "GC$US,SI$US,CL$US,NQ$US,ES$US,IF$CN", "types": "quote" })) threading.Thread(target=heartbeat, args=(ws,), daemon=True).start() return if payload.get("resAc") == "pong": return data = payload.get("data") or {} if data.get("type") == "quote": # 推送字段与REST一致,s/ld/o/h/l/v/tu print(data["s"], data["ld"], data["t"]) def heartbeat(ws): while heartbeat_alive: time.sleep(30) ws.send(json.dumps({"ac": "ping", "params": str(int(time.time() * 1000))})) ws = websocket.WebSocketApp(WS_URL, header=[f"token: {TOKEN}"], on_message=on_message) ws.run_forever() 订阅格式 GC$US 是"品种代码$市场代码",多品种逗号分隔。这里有个容易忽略的点:IF 是中金所品种,region 是 CN,不是 US——写订阅参数时别想当然全填 US。 主力合约换月:期货监控绕不开的坑 股票没有"换月"概念,期货有。随着临近交割,主力合约会切换到下一个月份,这时候连续合约的K线和报价会出现一个跳变。做多品种监控要注意: 换月跳空不是行情波动:策略判断涨跌时要排除换月带来的价格跳变,不然会误触发信号 别在代码里写死合约月份:用连续合约代码,让数据源帮你处理主力切换 持仓量变化是换月的信号:成交量、持仓量明显转移时,多半是在换月,关注 ts 交易状态和价格是否异常 组合示例:多品种期货监控面板 把快照和实时拼起来,就是一个可用的监控面板骨架: import json, threading, time, requests, websocket API_BASE = "https://api.itick.org" WS_URL = "wss://api.itick.org/future" TOKEN = "your_token_here" headers = {"accept": "application/json", "token": TOKEN} WATCHLIST = "GC,SI,CL,ZS,NQ,ES" # 启动快照 print("=== 期货快照 ===") snap = requests.get(f"{API_BASE}/future/quotes", headers=headers, params={"region": "US", "codes": WATCHLIST}).json()["data"] for symbol, q in snap.items(): sign = "+" if q["chp"] >= 0 else "" print(f" {symbol}: {q['ld']} ({sign}{q['chp']}%)") # 实时推送 authenticated = False def on_message(ws, message): global authenticated payload = json.loads(message) if payload.get("resAc") == "auth" and payload.get("code") == 1 and not authenticated: authenticated = True params = ",".join(f"{c}$US" for c in WATCHLIST.split(",")) ws.send(json.dumps({"ac": "subscribe", "params": params, "types": "quote"})) threading.Thread(target=heartbeat, args=(ws,), daemon=True).start() return if payload.get("resAc") == "pong": return data = payload.get("data") or {} if data.get("type") == "quote": print(f"[实时] {data['s']}: {data['ld']} ({data['chp']}%)") def heartbeat(ws): while True: time.sleep(30) ws.send(json.dumps({"ac": "ping", "params": str(int(time.time() * 1000))})) ws = websocket.WebSocketApp(WS_URL, header=[f"token: {TOKEN}"], on_message=on_message) ws.run_forever() 这个脚本启动时拉一次全品种快照,盘中WebSocket实时更新,做监控或者告警的底座足够用了。 踩坑清单速查 品种代码 ≠ 合约代码:接口用品种代码(GC/CL/IF),别拿具体月份合约号来调 IF 是 CN 市场:中金所品种 region 填 CN,别全填 US 批量接口参数是 codes(复数),返回 dict 以品种代码为 key 期货报价有 p 前收字段,涨跌额 = 最新价 − 前收 连续合约换月有跳空:回测和信号判断时要排除换月跳变 时间戳毫秒,判断夜盘时段先统一时区 WS 先等鉴权成功再订阅,心跳 30 秒一次不能省 小结 多品种期货数据管道,核心就三件事:认识合约体系、快照走批量、实时走推送。合约代码认准 region + code,快照用 /future/quotes 一次拿全,实时用 WebSocket 一条连接盯多个品种,换月的坑提前心里有数,这套管道就能稳定跑起来。接口参数和返回字段的完整说明,写代码时对照官方文档最稳妥。 GitHub:https://github.com/itick-org/
浏览51
评论0
收藏0