第七章 时间序列可视化课堂练习

Author

221527135徐锦辉

1 案例数据

1.1 all_stock_2024:工商银行、招商应用、中信证券和贵州茅台四个股票2024各天交易数据

  • data为为日期变量,但该日期变量不规则(不连续),周末和公众假期没有交易数据;

  • 编码名称用于识别不同股票,注意不同股票有交易数据日期不一定一致,但本例种各股票均有242个交易日数据;

  • 开盘价到换手率 均为数值变量,开盘价到成交量与每股资产有关,不同股票间不可比;

  • 交易量的单位为手(百股)、成交额的单位为元,振幅等四个变量均为相对指标。

2 折线图和面积图

2.1 合并折线图

  • 将四只股票的涨跌幅 做作折线图,将四条折线在同一个图形输出;

  • 日期截取2024-9-12024-10-31

  • 添加一条纵轴为0的参考线,采用twodash 的线型;

  • 将图标题改为“合并涨跌幅折线图”。

2.2 分面折线图

  • 将四只股票的收盘 价格做作折线图,将四条折线图分面输出;

  • 日期截取一整年;

  • 并使用ggpol::geom_tshighlight2024-9-12024-10-31 时间段高亮显示

2.3 面积图

  • 将四只股票的成交量  价格做作面积图,将四个面积图分面输出;

  • 将成交量的单位改为万手

2.4 图形观察和代码编写的心得体会

  • 从4个面积图可以看出10月份四只股票的成交量都很高

  • y=成交量/10000 要注意因变量的单位

3 流线图和地平线图

3.1 流线图

  • 将四只股票的成交额作流线图

  • 将交易额的单位改为亿元

3.2 地平线图

  • 采用ggHoriPlot::geom_horizon函数,对四只股票的交易额 做作地平线图
  • 设置原点为均值origin='mean',输出配色图例

List of 4
 $ legend.background     : list()
  ..- attr(*, "class")= chr [1:2] "element_blank" "element"
 $ legend.position       : chr "inside"
 $ legend.position.inside: num [1:2] 0.1 0.8
 $ title                 : chr "24年成交额的地平线图"
 - attr(*, "class")= chr [1:2] "theme" "gg"
 - attr(*, "complete")= logi FALSE
 - attr(*, "validate")= logi TRUE

3.3 图形观察和代码编写的心得体会

4 不规则时间序列图

4.1 数据准备

  • 通过zoo::rollmean 时间收盘价的5天、10天和20天的移动平均

  • 将日期变量转化为id变量

4.2 平滑曲线图

  • 将四只股票收盘价和3种移动平均的折线图分面输出;

  • 横轴的每隔30天一个刻度,只显示月/日;

4.3 K线图

  • 选择工商银行数据作出,2024年的K线图

  • scale_x_continuous 将横轴坐标刻度转化回日期型

# A tibble: 242 × 12
# Groups:   名称 [1]
   日期         编码 名称      开盘  收盘  最高  最低  成交量   ma5  ma10  ma20
   <date>      <dbl> <chr>    <dbl> <dbl> <dbl> <dbl>   <dbl> <dbl> <dbl> <dbl>
 1 2024-01-02 601398 工商银行  4.78  4.79  4.83  4.77 2071811 NA    NA       NA
 2 2024-01-03 601398 工商银行  4.79  4.84  4.85  4.78 2488954 NA    NA       NA
 3 2024-01-04 601398 工商银行  4.84  4.89  4.9   4.83 2865676 NA    NA       NA
 4 2024-01-05 601398 工商银行  4.89  4.87  4.94  4.86 2860747 NA    NA       NA
 5 2024-01-08 601398 工商银行  4.87  4.88  4.91  4.85 3252257  4.85 NA       NA
 6 2024-01-09 601398 工商银行  4.88  4.88  4.89  4.83 2257345  4.87 NA       NA
 7 2024-01-10 601398 工商银行  4.87  4.85  4.91  4.83 2342435  4.87 NA       NA
 8 2024-01-11 601398 工商银行  4.84  4.78  4.85  4.77 3306669  4.85 NA       NA
 9 2024-01-12 601398 工商银行  4.77  4.81  4.83  4.76 2300665  4.84 NA       NA
10 2024-01-15 601398 工商银行  4.8   4.86  4.86  4.79 1810483  4.84  4.85    NA
# ℹ 232 more rows
# ℹ 1 more variable: date_index <int>

4.4 图形观察和代码编写的心得体会