1
I’m doing a regression model Y ~ X1 + X2
.
Y
are financial market shares (change in daily liquidity).
X1
is a portfolio with the most traded shares (1st quartile), tb with the variation in daily liquidity, but this variation is in the portfolio.
X2
is the market portifolio (all shares).
When Y
is inside X1
, need to withdraw Y
of this portifolio and run the regression in the above model, but in the portfolio X1
, Y
will not be.
How can I do this in looping, since I have on average 50 shares that are part of the portfolio X1
, and for every action, I’ll actually be doing a regression with a X1
different ?
X1
is the last column, sum of actions:
X2
is the last column, sum of actions:
To make the regression:
Petr4 ~ X1 + X2
I need to get the Petr4
from within the X1
. And so, successively, with all who are in X1
.
My base has 350 shares and, on average, 50 are part of X1
, in each of the 20 quarters analysed.
X1 <- structure(list(ABEV3 = c(-1.68961360937539, 0.336976612313896, 0.493514089699225, 0.254432823660535, -0.256405265540702, 0.264718777827759, 1.55834609347509, -1.20767246429255, -0.141477780693152, -0.19214164080899, -0.000600037380238257, -0.147233871179818, 1.75915399473419, -2.94440084531756, 2.34297132404171, -2.05898734280988, 2.59824344556308, -2.55640564217954, 0.930253209395329),
B3SA3 = c(-0.249394879240838, -0.435826887737834, 0.674263712359221, -1.47663475639016, 1.65555693916285, -0.577034735765758, 2.26875789306363, -2.2875050945378, 0.537969408805017, -0.205268668573947, 0.414868128804647, -1.48457772878109, 1.15631736949281, 0.0305113207811356, -0.102657510980629, 1.37400357417165, -2.07665582016, 2.98843329137188, -2.69685509115329),
BBDC4 = c(-0.212217934317245, 0.118614534704256, 0.506732536312761, 0, 0, 1.2116182781466, 1.56667948677674, -3.59090513583332, 2.58117667166673, -2.25835436838038, -0.0164787028530569, -0.475048661790092, 0.120260328263065, 0.69979767549019, -1.00732194106152, 1.39438438911175, -1.58704315346786, 2.26692551507724, 1.01733376126224),
PETR4 = c(-1.30694127859772, 0.0556754000556631, 1.6427228959543, -2.07784831693627, 0.48951225216644, 1.77717497076481, -0.651276784435446, 0.216236137690635, -0.921123800566615, -0.675165953169317, -0.00202368123748712, -0.0428920777198445, 0.121292232920353, 1.23851717771871, -0.683468222178768, -0.908243883108815, -0.107679168050808, 1.83291659681442, -1.19385481066669),
VALE3 = c(2.41401127732222, -2.76421566679027, 0.461422210143545, -0.875330431707249, 0.885104981630114, -0.843726971357561, 1.5682910541085, -0.571164168008786, -0.10252567045643, -0.989403988444739, -0.692572450320219, 0.982267519085984, 1.26078160982549, -0.466576892153469, 0.432368421707883, -2.05782217710974, 1.50754449280209, -0.916145594562414, -0.0527556012964956),
X1 = c(-1.04415642420898, -2.68877600745429, 3.77865544446905, -4.17538068137314, 2.7737689074187, 1.83275031961585, 6.31079774298852, -7.44101072498182, 1.95401882875555, -4.32033461937738, -0.296806742986354, -1.16748482038486, 4.41780553523591, -1.44215156348099, 0.981892071528681, -2.25666543974503, 0.334409796686495, 3.61572416652159, -1.9958785324589)),
row.names = c(NA, -19L), class = c("tbl_df", "tbl", "data.frame"))
X2 <- structure(list(AALR3 = c(-0.206362587327738, 1.61895166368979, -0.861370994204189, 0.174830746289519, 0.407773465953981, 0.970959829160052, -1.17300376052144, -0.575620575876884, 0.197278912037272, 0.897302548964069, -1.32420067203198, 3.95899769222222, -1.21163567633219, -1.83565877386244, 1.54036374813566, -1.82397761281091, 1.20959432595504, -0.0759481540437981, -0.638232551464981), ABCB10 = c(-1.60296610096249, 2.09620731537456, -0.41694352576488, -0.838618382137318, -0.216899651453602, -0.235666655708187, 4.2059275953516, -2.48173025488413, 4.15244771238538, -2.20385731514288, 0.647168032961616, -4.53221518198161, 2.62619079447456, 0.0935951716704986, -0.354716323827452, 3.91837590914364, -1.93979523690335, 1.61498476891751, 0.122212912954949),
ABCB4 = c(-1.60296610096249, 2.09620731537456, -0.41694352576488, -0.838618382137318, -0.216899651453602, -0.235666655708187, 4.2059275953516, -2.48173025488413, 4.15244771238538, -2.20385731514288, 0.647168032961616, -4.53221518198161, 2.62619079447456, 0.0935951716704986, -0.354716323827452, 3.91837590914364, -1.93979523690335, 1.61498476891751, 0.122212912954949),
ABRE11 = c(-1.27341135842787, -1.86497998476113, -0.484129996891839, 1.47010984330541, -0.0210150840181142, -0.357694757179082, 0, 0, 1.62240834012385, 2.80846409804994, -2.58178098976869, 1.15726791232328, -4.12912917187979, 0.695814197684221, 1.9304416196954, -0.687599921266767, 0.0592175350156154, 0.0742655438637557, 0.0469482393875812 ),
AEDU3 = c(1.22237903311943, -0.0432075917354171, -0.151354670240687, 0.206910952878326, 1.03072282359242, -0.311151317468535, -2.7112186212168, 0.216238189442155, 0.307723724513601, 0.534775159411636, 0.976633521829294, -1.44257539205824, 0.177300976652729, 0.585653957384092, -0.862543274976379, -0.663875728078051, 0.426836767805498, 1.87185456856346, -2.35992132953569 ),
ABEV3 = c(-1.68961360937539, 0.336976612313896, 0.493514089699225, 0.254432823660535, -0.256405265540702, 0.264718777827759, 1.55834609347509, -1.20767246429255, -0.141477780693152, -0.19214164080899, -0.000600037380238257, -0.147233871179818, 1.75915399473419, -2.94440084531756, 2.34297132404171, -2.05898734280988, 2.59824344556308, -2.55640564217954, 0.930253209395329 ),
B3SA3 = c(-0.249394879240838, -0.435826887737834, 0.674263712359221, -1.47663475639016, 1.65555693916285, -0.577034735765758, 2.26875789306363, -2.2875050945378, 0.537969408805017, -0.205268668573947, 0.414868128804647, -1.48457772878109, 1.15631736949281, 0.0305113207811356, -0.102657510980629, 1.37400357417165, -2.07665582016, 2.98843329137188, -2.69685509115329 ),
BBDC4 = c(-0.212217934317245, 0.118614534704256, 0.506732536312761, 0, 0, 1.2116182781466, 1.56667948677674, -3.59090513583332, 2.58117667166673, -2.25835436838038, -0.0164787028530569, -0.475048661790092, 0.120260328263065, 0.69979767549019, -1.00732194106152, 1.39438438911175, -1.58704315346786, 2.26692551507724, 1.01733376126224),
PETR4 = c(-1.30694127859772, 0.0556754000556631, 1.6427228959543, -2.07784831693627, 0.48951225216644, 1.77717497076481, -0.651276784435446, 0.216236137690635, -0.921123800566615, -0.675165953169317, -0.00202368123748712, -0.0428920777198445, 0.121292232920353, 1.23851717771871, -0.683468222178768, -0.908243883108815, -0.107679168050808, 1.83291659681442, -1.19385481066669),
VALE3 = c(2.41401127732222, -2.76421566679027, 0.461422210143545, -0.875330431707249, 0.885104981630114, -0.843726971357561, 1.5682910541085, -0.571164168008786, -0.10252567045643, -0.989403988444739, -0.692572450320219, 0.982267519085984, 1.26078160982549, -0.466576892153469, 0.432368421707883, -2.05782217710974, 1.50754449280209, -0.916145594562414, -0.0527556012964956),
X2 = c(-4.50748353877014, 1.21440271048808, 1.44791273160258, -4.00076590317452, 3.75745081003979, 1.66353076271191, 10.8384305519535, -12.7638536211848, 12.386325230201, -4.48750744323749, -1.9318188170345, -6.55822497186082, 4.50672325262578, -1.80915183893412, 2.88072151672846, 2.40463311638653, -1.84953204834405, 8.71586566274002, -4.70265834816209)),
row.names = c(NA, -19L ), class = c("tbl_df", "tbl", "data.frame"))
Can you give an example of data? For example, 20 lines of each
Y
,X1
andX2
. And only 5 shares of 'X1e 5 de
X2. A melhor maneira para fazer isso é com o comando
dput`.– Rui Barradas
Good evening Rui ! I put an example above. Is it clearer? Grateful
– Marcio Ribeiro Luz
It was more clear yes, but data like images are not usable. Can you please edit the question with the output of
dput(head(base1, 20))
anddput(head(base2, 20))
? Just a few columns, you don’t need 50.– Rui Barradas
Rui, good night. That’s it ?
– Marcio Ribeiro Luz
It is yes, see the answer.
– Rui Barradas