-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calibration/structural estimation of retail order participation #199
Comments
Ill try to find some reference to back up the 30% value. |
Have done some research and my conclusion is that retail volume seems to be around or slightly above 20%. Here's a slide from virtu citing 605 reports that wholesalers have to produce: Reuters has an article from 2021 citing 25+% in July and aug 2021 The head of research at NASDAQ estimates 20% in 2020 Forbes is citing JP Morgan that retail volume hit 23% in the beginning of 2023 CEBO has an interesting report that finds that retail volume initially was targeting "meme" stocks but now targets the broader market: https://www.cboe.com/insights/posts/the-evolution-of-retail-investment-activity/ This might be consistent with this report of lower retail volume if a large fraction of the volume is traded in meme stocks outside of the index? |
Awesome. Our current levers for setting the retail investor involvement are the I expect we might also get an interaction with broker fees once we include them: #188 I suppose we can run some calibration tests to figure out the right ballpark for parameters to get this 'stylized fact' and then sweep within that ballpark to get a sense of the effects of variations? |
We can do the calibration step with the MockMarket. |
@mesalas So, what are our targets exactly? I believe you would like:
These should be chosen relative to the trading volume of other agents on the market. Essentially I need to write a program to optimize the parameter choices with respect to a loss function reflecting these two moments. That would be ideal. But ... what are the ballpark numbers I should be aiming at? In case I don't have time to solve this in a general way. |
Hitting this target will depend on #195 , since having more people in the population will increase the retail trade volume and make it easier to spread that activity evenly. |
I would go for a total volume of 40000 (on average 20000 buy and 20000 sell) and a std of about 5% |
Hmmm. Ok. Doing some testing with the original WHITESHARK population, getting up to this volume means ramping up the DPHM parameter to something like 500,000. Recall that in our Whiteshark simulation, raising this value to 15,000 (much lower) got us consistent market crashes as the retail investors overpowered the institutional investors. But that was with memory-based expectations. I assume that for G.G. Shark we will stick with UsualExpectations. That way, trade volume will be less correlated, as it will be responding to idiosyncratic labor shocks rather than market prices. |
@mesalas I've been working on this, and it looks like there are several reasons why calibrating the macro agents to get this realistic distribution of retail investor activity is not going to work. I can get the volume up. Thanks to @alanlujan91 's work, I can now easily make a population of 1000 macro-agent, with a low attention rate (0.05), getting on average 50 agents to pay attention per day. With DPHM at 830,000, that gets a mean buy volume per day of 18,600 over one quarter. All these parameters can be scaled up and down. The problem, simply, is that with USUAL expectations (where the agents compute their expected return from the true dividend process statistics), the agents never want to sell. They just hold onto the asset, collect the dividend, and reinvest. So the mean sell value is 0, and the standard deviation on the buy side is 0.48. Here's what the simulation of one quarter looks like: I think that leaves the following options for G.G. Shark:
...
Shall we do that? If so, do you want the buy/sell side to be normally distributed? We'll need to discuss the implications of the interaction between expectations and stylized facts of retail investor activity later. |
@mesalas and I have decided that for G.G. SHARK, he can just sample the broker activity on the AMMPS side, simplifying the whole thing a lot. In the future, we should figure out what it takes to get the macro agent's trading activity to match these stylized facts. |
General question for @llorracc : Which 'stylized facts' (about price process, retail investor activity, etc.) and calibration information (population model, etc.) if any, are targets for FIRE SHARK? We should enumerate these empirics and/or assumptions in a separate file, then refer to it when doing SE and/or configuration for the FIRE SHARK experiments. (These could be different for Good? Shark and so doing this rigorously will keep the framework supple.) |
I'm a bit confused what you are asking. `mNrmStE` is from the solution
stage. Some of the other things you mention are from the simulation stage.
For the results from the converged `.solution[0]` I can't see any reason to
pare them down. The storage space occupied by these parameters will be
trivial, and it would add extra work and complication if I removed one that
later I realized we might need.
For the simulation stage, we will want to start by keeping the entire
history of dates (I guess counting up from the first period after the
`burn-in` period; we may as well call that period [0]. So, I guess the
thing to do would be to store a snapshot of all the agent's state variables
at every date at which the agent observes prices. If we need to pare that
down, then I'd suggest a subtractive procedure: Make an automated list of
the agent's state and parameter values, and then allow us to configure a
method like `excise([item],[simulation])`.
…On Tue, Mar 21, 2023 at 4:23 PM Sebastian Benthall ***@***.***> wrote:
General question for @llorracc <https://github.com/llorracc> : Which
'stylized facts' (about price process, retail investor activity, etc.) and
calibration information (population model, etc.) if any, are targets for
FIRE SHARK?
We should enumerate these empirics and/or assumptions in a separate file,
then refer to it when doing SE and/or configuration for the FIRE SHARK
experiments.
(These could be different for Good? Shark and so doing this rigorously
will keep the framework supple.)
—
Reply to this email directly, view it on GitHub
<#199 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKCK73ZKMMWVWULBVIXQDTW5IE4XANCNFSM6AAAAAAVOXR2TM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
- Chris Carroll
|
Sorry, the context shift may be confusing. The issue about mNrmStE is #205. This is #199, which I expect is a totally separate topic. SHARKFin already does a lot of what you describe here. I'm not asking you about how to get data out of the solution or simulation. I'm asking what (if any) empirical facts (such as: no autocorrelation of stock returns; what percent of order volume is filled by retail orders; what ex ante heterogeneity is there in the population of the U.S.A.) are important for FIRE SHARK (specifically: the Economics publication we have been building towards). My understanding is that we would use these facts in one of two ways:
But both of these approaches, important for validating the model, require a stock of facts that we care about matching. So, I'm asking: which facts should we be using to calibrate and validate FIRE SHARK? |
CDC says: For the first step, calibrate:
What we are not matching in the first round:
|
@alanlujan91 makes the point that we should be attentive to the starting wealth levels. wealthier agents might sell more. |
What are the stylized facts of retail order volume (30% ? ) that we are trying to match.
We can then do a calibration exercise to figure out what we can tweak to get that as an output.
Calibrate to stylized facts.
We can do the calibration with the MockMarket.
Get in touch with @wjt5121 about this ...
The text was updated successfully, but these errors were encountered: