边界:指标不是策略

技术指标能当买卖信号吗:从「RSI 低于 30」到可评估策略缺的五步

FinTA 给出的是价格的历史变换,不是收益预测。" "TA.RSI(ohlc) < 30 这句话描述的是「过去 14 期跌得比涨得多的程度」," "它不包含任何关于明天会怎样的事实。

而从这一列数字走到「这个策略值不值得用」,中间隔了五步:" "信号规则、成交假设、未来函数检查、样本外划分、与基准对照。" "跳过任何一步,得到的结果都无法解释——本站把每一步的检查项列成可执行清单。

5 个缺口7 条常见误解0 个收益数字只讲边界
指标列(FinTA 的输出)把价格变成 RSI / MACD / ATR 这些列
信号规则与仓位什么时候进、什么时候出、下多少
成交假设(成本 / T+1)手续费、滑点、涨跌停、次日才能卖
样本外与基准用没看过的数据验证,并与简单基准比
依据 FinTA 的能力范围整理的边界示意;不是官方路线图,也不构成任何交易建议。

FinTA · 常见误解

技术指标当策略用有哪些常见误解?七条逐项对照

表 1:把指标当策略时的常见误解
常见说法问题在哪更准确的说法
「RSI 低于 30 就该买」RSI 低位可以持续很久;不同市场状态下同一阈值含义完全不同RSI 只描述过去 14 期的涨跌力度,是否买入需要另立规则并回测验证
「金叉买入、死叉卖出」均线交叉本身滞后,在震荡行情里会反复触发、累积成本交叉是趋势类指标的形态描述,需要跟止损与成本一起评估
「用当日收盘算出的指标,就在当天收盘成交」你不可能在收盘价确定的同一时刻用该价格成交;A 股还要遵守 T+1把成交价挪到下一个可交易日,并把这条假设写进结论
「历史回测赚了,就说明有效」样本内表现好可能只是过拟合;没有样本外验证等于没有证据必须留出没参与过参数调整的数据段做验证,并与基准对照
「一个指标不够,多叠几个就准了」叠加高度相关的指标不会增加信息量,只会增加参数先问每个指标提供了什么独立信息,再决定要不要叠加
「指标参数调到看着漂亮就能稳定盈利」在历史上扫参数必然能找到漂亮的组合,这叫曲线拟合参数的稳健性比某个点上的高低重要:邻近参数的表现是否也好
「FinTA 算出来的数和行情软件一样,所以信号也一样」本站实测布林带、ATR、ADX 在不同库之间有系统性差异,阈值不能跨库搬运换库要重新校准参数;差异清单见交叉验证页

这七条不是「不要用指标」,而是「指标是原料,不是结论」。描述历史与预测未来是两件事,中间必须补上验证环节。本站全站不提供任何收益率、胜率或夏普数字,也不做交易建议。

FinTA · 未来函数

未来函数怎么查:六类常见来源

表 2:未来函数检查清单(前两类本站有实测证据)
来源具体表现怎么查本站实测
数据行序错误数据是最新一行在前,指标按行滚动时把未来的 K 线算进了当天断言 df.index.is_monotonic_increasing 为 True;并检查你用的是 iloc[i] 还是按日期取值实测可复现:倒序后 2017-06-10 的 SMA(14) 从 2471.2325 变成 2612.5128,而后者等于「当天到未来第 13 根」的均值
指标在缺失行上仍输出数值停牌/缺失被补成 NaN 行后,某些指标在那些行上照样给值检查 isna() 的分布是否与你的数据缺口一致实测:插 10 行全 NaN 后 SMA 出现 36 个 NaN,但 RSI 只有 1 个——它的曲线在缺口处是「假连续」
用了全样本统计量做标准化例如用整段数据的均值/标准差做 z-score,训练段与验证段共享了未来信息检查所有 mean()/std() 是在滚动窗口还是整列上算的—
重采样时用了未来的边界把周线重采样成日线对齐时,周线的「收盘」要到周五才知道检查重采样后用的是什么时间戳标签—
信号与成交同价当日收盘算信号、当日收盘成交把成交时点延后一个可交易单位—
复权因子用了最新值用「今天」的前复权因子回溯整个历史,等于把后续除权信息带进过去用后复权或点对点复权序列做回测—

