-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.json
1 lines (1 loc) · 24.1 KB
/
index.json
1
[{"authors":["admin"],"categories":null,"content":"I am an econometrician at Garda Capital Partners. My research interests include monetary policy, time series\u0026ndash;econometrics, and forecasting.\n","date":-62135596800,"expirydate":-62135596800,"kind":"term","lang":"en","lastmod":-62135596800,"objectID":"2525497d367e79493fd32b198b28f040","permalink":"https://lucabrugnolini.github.io/authors/admin/","publishdate":"0001-01-01T00:00:00Z","relpermalink":"/authors/admin/","section":"authors","summary":"I am an econometrician at Garda Capital Partners. My research interests include monetary policy, time series\u0026ndash;econometrics, and forecasting.","tags":null,"title":"Luca Brugnolini","type":"authors"},{"authors":["Brugnolini L.","Ragusa G."],"categories":null,"content":"","date":1628467200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1628467200,"objectID":"0d19c8f65a86538085434be2016a798f","permalink":"https://lucabrugnolini.github.io/publication/article_9_ea_dpi/","publishdate":"2021-08-09T00:00:00Z","relpermalink":"/publication/article_9_ea_dpi/","section":"publication","summary":" We focus on forecasting the probability that euro-area inflation will fall into one of three intervals by employing an ordered multinomial model augmented with macroeconomic variables. We directly forecast the probability that the expected euro area HICP price index inflation rate (12-month percent changes) over the next 12 and 24 months will be less than 1.5 percent, exceed 2 percent, or be between these two values. The model includes many predictors, and deal with dimensionality issues by an approach which mixes factor models with Bayesian shrinkage. Our results show that macroeconomic variables’ inclusion improves the model’s forecast quality, especially at the longer horizon considered. The Deflationary Pressure Index coincides with the probability that inflation is below 1.5 percent on average in the next 24 months, and it is useful as a policy monitoring tool. ","tags":null,"title":"Euro Area Deflationary Pressure Index","type":"publication"},{"authors":["Brugnolini L.","D'Agostino A.","Tagliabracci A."],"categories":null,"content":"","date":1597276800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597276800,"objectID":"af9cab59dd663f77ea7c6e0d7f51ae5b","permalink":"https://lucabrugnolini.github.io/publication/article_5_macro_surprise/","publishdate":"2020-08-13T00:00:00Z","relpermalink":"/publication/article_5_macro_surprise/","section":"publication","summary":"We build a framework to forecast out-of-sample any asset price movement in a tight window around the release of any macroeconomic indicator. As a case study, we examine the predictability of the EUR/USD exchange rate conditional on the market-based surprise in the first 60 min after the release of the United States Non-Farm Payrolls and ISM manufacturing index. We empirically investigate whether the findings of the literature obtained using an in-sample approach also hold in a real-time out-of-sample exercise. We demonstrate that the main econometric models lose accuracy in an out-of-sample application and cannot outperform a naive model. Additionally, we highlight that the main reason is the counterintuitive direction of a large number of small asset price movements around the release. Finally, we show that clustering the responses to the market-based surprises by their size improves the predictability, reconciling the role given by the literature to nonlinearities. ","tags":null,"title":"Is Anything Predictable in Market-Based Surprises?","type":"publication"},{"authors":["Gatt W.","Rapa N.","Brugnolini L."],"categories":null,"content":"","date":1585699200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585699200,"objectID":"36784dd73ccf6d05e8a5f996de4345cb","permalink":"https://lucabrugnolini.github.io/publication/article_7_medsea_fin/","publishdate":"2020-04-01T00:00:00Z","relpermalink":"/publication/article_7_medsea_fin/","section":"publication","summary":" We extend the Central Bank of Malta’s core DSGE model MEDSEA with housing and financial frictions to capture the important theoretical links betweeen house prices, credit and consumption. The model features a rich set of features that are inherent to small open economies in a monetary union. We add a borrowing constraint on a subset of households that is contigent on the value of housing wealth and a maximum loan-to-value (LTV) ratio. We also impose capital requirements on the financial intermediary through a minimum capital-to-assets ratio (CAR) constraint. These two requirements form the basis of a typical macroprudential regime in a developed economy. We show how the macroprudential authority can dampen the rise in credit and consumption during a credit boom by using these two policy tools to ‘lean against the wind’. MEDSEA-FIN is therefore tailored to study macro-financial issues related to housing and credit, and the adequate policy responses. ","tags":null,"title":" MEDSEA-FIN: A DSGE model of the Maltese economy with housing and financial frictions,","type":"publication"},{"authors":null,"categories":null,"content":"","date":1561539600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1561539600,"objectID":"131ce00258d9c60193505ade0cf15775","permalink":"https://lucabrugnolini.github.io/talk/iaae2019/","publishdate":"2019-06-26T09:00:00Z","relpermalink":"/talk/iaae2019/","section":"talk","summary":"","tags":null,"title":"IAAE 2019","type":"talk"},{"authors":["Altavilla C.","Brugnolini L.","Gurkaynak R.","Motto R.","Ragusa G."],"categories":null,"content":"","date":1558051200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1558051200,"objectID":"1332c421f0735e4bafa025efaa669399","permalink":"https://lucabrugnolini.github.io/publication/article_1-_-monetary_shock/","publishdate":"2019-05-17T00:00:00Z","relpermalink":"/publication/article_1-_-monetary_shock/","section":"publication","summary":" We map ECB policy communication into yield curve changes and study the information flow on policy dates. A byproduct is the publicly available Euro Area Monetary Policy Event- Study Database (EA-MPD), containing intraday asset price changes. We find that Policy Target, Forward Guidance and Quantitative Easing factors capture about all the variation in the yield curve, with different factors appearing in the windows covering the policy decision announcement and the press conference, and having time-varying variance shares. We study sovereign yields, exchange rates, stock prices, persistence of effects and response asymmetry. Our methodology can be implemented for any policy-related event. ","tags":null,"title":"Measuring Euro Area Monetary Policy","type":"publication"},{"authors":null,"categories":null,"content":"","date":1544691600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1544691600,"objectID":"c207dc9c8bf1c49bf730f199f917b476","permalink":"https://lucabrugnolini.github.io/talk/rbnz_macrofinance_2018/","publishdate":"2018-12-13T09:00:00Z","relpermalink":"/talk/rbnz_macrofinance_2018/","section":"talk","summary":"","tags":null,"title":"RBNZ Conference on Macro-Finance","type":"talk"},{"authors":null,"categories":null,"content":"","date":1544173200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1544173200,"objectID":"3558972a85c1c910dca3341cab5c6692","permalink":"https://lucabrugnolini.github.io/talk/cbsl_conference_2018/","publishdate":"2018-12-07T09:00:00Z","relpermalink":"/talk/cbsl_conference_2018/","section":"talk","summary":"","tags":null,"title":"Central Bank of Sri Lanka","type":"talk"},{"authors":null,"categories":null,"content":"","date":1542618000,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1542618000,"objectID":"ad9734f63654a110af55322b7c1b482b","permalink":"https://lucabrugnolini.github.io/talk/cbm_workshop_2018/","publishdate":"2018-11-19T09:00:00Z","relpermalink":"/talk/cbm_workshop_2018/","section":"talk","summary":"","tags":null,"title":"Central Bank of Malta Annual Research Workshop","type":"talk"},{"authors":null,"categories":null,"content":"","date":1541754000,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1541754000,"objectID":"f879923bd5a5ae0fdd8e95cd572af891","permalink":"https://lucabrugnolini.github.io/talk/bilkent_2018/","publishdate":"2018-11-09T09:00:00Z","relpermalink":"/talk/bilkent_2018/","section":"talk","summary":"","tags":null,"title":"Bilkent University","type":"talk"},{"authors":["Brugnolini L."],"categories":null,"content":"","date":1533081600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1533081600,"objectID":"aa82605b1ef843044ae9bf815483acba","permalink":"https://lucabrugnolini.github.io/publication/article_2_about_local_projection/","publishdate":"2018-08-01T00:00:00Z","relpermalink":"/publication/article_2_about_local_projection/","section":"publication","summary":"I compare the performance of the VAR impulse response function (IRF) estimator with the Jordà (2005) local projection (LP) methodology. I show by a Monte Carlo exercise that when the data generating process (DGP) is a well-specified vector autoregressive model (VAR), the standard estimator is a better alternative. However, in the general case in which the sample size is small, and the lag length of the model is misspecified, the local projection estimator is a competitive alternative to the standard VAR impulse response function estimator. Along the way, I highlight some lack in the local projection literature, which can lead to potential improvement in the estimation procedure.\n","tags":null,"title":"About Local Projection Impulse Response Function Reliability","type":"publication"},{"authors":null,"categories":null,"content":"","date":1530003600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1530003600,"objectID":"3547a24102375be72c7a1649ede6eca1","permalink":"https://lucabrugnolini.github.io/talk/iaae2018/","publishdate":"2018-06-26T09:00:00Z","relpermalink":"/talk/iaae2018/","section":"talk","summary":"","tags":null,"title":"IAAE 2018","type":"talk"},{"authors":null,"categories":null,"content":"","date":1529398800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1529398800,"objectID":"dca4bfa5038604481db8cab40166b59c","permalink":"https://lucabrugnolini.github.io/talk/cef2018/","publishdate":"2018-06-19T09:00:00Z","relpermalink":"/talk/cef2018/","section":"talk","summary":"","tags":null,"title":"CEF 2018","type":"talk"},{"authors":["Brugnolini L.","Corrado L."],"categories":null,"content":"","date":1527811200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1527811200,"objectID":"593836411aa9fda40a4ca77911735661","permalink":"https://lucabrugnolini.github.io/publication/article_4_fiscal_compact/","publishdate":"2018-06-01T00:00:00Z","relpermalink":"/publication/article_4_fiscal_compact/","section":"publication","summary":" We analyse the macroeconomic effects of a debt consolidation policy in the Euro Area mimicking the Fiscal Compact Rule (FCR). The rule requires the signatory states to target a debt-to-GDP ratio below 60%. Within the context of Dynamic Stochastic General Equilibrium models (DSGE), we augment a fully micro-founded New-Keynesian model with a parametric linear debt consolidation rule, and we analyse the effects on the main macroeconomic aggregates. To fully understand its implications on the economy, we study different debt consolidation scenarios, allowing the excess debt to be re-absorbed with different timings. We show that including a debt consolidation rule can exacerbate the effects of the shocks in the economy by imposing a constraint on the public debt process. Secondly, we note that the effect of loosening or tightening the rule in response to a shock is heterogeneous. Shocks hitting nominal variables (monetary policy shock) are not particularly sensitive. On the contrary, we prove that the same change has a more pronounced effect in case of shock hitting real variables (productivity and public spending shocks). Finally, we show that the macroeconomic framework worsens as a function of the rigidity of the debt consolidation rule. As a limiting case, we show that the effects on output, employment, real wages, inflation, and interest rates are sizable. ","tags":null,"title":"Fiscal Compact and Debt Consolidation Dynamics","type":"publication"},{"authors":null,"categories":null,"content":"","date":1527769800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1527769800,"objectID":"05e11205dcb2e25cbb2a40a7715ea97c","permalink":"https://lucabrugnolini.github.io/talk/gw/","publishdate":"2018-05-31T12:30:00Z","relpermalink":"/talk/gw/","section":"talk","summary":"","tags":null,"title":"Governor's Workshop","type":"talk"},{"authors":null,"categories":null,"content":"","date":1524837600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1524837600,"objectID":"a90f45ec22296d82b5ed45cc5d179924","permalink":"https://lucabrugnolini.github.io/talk/cbm_seminar/","publishdate":"2018-04-27T14:00:00Z","relpermalink":"/talk/cbm_seminar/","section":"talk","summary":"","tags":null,"title":"CBM Research Seminar","type":"talk"},{"authors":null,"categories":null,"content":"","date":1518771600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1518771600,"objectID":"b531db09ee3c507f80d0d191eb41a4bc","permalink":"https://lucabrugnolini.github.io/talk/first_vienna_forecasting/","publishdate":"2018-02-16T09:00:00Z","relpermalink":"/talk/first_vienna_forecasting/","section":"talk","summary":"","tags":null,"title":"I Vienna Workshop on Economic Forecasting","type":"talk"},{"authors":null,"categories":null,"content":" VectorAutoregressions.jl: Vector Autoregressive (VAR) models in Julia.\nForecastingCombinations.jl: forecasting using a combinatoric approach and exploiting parallel computing in Julia.\n","date":1515628800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1515628800,"objectID":"928e6536c272ef6151804600e68fcc69","permalink":"https://lucabrugnolini.github.io/code/code/","publishdate":"2018-01-11T00:00:00Z","relpermalink":"/code/code/","section":"code","summary":"VectorAutoregressions.jl: Vector Autoregressive (VAR) models in Julia.\nForecastingCombinations.jl: forecasting using a combinatoric approach and exploiting parallel computing in Julia.","tags":null,"title":"Julia Packages","type":"code"},{"authors":["Brugnolini L.","Catania L.","Hansen P.","Santucci de Magistris P."],"categories":null,"content":"","date":1514851200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1514851200,"objectID":"2eedb8c8d922e9e699a2eb8eb57f619c","permalink":"https://lucabrugnolini.github.io/publication/article_6_bayesian_cubic_local_projection/","publishdate":"2018-01-02T00:00:00Z","relpermalink":"/publication/article_6_bayesian_cubic_local_projection/","section":"publication","summary":" ","tags":null,"title":"Flexible Bayesian Local Projection","type":"publication"},{"authors":["Bassanin M.","Brugnolini L."],"categories":null,"content":"","date":1514764800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1514764800,"objectID":"1b1b11aa65347f35572b3d7fb0c56413","permalink":"https://lucabrugnolini.github.io/publication/article_8_macroprudential_in_soe/","publishdate":"2018-01-01T00:00:00Z","relpermalink":"/publication/article_8_macroprudential_in_soe/","section":"publication","summary":" ","tags":null,"title":"Macroprudential Policy for Small-Open Economy in a Monetary Union","type":"publication"},{"authors":null,"categories":null,"content":"Forecasting Variables using a combinatoric approach and exploiting parallel computing in Julia (ForecastingCombinations.jl) Installation Pkg.clone(\u0026#34;https://github.com/lucabrugnolini/ForecastingCombinations.jl\u0026#34;) Documentation The procedure is described in Brugnolini L. (2018). The application in the paper is on predicting the probability of having inflation around the European Central Bank\u0026rsquo;s target.\nIntroduction Given a (balanced) dataset of K macroeconomic variables, the objective is to select the best model to predict future values of a target variable. The selection procedure consists in (i) select the best iBest variables according to several out-of-sample criteria and then use these variables in models that use their combination. More specifically:\nthe procedure selects the best iBest variables using two different criteria (mean absolute error (MAE) and root mean squared error (RMSE) included in the model as a vector fLoss of functions in the form f(Prediction,TrueValue)). This selection step is univariate, i.e. the variables are chosen by running a simple out-of-sample regression of the target variable on each variable of the dataset.\nthe iBest variables are combined into set of 2, 3, \u0026hellip;, iBest variables. For each of these sets, the model is estimated and then avaluated out-of-sample. The best model is the one with the lowest out-of-sample MSE. We also augment each model with the first principal component of all variable in the dataset. Thus, there are a total of 2 (2^iBest) models.\nThe complexity is O((T-Ts)*2^iBest) where T is the sample size, Ts is the number of observation in the initial estimation window.\nExample Forecasting US non-farm-payroll one and two months ahead H = [1,2] using a dataset containing 116 US variables taken from McCracken and Ng (2015). iBest is set to 16. The code below is an example of parallelization on N_CORE.\naddprocs(N_CORE) @everywhere using ForecastingCombinations @everywhere using CSV, DataFrames, GLM @everywhere mae(vX::Vector,vY::Vector) = mean(abs.(vX-vY)) ## MAE loss function @everywhere rmse(vX::Vector,vY::Array) = sqrt(mean((vX-vY).^2)) ## RMSE loss function @everywhere const fLoss = [mae rmse] ## Vector of loss functions @everywhere const sStart_s = \u0026#34;01/01/15\u0026#34; ## This is the beginning of the out-of-sample window @everywhere const iSymbol = :NFP ## Target variable @everywhere const vSymbol = [:Date, :NFP, :NFP_bb_median] ## Variables to be removed from the dataset (non-numerical and dep. var.) @everywhere const H = [1,2] ## Out-of-sample horizon @everywhere const iBest = 16 ## iBest @everywhere const ncomb_load = iBest ## TODO: remove this option @everywhere const dfData = CSV.read(joinpath(Pkg.dir(\u0026#34;ForecastingCombinations\u0026#34;),\u0026#34;test\u0026#34;,\u0026#34;data.csv\u0026#34;), header = true) @everywhere const iStart = find(dfData[:Date] .== sStart_s)[1] ## computes the two steps variable selection l_plot,r = sforecast(dfData,vSymbol,iSymbol,H,iStart,iBest,ncomb_load,fLoss) ## `fforecast` uses results previously stored with `sforecast` l_plot,r = fforecast(dfData,vSymbol,iSymbol,H,iStart,iBest,ncomb_load,fLoss) # Plot the forecasts l_plot ## Remove process added rmprocs(2:N_CORE) In case one is interested in predicting probabilities, as the US probability of recession, simply include a link function in sforecast or fforecast, and use a binary variable as dependent variable.\n@everywhere const l = ProbitLink() # link function for probability model ## computes the two steps variable selection l_plot,r = sforecast(dfData,vSymbol,iSymbol,H,iStart,iBest,ncomb_load,l,fLoss) ## `fforecast` uses results previously stored with `sforecast` l_plot,r = fforecast(dfData,vSymbol,iSymbol,H,iStart,iBest,ncomb_load,l,fLoss) References Brugnolini L. (2018) \u0026ldquo;Forecasting Deflation Probability in the EA: A Combinatoric Approach.\u0026rdquo; Central Bank of Malta Working Paper, 01/2018.\nMcCracken, Michael W., and Serena Ng.(2016) \u0026ldquo;FRED-MD: A Monthly Database for Macroeconomic Research.\u0026rdquo; Journal of Business \u0026amp; Economic Statistics 34.4:574-589.\n","date":1501545600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1501545600,"objectID":"f308ab8a85ca14c313d0a7c4db536cac","permalink":"https://lucabrugnolini.github.io/code/nfp/","publishdate":"2017-08-01T00:00:00Z","relpermalink":"/code/nfp/","section":"code","summary":"Forecasting Variables using a combinatoric approach and exploiting parallel computing in Julia (ForecastingCombinations.jl) Installation Pkg.clone(\u0026#34;https://github.com/lucabrugnolini/ForecastingCombinations.jl\u0026#34;) Documentation The procedure is described in Brugnolini L. (2018). The application in the paper is on predicting the probability of having inflation around the European Central Bank\u0026rsquo;s target.\nIntroduction Given a (balanced) dataset of K macroeconomic variables, the objective is to select the best model to predict future values of a target variable. The selection procedure consists in (i) select the best iBest variables according to several out-of-sample criteria and then use these variables in models that use their combination.","tags":null,"title":"ForecastingCombinations.jl","type":"code"},{"authors":null,"categories":null,"content":"Vector autoregressive models for Julia (VAR.jl) Installation Pkg.clone(\u0026#34;https://github.com/lucabrugnolini/VectorAutoregressions.jl\u0026#34;) Introduction This package is a work in progress for the estimation and identification of Vector Autoregressive (VAR) models.\nStatus VAR VAR(1) form Lag-length selection AIC AICC BIC HQC VAR impulse response function (IRFs) Identification Reduce form Cholesky Long-run restrictions Sign restrictions Heteroskedasticity External instruments (ex. high-frequency,narrative) Confidence bands Asymptotic Bootstrap Bootstrap-after-bootstrap Forecasting BVAR FAVAR Local projection IRFs Lag-length selection Confidence bands Standard Bootstrap Bayesian Local Projection Example ## Example: fit a VAR(`p`) to the data and derive structural IRFs with asymptotic and bootstrap conf. bands. using VectorAutoregressions, Plots y = readdlm(joinpath(Pkg.dir(\u0026#34;VectorAutoregressions\u0026#34;),\u0026#34;test\u0026#34;,\u0026#34;cholvar_test_data.csv\u0026#34;), \u0026#39;,\u0026#39;) #read example file with data intercept = false #intercept in the estimation p = 2 #select lag-length H = 15 # IRFs horizon nrep = 500 #bootstrap sample # Fit VAR(2) to data V = VAR(y,p,intercept) # Estimate IRFs - Cholesky identification T,K = size(y) mIRFa = IRFs_a(V,H,intercept) #asymptotic conf. bandf mIRFb = IRFs_b(V,H,nrep,intercept) #bootstrap conf. bands # Plot irf + asy ci pIRF_asy = plot(layout = grid(K,K)); [plot!(pIRF_asy, [mIRFa.CI.CIl[i,:] mIRFa.IRF[i,:] mIRFa.CI.CIh[i,:]], color = [\u0026#34;red\u0026#34; \u0026#34;red\u0026#34; \u0026#34;red\u0026#34;], line = [:dash :solid :dash], legend = false, subplot = i) for i in 1:K^2] gui(pIRF_asy) # Plot irf + bootstraped ci pIRF_boot = plot(layout = grid(K,K)); [plot!(pIRF_boot, [mIRFb.CI.CIl[i,:] mIRFb.IRF[i,:] mIRFb.CI.CIh[i,:]], color = [\u0026#34;blue\u0026#34; \u0026#34;blue\u0026#34; \u0026#34;blue\u0026#34;], line = [:dash :solid :dash], legend = false, subplot = i) for i in 1:K^2] gui(pIRF_boot) More in details, y is a matrix with data, p is the lag-length of the VAR we fit to the data and i is a Boolean for including an intercept (default is true). VAR(y,p,intercept) returns a fitted VAR(p) model in V with the following structure:\ntype VAR Y::Array # dep. variables X::Array # covariates β::Array # parameters ϵ::Array # residuals Σ::Array # VCV matrix p::Int64 # lag-length i::Bool # true or false for including an intercept (default is true) end You can access to each element writing V. and than the element you are interested in (for example for the covariates V.X).\n","date":1501545600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1501545600,"objectID":"d987042a88a9ff06a0d264833f8982e0","permalink":"https://lucabrugnolini.github.io/code/var/","publishdate":"2017-08-01T00:00:00Z","relpermalink":"/code/var/","section":"code","summary":"Vector autoregressive models for Julia (VAR.jl) Installation Pkg.clone(\u0026#34;https://github.com/lucabrugnolini/VectorAutoregressions.jl\u0026#34;) Introduction This package is a work in progress for the estimation and identification of Vector Autoregressive (VAR) models.\nStatus VAR VAR(1) form Lag-length selection AIC AICC BIC HQC VAR impulse response function (IRFs) Identification Reduce form Cholesky Long-run restrictions Sign restrictions Heteroskedasticity External instruments (ex. high-frequency,narrative) Confidence bands Asymptotic Bootstrap Bootstrap-after-bootstrap Forecasting BVAR FAVAR Local projection IRFs Lag-length selection Confidence bands Standard Bootstrap Bayesian Local Projection Example ## Example: fit a VAR(`p`) to the data and derive structural IRFs with asymptotic and bootstrap conf.","tags":null,"title":"VAR.jl","type":"code"}]