
Last chance! 50% off unlimited learning
Sale ends in
Estimates the multilayer probability of informed trading
(MPIN
) using the standard Maximum Likelihood method.
mpin_ml(data, layers = NULL, xtraclusters = 4, initialsets = NULL,
detectlayers = "EG", ..., verbose = TRUE)
Returns an object of class estimate.mpin
A dataframe with 2 variables: the first corresponds to buyer-initiated trades (buys), and the second corresponds to seller-initiated trades (sells).
An integer referring to the assumed number of
information layers in the data. If the argument layers
is given,
then the maximum likelihood estimation will use the number of layers
provided. If layers
is omitted,
the function mpin_ml()
will find the optimal number of layers using
the algorithm developed in Ersan2022a;textualPINstimation
(as default).
An integer used to divide trading days into
(1 + layers + xtraclusters)
clusters, thereby resulting in
#comb(layers + xtraclusters, layers)
initial parameter sets in line
with ErsanAlici2016;textualPINstimation, and
Ersan2016;textualPINstimation. The default value is 4
as
chosen in Ersan2016;textualPINstimation.
A dataframe containing initial parameter
sets for the estimation of the MPIN
model. The default value is NULL
.
If initialsets
is NULL
, the initial parameter sets are determined by the
function initials_mpin()
.
A character string referring to the layer
detection algorithm used to determine the number of layer in the data. It
takes one of three values: "E"
, "EG"
, and "ECM"
. "E"
refers to the
algorithm in Ersan2016;textualPINstimation, "EG"
refers to
the algorithm in Ersan2022a;textualPINstimation;
while "ECM"
refers to the algorithm in
Ghachem2022;textualPINstimation.
The default value is "EG"
. Comparative results between the layer detection
algorithms can be found in Ersan2022a;textualPINstimation.
Additional arguments passed on to the function mpin_ml
. The
recognized argument is is_parallel
. is_parallel
is a logical variable
that specifies whether the computation is performed using parallel
processing. The default value is FALSE
.
A binary variable that determines whether detailed
information about the steps of the estimation of the MPIN model is displayed.
No output is produced when verbose
is set to FALSE
. The default
value is TRUE
.
The argument 'data' should be a numeric dataframe, and contain
at least two variables. Only the first two variables will be considered:
The first variable is assumed to correspond to the total number of
buyer-initiated trades, while the second variable is assumed to
correspond to the total number of seller-initiated trades. Each row or
observation correspond to a trading day. NA
values will be ignored.
# There is a preloaded quarterly dataset called 'dailytrades' with 60
# observations. Each observation corresponds to a day and contains the
# total number of buyer-initiated trades ('B') and seller-initiated
# trades ('S') on that day. To know more, type ?dailytrades
xdata <- dailytrades
# ------------------------------------------------------------------------ #
# Estimate MPIN model using the standard ML method #
# ------------------------------------------------------------------------ #
# Estimate the MPIN model using mpin_ml() assuming that there is a single
# information layer in the data. The model is then equivalent to the PIN
# model. The argument 'layers' takes the value '1'.
# We use two extra clusters to generate the initial parameter sets.
estimate <- mpin_ml(xdata, layers = 1, xtraclusters = 2, verbose = FALSE)
# Show the estimation output
show(estimate)
# Estimate the MPIN model using the function mpin_ml(), without specifying
# the number of layers. The number of layers is then detected using Ersan and
# Ghachem (2022a).
# -------------------------------------------------------------
# \donttest{
estimate <- mpin_ml(xdata, xtraclusters = 2, verbose = FALSE)
# }
# Show the estimation output
show(estimate)
# Display the likelihood-maximizing parameters
show(estimate@parameters)
# Display the global multilayer probability of informed trading
show(estimate@mpin)
# Display the multilayer probabilities of informed trading per layer
show(estimate@mpinJ)
# Display the first five initial parameters sets used in the maximum
# likelihood estimation
show(round(head(estimate@initialsets, 5), 4))
Run the code above in your browser using DataLab