CZSC / 可视化

czsc 可视化:单周期、权重与自包含 HTML 三种产出

缠论结构如果不画出来,很难判断识别得对不对。官方把可视化统一收敛到两条技术栈上:交互式图表库用于单周期与权重,前端图表库用于生成可以离开发送的自包含 HTML。这一页说明三种产出各自适合什么,以及怎么导出。

单周期:交互图表权重:时序图多周期:自包含 HTML另可一键出回测报告
plotting.kline单周期 Figure
plotting.weight权重 Figure
plotting.lightweight自包含 HTML
wbt 报告回测 HTML
可视化产出形态示意(依据官方 README 可视化表与使用案例);示意非官方截图,实际图表需由你自行运行官方示例生成。
Outputs

三种产出,形态完全不同

官方把可视化收敛成两条技术栈:一条输出交互式图表对象,另一条输出自包含的 HTML 文件。下表按官方 README 的可视化表整理。

模块产出形态能看到什么适用场景注意点
单周期 K 线模块交互式图表对象K 线与缠论结构检查结构识别是否合理在笔记本里可直接显示;要外发需另存为 HTML
权重时序模块交互式图表对象权重随时间的变化核对策略的目标仓位它画的是目标权重,不是成交记录
轻量图表模块自包含 HTML 文件多周期联立 + 信号叠加分享、嵌入、离线查看文件自包含,不依赖外部资源,可直接双击打开
回测报告可交互 HTML绩效与回撤等汇总视图回测结束后的整体复盘它由外部回测包的函数产出,不是本库的绘图模块
其他汇总视图按需自绘累计收益、回撤、月度热力图等需要在报告里自定义板块时官方说明这类视图改用外部报告函数或直接基于交互图表库实现
How to export

导出 HTML 的分步流程

官方给出的三个入口都能产出 HTML:单周期结构、多周期联立、以及把信号画到主图上。下面以多周期联立为例。

  1. 准备分析对象

    先用结构分析对象或交易器把数据跑出结果。预期得到含笔、中枢等结构信息的对象,或含持仓状态的交易器对象。

  2. 调用绘图入口

    单周期用结构对象对应的绘图函数;多周期联立用交易器对应的绘图函数;需要把信号标在图上时用信号叠加的绘图入口。预期拿到 HTML 字符串或生成文件。

  3. 写出文件并打开

    指定输出路径写出 HTML,然后用浏览器打开。预期看到交互式图表,且断网也能正常显示(文件自包含)。

  4. 交付或归档

    把 HTML 直接发给同事或归档,对方无需安装任何环境。预期对方打开即可查看同一份结果。

为什么强调自包含:官方文档明确该产出是「自包含 HTML,离线即可打开」。这一点在把研究结论发给非技术同事时特别有用 —— 不需要对方装 Python,也不需要联网加载资源。
Choice

选型对照:什么时候用哪种

三种产出没有优劣,只是用途不同。按「结果给谁看、要不要改」来选最快。

你的场景选哪种理由需要接受的代价
调试结构识别对不对单周期 K 线图能直接在画布上核对笔与中枢的位置只覆盖当前周期
检查策略仓位变化权重时序图一眼看出仓位何时变化、幅度多大不显示成交细节
把多周期结果分享给别人自包含 HTML对方无需环境、离线可看文件体积随数据量增长
回测结束做整体复盘回测报告 HTML绩效与回撤视图一次到位样式随外部包版本变化
要在报告里加自定义板块基于交互图表库自绘完全可控需要自己维护绘图代码
只要一张静态图放进文档导出图片便于插入文档与聊天工具丢失交互与缩放
CLI

命令行入口的八个子命令

除编程接口外,官方还提供命令行入口,实测包含以下子命令模块。适合做批处理与快速查看。