前两条之所以放最前面,是因为它们最容易被忽略且症状最像「策略有效」:用了未来数据的指标,会在历史最低点附近给出漂亮的买入信号,回测曲线自然好看。排查成本很低——一行断言与一次 isna() 统计。

FinTA · 成交假设

回测的成交假设要写清哪些事?七个必须声明的项

表 3:成交假设清单
假设项为什么必须写清A 股常见取值参考(仅作说明)
手续费双边收取,直接吃掉高频策略的收益按你券商的实际费率,写进结论
印花税卖出单边收取以交易所与税务现行规则为准
滑点市价单通常成交在不利方向;流动性差的标的影响更大按标的流动性设定,不要默认 0
T+1当天买入不能当天卖出,日内策略在 A 股不成立把卖出时点推迟到下一个交易日
涨跌停涨跌停当天可能买不到也卖不掉,回测里成交会失真涨跌停日按「无法成交」处理更保守
停牌停牌期间无法交易,但指标仍在滚动停牌段单独标注,别让它悄悄改变仓位
最小交易单位A 股按手(100 股)交易,资金量小时无法精确按比例建仓整数手约束会影响小资金策略

这些假设里没有一条是 FinTA 能替你回答的——它只算指标列。把它们写下来并显式参数化,是「可评估」与「看起来有效」的分界线。具体费率、税制与交易规则请以交易所与券商的现行规定为准。

FinTA · 五步

从指标到可评估策略要经过哪些步骤?五步走完

