Computations

Operators

Scalars

julia> using Temporal

julia> X = TS(rand(100, 4))
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  0.334   0.4417  0.4319  0.8627
2019-10-16  0.5706  0.5498  0.6391  0.2031
2019-10-17  0.171   0.6499  0.6953  0.0582
2019-10-18  0.201   0.1881  0.2121  0.5463
2019-10-19  0.4347  0.4711  0.0599  0.4485
2019-10-20  0.4075  0.6801  0.3671  0.1978
2019-10-21  0.9219  0.5518  0.1941  0.9007
⋮
2020-01-15  0.6501  0.1361  0.8203  0.5432
2020-01-16  0.1284  0.8279  0.8783  0.2305
2020-01-17  0.2768  0.6168  0.6885  0.3991
2020-01-18  0.724   0.2277  0.7182  0.8105
2020-01-19  0.2376  0.3364  0.1071  0.8501
2020-01-20  0.7703  0.0818  0.8054  0.0178
2020-01-21  0.2088  0.7508  0.6117  0.0395
2020-01-22  0.0651  0.3088  0.1718  0.9766

julia> X + 1
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  1.334   1.4417  1.4319  1.8627
2019-10-16  1.5706  1.5498  1.6391  1.2031
2019-10-17  1.171   1.6499  1.6953  1.0582
2019-10-18  1.201   1.1881  1.2121  1.5463
2019-10-19  1.4347  1.4711  1.0599  1.4485
2019-10-20  1.4075  1.6801  1.3671  1.1978
2019-10-21  1.9219  1.5518  1.1941  1.9007
⋮
2020-01-15  1.6501  1.1361  1.8203  1.5432
2020-01-16  1.1284  1.8279  1.8783  1.2305
2020-01-17  1.2768  1.6168  1.6885  1.3991
2020-01-18  1.724   1.2277  1.7182  1.8105
2020-01-19  1.2376  1.3364  1.1071  1.8501
2020-01-20  1.7703  1.0818  1.8054  1.0178
2020-01-21  1.2088  1.7508  1.6117  1.0395
2020-01-22  1.0651  1.3088  1.1718  1.9766

julia> X - 1
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  -0.666   -0.5583  -0.5681  -0.1373
2019-10-16  -0.4294  -0.4502  -0.3609  -0.7969
2019-10-17  -0.829   -0.3501  -0.3047  -0.9418
2019-10-18  -0.799   -0.8119  -0.7879  -0.4537
2019-10-19  -0.5653  -0.5289  -0.9401  -0.5515
2019-10-20  -0.5925  -0.3199  -0.6329  -0.8022
2019-10-21  -0.0781  -0.4482  -0.8059  -0.0993
⋮
2020-01-15  -0.3499  -0.8639  -0.1797  -0.4568
2020-01-16  -0.8716  -0.1721  -0.1217  -0.7695
2020-01-17  -0.7232  -0.3832  -0.3115  -0.6009
2020-01-18  -0.276   -0.7723  -0.2818  -0.1895
2020-01-19  -0.7624  -0.6636  -0.8929  -0.1499
2020-01-20  -0.2297  -0.9182  -0.1946  -0.9822
2020-01-21  -0.7912  -0.2492  -0.3883  -0.9605
2020-01-22  -0.9349  -0.6912  -0.8282  -0.0234

julia> X * 2
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  0.668   0.8835  0.8637  1.7253
2019-10-16  1.1411  1.0995  1.2782  0.4063
2019-10-17  0.3421  1.2997  1.3906  0.1164
2019-10-18  0.4019  0.3762  0.4241  1.0926
2019-10-19  0.8694  0.9423  0.1198  0.8969
2019-10-20  0.815   1.3601  0.7342  0.3956
2019-10-21  1.8439  1.1037  0.3882  1.8014
⋮
2020-01-15  1.3003  0.2723  1.6405  1.0864
2020-01-16  0.2568  1.6557  1.7566  0.461
2020-01-17  0.5536  1.2336  1.377   0.7982
2020-01-18  1.4479  0.4555  1.4364  1.621
2020-01-19  0.4752  0.6728  0.2142  1.7003
2020-01-20  1.5406  0.1636  1.6109  0.0355
2020-01-21  0.4176  1.5016  1.2233  0.079
2020-01-22  0.1303  0.6176  0.3436  1.9532

