用途
Trading Visualization 用于把交易与策略数据转成专业图表。它的资料指出,可视化是交易者与数据之间的主要界面:图表能揭示表格和数字难以呈现的信息,例如策略失效、市场状态切换、亏损聚集以及风险形态。该技能把交易图表归纳为三类用途:
- 模式识别:发现价格、成交量与动量中的结构性变化,这些变化可能被量化过滤器遗漏。
- 策略评估:通过权益曲线、回撤图与收益率分布,判断策略是稳健还是过拟合。
- 汇报沟通:以出版级质量的视觉图向相关方、交易日志或未来的自己传达绩效。
主要能力(图表类型)
资料中列出的图表类型及其用途与推荐库如下:
- K 线图(Candlestick):OHLCV 价格行为与叠加线,使用 mplfinance。
- 权益曲线(Equity curve):组合价值随时间变化,使用 matplotlib。
- 回撤图(Drawdown):水下权益曲线,使用 matplotlib。
- 收益率分布(Return distribution):直方图叠加正态拟合,使用 matplotlib。
- 相关性热力图(Correlation heatmap):跨资产相关性矩阵,使用 matplotlib / seaborn。
- 交易标记(Trade markers):在价格图上标注入场/出场点,使用 mplfinance / matplotlib。
- 指标面板(Indicator panels):在价格图下方放置 RSI、MACD,使用 mplfinance。
- 持仓时间线(Position timeline):显示持仓时间区间,使用 matplotlib。
使用方式与依赖库
技能围绕三个 Python 库展开,资料给出各自的安装命令与示例代码:
- mplfinance:最适合 K 线图,基于 matplotlib 并带有金融专用默认值。安装:
uv pip install mplfinance。示例:mpf.plot(df, type="candle", volume=True, style="charles")。其关键特性包括原生 OHLCV 支持(可直接传入 DataFrame)、内置成交量柱、用addplot叠加移动平均线与布林带、以及通过mpf.make_mpf_style()自定义样式。 - matplotlib:通用且最灵活,适合需要完全控制版面时使用。安装:
uv pip install matplotlib。 - plotly:生成可交互的 HTML 图表,适合探索与仪表盘。安装:
uv pip install plotly,示例使用go.Candlestick并以fig.write_html("chart.html")导出。
样式约定
资料强调交易终端默认使用深色背景,本技能中的所有图表都遵循该约定,并给出深色主题的 rcParams 设置与完整配色表:看涨/盈利为绿色 #00ff88、看跌/亏损为红色 #ff4444、中性/信息为蓝色 #4488ff、警示为琥珀色 #ffaa00、短期均线为橙色 #ff6600、长期均线为蓝色 #3399ff、均线信号为黄色 #ffcc00。完整的字体排印、布局比例与导出设置参见 references/styling_guide.md。
版面与常见图表配方
大多数交易图需要多个同步面板——价格在上、成交量居中、指标在下。资料建议使用共享 x 轴的多面板布局,并隐藏上方面板的 x 轴刻度标签。常用的面板高度比例包括:价格+成交量 [3, 1]、价格+成交量+指标 [3, 1, 1]、权益+回撤 [2, 1]、价格+RSI+MACD [3, 1, 1]。文档还给出可直接复用的函数级示例:带 EMA 叠加与自定义市场颜色的 K 线图、权益曲线+回撤面板、收益率分布(直方图叠加正态拟合与 95% VaR 竖线)、带数值标注的相关性热力图,以及在价格图上用三角标记入场、用叉号标记出场并按盈亏配色的交易标记图。
输出格式与集成
输出格式包括:PNG(fig.savefig("chart.png", dpi=150),用于分享与嵌入)、SVG(fig.savefig("chart.svg"),用于编辑与缩放)、HTML(plotly 的 fig.write_html("chart.html"),用于交互探索)、以及 Jupyter 内联显示(plt.show())。保存深色背景图可用:fig.savefig("chart.png", dpi=150, facecolor=fig.get_facecolor(), edgecolor="none", bbox_inches="tight")。
资料还列出与其他技能的集成关系:pandas-ta 计算指标后传给 addplot 叠加;vectorbt 提取权益曲线与交易列表用于可视化;portfolio-analytics 绘制 Sharpe、回撤与收益指标;risk-management 可视化持仓限制与敞口随时间变化;position-sizing 绘制仓位大小与账户权益关系;regime-detection 按检测到的市场状态着色背景;correlation-analysis 从收益数据生成相关性热力图。
文件
- 参考:
references/chart_recipes.md(六种常见图表的完整代码配方)、references/styling_guide.md(深色主题、颜色、字体排印、布局与导出设置)。 - 脚本:
scripts/chart_generator.py(用合成数据生成四种图表:K 线、权益、收益率、交易)、scripts/performance_report.py(带汇总统计的多图绩效报告)。
限制
资料未提供具体的版本兼容范围、依赖冲突说明、性能上限或对数据格式之外的限制;除文档示例外,未说明其他输入格式或平台限制。