一、点数图的技术本质与核心逻辑
点数图(Point and Figure Chart)是一种基于价格变动而非时间序列的图表工具,其核心逻辑在于通过“X”与“O”的矩阵排列,过滤市场中的随机波动,突出趋势性价格变化。与传统的K线图、折线图不同,点数图将横轴的时间维度抽象化,仅在价格达到预设的“转向格数”时才记录转向信号。
1.1 符号矩阵的构建规则
- X列:当价格持续上涨且涨幅超过每格代表值时,在纵轴方向连续绘制“X”符号,形成上升趋势列。
- O列:当价格持续下跌且跌幅超过每格代表值时,在纵轴方向连续绘制“O”符号,形成下降趋势列。
- 转向条件:仅当价格反向波动达到预设的“转向格数”(如3格)时,才在横轴方向切换列,否则继续在当前列延伸。
1.2 去噪机制与趋势识别
点数图通过两个关键参数实现噪声过滤:
- 每格代表值(Box Size):决定价格波动的最小记录单位。例如,若每格代表1元,则价格需上涨或下跌1元才会触发符号绘制。
- 转向格数(Reversal Size):决定趋势反转的阈值。若转向格数为3,则价格需反向波动3格(如3元)才会切换列。
这种设计使得点数图能够忽略短期波动,专注于长期趋势的识别。例如,在股票市场中,点数图可清晰显示股价的支撑位(多次“O”列底部)与阻力位(多次“X”列顶部)。
二、参数设置与优化策略
点数图的参数设置直接影响其分析效果,需根据市场特性与交易目标动态调整。
2.1 每格代表值的确定方法
- 波动率适配法:根据标的资产的平均波动率设定格值。例如,对于波动较大的期货品种,可设置较大的格值(如5元)以减少符号列数;对于波动较小的外汇对,可设置较小的格值(如0.0005)以提高敏感性。
- 百分比法:以价格的一定百分比作为格值。例如,设置格值为价格的1%,则股价100元时每格代表1元,股价200元时每格代表2元。
2.2 转向格数的选择逻辑
- 趋势强度适配:转向格数越大,过滤的噪声越多,但可能延迟信号触发。例如,转向格数为1时,点数图对价格反转高度敏感;转向格数为5时,仅记录显著趋势变化。
- 市场周期适配:短线交易者可选择较小的转向格数(如1-2),长线投资者可选择较大的转向格数(如3-5)。
2.3 动态参数调整案例
以某股票为例,初始参数设置为每格代表1元、转向格数3。若市场进入震荡期,频繁的“X”“O”切换导致信号混乱,此时可将转向格数调整为5,过滤短期波动;若市场进入单边趋势,可将每格代表值缩小至0.5元,提高趋势捕捉的精细度。
三、典型交易信号与实战规则
点数图的信号生成基于符号列的形态变化,以下为三种核心规则:
3.1 突破信号(Buy/Sell Breakout)
- 买入信号:当第三个“X”列的顶部价格超过第二个“X”列的顶部时,触发买入。例如,若第一“X”列顶部为10元,第二“X”列顶部为12元,第三“X”列顶部突破12元至13元,则形成买入信号。
- 卖出信号:当第三个“O”列的底部价格低于第二个“O”列的底部时,触发卖出。例如,若第一“O”列底部为8元,第二“O”列底部为6元,第三“O”列底部跌破6元至5元,则形成卖出信号。
3.2 支撑阻力位验证
- 支撑位:多次“O”列的底部价格集中区域,例如某股票在9-10元区间连续出现3次“O”列底部,则该区间为强支撑位。
- 阻力位:多次“X”列的顶部价格集中区域,例如某外汇对在1.20-1.21区间连续出现4次“X”列顶部,则该区间为强阻力位。
3.3 形态识别与趋势延续
- 双底形态:两个连续的“O”列底部价格接近,随后“X”列突破前高,预示趋势反转。
- 三角形整理:“X”列与“O”列交替出现,且波动幅度逐渐收窄,最终以突破方向决定趋势延续或反转。
四、多市场应用场景与优势
点数图因其去噪特性,适用于多种金融市场:
4.1 股票市场:长期趋势跟踪
在股票市场中,点数图可过滤日常波动,突出主力资金动向。例如,某蓝筹股在半年内形成上升“X”列矩阵,支撑位稳定在20元附近,阻力位逐步上移至30元,表明长期牛市格局。
4.2 期货市场:波动率管理
期货价格波动剧烈,点数图通过调整格值与转向参数,可适应不同品种的特性。例如,原油期货可设置每格代表2元、转向格数5,黄金期货可设置每格代表5元、转向格数3。
4.3 外汇市场:跨时段分析
外汇市场24小时交易,点数图可忽略时段切换的噪声。例如,欧元/美元在4小时图上形成下降“O”列矩阵,支撑位下移至1.0500,阻力位压缩至1.0800,提示短期空头机会。
五、技术实现与工具选择
点数图的绘制可通过编程或专业软件实现:
5.1 编程实现逻辑
以下为Python伪代码示例:
def plot_point_figure(prices, box_size, reversal_size):direction = None # 'X' or 'O'current_col = []chart = []for price in prices:if direction is None:direction = 'X' if price > prices[0] else 'O'current_col.append(price)else:last_price = current_col[-1]if (direction == 'X' and price >= last_price + box_size) or \(direction == 'O' and price <= last_price - box_size):current_col.append(price)else:# Check reversalif (direction == 'X' and price <= last_price - box_size * reversal_size) or \(direction == 'O' and price >= last_price + box_size * reversal_size):chart.append(current_col)direction = 'O' if direction == 'X' else 'X'current_col = [price]else:continuereturn chart
5.2 专业软件功能
主流图表工具(如某技术分析平台)提供点数图模块,支持参数预设、信号标注与回测功能。用户可通过拖拽方式调整格值与转向数,实时生成分析图表。
六、总结与进阶建议
点数图作为一种去噪趋势分析工具,其核心价值在于通过符号矩阵过滤市场噪声,精准识别趋势与关键价位。交易者需根据市场特性动态调整参数,结合其他指标(如成交量、MACD)验证信号。未来,随着量化交易的发展,点数图可与算法模型结合,构建自动化交易策略,进一步提升分析效率与收益稳定性。