julia> X / 2
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  0.167   0.2209  0.2159  0.4313
2019-10-16  0.2853  0.2749  0.3196  0.1016
2019-10-17  0.0855  0.3249  0.3477  0.0291
2019-10-18  0.1005  0.0941  0.106   0.2731
2019-10-19  0.2173  0.2356  0.0299  0.2242
2019-10-20  0.2038  0.34    0.1836  0.0989
2019-10-21  0.461   0.2759  0.097   0.4504
⋮
2020-01-15  0.3251  0.0681  0.4101  0.2716
2020-01-16  0.0642  0.4139  0.4391  0.1152
2020-01-17  0.1384  0.3084  0.3443  0.1995
2020-01-18  0.362   0.1139  0.3591  0.4053
2020-01-19  0.1188  0.1682  0.0536  0.4251
2020-01-20  0.3851  0.0409  0.4027  0.0089
2020-01-21  0.1044  0.3754  0.3058  0.0198
2020-01-22  0.0326  0.1544  0.0859  0.4883

julia> X % 2
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  0.334   0.4417  0.4319  0.8627
2019-10-16  0.5706  0.5498  0.6391  0.2031
2019-10-17  0.171   0.6499  0.6953  0.0582
2019-10-18  0.201   0.1881  0.2121  0.5463
2019-10-19  0.4347  0.4711  0.0599  0.4485
2019-10-20  0.4075  0.6801  0.3671  0.1978
2019-10-21  0.9219  0.5518  0.1941  0.9007
⋮
2020-01-15  0.6501  0.1361  0.8203  0.5432
2020-01-16  0.1284  0.8279  0.8783  0.2305
2020-01-17  0.2768  0.6168  0.6885  0.3991
2020-01-18  0.724   0.2277  0.7182  0.8105
2020-01-19  0.2376  0.3364  0.1071  0.8501
2020-01-20  0.7703  0.0818  0.8054  0.0178
2020-01-21  0.2088  0.7508  0.6117  0.0395
2020-01-22  0.0651  0.3088  0.1718  0.9766

julia> X ^ 2
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  0.1115  0.1951  0.1865  0.7442
2019-10-16  0.3256  0.3022  0.4085  0.0413
2019-10-17  0.0293  0.4223  0.4835  0.0034
2019-10-18  0.0404  0.0354  0.045   0.2984
2019-10-19  0.189   0.222   0.0036  0.2011
2019-10-20  0.1661  0.4625  0.1348  0.0391
2019-10-21  0.85    0.3045  0.0377  0.8113
⋮
2020-01-15  0.4227  0.0185  0.6728  0.295
2020-01-16  0.0165  0.6853  0.7714  0.0531
2020-01-17  0.0766  0.3805  0.474   0.1593
2020-01-18  0.5241  0.0519  0.5158  0.6569
2020-01-19  0.0565  0.1132  0.0115  0.7227
2020-01-20  0.5933  0.0067  0.6487  0.0003
2020-01-21  0.0436  0.5637  0.3741  0.0016
2020-01-22  0.0042  0.0954  0.0295  0.9538

Time Series

julia> using Temporal

julia> X = TS(rand(100, 4))
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  0.0088  0.7119  0.9671  0.9168
2019-10-16  0.6169  0.0826  0.7116  0.9715
2019-10-17  0.5264  0.6403  0.6467  0.8742
2019-10-18  0.3241  0.9548  0.7284  0.2187
2019-10-19  0.3566  0.254   0.4552  0.7459
2019-10-20  0.3486  0.2352  0.3777  0.3274
2019-10-21  0.9124  0.7295  0.3436  0.875
⋮
2020-01-15  0.2474  0.5906  0.0121  0.1002
2020-01-16  0.4811  0.7831  0.8683  0.5087
2020-01-17  0.7851  0.1471  0.8389  0.3208
2020-01-18  0.7975  0.7962  0.2788  0.6981
2020-01-19  0.1001  0.0252  0.3821  0.1143
2020-01-20  0.7178  0.5483  0.7129  0.9883
2020-01-21  0.5888  0.4734  0.6257  0.9963
2020-01-22  0.6053  0.6974  0.813   0.0302