五步走完才算「可评估」

  • 把指标变成信号,并写清规则:说清用哪一列、比什么阈值、什么时候是有效信号、信号冲突时怎么办。规则必须是代码里能一行行读出来的,不是「感觉上」。
  • 显式声明成交假设:把上表七项全部参数化,包括成交时点(信号次日开盘还是收盘)、手续费、滑点、涨跌停与停牌处理方式。这些参数要写进结果里,而不是藏在代码里。
  • 做未来函数检查:把本页第 2 节的六条检查项逐个跑一遍,特别是数据行序断言与 isna() 分布检查——这两步成本低、收益也大。
  • 划分样本内与样本外:参数只在样本内调,样本外只跑一次。如果样本外表现显著变差,结论是「不稳健」,而不是「再调调参数」。
  • 与基准对照:把「买入并持有」这类最简单的基准放进来比。跑不赢基准的策略,复杂度的代价没有回报;同时说明是否扣除了成本。
  • 这五步里没有一步需要 FinTA,但每一页都要用到它算出来的那几列。这正是本站反复强调的定位:FinTA 负责第一步的输入,不负责后面四步。

    FinTA · 证明力

    单一指标能证明什么、不能证明什么

    表 5:指标的证据边界
    它能证明的它不能证明的
    过去 N 期价格涨跌的相对力度(RSI)未来 N 期的收益方向或幅度
    过去 N 期价格对均线的偏离程度(布林带带宽)偏离一定会回归
    过去 N 期真实波幅的平均水平(ATR)未来的波动幅度会维持在同一水平
    过去 N 期趋势方向的强弱(ADX)趋势会延续;且 ADX 在不同库之间差异最大
    某一段历史数据上,某个规则在特定成交假设下的表现同一规则在另一段数据或另一市场上的表现
    你的数据整理与指标计算是否正确这个指标是否值得做成策略

    把这张表读完之后,一个实用的自检问题是:「如果我把这个指标换成随机数,我的结论会变吗?」如果不会变,说明你真正依赖的不是指标,而是别的东西(比如成交假设或样本选择)——那才是应该先检查的地方。

    FinTA · 本站立场

    本站不做什么

    不发布任何收益数字

    全站没有收益率、胜率、夏普、年化。本站做的是代码可用性、数据契约与数值口径的核验,不是策略评估。任何声称「某指标回测盈利」的说法都不在本站范围内。

    不提供交易建议

    指标阈值、参数、买卖时点的选择都由使用者自己承担。本站只说明这些数字是怎么算出来的、在什么条件下会算错。

    不承诺集成

    FinTA 与 EasyClaw 无已证实集成——本机 29 个技能、603 个文件里 finta 出现 0 次。EasyClaw 路线提供的是「免环境提问」,不是「运行 FinTA」。

    不替你做取舍

    「该用 FinTA 还是换库」「该不该把指标做成策略」这两个问题,本站给判断依据与读数,不给推荐结论。

    FinTA · 工具分工

    评估一个策略还需要哪些工具

    表 6:从指标到结论各环节对应的工具品类
    环节需要什么FinTA 能否提供典型工具品类
    取数行情数据(含复权口径)不能——它没有任何行情接口财经数据接口库、数据提供商
    指标计算把价格变成 RSI / MACD / ATR 等列能(这就是它的全部功能)指标库(本页讨论的对象)
    信号生成把指标列变成买卖规则不能你自己的代码,或规则引擎
    回测撮合账本、成交模型、成本与滑点不能回测框架
    绩效统计收益、回撤、夏普、胜率等统计量不能绩效分析库
    稳健性检验样本外、参数敏感性、基准对照不能你自己设计的验证流程
    风险控制仓位、止损、集中度约束不能组合与风控逻辑

    这张表想说明的是一件事:FinTA 只在上表七行里占一行。所以当你发现研究卡住时,先确认卡在哪一行——如果卡在「取数」或「回测」,换一个指标库(包括换掉 FinTA)并不会让问题消失。本项目群对其中几类工具都有独立的研究页,可按需跳转阅读。

    FAQ

    关于指标与策略边界的常见问题

    RSI 低于 30 是不是买入信号?
    不是。RSI 只描述过去 14 期涨跌力量的相对值,不包含任何关于后续价格的信息。低位可以持续很久,不同市场状态下同一个阈值的含义也不同。要把它变成信号,必须补上本页第 4 节的五步,本站不提供也不建议任何交易决策。
    为什么我的回测结果看起来很好?
    最常见的原因按本站实测的顺序是:① 数据行序反了,指标用到了未来 K 线(可复现、症状极像「有效」);② 成交假设过于理想(成本、滑点按 0 计);③ 参数在全部数据上调过,没有样本外验证。先按本页未来函数清单查前两条,成本很低。
    FinTA 能帮我做回测吗?
    不能。它只产出指标列:不产生信号、不建模成交与成本、不做样本外划分、不评估绩效。把指标列当成「策略已就绪」会跳过整个验证环节。本站的定位是帮你在第一步拿到正确的数字。
    换个库会不会让策略结果变好?
    不会,但会让结果变。本站实测:同一份数据下 ATR 在 FinTA 与 TA-Lib 之间最大差 561.69,布林带带宽比值恒为 √(20/19)。用 ATR 设止损距离这类用法,换库必须重新校准参数,否则你比较的其实是两个不同规则。具体读数见交叉验证页。
    本站有没有跑过任何策略回测?
    没有。本站只做代码可用性实测、数据契约验证与跨库数值对照,不运行策略、不发布绩效数字。这是有意的边界——让「哪些结论有实测支撑」这件事始终清清楚楚。
    那我要评估策略该用什么?
    需要一套回测框架(账本、撮合、成本模型、绩效统计),这类工具与 FinTA 是不同品类:FinTA 给你指标列,回测框架负责后面的执行与统计。本站的选型与迁移页列了五个库的定位差异,可以据此判断你缺的是哪一类工具。

    相关阅读:与 TA-Lib 交叉验证、替代库选型。本页结论绑定 2026-10-12 的实测环境(Python 3.11.9),数值口径以官方源码为准。

    接下来读哪一页?

    如果结论是「指标计算这一层够了,其他环节自己补」,可以看选型与迁移页决定继续用还是换库;如果更想要「不写代码直接问」的路线,可以看对比页。