学校网站制作模板,网站建设是做什么,wordpress趋势图插件,仿网站百度会怎么做1. 从零到一#xff1a;理解量化选股的核心武器 朋友们#xff0c;大家好。今天我们不聊那些虚无缥缈的“战法”#xff0c;也不讲什么玄学指标#xff0c;咱们就来点实在的#xff0c;聊聊怎么用代码和逻辑#xff0c;从几千只股票里#xff0c;像用筛子一样#xff…1. 从零到一理解量化选股的核心武器朋友们大家好。今天我们不聊那些虚无缥缈的“战法”也不讲什么玄学指标咱们就来点实在的聊聊怎么用代码和逻辑从几千只股票里像用筛子一样把符合你心意的股票给“筛”出来。这个过程就是量化选股。你可能觉得量化很高深需要懂复杂的数学模型其实不然。很多有效的策略核心就是一些非常直观的逻辑判断比如“找出最近连续上涨的科技股”或者“筛选出属于新能源板块且股价刚突破均线的股票”。这些逻辑恰恰可以通过我们今天要讲的板块字符函数和逻辑函数来实现。它们就像是你的“侦察兵”和“裁判员”一个帮你识别股票的身份和归属另一个帮你判断股票的走势和状态。原始文章里把这些函数一个个列了出来像一本字典很全但新手看了可能还是不知道怎么用。我刚开始接触的时候也这样函数都认识但组合不起来。后来踩过不少坑才明白关键在于场景化应用。今天我就把这些年实战中总结出来的“组合拳”打法分享给你让你不仅能看懂函数更能用它们搭建出属于自己的选股策略。简单来说量化选股实战可以分成三步走第一步圈定范围用板块函数第二步设定条件用逻辑函数第三步执行筛选编写策略公式。我们这篇文章就围绕这三步把那些零散的函数串成一条完整的珍珠项链。2. 你的股票“身份证”板块字符函数深度解析与应用在A股市场一只股票身上贴着各种各样的标签它是“贵州茅台”代码“600519”属于“酿酒行业”也是“MSCI中国”、“白酒”、“基金重仓”等概念板块的成员。这些标签就是它的“身份证”。板块字符函数就是用来读取和核对这张“身份证”的工具。2.1 基础信息获取认识你的股票最基础的我们要知道正在分析的是谁。CODE和STKNAME函数就是干这个的。它们通常用在指标显示或者条件选股的提示信息里。比如你想在自定义指标上直接显示股票名称和代码就可以用DRAWTEXT_FIX(ISLASTBAR, 0, 0, 0, STKNAME); // 在左上角显示股票名称 DRAWTEXT_FIX(ISLASTBAR, 0, 0.05, 0, CODE); // 在名称下方显示股票代码这看起来简单但在批量测试策略时非常有用。当你回测一个策略发现某只股票信号异常通过它快速定位到具体是哪只股票方便后续深入分析。2.2 核心板块归属划定你的战场这是板块函数的精髓所在。市场每天都有热点轮动今天可能是“人工智能”领涨明天又轮到“新能源汽车”。你的策略要想跟上节奏就必须能识别股票属于哪个板块。行业与地域 (HYBLOCK,DYBLOCK): 这是最基础的分类。HYBLOCK返回像“半导体”、“医药商业”、“银行”这样的行业信息DYBLOCK则返回如“广东”、“浙江”、“北京”等地域信息。如果你想做地域性的投资组合或者研究某个特定行业的景气度这两个函数是首选。概念与风格 (GNBLOCK,FGBLOCK): 这里是题材炒作的高发区。GNBLOCK返回的概念板块比如“ChatGPT”、“华为鸿蒙”、“一带一路”往往是短线资金追逐的对象。FGBLOCK返回风格板块如“大盘股”、“高市盈率”、“近期新高”可以帮助你按风格因子选股。指数与自定义 (ZSBLOCK,ZDBLOCK):ZSBLOCK告诉你这只股票是哪些指数的成分股比如“沪深300”、“中证500”。这对于做指数增强或者对标指数选股至关重要。ZDBLOCK则完全由你掌控你可以把自己看好的股票打包成一个自定义板块然后用这个函数来判断股票是否在你的“自选池”里。实战技巧这些函数返回的都是字符串。字符串比较是关键操作。这里就要用到STRCMP函数或者INBLOCK函数。比如我想筛选所有半导体行业的股票// 方法一使用 STRCMP 进行精确字符串匹配 条件: STRCMP(HYBLOCK, 半导体) 1; // 方法二使用 INBLOCK更直观且支持系统板块 条件: INBLOCK(半导体);INBLOCK函数更强大它不仅能判断行业还能判断股票是否属于“沪深300”、“创业板”等系统板块或者你自己创建的任何板块。我个人的习惯是对于行业、概念等标准板块两者皆可对于复杂的板块组合判断用INBLOCK更清晰。2.3 进阶匹配与筛选模糊搜索与条件组合有时候我们的条件没那么精确。比如我想找出所有名字里带“科技”两个字的股票或者所有代码以“300”开头的创业板股票。这时候就需要模糊匹配函数。NAMELIKE(‘ST’): 找出所有名称以“ST”开头的股票风险警示股。NAMEINCLUDE(‘银行’): 找出所有名称中包含“银行”的股票这会把“工商银行”、“银行ETF”等都找出来。CODELIKE(‘688’): 找出所有科创板股票代码以688开头。这些函数可以和你设定的财务条件、技术条件灵活组合。举个例子我想找“名称中含有‘微’或‘芯’字且属于‘半导体’行业最近一天成交量放量比如大于5日均量线2倍的股票”。这个策略就综合运用了NAMEINCLUDE、INBLOCK和成交量比较逻辑。2.4 板块强度与估值辅助更深一层我们不仅要知道股票属于哪个板块还想知道这个板块的整体热度或估值水平。这时可以用到GNBLOCKNUM和HYSYL这类函数。GNBLOCKNUM返回股票所属概念板块的数量。一只股票所属概念越多可能说明其业务越多元也更容易被多个题材炒作。你可以设置条件比如GNBLOCKNUM 3来筛选题材丰富的个股。当然也不是越多越好需要结合其他因素判断。HYSYL行业市盈率是个很好的参照系。你可以比较个股的市盈率(DYNAINFO(39))与其所属行业的平均市盈率。如果个股市盈率显著低于行业市盈率可能存在估值修复机会反之则可能估值偏高。这为你的选股增加了一个基本面维度。3. 定义股票的“状态”逻辑函数实战指南如果说板块函数是“侦察兵”告诉你股票是谁、在哪。那么逻辑函数就是“裁判员”和“计时员”它判断股票当前处于什么状态这种状态持续了多久。这是构建买卖信号和筛选条件的核心。3.1 交叉信号趋势变化的哨兵CROSS上穿和LONGCROSS持续周期后上穿是两个最重要的趋势转折判断函数。CROSS(A, B): 最简单直接的金叉死叉判断。CROSS(MA(C,5), MA(C,20))表示5日均线上穿20日均线是经典的趋势转多信号。但它的缺点是信号可能很频繁尤其是在震荡市里会产生很多无效的“噪音”信号。LONGCROSS(A, B, N): 这是CROSS的增强版我实战中更偏爱用它。它要求A在N周期内一直在B之下然后在本周期上穿B。这相当于增加了一个“蓄势”或“压抑”的过程过滤掉了那些在均线附近来回穿插的假信号使得发出的金叉信号质量更高趋势的确定性更强。实战案例假设我们想找一个“股价在60日均线下方整理了至少20天然后突然放量成交量大于5日均量2倍上穿60日均线”的启动信号。公式可以这样写整理条件 : EVERY(C MA(C, 60), 20); // 连续20日收盘价低于60日均线 上穿条件 : LONGCROSS(C, MA(C, 60), 20); // 在满足整理条件后上穿 放量条件 : V MA(V, 5) * 2; 买入信号 : 整理条件 AND 上穿条件 AND 放量条件;这个组合拳就用到了EVERY和LONGCROSS比单纯用一个CROSS要稳健得多。3.2 连涨连跌与持续状态捕捉市场情绪UPNDAY连涨、DOWNNDAY连跌、NDAY连续满足条件和EVERY一直存在这组函数专门用来刻画趋势的持续性。UPNDAY(CLOSE, 5): 判断是否连续上涨了5天。这可以用来捕捉短期的强势股。但要注意连续大涨后可能接近短期高点。DOWNNDAY(CLOSE, 8): 判断是否连续下跌了8天。这可以用来寻找超跌反弹的机会。我常用DOWNNDAY(CLOSE, 8) AND C MA(C, 30) * 0.9来筛选连续下跌且股价已偏离中期均线较远比如10%的股票作为左侧交易的观察池。EVERY(CLOSE OPEN, 3): 判断是否连续3日收阳线。这是UPNDAY的一种变体更严格要求每天都是阳线开盘到收盘上涨。NDAY(CLOSE, OPEN, 3): 和上面的EVERY例子效果一样判断是否连续3日收盘价高于开盘价。关键区别UPNDAY只要求收盘价一天比一天高中间可以有高开低走的阴线。而EVERY(CLOSEOPEN,...)或NDAY则要求必须是实体阳线。根据你的策略风格选择不同的函数。3.3 存在性判断增加策略的容错率EXIST和LAST函数用于判断在某段时期内某个条件是否“出现过”或“持续存在过”。这能让你的策略不那么死板。EXIST(CLOSE MA(C, 30), 10): 过去10天内是否有过收盘价站上30日均线的时刻这个函数非常有用比如用于判断股价是否曾经突破过某个关键压力位即便现在又跌回来了。这比要求“当前价格必须在均线之上”的条件要宽松能捕捉到更多有过异动、可能再次发力的股票。LAST(CLOSE MA(C, 20), 10, 5): 这是一个更精细的时间窗口控制。它判断从前10天到前5天这个区间内注意不是最近5天是否一直满足收盘价大于20日均线。EXISTR函数功能类似。这两个函数常用于分析过去某一段特定时期的走势特征比如“在上一轮上涨中定义为前10天到前5天股价是否始终运行在20日线上方”以此来判断那段趋势的强度。NOT函数就是取反把真的变假假的变真。常用于排除某些情况。比如NOT(INBLOCK(‘ST’))表示排除所有ST股票这是一个非常实用的风险过滤条件。4. 构建你的第一个量化选股策略从想法到代码了解了核心函数我们现在就来手把手组装一个完整的策略。假设我们有这样一个投资想法“在当前热门的‘人工智能’概念板块里寻找那些股价经过一段时间调整连续5日收盘价在10日均线以下最近刚刚止跌企稳收盘价重新站上5日均线并且出现底部放量当日成交量大于10日均量的股票。”4.1 策略拆解与条件翻译我们把文字想法翻译成量化的语言板块过滤股票必须属于“人工智能”概念板块。 -INBLOCK(‘人工智能’)或FINDSTR(GNBLOCK, ‘人工智能’)调整状态连续5日收盘价在10日均线以下。 -EVERY(C MA(C, 10), 5)企稳信号当日收盘价上穿5日均线。 -CROSS(C, MA(C, 5))这里为什么用CROSS而不用LONGCROSS因为我们已经用EVERY定义了5天的调整期所以简单的金叉就可以作为企稳起点信号。放量确认当日成交量大于10日均量线。 -V MA(V, 10)4.2 代码编写与整合现在我们将这些条件用逻辑运算符AND同时满足组合起来形成一个完整的选股条件// 定义条件 所属人工智能 : INBLOCK(人工智能); // 条件1板块过滤 连续调整 : EVERY(C MA(C, 10), 5); // 条件2调整状态 企稳金叉 : CROSS(C, MA(C, 5)); // 条件3企稳信号 底部放量 : V MA(V, 10); // 条件4放量确认 // 综合选股条件 选股信号 : 所属人工智能 AND 连续调整 AND 企稳金叉 AND 底部放量; // 输出结果 选股信号;把这段代码写入你的量化平台如通达信、大智慧等的条件选股公式中执行选股系统就会自动帮你扫描全市场找出所有同时满足这四个条件的股票。4.3 策略优化与思考这个策略只是一个起点你可以在此基础上不断优化增加强度过滤GNBLOCKNUM可以看看这只人工智能股票是否还叠加了其他热门概念比如“云计算”、“大数据”增加其题材强度。调整时间参数连续调整的天数5天和均线周期5日、10日都可以调整测试。你可以测试EVERY(C MA(C, 20), 10)看看中长期调整后的企稳效果。加入排除条款用NOT(NAMELIKE(‘ST’))或NOT(CODELIKE(‘688’))来排除你不愿意参与的板块或类型的股票如ST股、科创板等。结合基本面用HYSYL函数看看这只股票的估值在其行业内处于什么水平避免追入估值过高的标的。5. 高级策略组合与风险控制当你熟悉了单个策略的构建就可以尝试更复杂的多策略组合与风险管理。这才是量化选股真正发挥威力的地方。5.1 多因子复合筛选单一的信号往往可靠性有限。我们可以将多个不同类型的因子组合起来形成一个“打分卡”系统。例如我们可以从四个维度给股票打分趋势维度30分LONGCROSS(C, MA(C, 60), 20)得15分CLOSE MA(C, 20)得10分C REF(HHV(C, 20), 1)突破20日高点得5分。动量维度30分UPNDAY(C, 3)得10分V MA(V, 5) * 1.5得10分RSI(14) 50得10分。板块维度20分INBLOCK(‘当前热点板块’)得20分。热点板块可以手动指定也可以用板块强度排名函数自动获取。估值/基本面维度20分DYNAINFO(39) HYSYL * 0.8市盈率低于行业平均20%得20分。然后设置一个总分阈值比如大于60分的股票才进入最终股票池。这种方法比硬性的“与”条件更灵活能选出在某些方面特别突出、综合评分也不错的股票。5.2 利用VALUEWHEN进行信号跟踪VALUEWHEN(COND, X)函数非常强大它可以在条件COND触发时记录下当时X的值并一直保持这个值直到下一个触发条件出现。这常用于跟踪关键价格。比如一个经典的“高低点跟踪”策略在股价突破20日最高点时COND记录下这个突破日的收盘价作为“基准价”X。之后只要股价回调不跌破这个“基准价”的95%就认为上升趋势结构未破坏继续持有。突破条件 : CROSS(C, REF(HHV(H, 20), 1)); // 突破20日高点 基准价 : VALUEWHEN(突破条件, C); // 突破当日的收盘价 趋势未破 : C 基准价 * 0.95; // 当前价高于基准价的95%这样你的持有条件就不再是一个固定的均线而是一个动态的、基于关键信号点计算出来的支撑位。5.3 必不可少的风险控制条款任何策略都必须包含风控。在选股阶段我们就可以提前排除一些高风险标的排除ST和退市风险股NOT(NAMELIKE(‘ST’)) AND NOT(NAMELIKE(‘*ST’))排除上市时间过短的新股BARSCOUNT(C) 100上市超过100个交易日排除流动性过差的股票MA(V, 20) 1000000020日平均成交额大于1000万排除股价过低的股票防止“仙股”C 3股价高于3元将这些条件用AND连接到你的核心选股条件中能有效提升股票池的整体质量避免踩到一些显而易见的“坑”。我自己的每一个策略模板里都会把这几条风控条款作为标准配置这让我在后续的实盘中心里踏实很多。量化选股不是找到一个“圣杯”公式然后一劳永逸而是一个不断观察、假设、验证、优化的过程。今天讲的板块函数和逻辑函数就是你构建和迭代自己策略工具箱中最基础、最实用的零件。多回测多思考策略背后的逻辑是否贴合市场本质比单纯追求复杂的函数组合更重要。