julia> Y = TS(randn(100, 4))
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  0.2505   -0.1934  -0.0016  -1.1683
2019-10-16  0.2623   -0.8253  0.0865   -0.0336
2019-10-17  -0.9303  0.5466   0.4631   1.4043
2019-10-18  1.1623   -0.0995  -0.5713  0.5131
2019-10-19  -0.0126  0.0282   -1.5095  -0.4819
2019-10-20  0.597    -0.1399  -1.1588  1.5247
2019-10-21  -1.1309  -1.549   -0.319   -1.3002
⋮
2020-01-15  0.5984   -1.1402  -0.271   1.9178
2020-01-16  -0.2247  -0.4658  -0.199   0.1015
2020-01-17  -1.0778  1.0946   -0.6241  -0.7879
2020-01-18  0.9005   -0.5133  -1.2595  0.6583
2020-01-19  -0.0019  0.0163   -0.0239  -0.3533
2020-01-20  -0.2859  2.3607   -0.2905  0.2172
2020-01-21  -0.1292  -0.6768  -0.7118  -0.2119
2020-01-22  -0.2606  -0.2892  -0.4251  -1.4262

julia> X + Y
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  0.2593   0.5185   0.9655   -0.2515
2019-10-16  0.8792   -0.7427  0.7981   0.938
2019-10-17  -0.4039  1.1869   1.1097   2.2785
2019-10-18  1.4865   0.8553   0.157    0.7318
2019-10-19  0.3439   0.2822   -1.0542  0.264
2019-10-20  0.9456   0.0953   -0.7811  1.8522
2019-10-21  -0.2185  -0.8196  0.0246   -0.4252
⋮
2020-01-15  0.8458   -0.5496  -0.2589  2.018
2020-01-16  0.2564   0.3173   0.6693   0.6102
2020-01-17  -0.2927  1.2417   0.2149   -0.4671
2020-01-18  1.698    0.283    -0.9807  1.3564
2020-01-19  0.0981   0.0415   0.3582   -0.239
2020-01-20  0.4318   2.9089   0.4224   1.2055
2020-01-21  0.4596   -0.2034  -0.0861  0.7844
2020-01-22  0.3447   0.4082   0.388    -1.396

julia> X - Y
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  -0.2417  0.9052   0.9686   2.0851
2019-10-16  0.3546   0.9079   0.6251   1.0051
2019-10-17  1.4566   0.0937   0.1836   -0.5301
2019-10-18  -0.8382  1.0543   1.2997   -0.2944
2019-10-19  0.3692   0.2258   1.9647   1.2278
2019-10-20  -0.2483  0.3751   1.5365   -1.1973
2019-10-21  2.0434   2.2785   0.6626   2.1751
⋮
2020-01-15  -0.351   1.7308   0.2832   -1.8176
2020-01-16  0.7057   1.2489   1.0673   0.4072
2020-01-17  1.863    -0.9476  1.463    1.1088
2020-01-18  -0.103   1.3095   1.5384   0.0398
2020-01-19  0.102    0.0089   0.406    0.4675
2020-01-20  1.0037   -1.8124  1.0034   0.7711
2020-01-21  0.7181   1.1502   1.3375   1.2082
2020-01-22  0.8659   0.9866   1.2381   1.4565

julia> X * Y
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  0.0022   -0.1376  -0.0015  -1.0711
2019-10-16  0.1618   -0.0682  0.0615   -0.0326
2019-10-17  -0.4897  0.35     0.2994   1.2276
2019-10-18  0.3767   -0.095   -0.4162  0.1122
2019-10-19  -0.0045  0.0072   -0.6871  -0.3594
2019-10-20  0.2081   -0.0329  -0.4377  0.4993
2019-10-21  -1.0319  -1.13    -0.1096  -1.1376
⋮
2020-01-15  0.148    -0.6734  -0.0033  0.1922
2020-01-16  -0.1081  -0.3648  -0.1728  0.0516
2020-01-17  -0.8463  0.161    -0.5236  -0.2528
2020-01-18  0.7181   -0.4087  -0.3512  0.4595
2020-01-19  -0.0002  0.0004   -0.0091  -0.0404
2020-01-20  -0.2052  1.2943   -0.2071  0.2147
2020-01-21  -0.0761  -0.3204  -0.4454  -0.2111
2020-01-22  -0.1578  -0.2017  -0.3456  -0.0431

