playbook/docs/tsl/finance/selection_and_signal_patter...

52 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Selection And Signal Patterns
文档类型:业务骨架
是否可直接用于生成代码:否
是否含已验证可执行示例:否
是否含已验证反例:否
遇到不确定时跳转到:[series_and_indicator_model.md](series_and_indicator_model.md)、[backtest_and_trade_flow.md](backtest_and_trade_flow.md)、[../syntax/index.md](../syntax/index.md)
这一篇收拢选股、筛选和信号生成的业务模式。
## 这一篇解决什么问题
回答“如何把条件表达和金融筛选任务组织成稳定的选股/信号脚本”。
## 必须记住的规则
- 选股和信号属于业务层模式,不是通用语言规则。
- 语言层只回答“条件怎么写”finance 层回答“这些条件怎样组成选股/信号任务”。
- 如果问题开始变成某个基础运算符怎么写,应回到 syntax 层。
## 任务骨架
1. 先写条件表达:澄清你在筛什么、比较什么、窗口是多少。
2. 再生成信号:决定输出是布尔筛选、买卖信号,还是评分 / 排序结果。
3. 最后整理结果输出:决定是输出标的列表、信号列、分数字段,还是交给下游回测。
## 常见任务形态
- 单次筛选:给定条件,输出满足条件的标的集合。
- 连续信号:按时间推进,逐 bar 产生买入 / 卖出 / 持有信号。
- 评分排序:先算分,再做阈值过滤、排名或分组。
## 写之前先决定
- 条件是在“当前 bar 是否成立”,还是“最近 N 个 bar 的模式是否成立”。
- 信号是即时使用,还是要保存成后续回测 / 执行的输入。
- 输出面向人看,还是面向下游框架消费。
## 常见误判
- 把一个业务筛选范式误写成“所有 TSL 都应这样写”的基础语法结论。
- 不区分“条件表达成立”与“选股任务组织合理”这两件事。
- 还没确认输出形式,就先把条件堆成很长的单条表达式。
- 把筛选条件、信号生成和结果输出混写在一个不可拆分的大块里。
## 跳转指引
- 指标与序列:见 [series_and_indicator_model.md](series_and_indicator_model.md)
- 市场上下文:见 [market_data_context.md](market_data_context.md)
- 回测与交易:见 [backtest_and_trade_flow.md](backtest_and_trade_flow.md)
- 基础语法:见 [../syntax/index.md](../syntax/index.md)