There are rules that allow one to check liquidity like AvgVol() or AvgDailyTot(). These functions when used in a rule just eliminate a stock if does not pass the liquidity test. But I want to buy the first stock that passes all the rules but only upto a certain maximum percentage of volume factor e.g. 4% of AvgDailyTot(60) if it fails the liquidity test.
I tried the following rule: Eval(BuyAmount < (0.04*AvgDailyTot(60)),1, (0.04*AvgDailyTot(60))/BuyAmount) but it did not work at all. The sim/port is set to buy only one stock so I thought it will buy a fraction (just like the sell rule).
I also tried Eval(BuyAmount < (0.04*AvgDailyTot(60)),1, BuyAmount=(0.04*AvgDailyTot(60))) This just acted like a normal liquidity rule & eliminated the stock.
Any suggestions?
Otherwise I will have to manually check the recommendation every time. If I have to do that then do I have access to AvgDailyTot(60) of a stock in P123 somewhere.
You can use this rule: AvgDailyTot(60) > xxxxxx & PctAvgDailyTot(60) < 4
Definition: PctAvgDailyTot(bars[,offset]): Buy amount percentage of the average daily total amount traded for the past number of bars. For example to avoid buying a stock if the amount exceeds 5% of the 20 day average dollar amount traded, enter the following buy rule: PctAvgDailyTot(20) < 5
Another way to achieve the result you are seeking is to first determine the $ amount you want to spend on each stock, and then set the AvgDailyTot(60) > xxxxxx, value so that it is 25 * the amount you want to buy (for 4% maximum). Example: Say you want to spend $2000 / stock. Then set the xxxxxx amount so that $2000 is 4% of xxxxxx, or in this example, AvgDailyTot(60) > 50000.
However, I think 4% is pretty high, when I have tried to trade that high a % it frequently resulted in excessive slippage. I like to trade no more than 1% and never more than 2%.
Denny
----------------------------------------
"The significant problems we face cannot be solved at the same level of thinking that we were at when we created them". Albert Einstein
Hi Denny, Thanks for your response. Maybe I was not clear in my post about what I want to do. I am familiar with all the factors (AvgVol(), AvgDailyTot(), PctAvgDailyTot()) and use them all the time. I am trying to do something different. These factors skip over a stock if it does not pass the test. I do not want to skip the stock but want to buy whatever I can (say 2% of AvgDailyTot(60)) and keep the rest in cash (or invest it in something else maybe an ETF from a screen).
So that is why I raised this question.
BTW, thanks for the tip regarding the percentage to buy.
OK, to answer the last question in your first post, Yahoo Finance is a good source for the AvgDailyTot data. Type in the stock ticker and the table gives the current volume and the average volume for the last 3 months. Multiply that by the price and you get close to the average amount traded / day. The difference is if the stock is increasing or decreasing significantly over the last 3 months the calculation will not be accurate, but a good approximation.
I frequently do what you want to do. In most of my ports I do not buy an equal amount of each stock. On the very smallest stocks that pass the Port rules I’ll buy up to 2% of the AvgDailyTot depending on the volatility of the volume. If the volume volatility is high I will use an eyeball average of the lower volume days so that there should be sufficient volume to sell the stock without a high slippage. I will buy an increasing amount of the larger stocks recommended, but < 1% of the AvgDailyTot. That way I am still able to invest in the higher gains of some of the small cap stocks while I am not constrained to set the AvgDailyTot rule high enough to buy an equal amount of each stock.
Denny
----------------------------------------
"The significant problems we face cannot be solved at the same level of thinking that we were at when we created them". Albert Einstein