julia> X / Y
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A         B         C          D
2019-10-15  0.0352    -3.6816   -620.5498  -0.7848
2019-10-16  2.352     -0.1001   8.2286     -28.9288
2019-10-17  -0.5658   1.1713    1.3965     0.6225
2019-10-18  0.2789    -9.5965   -1.2749    0.4263
2019-10-19  -28.2717  9.0119    -0.3016    -1.5479
2019-10-20  0.584     -1.6817   -0.326     0.2148
2019-10-21  -0.8068   -0.4709   -1.0772    -0.673
⋮
2020-01-15  0.4134    -0.518    -0.0448    0.0522
2020-01-16  -2.1413   -1.6811   -4.3627    5.0122
2020-01-17  -0.7284   0.1344    -1.3443    -0.4072
2020-01-18  0.8856    -1.5514   -0.2214    1.0604
2020-01-19  -52.2827  1.5416    -15.998    -0.3235
2020-01-20  -2.5102   0.2323    -2.4543    4.5503
2020-01-21  -4.5565   -0.6995   -0.8791    -4.7024
2020-01-22  -2.3224   -2.4116   -1.9127    -0.0212

julia> X % Y
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A       B       C       D
2019-10-15  0.0088  0.1318  0.0009  0.9168
2019-10-16  0.0923  0.0826  0.0198  0.0312
2019-10-17  0.5264  0.0937  0.1836  0.8742
2019-10-18  0.3241  0.0593  0.157   0.2187
2019-10-19  0.0034  0.0003  0.4552  0.264
2019-10-20  0.3486  0.0953  0.3777  0.3274
2019-10-21  0.9124  0.7295  0.0246  0.875
⋮
2020-01-15  0.2474  0.5906  0.0121  0.1002
2020-01-16  0.0318  0.3173  0.0722  0.0012
2020-01-17  0.7851  0.1471  0.2149  0.3208
2020-01-18  0.7975  0.283   0.2788  0.0398
2020-01-19  0.0005  0.0089  0.0238  0.1143
2020-01-20  0.1459  0.5483  0.132   0.1195
2020-01-21  0.0719  0.4734  0.6257  0.1488
2020-01-22  0.084   0.119   0.388   0.0302

julia> X ^ Y
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  0.3056   1.0679   1.0001   1.1068
2019-10-16  0.881    7.8315   0.971    1.001
2019-10-17  1.8167   0.7837   0.8172   0.828
2019-10-18  0.27     1.0046   1.1985   0.4585
2019-10-19  1.0131   0.9621   3.2801   1.1517
2019-10-20  0.5331   1.2244   3.0901   0.1823
2019-10-21  1.1092   1.6301   1.406    1.1896
⋮
2020-01-15  0.4335   1.823    3.3052   0.0121
2020-01-16  1.1787   1.1206   1.0285   0.9337
2020-01-17  1.2979   0.1227   1.1158   2.4492
2020-01-18  0.8157   1.1241   4.9956   0.7893
2020-01-19  1.0044   0.9416   1.0232   2.1518
2020-01-20  1.0995   0.242    1.1033   0.9975
2020-01-21  1.0708   1.6589   1.3962   1.0008
2020-01-22  1.1398   1.1098   1.092    147.0473

Statistics

julia> using Temporal

