This is like taking a snapshot of the market at the end of every second, except the volume over the second is summed.
to_secBATV(x)alltick2sec(getdir = "~/TRTH/tick/", savedir = "~/TRTH/sec/",
Symbols = list.files(getdir), overwrite = FALSE)
the xts series to convert to 1 minute BATV
Directory that contains tick data
Directory in which to save converted data
String names of instruments to convert
TRUE/FALSE. If file already exists in savedir, should it be overwritten?
to_secBATV
returns an xts object of one second frequency.
alltick2sec
returns a list of files that were converted.
From tick data with columns: “Price”, “Volume”, “Bid.Price”, “Bid.Size”, “Ask.Price”, “Ask.Size”, to data of one second frequency with columns “Bid.Price”, “Bid.Size”, “Ask.Price”, “Ask.Size”, “Trade.Price”, and “Volume”
The primary purpose of these functions is to reduce the amount of data on disk so that it will take less time to load the data into memory.
If there are no trades or bid/ask price updates in a given second, we will not make a row for that timestamp. If there were no trades, but the bid or ask price changed, then we _will_ have a row but the Volume and Trade.Price will be NA.
If there are multiple trades in the same second, Volume will be the sum of the volume, but only the last trade price in that second will be printed. Similarly, if there is a trade, and then later in the same second, there is a bid/ask update, the last Bid/Ask Price/Size will be used.
alltick2sec
is used to convert the data of several files from tick to
one second frequency data.
# NOT RUN {
getSymbols("CLU1")
system.time(xsec <- to_secBATV(CLU1))
convert.log <- alltick2sec()
# }
Run the code above in your browser using DataLab