第七章 时间序列可视化课堂练习
1 案例数据
1.1 all_stock_2024:工商银行、招商应用、中信证券和贵州茅台四个股票2024各天交易数据
data
为为日期变量,但该日期变量不规则(不连续),周末和公众假期没有交易数据;编码
和名称
用于识别不同股票,注意不同股票有交易数据日期不一定一致,但本例种各股票均有242个交易日数据;开盘
价到换手率
均为数值变量,开盘
价到成交量
与每股资产有关,不同股票间不可比;交易量的单位为手(百股)、成交额的单位为元,振幅等四个变量均为相对指标。
2 折线图和面积图
2.1 合并折线图
将四只股票的
涨跌幅
做作折线图,将四条折线在同一个图形输出;日期截取
2024-9-1
到2024-10-31
;添加一条纵轴为0的参考线,采用
twodash
的线型;将图标题改为“合并涨跌幅折线图”。
2.2 分面折线图
将四只股票的
收盘
价格做作折线图,将四条折线图分面输出;日期截取一整年;
并使用
ggpol::geom_tshighlight
将2024-9-1
到2024-10-31
时间段高亮显示
2.3 面积图
将四只股票的成交量做作面积图,将四个面积图分面输出;
将成交量的单位改为万手
2.4 图形观察和代码编写的心得体会
图形观察心得:
图中展示了工业镍的工前持仓、工后持仓、强平持仓、中间持仓及成交量、持仓量变化。工前持仓和成交量在某时段(如11月)出现显著高峰,反映市场活跃;工后持仓和强平持仓波动较小,中位持仓整体平稳。蓝色高亮区域可能表示特定关注时段,需结合数据分析市场趋势。代码编写心得:
绘制此类多图时,需使用绘图库(如Matplotlib)创建子图,合理分配布局,确保每张图的坐标轴和颜色(如红、绿、青)区分清晰。代码应包含数据清洗、图表参数设置(如标题、图例),并通过循环或函数提高复用性,注释需详细以便后续调整。
3 流线图和地平线图
3.1 流线图
将四只股票的
成交额
做作流线图,将四个面积图分面输出;将交易额的单位改为亿元
3.2 地平线图
- 采用
ggHoriPlot::geom_horizon
函数,对四只股票的交易额
做作地平线图 - 设置原点为均值
origin='mean'
,输出配色图例
3.3 图形观察和代码编写的心得体会
- 这张地平线图展示了2024年不同指标(ypos和yneg系列)的成交额变化。颜色深浅反映成交额偏离中位数的程度,红色(ypos05)表示正向极端值,蓝色(yneg05)表示负向极端值。成交额在年中(6-8月)波动较大,11月后趋于平稳,ypos05和yneg05在年中表现出明显的高峰和低谷。
4 不规则时间序列图
4.1 数据准备
通过
zoo::rollmean
时间收盘价的5天、10天和20天的移动平均将日期变量转化为
id
变量
4.2 平滑曲线图
将四只股票收盘价和3种移动平均的折线图分面输出;
横轴的每隔30天一个刻度,只显示月/日;
4.3 K线图
选择工商银行数据作出,2024年的K线图
scale_x_continuous
将横轴坐标刻度转化回日期型
4.4 图形观察和代码编写的心得体会
- 从图中可以看出,工业镍价格K线图显示了价格波动趋势,结合MA5、MA10、MA20三条均线,短期均线(MA5)波动较快,反应价格短期变化;长期均线(MA20)更平稳,反映总体趋势。均线交叉点常预示价格反转或趋势延续,例如9月中旬MA5上穿MA20后价格上涨,11月中旬均线纠缠后价格震荡。