julia> X = TS(randn(100, 4))
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  -0.669   -1.214   -0.3469  -1.5138
2019-10-16  -1.2006  0.8073   0.3829   0.5632
2019-10-17  2.1018   -0.2499  -1.6401  1.5847
2019-10-18  1.1976   -1.3807  -0.4746  -1.2469
2019-10-19  0.1781   1.1045   0.1605   0.7004
2019-10-20  -0.7484  1.4999   -0.1518  1.0712
2019-10-21  -0.8516  0.1275   -1.4527  0.9529
⋮
2020-01-15  -1.2017  0.7205   0.6468   -0.4083
2020-01-16  0.5741   -0.0434  -0.4138  0.1212
2020-01-17  -0.476   -1.1326  -0.7817  -0.0065
2020-01-18  0.2647   -0.4859  0.5054   -1.2165
2020-01-19  -0.4865  -0.0921  0.2232   1.1078
2020-01-20  -0.0732  1.0176   -0.2096  -0.4324
2020-01-21  0.1597   -0.9236  -0.9198  0.1611
2020-01-22  -0.523   1.449    0.7091   -0.6957

julia> mean(X)
-0.06257728952438185

julia> sum(X)
-25.03091580975274

julia> prod(X)
8.110390316705958e-105

julia> cumsum(X)
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A         B        C         D
2019-10-15  -0.669    -1.214   -0.3469   -1.5138
2019-10-16  -1.8696   -0.4067  0.036     -0.9506
2019-10-17  0.2322    -0.6566  -1.6041   0.6341
2019-10-18  1.4298    -2.0373  -2.0786   -0.6128
2019-10-19  1.608     -0.9327  -1.9181   0.0876
2019-10-20  0.8596    0.5672   -2.0699   1.1588
2019-10-21  0.0079    0.6947   -3.5226   2.1118
⋮
2020-01-15  -9.4998   9.7661   -11.4092  -11.2688
2020-01-16  -8.9257   9.7227   -11.823   -11.1475
2020-01-17  -9.4017   8.5901   -12.6047  -11.154
2020-01-18  -9.137    8.1042   -12.0993  -12.3705
2020-01-19  -9.6235   8.0121   -11.8761  -11.2628
2020-01-20  -9.6967   9.0297   -12.0857  -11.6952
2020-01-21  -9.5369   8.1061   -13.0055  -11.534
2020-01-22  -10.0599  9.5551   -12.2963  -12.2298

julia> cumprod(X)
100x4 TS{Float64,Dates.Date}: 2019-10-15 to 2020-01-22

Index       A        B        C        D
2019-10-15  -0.669   -1.214   -0.3469  -1.5138
2019-10-16  0.8032   -0.9801  -0.1328  -0.8526
2019-10-17  1.6881   0.2449   0.2179   -1.3511
2019-10-18  2.0217   -0.3382  -0.1034  1.6848
2019-10-19  0.3601   -0.3735  -0.0166  1.1801
2019-10-20  -0.2695  -0.5602  0.0025   1.2641
2019-10-21  0.2295   -0.0714  -0.0037  1.2047
⋮
2020-01-15  -0.0     0.0      0.0      0.0
2020-01-16  -0.0     -0.0     -0.0     0.0
2020-01-17  0.0      0.0      0.0      -0.0
2020-01-18  0.0      -0.0     0.0      0.0
2020-01-19  -0.0     0.0      0.0      0.0
2020-01-20  0.0      0.0      -0.0     -0.0
2020-01-21  0.0      -0.0     0.0      -0.0
2020-01-22  -0.0     -0.0     0.0      0.0

julia> sign(X)
ERROR: MethodError: no method matching sign(::TS{Float64,Dates.Date})
Closest candidates are:
  sign(!Matched::Missing) at missing.jl:79
  sign(!Matched::Bool) at bool.jl:82
  sign(!Matched::Unsigned) at number.jl:143
  ...

julia> log(X)
ERROR: MethodError: no method matching log(::TS{Float64,Dates.Date})
Closest candidates are:
  log(!Matched::Float16) at math.jl:1019
  log(!Matched::Complex{Float16}) at math.jl:1020
  log(!Matched::Float64) at special/log.jl:254
  ...

julia> minimum(X)
-3.067662282153701

julia> cummin(X)
ERROR: UndefVarError: cummin not defined

julia> maximum(X)
2.6655174630101066

julia> cummax(X)
ERROR: UndefVarError: cummax not defined