子命令用途适用场景注意点
analyze结构分析命令行查看一段数据的结构结果参数与输出格式以实际帮助信息为准
backtest回测批处理回测回测能力来自外部包,参数口径要核对
bench性能基准本地评估吞吐量官方有配套的基准案例与指标速查表
data数据相关操作取数与格式处理需要先配置好数据源凭据
plot绘图命令行直接产出图表或 HTML输出路径要显式指定
research批量研究多品种批量任务耗时随品种数增长
schema结构定义查看查看可用的字段与结构便于写配置时对照
signals信号相关操作查看与导出信号仓库另有导出信号目录与详情的脚本可用
版本提示:命令行入口通过包配置注册为 czsc 命令,实际参数请以你安装版本 czsc --help 的输出为准;本文只列出子命令模块的存在与职责。
Troubleshooting

可视化排查表

绘图不报错但结果不对的情况很常见,下表按现象倒查。

现象可能原因核对方法处理方向
图上结构明显不对成笔参数与环境变量不一致,或数据时间刻度偏移对照构造参数与数据时间列先修数据与参数,再重画;图本身不会修正逻辑
多周期图里某个周期是空的信号涉及的周期没有被纳入合成列表用信号周期提取接口核对需要哪些周期补齐周期后再生成
权重曲线与预期不符图画的是目标权重而非成交后仓位区分目标状态与实际持仓两个概念需要成交口径时改用持仓与成交数据
HTML 打开空白数据为空或写出路径有误检查输入数据长度与目标文件大小先用模拟数据跑通再换真实数据
图能看但不方便外发产出的是交互图表对象而不是 HTML确认调用的是输出 HTML 的入口改用自包含 HTML 的导出方式
回测报告样式与文档不一致报告由外部回测包生成,随其版本变化核对外部包版本锁版本再复现
Compared with EasyClaw

出图这一段,两条路线怎么选

画图本身不难,区别在于数据从哪里来、是否需要交互。

维度本库的可视化EasyClaw 出图类技能怎么选
产出形态交互式图表对象与自包含 HTML出版级静态图表图片要交互用前者,要插图用后者
图形内容缠论结构、权重、多周期联立与信号叠加折线、柱状、面积、蜡烛图、热力图等通用图表要叠加缠论结构只能自建
数据来源来自你已接入的数据与结构分析结果来自提问中得到的数据数据已在代码里就用前者
分享方式HTML 文件直接发送,离线可看图片文件直接发送两者都无需对方装环境
边界:出图类技能只负责把数据画成图,不提供缠论结构识别与信号计算;两者之间没有已证实的集成关系。
FAQ

常见问题

可视化相关的模块归属与产出形态以官方 README 可视化表与使用案例为准。

官方提供哪几种可视化?

按 README 的表,主要三类:单周期 K 线加缠论结构(交互式图表对象)、权重时序图(交互式图表对象)、以及多周期联立与信号叠加的自包含 HTML。此外回测报告由外部回测包的函数一键产出。

自包含 HTML 是什么意思?

官方文档的描述是「自包含 HTML,离线即可打开」。也就是说图表所需资源都写在这个文件里,不依赖外部链接。发给别人时对方无需安装 Python 或联网加载资源,双击就能看。

为什么图上的结构和我预期不一样?

图只是把计算结果画出来,它不会修正逻辑。结构不对通常有两个原因:一是成笔参数或环境变量与你的预期不一致(注意 1.0.1 之前该环境变量是无效的),二是数据时间刻度存在偏移。建议先核对参数与数据,再重画。

多周期图里为什么有周期是空的?

多半是信号涉及的周期没有被计入 K 线合成的周期列表。可以用官方的信号周期提取接口先确认需要哪些周期,再回到合成环节补齐,重新生成图表。

有没有命令行方式出图?

有。官方提供命令行入口,实测包含分析、回测、基准、数据、绘图、研究、结构定义与信号八个子命令模块。具体参数请以你安装版本的帮助输出为准,本文只列出子命令的存在与职责。

只想出一张图放进文档,走哪条路?

如果图表内容就是通用图表(折线、蜡烛图之类),用 EasyClaw 的出图类技能更直接,生成的是静态图片,插入文档方便;如果你要把缠论结构或权重曲线画出来,就必须先在本库侧算出结果再绘图导出。两者没有已证实的集成关系。

最后一步:确认你该走哪条路

自建缠论算法库与免编译技能路线服务的目标不同,边界也很清楚。收官页把两条路线的对照、前置与适用人群一次列清。