|
Reader Feedback
TSP - Trends
|
Wed, 26
Oct 2005
Rates of Change
Ed,
I am trying to match your result for BRLC to get a feel for this
project. My data for BRLC starts on 20030916. My results don't match
yours. Here is my procedure:
1. I calculate the 20 day lag as follows: Yesterday's lag + (today's
close-yesterday's lag)/ 20 (do you use 20 or 10.5, derived from
20+1/2)
2. Next I calculate the difference between Today's close and today's
lag
3. Then I calculate the ROC per day, by dividing today's difference/
20
4. Then I calculate the ROC per day in percentage terms, by dividing
today's ROC/ today's lag
5. Lastly I multiply the %ROC per day by 365.25 to get a %ROC per
year (I know this is non compounding)
I am wondering where my mistake is.
see my spreadsheet: brlc.xls
|
|
You might try
putting step 1 last.
Update the lag
after you use it to compute ROC.
From the numbers
on your spreadsheet:
(P - AV)/AV = (6.2
- 3.736) / 3.736 using the lag before updating it
= .6595
= 65.95 percent by which price exceeds lag
/ 20
= 3.2976 estimate of daily percent change basis 20 days
* 365.25
= 1204.46 estimate of yearly percent change basis 365.25 days |
|
Wed, 26
Oct 2005
Questions re PCT ROC calculation
Hi Ed,
The following is pseudo-code that represents my calculation of the
percent ROC (pctROC) per the assignment. This code
seems to match your example.
----
C: array of closes, indexed starting at 0
lag = C[0]
roclen = 20
for i=roclen to C.size-1
diff = C[i] - lag
amount by which price leads the lag
roc = diff / roclen
daily increment
pctROC = roc / diff
try this instead: pctROC = roc / lag
lag = lag + diff / roclen
or, lag = lag + roc
next i
return pctROC
----
:
For stock BRLC my pctROC value is 0.0330 which matches one
contributors value whereas your pctROC value for the same stock is
0.659.
Questions:
1. As my results don't match yours and I believe I've coded your
example correctly, will you please elaborate on how you calculate
pctROC.
2. You state the formula for daily pctROC as (P-AV)/AV. Will you
please define the variables and show how you got the value 0.659.
Thanks,
Robert |
|
For your pctROC = roc / diff,
consider using pctROC = roc / lag.
For more on this, see the item avove. |
|
Mon, 24
Oct 2005
Using Cash Flow Screen +
Some Services Do Not Back-Post New Listings +
Computing ROC from Lags
Ed,
It seems I send my last results before the exercise settles into
steady state.
Thank you for suggesting that I might do a cash flow screen.
I use a 20-day lag of cash flow and require that to be at least
$250,000/day. I get the list you post to the site with one
exception. I show RWC as a strong stock. Its chart confirms its
strength. I note that some online charting sites give differing
amounts of history for RWC. It seems that some databases do not
include price history prior to October 14 when RWC lists on the
AMEX. Other databases (e.g. CSI) have price data before RWC lists on
the AMEX.
I also notice one small difference in the (P-AV)/AV values. The
match is better than I expect given the number of possible sources
of errors.
I wonder how you calculate the Yearly %ROC values. My first approach
is to calculate the daily rate of change and then compound that by
the number of trading days in a year. This doesn't match your
metrics at all. I choose to use ((P-AV)/AV)/20)*365.25*100 which
matches your results closely and (as you can see below) not exactly.
Another difference that you can't see here is that my charts show
volume that seems to be about half the volume on your charts.
The online charting services that I check seem to match my volume
data. Does your data provider double count volume?
|
Symbol |
(P-AV)/AV |
%ROC |
|
BRLC |
0.659 |
1204+ |
|
BCRX |
0.358 |
654+ |
|
BLSC |
0.317 |
579 |
|
BTUI |
0.299- |
547- |
|
RNWK |
0.283 |
517+ |
|
RWC |
0.260 |
475 |
|
SNDK |
0.250 |
457+ |
|
TWTR |
0.236 |
432+ |
|
BFT |
0.228 |
416 |
|
PRLS |
0.225 |
410- |
|
SUPX |
0.220 |
402 |
|
KNOT |
0.215 |
392 |
|
BWNG |
0.213 |
390+ |
|
BRN |
0.213 |
390+ |
|
LEXR |
0.211 |
386+ |
|
ANSI |
0.207 |
378 |
|
BABY |
0.206 |
376 |
|
|
Yes, I notice RWC has only a few days of data on Worden and on Track
Data. I screen on having a year's worth of data, so I do not
capture RWC from these sources.
I calculate yearly percentage ROC just as you
surmise:
YPROC = 365.25 / 20 * (P-AV20)/AV20
Since alternative methods are all monotonic
relative to this one, and since the only use of YPROC is to generate
a flat list, and since YPROC is a gross approximation / prediction,
I use a simple method.
Good catch on the volume. The error is in my
code; the source is moving the volume number half-way down the
scale, to make room for the prices above, and forgetting to cut the
value in half. It now sands correctly. |
|
Sun, 23 Oct 2005
Getting the Same List Plus Some
Thin Stocks
Trying to Filter Out Stocks
with CSI
Ed,
This is an interesting project. I am learning more about my
database(CSI).
There doesn't appear to be a way to exclude securities that trade on
OTC
bulletin board or on the pink sheets.
The price data often do not accurately reflect restructurings... Viz
the sharp drops in VCO and SPCHB.
Here's a list of strong and weak instruments without filtering for
liquidity, etc.
"Strong" stocks
|
Symbol |
Close
|
Lag |
NROC |
Name |
|
URSI |
11.00 |
5.65 |
0.0473 |
United Road |
|
BRLC |
6.20 |
3.74 |
0.0330 |
BRILLIAN |
|
BTAHY |
5.30 |
3.41 |
0.0276 |
Biota |
|
SVCF |
28.00 |
18.94 |
0.0239 |
SERVICE 1ST |
|
UITH |
9.00 |
6.27 |
0.0217 |
Uintah |
|
UFSM |
13.00 |
9.22 |
0.0205 |
Ultimate |
|
BCRX |
15.33 |
11.29 |
0.0179 |
Biocryst |
|
BLSC |
8.55 |
6.49 |
0.0159 |
Bio-Logic |
|
GRRB |
14.00 |
10.73 |
0.0153 |
GRANDSOUTH |
|
BTUI |
12.12 |
9.33 |
0.0150 |
BTU |
|
CYFC |
19.50 |
15.04 |
0.0148 |
COMMUNITY |
|
YAVL |
86.00 |
66.46 |
0.0147 |
Yadkin |
|
RNWK |
7.97 |
6.21 |
0.0142 |
Real Networks |
|
UABK |
18.00 |
14.13 |
0.0137 |
UNITED |
|
KNTF |
5.40 |
4.26 |
0.0133 |
Knight |
|
RWC |
5.42 |
4.30 |
0.0130 |
Relm |
|
SNDK |
56.45 |
45.16 |
0.0125 |
Sandisk |
|
SOBI |
9.15 |
7.33 |
0.0124 |
Sobieski |
|
IKAN |
14.96 |
12.08 |
0.0119 |
IKANOS |
|
TWTR |
5.15 |
4.17 |
0.0118 |
Tweeter |
"Weak" stocks
|
Symbol |
Close |
Lag |
NROC |
Name |
|
TGTL |
9.00 |
13.17 |
-0.0158 |
Tiger |
|
TMG |
5.42 |
7.94 |
-0.0159 |
Transmontaigne |
|
XXIA |
10.25 |
15.20 |
-0.0163 |
IXIA |
|
AGP |
17.21 |
25.56 |
-0.0163 |
AMERIGROUP |
|
WPTE |
6.50 |
9.69 |
-0.0165 |
WPT |
|
DCAI |
9.28 |
13.84 |
-0.0165 |
Dialysis |
|
PLB |
6.60 |
10.02 |
-0.0171 |
American |
|
PKTR |
7.46 |
11.85 |
-0.0185 |
Packeteer |
|
MOVI |
7.49 |
12.18 |
-0.0193 |
Movie |
|
ANTP |
8.81 |
14.50 |
-0.0196 |
Phazar |
|
RSTG |
8.45 |
14.10 |
-0.0200 |
RASER |
|
BKF |
16.79 |
28.40 |
-0.0204 |
BKF |
|
CYPB |
5.04 |
8.53 |
-0.0205 |
Cypress |
|
DPH+A |
5.25 |
9.00 |
-0.0208 |
DELPHI |
|
VCO |
30.40 |
58.05 |
-0.0238 |
Vina |
|
ENWV |
10.60 |
20.75 |
-0.0245 |
ENDWAVE |
|
PGTVN |
13.13 |
26.78 |
-0.0255 |
PEGASUS |
|
SPCHB |
13.15 |
36.54 |
-0.0320 |
Sport |
|
NOMX |
5.00 |
860.70 |
-0.0497 |
NorMexSteel |
|
|
Yes, you seem to get all the stocks I get, in the same order.
I have the matches, above, in boldface. You are also getting some
other stocks that seem pretty thin (trade by appointment only): URSI,
BTAHY, SVCF, etc. Maybe you can do a cash flow screen: CF =
volume * price.
Also, I am getting different metrics for lag
and NROC, although our series appear monotonic to each other. |
|
Sun, 23
Oct 2005
TSP: ranked list of Top and Bottom 10 stocks
Hi Ed,
Here's my results for Top and Bottom 10 stocks ranked according to a
20 day ROC. The symbol and ROC are listed.
-- Strongest
|
BRKA |
100.0 |
|
RCCCP |
6.5 |
|
SWBC |
5.85 |
|
SEB |
5.527 |
|
ALMOP |
1.844 |
|
BRKB |
1.8 |
|
YAVL |
1.472 |
|
SBZ |
1.2365 |
|
GOOG |
1.2270 |
|
CME |
1.07 |
-- Weakest
|
XMSRZ |
-12.171 |
|
NVR |
-7.2625 |
|
FO+A |
-4.05 |
|
GBTVO |
-3 |
|
VCO |
-2.7295 |
|
TPL |
-2.2125 |
|
SPCHB |
-2.093 |
|
WTM |
-2.0 |
|
WPO |
-1.9050 |
|
CYAL |
-1.7905 |
|
|
You
might consider pulling up the charts on some of your strongest stocks.
I show no matches between your list and mine. |
|