Swing Timeframes 使用哪些输入?
直接答案
Swing Timeframes 并没有一个统一固定的输入列表,因为“输入”取决于具体方法如何定义其规则。通常来说,任何一种 Swing Timeframes 方法都会使用(1)决定预期持仓周期的时间周期设置,以及(2)用于计算条件的市场数据字段,例如价格值。如果方法中包含技术指标,则这些指标的计算结果会作为额外的输入。读者可以通过写下该方法的明确规则集来独立验证:每个决策点都应引用特定的数据字段和参数。
机制或定义
理解 Swing Timeframes 的一个清晰方式是将其视为一种基于规则、将交易决策与特定时间周期相关联的方法。“Swing”指的是寻找持续数天至数周的价格波动(具体长度因方法而异),而非日内波动。这个时间周期在实践中即为一种输入,因为它限定了哪些数据点是相关的。
大多数 Swing Timeframes 实现包含三个输入层级:
-
时间周期参数:包括预期的持仓周期(例如,该方法预计交易持仓的K线或天数)以及“决策频率”(即条件评估的频率)。即使没有明确说明具体数值,图表的时间周期本身也起到输入作用,因为它决定了存在哪些K线或柱状图。
-
市场数据字段:常见的字段包括 开盘价(open)、最高价(high)、最低价(low)、收盘价(close),有时还包括 成交量(volume)。如果方法仅使用价格水平,则价格字段是唯一的输入;如果使用衍生水平,则这些衍生值也成为额外的输入。
-
衍生特征(可选):如果方法提及技术指标,通常会将市场数据转换为衍生值(例如,移动平均、动量指标或通道水平)。在这种情况下,指标的计算参数(例如回溯周期长度)是额外的参数,而指标的输出值则成为额外的输入。
重要的建模假设:当你解读一个“Swing Timeframes”规则集时,应将输入视为规则中实际引用的内容。如果规则说“使用最近的收盘价”,那么“最近收盘价”就是输入;如果规则说“使用20周期的平均值”,那么“20”以及该平均值所基于的价格序列都是输入。
证据或示例
以下是如何在不假设实时价格的情况下列出输入的示例。
假设一个假设的规则集,其条件按每根K线评估一次,专为波段持仓设计:
- 时间周期输入:在用户选择的图表时间周期上(隐含参数),按固定K线数量持仓(参数)。
- 决策输入:在每次评估时,读取该K线的 收盘价(市场数据字段),以及可能的 最高价/最低价(额外字段)。
- 可选衍生输入:如果规则使用移动平均线,则移动平均的回溯周期长度是参数,移动平均的数值是衍生特征输入。
要独立验证,可以进行纸面检查:对每个决策,指出其引用的变量(例如“第N根K线的收盘价”或“第N根K线的指标输出”)。如果某条规则引用了无法从已声明输入中推导的内容(例如“市场下周将转向”),那么它就不是明确的输入,而是一个未经证实的断言。
局限性和风险
一个关键的局限是,“输入”不等于“保证”。即使使用相同的输入和参数,结果也可能不同,原因包括:
- 市场状况变化:价格与衍生特征之间的历史关系可能不会持续。
- 交易成本和执行质量:点差、佣金、滑点和订单处理会影响实际结果,与简化计算存在差异。
- 时间周期依赖性:更改图表时间周期会改变存在的K线,从而改变输入数据。
- 失效模式:常见失效模式是规则在一种市场环境下有效(例如趋势行情),而在另一种环境下表现不佳(例如震荡行情),即使输入和参数保持不变。
还需注意验证限制:在没有实时数据的情况下,你只能验证规则集是否内部一致(输入定义明确且可计算),而无法验证其未来是否有效。
验证或下一步问题
要验证某种特定方法的 Swing Timeframes 使用了哪些输入,请将其规则集重写为检查清单形式:
- 列出所有参数(时间周期、回溯周期、评估频率)。
- 列出所有引用的数据字段(开盘价/最高价/最低价/收盘价、成交量)。