评估CMO需要哪些数据?
什么是CMO(以及数据为何重要)?
CMO(Chande动量振荡器)是一种振荡器,通过比较选定回溯周期内累计的“上涨”和“下跌”价格变动来衡量动量。其核心思想很简单:如果近期变动以上涨为主,则振荡器趋向于更高值;如果以下跌为主,则趋向于更低值。由于该振荡器基于特定的价格变动构建,因此评估CMO所需的数据必须包括基础时间序列以及将该序列转换为涨跌变动的明确定义规则。
评估CMO需要哪些数据?
为准确评估CMO,请收集以下输入信息和文档资料。
1) 基础时间序列
- 用于计算的价格序列(通常为收盘价)。需明确使用收盘价、典型价格或其他一致定义。
- 具体的交易品种和市场背景(相同代码、相同交易场所、一致的交易时段处理)。即使对于“同一”品种,不同数据源也可能产生不同的价格历史。
2) 回溯窗口(“周期”)
- 用于汇总涨跌变动的窗口长度(例如,固定数量的K线)。CMO的数值直接依赖于该周期。
- 该周期是以相同时间框架的K线数(如1小时K线)还是日历时间表示。
3) 时间戳与重采样规则
- 输入数据的时间框架(如5分钟、1小时、每日)。
- 如何处理缺失K线:插值、跳过或前向填充,这些都可能显著改变计算出的涨跌变动。
- 时区对齐和交易时段边界。对于存在不连续性的市场,K线构建规则会影响窗口中第一个“可用”变动。
4) 涨跌变动定义(计算机制)
CMO需要将价格变动划分为上涨和下跌两部分。您需要明确所用方法的具体规则,包括:
- 如何计算价格变动(例如,连续收盘价之间的差值)。
- 如何处理零变动(视为既非上涨也非下跌,或归入其中一侧)。不同实现方式可能对边缘情况处理不同。
- 是否在求和项中使用绝对差值。
5) 数据来源与可复现性信息
- 数据提供商身份和数据集版本(“实时”数据流可能在公司行为或事后填充后发生历史变更)。
- 任何预处理步骤:剔除异常值、调整拆分/股息(如适用)、或使用调整后价格。
- 定义CMO计算的软件或公式规范,以便他人能用相同输入复现相同数值。
所需数据在实践中如何运作?
CMO通过滚动窗口内的历史价格变动进行计算。具体而言,可复现的评估需要:
- 选择价格定义(例如,收盘价到收盘价的变动)。
- 选择回溯窗口长度。
- 使用明确定义的规则,将每个连续价格变动划分为“上涨”或“下跌”部分。
- 在窗口内对这些部分求和,并应用振荡器的归一化处理。
如果上述任一环节存在差异——例如使用不同时间框架、不同类型价格、不同周期或不同零变动规则——所得到的CMO序列将不一致。因此,数据来源和计算机制是“所需数据”的一部分,而不仅仅是原始价格。
证据、示例及如何公平比较CMO
一个实用的检查方法是:仅当两个CMO计算共享相同输入和机制时才进行比较:
- 相同交易品种和相同时间框架。
- 相同周期长度。
- 相同价格字段(例如,收盘价)。
- 相同的零变动和缺失数据处理规则。
若无法保证这些条件,即使两个序列都标注为“CMO”,比较也可能产生误导。例如,对缺失K线采用不同处理方式的方法,可能在缺口后的最初几个窗口中改变涨跌总和。
局限性与风险(可能出现的问题)
显著局限:依赖市场机制
像CMO这样的振荡器描述的是近期窗口内的动量行为。市场机制可能发生变化,因此CMO水平与后续结果之间的历史关系未来可能不再成立。
失效模式:实现不一致
机制上的微小差异——例如负向变动如何求和,或零变动K线如何分类——都可能改变振荡器的幅度和方向。
数据完整性风险
- 缺失或错位的时间戳可能扭曲连续价格差。
- 经事后填充或修订的数据集可能改变历史数值。