It performs arithmetic operation on numeric columns on multiple series.

pq_opr(dt, opr, x = "close", rm_na = FALSE, ...)

Arguments

dt

a list/dataframe of time series datasets.

opr

operation string.

x

the numeric column names, defaults to close.

rm_na

weather to remove NA values when perform arithmetic.

...

additional parameters.

Examples

data("dt_banks")

dt1 = pq_opr(dt_banks, '601288.SH/601988.SH')
print(dt1)
#> $`601288.SH/601988.SH`
#>                   symbol              name       date     close
#>   1: 601288.SH/601988.SH 农业银行/中国银行 2020-04-01 0.9712644
#>   2: 601288.SH/601988.SH 农业银行/中国银行 2020-04-02 0.9714286
#>   3: 601288.SH/601988.SH 农业银行/中国银行 2020-04-03 0.9742120
#>   4: 601288.SH/601988.SH 农业银行/中国银行 2020-04-07 0.9743590
#>   5: 601288.SH/601988.SH 农业银行/中国银行 2020-04-08 0.9742120
#>  ---                                                           
#> 725: 601288.SH/601988.SH 农业银行/中国银行 2023-03-27 0.9077381
#> 726: 601288.SH/601988.SH 农业银行/中国银行 2023-03-28 0.9142012
#> 727: 601288.SH/601988.SH 农业银行/中国银行 2023-03-29 0.9144543
#> 728: 601288.SH/601988.SH 农业银行/中国银行 2023-03-30 0.9088235
#> 729: 601288.SH/601988.SH 农业银行/中国银行 2023-03-31 0.9201183
#> 

dt2 = pq_opr(dt_banks, c('(601288.SH+601988.SH)/2', '(601288.SH*601988.SH)^0.5'))
print(dt2)
#> $`(601288.SH+601988.SH)/2`
#>                       symbol                  name       date close
#>   1: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2020-04-01 3.430
#>   2: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2020-04-02 3.450
#>   3: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2020-04-03 3.445
#>   4: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2020-04-07 3.465
#>   5: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2020-04-08 3.445
#>  ---                                                               
#> 725: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2023-03-27 3.205
#> 726: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2023-03-28 3.235
#> 727: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2023-03-29 3.245
#> 728: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2023-03-30 3.245
#> 729: (601288.SH+601988.SH)/2 (农业银行+中国银行)/2 2023-03-31 3.245
#> 
#> $`(601288.SH*601988.SH)^0.5`
#>                         symbol                    name       date    close
#>   1: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2020-04-01 3.429636
#>   2: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2020-04-02 3.449638
#>   3: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2020-04-03 3.444706
#>   4: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2020-04-07 3.464708
#>   5: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2020-04-08 3.444706
#>  ---                                                                      
#> 725: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2023-03-27 3.201250
#> 726: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2023-03-28 3.231749
#> 727: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2023-03-29 3.241759
#> 728: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2023-03-30 3.241296
#> 729: (601288.SH*601988.SH)^0.5 (农业银行*中国银行)^0.5 2023-03-31 3.242191
#>