边界:指标不是策略
技术指标能当买卖信号吗:从「RSI 低于 30」到可评估策略缺的五步
FinTA 给出的是价格的历史变换,不是收益预测。"
"TA.RSI(ohlc) < 30 这句话描述的是「过去 14 期跌得比涨得多的程度」,"
"它不包含任何关于明天会怎样的事实。
而从这一列数字走到「这个策略值不值得用」,中间隔了五步:" "信号规则、成交假设、未来函数检查、样本外划分、与基准对照。" "跳过任何一步,得到的结果都无法解释——本站把每一步的检查项列成可执行清单。
FinTA · 常见误解
技术指标当策略用有哪些常见误解?七条逐项对照
| 常见说法 | 问题在哪 | 更准确的说法 |
|---|---|---|
| 「RSI 低于 30 就该买」 | RSI 低位可以持续很久;不同市场状态下同一阈值含义完全不同 | RSI 只描述过去 14 期的涨跌力度,是否买入需要另立规则并回测验证 |
| 「金叉买入、死叉卖出」 | 均线交叉本身滞后,在震荡行情里会反复触发、累积成本 | 交叉是趋势类指标的形态描述,需要跟止损与成本一起评估 |
| 「用当日收盘算出的指标,就在当天收盘成交」 | 你不可能在收盘价确定的同一时刻用该价格成交;A 股还要遵守 T+1 | 把成交价挪到下一个可交易日,并把这条假设写进结论 |
| 「历史回测赚了,就说明有效」 | 样本内表现好可能只是过拟合;没有样本外验证等于没有证据 | 必须留出没参与过参数调整的数据段做验证,并与基准对照 |
| 「一个指标不够,多叠几个就准了」 | 叠加高度相关的指标不会增加信息量,只会增加参数 | 先问每个指标提供了什么独立信息,再决定要不要叠加 |
| 「指标参数调到看着漂亮就能稳定盈利」 | 在历史上扫参数必然能找到漂亮的组合,这叫曲线拟合 | 参数的稳健性比某个点上的高低重要:邻近参数的表现是否也好 |
| 「FinTA 算出来的数和行情软件一样,所以信号也一样」 | 本站实测布林带、ATR、ADX 在不同库之间有系统性差异,阈值不能跨库搬运 | 换库要重新校准参数;差异清单见交叉验证页 |
这七条不是「不要用指标」,而是「指标是原料,不是结论」。描述历史与预测未来是两件事,中间必须补上验证环节。本站全站不提供任何收益率、胜率或夏普数字,也不做交易建议。
FinTA · 未来函数
未来函数怎么查:六类常见来源
| 来源 | 具体表现 | 怎么查 | 本站实测 |
|---|---|---|---|
| 数据行序错误 | 数据是最新一行在前,指标按行滚动时把未来的 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 · 成交假设
回测的成交假设要写清哪些事?七个必须声明的项
| 假设项 | 为什么必须写清 | A 股常见取值参考(仅作说明) |
|---|---|---|
| 手续费 | 双边收取,直接吃掉高频策略的收益 | 按你券商的实际费率,写进结论 |
| 印花税 | 卖出单边收取 | 以交易所与税务现行规则为准 |
| 滑点 | 市价单通常成交在不利方向;流动性差的标的影响更大 | 按标的流动性设定,不要默认 0 |
| T+1 | 当天买入不能当天卖出,日内策略在 A 股不成立 | 把卖出时点推迟到下一个交易日 |
| 涨跌停 | 涨跌停当天可能买不到也卖不掉,回测里成交会失真 | 涨跌停日按「无法成交」处理更保守 |
| 停牌 | 停牌期间无法交易,但指标仍在滚动 | 停牌段单独标注,别让它悄悄改变仓位 |
| 最小交易单位 | A 股按手(100 股)交易,资金量小时无法精确按比例建仓 | 整数手约束会影响小资金策略 |
这些假设里没有一条是 FinTA 能替你回答的——它只算指标列。把它们写下来并显式参数化,是「可评估」与「看起来有效」的分界线。具体费率、税制与交易规则请以交易所与券商的现行规定为准。
FinTA · 五步
从指标到可评估策略要经过哪些步骤?五步走完
五步走完才算「可评估」
isna() 分布检查——这两步成本低、收益也大。这五步里没有一步需要 FinTA,但每一页都要用到它算出来的那几列。这正是本站反复强调的定位:FinTA 负责第一步的输入,不负责后面四步。
FinTA · 证明力
单一指标能证明什么、不能证明什么
| 它能证明的 | 它不能证明的 |
|---|---|
| 过去 N 期价格涨跌的相对力度(RSI) | 未来 N 期的收益方向或幅度 |
| 过去 N 期价格对均线的偏离程度(布林带带宽) | 偏离一定会回归 |
| 过去 N 期真实波幅的平均水平(ATR) | 未来的波动幅度会维持在同一水平 |
| 过去 N 期趋势方向的强弱(ADX) | 趋势会延续;且 ADX 在不同库之间差异最大 |
| 某一段历史数据上,某个规则在特定成交假设下的表现 | 同一规则在另一段数据或另一市场上的表现 |
| 你的数据整理与指标计算是否正确 | 这个指标是否值得做成策略 |
把这张表读完之后,一个实用的自检问题是:「如果我把这个指标换成随机数,我的结论会变吗?」如果不会变,说明你真正依赖的不是指标,而是别的东西(比如成交假设或样本选择)——那才是应该先检查的地方。
FinTA · 本站立场
本站不做什么
不发布任何收益数字
全站没有收益率、胜率、夏普、年化。本站做的是代码可用性、数据契约与数值口径的核验,不是策略评估。任何声称「某指标回测盈利」的说法都不在本站范围内。
不提供交易建议
指标阈值、参数、买卖时点的选择都由使用者自己承担。本站只说明这些数字是怎么算出来的、在什么条件下会算错。
不承诺集成
FinTA 与 EasyClaw 无已证实集成——本机 29 个技能、603 个文件里 finta 出现 0 次。EasyClaw 路线提供的是「免环境提问」,不是「运行 FinTA」。
不替你做取舍
「该用 FinTA 还是换库」「该不该把指标做成策略」这两个问题,本站给判断依据与读数,不给推荐结论。
FinTA · 工具分工
评估一个策略还需要哪些工具
| 环节 | 需要什么 | FinTA 能否提供 | 典型工具品类 |
|---|---|---|---|
| 取数 | 行情数据(含复权口径) | 不能——它没有任何行情接口 | 财经数据接口库、数据提供商 |
| 指标计算 | 把价格变成 RSI / MACD / ATR 等列 | 能(这就是它的全部功能) | 指标库(本页讨论的对象) |
| 信号生成 | 把指标列变成买卖规则 | 不能 | 你自己的代码,或规则引擎 |
| 回测撮合 | 账本、成交模型、成本与滑点 | 不能 | 回测框架 |
| 绩效统计 | 收益、回撤、夏普、胜率等统计量 | 不能 | 绩效分析库 |
| 稳健性检验 | 样本外、参数敏感性、基准对照 | 不能 | 你自己设计的验证流程 |
| 风险控制 | 仓位、止损、集中度约束 | 不能 | 组合与风控逻辑 |
这张表想说明的是一件事:FinTA 只在上表七行里占一行。所以当你发现研究卡住时,先确认卡在哪一行——如果卡在「取数」或「回测」,换一个指标库(包括换掉 FinTA)并不会让问题消失。本项目群对其中几类工具都有独立的研究页,可按需跳转阅读。
FAQ
关于指标与策略边界的常见问题
RSI 低于 30 是不是买入信号?
为什么我的回测结果看起来很好?
FinTA 能帮我做回测吗?
换个库会不会让策略结果变好?
本站有没有跑过任何策略回测?
那我要评估策略该用什么?
相关阅读:与 TA-Lib 交叉验证、替代库选型。本页结论绑定 2026-10-12 的实测环境(Python 3.11.9),数值口径以官方源码为准。