- Published on
3D Sine Wave
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
策略解读
在公开交易社区里,我们见过太多试图预测价格、捕捉买卖点的“正经”策略。而今天要聊的这个小玩意却有点特立独行——它不预测、不分析、不发出任何交易信号,只是把一个三维立方体绑在正弦波上,让它上下起伏、左右摇摆。作者 barnabygraham 自己也直言:“它不反映图表上的任何数据,它只是看起来很漂亮。”
但请不要急着把它当成一个无用的玩具。这个看似娱乐化的可视化脚本,其实隐藏着一个非常核心的量化思维:一切技术指标的本质,都是将原始数据映射到某种几何形态上。 三维正弦波只是把这种映射玩到了极致——它把一维的时间序列变成了三维空间中的一条轨道,让交易者用眼睛去感受数据流动的韵律。
如果仅仅停留在“好看”层面,这篇文章就没有必要写了。关键在于作者在描述里给出的那句话:“你可以用任何输入替换掉‘wave’变量。”这意味着,你完全可以把价格、成交量、RSI、MACD 乃至自定义的量化因子塞进这个三维管道里,让立方体随着它们运动。于是,一个纯娱乐脚本,瞬间变成了一个可扩展的“数据感知外壳”。
本文将从原作出发,拆解这个三维正弦波背后的数学与视觉逻辑,探讨它作为“非典型指标”的优缺点,并给出实用的改进思路。希望你能从中获得一点启发:交易工具未必都要严肃到令人窒息,有时候,换个角度看数据,反而能捕捉到线性图表上容易被忽略的微妙节奏。
名词解释
在深入讨论之前,我们先厘清几个关键术语。这些词是理解三维正弦波可视化乃至整个量化技术分析的基础,对于刚接触相关概念的读者尤其重要。
1. 正弦波(Sine Wave)
正弦波是数学中描述周期性变化的最基本函数,形式为 y = A·sin(ωt + φ),其中 A 是振幅,决定波峰与波谷的高度差;ω 是角频率,决定波动的快慢;φ 是初始相位,决定波在时间起点上的位置。在金融市场中,很多技术指标(如动量指标、周期性指标)都假设价格波动具有一定的正弦波特征,但绝大多数情况下市场并不完美遵循这种规律。此处被用作3D运动路径的基础,属于纯几何引用。
2. 三维坐标系(3D Coordinate System)
三维坐标系用三个相互垂直的轴(通常为 X、Y、Z)来定位空间中的一个点。相比传统图表上的二维坐标(时间对价格),三维坐标系额外引入了一个深度维度。在这个脚本中,原本的平面正弦曲线(X 轴为时间,Y 轴为波动值)被扩展为三维路径,立方体既能沿着 Y 轴上下起伏,又能在 X 轴和 Z 轴组成的水平面上移动,从而营造出立体旋转的视觉效果。
3. 时间周期(Timeframe)
时间周期指一根K线对应的固定时间长度,常见的有1分钟、5分钟、1小时、日线等。在传统图表中,不同时间周期会呈现不同形态的K线。作者特意建议“在1秒时间周期上观看”,是因为极短周期内K线刷新极快,立方体的运动频率随之变高,正弦波的流动感更强,视觉效果也更为流畅。注意,1秒时间周期在大多数平台属于超短周期,仅适合观察高频波动,不适合指导真实交易决策。
4. 可视化(Visualization)
可视化是将数据以图形、动画或三维模型等形式呈现的过程。量化交易中的可视化不仅包括K线图、指标线,也包括热力图、三维散点图、路径动画等。可视化的核心目标是提升人对抽象数据的感知能力。本脚本中的三维正弦波,属于“纯装饰性可视化”,因为它不携带市场数据,但其背后的映射逻辑与数据驱动的可视化完全一致。
5. 变量(Variable)
变量是编程中用来存储数据的容器,其值可以改变。在原始脚本中,作者把定义正弦波计算的表达式赋值给一个名为“wave”的变量,这个变量驱动立方体位置的变化。更广义地看,变量是策略中所有输入、中间计算和输出结果的载体。理解变量概念,有助于明白“替换wave”这件事——本质上就是改变输入数据流,让同一个可视化输出不同行为。
6. 相位(Phase)
相位描述周期性波形在某一时刻所处的循环位置,单位通常为角度或弧度。例如,正弦波的相位从0到2π为一个完整周期。相位不同,波形的起点和形态就不同。在三维正弦波中,通过调整相位参数,可以让立方体在同一时刻处于波动曲线的不同位置,从而改变运动轨迹的初始形态。这一概念在信号处理和经济周期研究中都很常见。
7. 插值(Interpolation)
插值是在两个已知数值之间估计中间值的过程。当把立方体渲染到三维空间时,每秒通常需要刷新几十帧画面,而数据点本身的采样频率可能较低,此时就需要通过插值平滑地连接相邻数据点,形成连续动画。插值方式不同,立方体运动的平滑度也会不同,例如线性插值会产生折线运动,而样条插值则产生更光滑的曲线。
策略思路讲解
严格意义上,3D Sine Wave 并不是一个“交易策略”,因为它不包含任何开仓、平仓、止损或仓位管理的逻辑。它更像是一个可视化工具,或者说是“数据放大器”。但我们可以从它的设计思路中提炼出几个可供量化爱好者借鉴的核心理念。
第一步:从数学函数到运动路径
原始脚本用正弦函数生成一个随时间变化的数值,这个数值被直接映射成立方体在三维空间中的纵向位置。简单来说,就是令立方体的 Y 坐标等于某个正弦函数的值:
Y(t) = A × sin(频率 × t + 相位)
随着时间 t 的推移,Y 值在 -A 和 +A 之间来回摆动,于是立方体看起来在做上下起伏的运动。此外,脚本可能还让立方体沿着 X 轴或 Z 轴旋转或平移,从而形成三维空间中的螺旋或波浪轨迹。
第二步:为什么选择正弦波?
正弦波是最直观的周期性运动模型。它光滑、连续、处处可导,在视觉上呈现出一种优雅的韵律感。对比价格图表上的杂乱跳动,正弦波显得异常“干净”。作者选择正弦波,一方面是出于美学考虑,另一方面可能也有意暗示:金融市场中的许多力量(如季节效应、均值回归周期)确实存在某种伪周期特征,尽管它们远达不到正弦波的纯净度。
第三步:从装饰到通用映射
作者特意指出“你可以用任何你想要的输入替换 wave 变量”。这句话点醒了我们:如果不用正弦函数,而是将 Y 坐标替换为当前K线的收盘价、RSI值、ATR值,甚至某个机器学习模型的输出,那么立方体就会变成某种“数据浮标”,其上下浮动直接反映所选数据的实时变化。比如把 Y 坐标绑到 MACD 柱状图上,当柱状图放大时立方体上升,缩小时立方体下降,交易者就能通过三维空间中的物体姿态直观感受动量强弱。
第四步:1秒周期下的意义
作者建议在1秒时间周期上观看,是因为短周期下数据更新频率极高,立方体能以更细腻的步长“画出”正弦曲线的连续轨迹。若在日线上运行,每一根K线对应一个点,动画的流畅度会大打折扣。从策略开发角度而言,用超短周期观察可视化对象,可以帮助交易者快速感受一个指标在不同行情环境下的“形态特征”,虽然这种视觉感受很难量化,但有时能激发灵感。
第五步:它到底能用在哪些地方?
在实际应用中,这个立方体可以承担以下角色:
- 指标状态监视器:将指标值(如 RSI 的超买超卖区)映射到立方体的颜色、大小或位置,当指标进入极端区域时,立方体形态发生明显变化,起到“准警报”作用。
- 参数敏感性演示工具:调整正弦波的频率和振幅,相当于调整一个周期类指标的计算参数,通过观察立方体运动轨迹的变化,评估参数变化对输出形态的影响。
- 市场节奏可视化:将价格序列的短期波动通过滤波算法转化为类似正弦波的曲线,再驱动立方体运动,从而让交易者“看见”市场当前的波动周期是处于加速、衰减还是震荡阶段。
- 策略回测展示:策略研究中,可将每次模拟交易的开平仓时刻映射到三维空间中的事件点,例如在立方体运动路径上不同位置生成标记,形成动态回测动画,便于路演或复盘。
优点
1. 极强的视觉吸引力,适合展示与教学
在公开交易社区中,大多数指标都是密密麻麻的线条和柱状图,容易让人审美疲劳。三维正弦波提供了极具冲击力的动态画面,非常适合用于演示技术分析中“周期”与“波动”的概念。无论是给交易新手讲解正弦波,还是在团队内部分享量化成果,这个可视化都能迅速抓住注意力。
2. 架构开放,可替换任何输入
虽然原始脚本只是一个装饰品,但它的架构极简——核心只依赖一个可替换的变量。这种设计让它天然具备“通用数据接口”的潜力。用户无需修改复杂的渲染代码,只需把正弦波的计算换成任何想要的数据,就能得到一个三维实时数据监视器。这种低耦合设计值得所有策略开发者学习。
3. 帮助交易者训练“数据敏感度”
通过把抽象数值变成空间运动,交易者可以更自然地感知数据的节奏。例如,当你把 Y 轴换成价格变化率后,立方体上下起伏的频率和幅度会直接反映市场加速度,长时间观察能训练出一种“第六感”,这在纯数值图表上是难以形成的。
4. 运行负载极低,适应高频刷新
正弦波计算开销极小,即便在1秒周期下高频刷新,对系统资源的占用也很低。相比那些在多个时间框架上进行复杂递归计算的重型指标,这个脚本几乎不会引起图表卡顿。这意味着它可以同时附加到多个图表上,构建一个三维数据“仪表盘”。
5. 易于扩展,具有艺术与数据融合潜力
这个脚本将数学与艺术结合,为量化可视化提供了新思路。近年来,越来越多交易者开始用“数据艺术”来理解市场的复杂系统。三维正弦波尽管简单,却打开了通往更复杂视觉策略(如三维K线、分形模拟、粒子系统)的大门。
缺点
1. 不包含任何实际交易信息
这是最根本的缺陷。立方体的运动完全由正弦函数驱动,与当前标的价格、成交量、持仓量等市场数据毫无关系。如果你指望它帮你判断买卖时机,那注定会失望。它不仅是“非策略”,甚至连“指标”都算不上。
2. 正弦波与市场行为脱节
金融市场并不遵循确定性正弦波。价格运动具有厚尾、突变和聚集性波动特征,单纯的正弦波在数学上过于平滑,无法模拟真实市场的跳跃与断层。若强行将真实价格数据代入并期望它呈现类似正弦波的美感,结果往往会杂乱无章,失去视觉上的优雅。
3. 1秒时间周期实用性极低
作者建议在1秒周期上观看,这本身就是一种“为看而看”的做法。1秒K线受市场微观噪声影响巨大,几乎不具备统计稳定性,更没有实盘交易价值。如果交易者真的把该可视化用于1秒周期上的所谓观察,大概率只会看到立方体疯狂晃动,不仅无助于分析,反而容易造成视觉疲劳和错误联想。
4. 三维渲染可能带来认知混淆
三维图形需要旋转视角才能看到全貌,而在交易图表中,用户通常习惯于二维的“时间-价格”关系。强行加入三维深度轴,会让时间轴变得不再直观,甚至扭曲对数据变化速率的判断。例如,同样的正弦波周期,在不同的旋转角度下,看起来频率完全不同,这可能误导用户对周期长短的感知。
5. 缺少交互与告警功能
原始脚本除了几个可调参数外,并没有提供任何交互式反馈(如鼠标悬停显示数值、阈值高亮、声音告警等)。这使得它本质上是一个单向的输出,用户只能被动观察立方体运动,无法将它与具体的交易动作或市场事件关联起来。
起源年份考证
需要说明:以下考证针对的是“三维正弦波可视化”这一技术类型,而非 barnabygraham 所写的这个具体脚本。因该脚本发布于公开交易社区,但具体发布日期不详,且作者未提供创作背景,因此无法准确考证其原始发布时间。不过,我们可以从技术发展史的角度梳理三维正弦波可视化相关方法的演进时间线:
-
1960年代:计算机图形学早期的函数可视化
正弦波是最早被计算机绘制的数学函数之一。在1960年代,随着 CRT 显示器与绘图仪的出现,研究人员开始将二维函数曲线扩展到三维线框透视。麻省理工学院等机构在交互式图形系统上实现了旋转的三维函数曲面,其中包括正弦波。这一阶段的方法属于“数学函数可视化”,尚未与交易数据结合。 -
1970年代:三维线框图形技术成熟
三维线框图形在航空和工程领域得到广泛应用,1970年代出现的“犹他茶壶”等标准模型推动了三维渲染算法发展。此时已有商业软件能实时绘制三维正弦曲面,但多用于教学演示,与金融无关。 -
1980年代:技术分析软件引入图形化指标
随着个人电脑普及,1980年代出现了第一批面向零售交易者的图表分析软件(如 MetaStock、TradeStation 的早期版本)。这些软件以二维图表为主,但已支持将自定义公式绘制为曲线。三维可视化在此阶段仅存在于极少数专业交易终端中,用于展示波动率曲面,而非正弦波。 -
1990年代末至2000年代初:量化交易与动态可视化结合
量化交易兴起后,为了展示高频数据、期权波动率曲面和神经网络输出,三维可视化开始进入交易领域。例如,1990年代末的 Bloomberg 终端支持三维波动率曲面显示。但通用交易平台上尚未出现“三维正弦波立方体”这类纯装饰性组件。 -
2000年代后:网页与脚本语言推动低成本可视化
随着基于网络的技术分析平台出现,普通用户终于能够用轻量脚本快速创建自定义三维对象。这一阶段,许多开发者为了展示平台的三维渲染能力或单纯娱乐,开发了各种数学图形演示脚本,包括三维旋转正弦波、三维迷宫、粒子系统等。barnabygraham 的“3D Sine Wave”很可能属于这一波“可视化实验创作”的产物,但具体年份无法考证。 -
2010年代至今:数据艺术与“无用美学”流行
近年来,在 GitHub、公共交易社区等地方,出现了一批“非交易用途但纯粹有趣”的脚本,包括跳舞的线条、彩色音符、三维螺旋等。这类作品意在展示技术探索和艺术感,3D Sine Wave 的创作背景与此潮流完全吻合。遗憾的是,我们无法从公开信息中确认该脚本的确切写作年份,只能确定它属于21世纪第二个十年后兴起的“可视化玩具”类型。
综上所述:“三维正弦波可视化”这一类方法可追溯到1960年代的计算机图形学基础,而“交易图表中的三维正弦波装饰组件”则大概率出现在2000年代后,具体脚本的推出年份无法考证。
改进建议
虽然原始脚本只是一个玩具,但它的架构给了我们很好的改造基础。以下五条改进建议,可以把这个“漂亮的玩具”变成一个有一定实用价值的量化辅助工具。
改进点一:接入真实市场数据,替代固定正弦波
最直接的升级,是将 Y 轴输入从正弦函数替换为可切换的市场变量。建议增加一个输入选项,让用户选择“正弦波”“收盘价”“RSI”“成交量变化率”等不同数据源。为了让运动更平滑,可对原始数据应用移动平均或 Savitzky-Golay 滤波,消除噪声,保留趋势特征。这样立方体就从“舞蹈演员”变成了“数据信标”,其位置变化能够反映真实市场状态。
改进点二:引入颜色与尺寸的多维映射
不要只让立方体位置变化,可以让它的颜色随动量指标(如 MACD、ROC)变化,例如上涨时偏暖色,下跌时偏冷色;同时让立方体的尺寸随波动率(如 ATR 或布林带宽度)变化,波动大时膨胀,波动小时收缩。这样在原有三维位置的基础上,增加了两个额外的信息通道,形成一个“五维数据仪表盘”,能同时展示趋势、动量和波动三种属性。
改进点三:增加周期阈值告警与事件标记
可以设置两个阈值:上阈值和下阈值。当驱动立方体的数据越过阈值时,立方体周围出现一个高亮光环,或者发出声音提示。这样就能将视觉观察转化为明确的提醒信号。例如,当 RSI 超过 70 时,立方体变红并脉冲闪烁;跌破 30 时,变绿并快速旋转。这种告警方式比传统警报窗口更加直观。
改进点四:构建“多模态运动轨迹”
不要只让立方体沿 Y 轴运动,可以同时用另一组正弦波控制 X 轴和 Z 轴运动,形成利萨如轨迹(Lissajous Curves)。利萨如轨迹由两个不同频率、不同振幅的正弦波在平面上合成,能产生极其复杂而优美的图形。通过调整 X 轴频率与 Y 轴频率的比值,可以模拟不同的周期关系。甚至可以把“快周期”和“慢周期”分别映射到 X 与 Y 轴,从而可视化双重时间框架的叠加效果,比如 5 分钟与 1 小时周期的共振现象。
改进点五:增加时间窗口回放与速度控制
为了让用户能够复盘,可以增加一个“回放滑块”,允许用户拖动时间轴,观察立方体在过去任意时段的运动。同时提供播放速度控制(0.5倍、1倍、2倍等)。这样,用户就能快速浏览一段历史行情中立方体的形态变化,寻找某些特殊形态(如剧烈翻转、持续高频振荡)与后续价格走势之间的相关性,尽管这种相关性未必具有统计显著性,但至少为策略研究提供了一种视觉化的数据探索途径。
改进点六:输出坐标值到日志或面板
为了不浪费立方体的运动数据,可以在屏幕角落显示实时的 Y 坐标值、数据源名称、所属时间周期和当前变化率。这样用户既能享受视觉体验,又能获取具体数值。若能记录这些数值到文件或外部接口,甚至可以将其作为机器学习模型的特征输入——虽然那已经远超原脚本的初衷了。
改进点七:增加多立方体对比模式
复制多个立方体,每个立方体绑定不同的指标或不同周期。例如,一个立方体跟踪RSI,另一个跟踪成交量,第三个跟踪ATR。它们可在同一个三维空间中运动,用户能直观对比不同指标的节奏差异与领先滞后关系。多立方体还能用来展示多品种波动同步性,例如同时绘制黄金和原油的三维运动,观察二者的共振或背离。
总结
3D Sine Wave 是一个充满趣味与启示的“非典型交易工具”。它没有交易信号,没有胜率统计,甚至没有一根实际数据线,但它用最简单的数学函数与三维渲染,向我们展示了数据可视化的另一种可能。
从学术角度,它让交易者再次意识到:市场中的周期现象并非教科书上那样标准,反而是一种被噪声包裹的、时变的、不规则的近似周期。用一个完美的正弦波去刻画市场,注定失败,但正弦波作为分析工具的基础构件,依然具有无可替代的价值。傅里叶变换的基石,不正是无数个正弦波吗?
从工程角度,它提示我们:一个优秀的量化组件,应当尽量保持“输入与输出解耦”的清晰架构。正因为 wave 变量独立存在,整个脚本才获得了无限扩展的可能性。这比那些将数据源与绘图逻辑死死绑定的复杂指标,要高明得多。
从实用角度,它也许永远无法帮你赚钱,但可以帮助你练习观察、激发想象、训练直觉。在量化研究这条漫长而枯燥的路上,偶尔用三维正弦波这样的“无用之物”给大脑放个假,不也算是一种另类的生产力吗?
最后,请记住作者的忠告:在1秒时间周期上看它。不是为了交易,而是为了欣赏——欣赏一条纯粹的曲线,如何在三维空间里翩翩起舞。如果你愿意,也可以将这种好奇心和创造力,带回你真正关心的数据中,在那里,或许会看到不一样的波动。