I asked a similar question with less detail a little while back, but decided to ask again now that I've nailed down my plans a bit more.
I'm currently planning out a strategy that will involve trading a bucket of stocks. At every time step (let's say 1 minute intervals), all of the stocks will be evaluated by the model, with the output being conviction values for holding cash, buying stocks, or shorting the stock. Once all of the stocks are evaluated, they'll be sorted by those that have the highest conviction values for either buying stock or shorting the stock.
Ideally, I would put all of my money (until the next time the stocks are evaluated) into the highest conviction stock as it would represent the model believing it's the most likely to be profitable. I would like this system to be flexible enough to be able to trade stocks that have a small market cap, so putting all my money into those stocks isn't really an option. Instead, I'd like to have the system determine a maximum number of shares to buy/short for the highest conviction stock, then continue allocating into the next highest conviction stock, and so on.
Here's where my question comes in: what's the best way to determine how much stock to buy/short, keeping in mind that it's possible this specific stock may need to be liquidated the following minute if the conviction value for the stock falls? Is it just a matter of trading some maximum percentage of the average historical volume for my time step (number of stocks traded on a per minute basis), or is there some more sophisticated way to go about this?
Submitted October 02, 2020 at 05:24AM by EdvardDashD