Registered User Joined: 3/1/2005 Posts: 31
|
I deal ONLY with options. My first criteria on any EasyScan is that it must be optionable.
There is a long drawn out process I go through for each general market analysis day I spend. The actual collection of reviewable stocks usually take me 1 to 1 1/2 hours but the next 4 to 6 hours is based on the nature of options and not relavent to stocks at all. It deals with strike prices.
For an option to be considered worthy of interest, it must be close enough to a strike price to fill a reasonable expectation of hitting the strike price. For those not into options let me illustrate a little. If XYZ stock is trading at $27.63 and you are trading stock only, you buy it at any price and exit at a + /- 5% for profit or stop loss. On the other hand, in an option, the nearest strike prices are at 25.00 and 30.00. Here, the price would have to move about 10% just to break even and move even more for a profit. In other words, the price of the stock must be within 4% of the strike price and the stock must move at least 5% (1%+) to be profitable.
I've had a devil of a time doing this visually. When all my scans turn up a listing of 300 stocks going up, down, or sideways depending on the option strategy, I've had to visually determine how close and how probable the stock price is in reaching the strike I'm considering.
I finally got tired and tried to figure out what I'm really looking for. I came up with the idea that if a stock is in the $20 or less range I want the stock price to be within 2.5% of the strike and if the price is over $25.00 I want it to be within 5% of the strike.
Given that, I tried many things and finally came up with the following method. I created two very simple PCFs. C/2.5 and C/5. I figure that with a stock price of $27.63 I get 5.52 or that the price is 48% of the distance to the next higher strike and 52% above the lower strike depending on which way I want it to go. Now I sort according to price, take all those above $20 and set a decimal minimum if I'm going long with Calls to 30 or a decimal max if I'm going short with Puts to 25. Doing this I can quickly determine that the stock prices at x.70 or higher are good for Calls while those with x.30 or less are good for Puts (again, depending on my initial scan and expected direction of trade.)
This is real rough but it does help cut down on my time significantly. Other than trying to set a price range for each strike price in a TRUE/FALSE formula I don't know how to do this any better.
Hence the request herein. If you can figure out a better way to give some indication of whether a stock price is within 5% of a strike price I'd love to see it. Essentially, here are the parameters: 1. Subtract the strike price just passed (usually a multiple of 5) from the stock price. 2. Divide the result by the strike price to determine the percentage of distance from the passed strike price. -OR- 3. If the above can't be done, is there a way to have the resultant value I get with my PCFs reduced to the fractional part only so that 5.52 would become .52? That would help put all the numbers into a sortable base instead of having to eyeball each one for >.70 or <.30.
Other than what I've figured out above, the more precise method would be to have individual PCFs for each strike price from, say, 10 to 150, which would create over 30, not even considering those that have abnormal strikes by $1.00 increments even at higher prices.
Thanks for your help.
Dr. Ken Rich
|
|
Worden Trainer
Joined: 10/1/2004 Posts: 18,819
|
Without a rounding feature in the language, I don't know of a way to do this.
- Craig Here to Help!
|
|
Registered User Joined: 1/1/2005 Posts: 2,645
|
QUOTE (Craig_S) Without a rounding feature in the language, I don't know of a way to do this.
The PCF:
C\1
(unexpectedly) returns C rounded.
Please see: 15-day DTA playing off of Landry's Pivot Points
Thanks, Jim Murphy
|
|
Worden Trainer
Joined: 10/1/2004 Posts: 18,819
|
I just created a PCF
C/1
and nothing is rounded
- Craig Here to Help!
|
|
Registered User Joined: 1/1/2005 Posts: 2,645
|
QUOTE (Craig_S) I just created a PCF
C/1
and nothing is rounded
The PCF is:
C\1
not
C/1
Will you delete your last and this and start over?
Thanks, Jim Murphy
|
|
Worden Trainer
Joined: 10/1/2004 Posts: 18,819
|
Whoops! (thanks bustermu)
drkenrich, try these as sorts:
((C\1)/2.5) - (C/2.5)
or
((C\1)/5) - (C/5)
- Craig Here to Help!
|
|
Registered User Joined: 1/1/2005 Posts: 2,645
|
Ken,
I am not able to follow what you want. But, the following may help.
The closest multiple of 5 to C is:
5*((0.2*C)\1)
The percent change in C required to get to the closest multiple of 5 is:
100*ABS(5*((0.2*C)\1)-C)/C
If you clarify what you want, we may be able give it to you.
Thanks, Jim Murphy
|
|
Registered User Joined: 1/28/2005 Posts: 6,049
|
bustermu
(you may already be familiar with this) Stock option strike prices typically increase in five dollar increments.
10,15,20,25,30,35,40 and so on.
drkenrich
Is looking for a scan to find stocks that are within 5% of those values.
if the strike is 20 or less he wants it within 2.5%
He is looking for a range from $10 stocks to $150.
Thanks
|
|
Registered User Joined: 3/1/2005 Posts: 31
|
To all those who responded, Thanks for the effort.
For diceman, options on stocks of less than $25.00 generally are at 2.5 increments, 2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 22.5, 25. Hence the need for the lower 2.5 portion of the formula. Some stocks, ETFs and futures with options often move in $1.00 increments, which gets all too complicated. Above $200 stock price they go in $10.00 increments.
My original concern was NOT to round off the final value but to keep the decimal portion and eliminate the whole number as in 5.36 stock price would become .36, 2.79 stock price would become .79, etc.
The actual step would be to somehow subtract the nearest lower $5.00 multiple from the stock price (36.78 - 35.00 = 1.78) and then divide that number by that whole multiple of 5 (1.78/35.00 = .058 or 5.8%). This could then be sorted and allow an immediate selection of those within 5% of the lower strike price or greater than 95% above it for the next strike price up.
So far, using the formula I set originally, I at least get a decending list of numbers and then can select which to flag or unflag based on a mental number like >x.70 or <x.30 which isn't precise but does help eliminate those too far from a strike to be considered.
I appreciate everyones input, but fear there may be no easy way to do this.
Thank you, Dr. Ken Rich
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
QUOTE (drkenrich) The actual step would be to somehow subtract the nearest lower $5.00 multiple from the stock price (36.78 - 35.00 = 1.78) and then divide that number by that whole multiple of 5 (1.78/35.00 = .058 or 5.8%). I think that would be something like the following (if this works as planned, negative results should be returned when the denominator would have been zero and returned an error):
(C > 25) * (C <= 200) * (100 * C / ((C / 5 - .499999) \ 1 * 5 + (C < 5)) - 100) - (C <= 25) * (100 * C / ((C / 2.5 - .499999) \ 1 * 2.5 + (C < 2.5)) - 100) - (C > 200) * (100 * C / ((C / 10 - .499999) \ 1 * 10 + (C < 10)) - 100)
QUOTE (drkenrich) This could then be sorted and allow an immediate selection of those within 5% of the lower strike price or greater than 95% above it for the next strike price up. But I think that sounds more like this:
(C > 25) * (C <= 200) * 100 * (C - (C / 5 - .499999) \ 1 * 5) / 5 - (C <= 25) * 100 * (C - (C / 2.5 - .499999) \ 1 * 2.5) / 2.5 - (C > 200) * 100 * (C - (C / 10 - .499999) \ 1 * 10) / 10
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Registered User Joined: 3/1/2005 Posts: 31
|
Dear Bruce,
Sorry to take so long to get back to you. No excuse.
I copied and pasted both of your formulas into pcfs.
The first formula seem to have left out a step. Instead of dividing by the strike price (which is a multiple of 5) it divides the number by 5 such that there is a whole range of numbers from 0 to 99.90. I'm not quite sure how to use it.
On the second one, it hits the mark well. the range of 0 to 99 gives an indication of how far above the previous strike the current price is. This is what I've been looking for. If I'm entering into a Call situation I want to have the value above 90% so that it only has to move 10% to be In The Money (ITM). If I'm bearish and buy Puts I want it below 10 so it only has a 10% move to be ITM.
Well done. Thank you very much.
By the way, I notice you use a \ which I'm unfamiliar with. What is it for and how does one use it? I've often wished there was some place I could find that would give all the different types of operators TC could use AND how to use them. Maybe I've been looking in the wrong place.
Dr. Ken Rich
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
drkenrich, I'm glad to hear the second formula appears to meet your needs. Oddly enough, I planned these formulas to work the opposite of the way you describe in your most recent post (which I thought most closely matched the descriptions quoted before each formula).
The first formula should be calculating the percentage difference between the current price and the full strike price (ignoring the negative results that are just there to avoid division by zero errors). It involves dividing by the full strike price. The numbers could range between 0 and 99.99 if the current price is between 2.5 and 5, but should otherwise have a smaller range (because the full strike price is larger than the range between strike prices).
The second formula should represent where the current price falls as a percentage of the range between strike prices. It involves dividing by just 2.5, 5 or 10 instead of the strike price itself. This should display results ranging between 0 and 99.99.
The \ symbol is used for integer divide. It is very similar to a normal divide except that the result is rounded off to the nearest integer. You may wish to review the following:
Documented and undocumented PCF functions
You've already indicated it isn't useful, but the following version of the first formula might make more sense:
((C <= 25) * (100 * C / ((C / 2.5 - .499999) \ 1 * 2.5 + (C < 2.5)) - 100) + (C > 200) * (100 * C / ((C / 10 - .499999) \ 1 * 10 + (C < 10)) - 100) - (C > 25) * (C <= 200) * (100 * C / ((C / 5 - .499999) \ 1 * 5 + (C < 5)) - 100)) * (C >= 2.5) + (C < 2.5)
It returns -1 for symbols where the price is less than 2.50 instead of returning a range of negative numbers. I don't want to return a result of zero because that would normally represent a stock at its strike price. I'm assuming (possibly incorrectly) that a strike price of zero is not valid.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Registered User Joined: 3/1/2005 Posts: 31
|
Dear Bruce,
You're correct about returning the 0 or -1 and stocks under optionable prices. That is helpful.
The problem I had with the first formula was that the values you detailed did not lend themselfs to a simple sort. I had to find the strike price and mentally break the sort up into sections. On the other hand, the second gave an immediate sort which is easier for me to deal with.
Thanks for your efforts.
Dr. Ken Rich
|
|
Worden Trainer
Joined: 10/7/2004 Posts: 65,138
|
You're welcome.
-Bruce Personal Criteria Formulas TC2000 Support Articles
|
|
Guest-1 |