Friday, June 17, 2011

Avoid penny stocks and those with recent splits

Currently trailing DJIA by ~150%. The top contributors to the negative performance vs DJIA are ORS with 100% and WEST with 45%. ORS is as wild a story as it gets (up as much as 200% earlier) and makes for good reading material. WEST on the other hand is due to splits - see separate posting on splits. WEST split 1:4 on 4/14/11 causing the unadjusted price in the weeks prior to the prediction to go from ~0.5 to ~2.0 which the system sees as unsupported by fundamentals and expecting a sharp reversal hence the negative prediction.

Friday, May 20, 2011

Performance running total

Added a running total of the % return over market (see TotDiff% column). Since the history is in reverse chronological order the top entry shows the current total (as of yesterday's closing). So paranumeral is trailing the DJIA by 3%. The largest contributor (after trimming history to just the latest model's entries - deployed 5/12/11) is CXW with -10.6%. Turns out Pershing Square Capital dumped 3.5M shares on the 16th. Hopefully CXW will correct over time.

Thursday, May 19, 2011

Splits

Noticed the following

5/6/2011 11:44:37 PM hlf 0.6459572 14152.50 104.84 14159.80 53.29 0.05 -49.17 -49.22

and realized that it is due to Herbalife doing a 2 for 1 split on May 18th 2011. Paranumeral fetches just the price deltas (as in just yesterday's) so as to minimize traffic but it seems we have a problem with splits. So I'll either do the adjustment (complex) or fetch all historical prices to ensure they're adjusted for splits. In the meantime this affects total performance very directly and significantly - splits are huge changes in price! Furthermore this issue plagues model building by adding lots of noise. So I have my work cut out.

Monday, May 16, 2011

Performance Tracking

Over the last few days I added performance tracking facilities to the website. One can view own or system prediction performance history (currently latest 20). There's much to improve but it is a good start. One thing to keep in mind is that the latest prices are from the previous business day. Today's predictions are not shown for that reason.

Friday, May 13, 2011

Whooaa - what happened to the numbers!!? AGAIN

Is that your final answer? Yes. Maybe.

After much toying with different models and different model responses the current (and hopefully final) prediction response is the Geometric Daily Return Average. Well the difference of that for the symbol and the market respectively. The averaging is over the prediction horizon which is currently the 3 months from financial statement date - not today and not when it was filed but rather the statement period ending date. The return is not in percent terms so multiply by 100 (until I do so in code).

I believe this is much better than any scale no matter how granular let alone the outperform/perform/underperform one. Yes, predicting the expected return is crazy impossible so the system will be used very much (as a classifier) along the lines of outperform/perform/underperform (basically go long, ignore or go short vs market). Regardless there's power in that bit of information.

Tuesday, May 10, 2011

Follow us on Twitter

Paranumeral is now on Twitter.

Each morning predictions are made using new statements and prices fetched the night before. Only those over a certain magnitude (absolute value of the prediction) and symbols/tickers not ending with .OB or .PK get twitted about. That is so no one gets flooded with tweets about predictions which are basically "market perform" and with tweets about tiny caps.

Since no magnitude works for everyone and just cause hashtags are cool, the system bands and hashtags the predictions by prediction magnitude so folks can filter out stuff. Tickers are also turned into hashtags. Maybe I'll add or change the current tags to the standard #outperform, #underperform, #perform etc.

Tuesday, May 3, 2011

New models

I have been actively building, analyzing and deploying new models based on the new infrastructure. In order to easily swap models in and out the feature calculation engine is now running on all cylinders - calculating all 650 features - and running a lot slower than before. Some used few, some - like the current one - used a lot of them.

Speaking of the current model; it is based on roughly 60,000 company statements, both quarterly and annual spanning 15 years; from December 31st, 1995 to December 31st, 2010. It makes good use of a couple of hundred features, mainly past relative price patterns and variations on dozens of measures of company strength versus peers.

The expanded date range (compare to previous models built on 5 years) provides the model with data points of various "markets" - bulls, bears, bubbles etc.

I ended all CAPS predictions so as to start fresh with these new models. Will most likely add functionality to the website which does similar tracking so I don't have to spend as much time just entering predictions manually in the Motley Fool CAPS.

Thursday, April 7, 2011

Ah the little ones

After my brag post on 3/11, I started noticing a virtual nose dive in paranumeral’s CAPS score (along with accuracy and rating). After quite some soul (and source) searching I think I have found the villain. We’ll hang him and everyone else lives happily ever after ;-) The short of it is that the new code (which now takes into account the company and market price appreciation/depreciation since the last statement date) replaced the old prediction code which was loosely coupled with the SQL code expecting the latest statement to be last. Well the new code predicted using the FIRST record fetched and did not care about stmt date order as it was coded when we fetched statements dated in the last 3 months – there would be just one set of (balance sheet, income and cash flow) stmts. Then around mid March a lot of tickers started coming back with “Invalid tickers or lacking latest statements” so then I changed the code to look for statements dated in the last 6 months (always returning at least one set and often two) BUT failed to change the sort order to chronologically DESCending so the first record would be the most recent set of stmts. So the summary is that all the predictions in the last two weeks of March were coin flips or worse. Amazing how the littlest of things can have the biggest of impacts. And speaking of little things my 6 week old daughter and 20 month old son get the prize for the most impact these days.

Monday, March 21, 2011

A quick look at the worst performing picks

QPSA predicted +0.1786 vs market on 1/28/11. Has since fallen 61% vs market -0.2%. Seems the market changed its mind very rapidly and very aggressively. Clear example of numbers vs sentiment.

MTRX predicted -0.1094 vs market on 2/11/11. Has since increased 16.92% vs market decrease of -1.72%. Others agree - recent rise in crude prices, refiner crack spread etc directly affect this refiner servicer and market changed its mind.

SEED predicted +0.1579 vs market on 2/3/11. Has since fallen -19.05% vs market -0.73. It turns out the prediction is based on 9/30/10 stmts and not the latest 12/31/10 ones. The initial prediction was correct - pending new information which it lacks and it is indeed critical. The latest stmts indicate year-on-year decrease for the same qtr hence the price decline since those stmts were filed/published. In addition, we lack qtrly stmts basing the prediction on just the annual ones which indicate strong growth. Will change the system back to the initial 3 month timeframe - if no stmts within that timeframe then no prediction!

Friday, March 11, 2011

Whooaa - what happened to the numbers!!?

Some of you (hopefully ;-) may have noticed the prediction range changed drastically. If you were trying to get a feel for the range in order to figure out real high and real low scorers then I apologize. We'll eventually settle into a frozen score range like +/-100 or whatever.

Well the change was warranted. I've said in the past that prices past latest statement date do not affect the prediction. Well that was a HUGE problem and it is now addressed - not entirely but well enough until the next round of models come along. It was even a problem for myself who could view the system logs and act on the prediction as soon as the system got the recently filed latest statements. For those who did not and looked one up weeks later anything was possible. The stock could have moved up or down a lot since the initial prediction date. And that makes all the difference.

Regardless, even with that handicap we've beat the S&P 500 by 0.78% per stock in the last month alone since I started tracking it in the Motley Fool CAPS - look up paranumeral. Well that is PER STOCK and I entered the maximum number of stocks I could enter one at a time without regard to the absolute value of the prediction; simply OUT/UNDERPERFORM based on +/-. And that is 200 so the total return is 167%. According to the Fool """A player's score is the total percentage return of all his picks subtracting out the S&P.""

Wednesday, January 26, 2011

Test Site

I believe I found the bug preventing on-demand stmt fetching. It had crept in from test to prod so I will from now on keep things in test a bit longer.

The test version is available at:

http://prapanumeral.hopto.org

I hope to eventually move it to the more standard:

test.paranumeral.com

Sunday, January 16, 2011

Storm outage

Sorry for the outage last week. We had a huge snow storm up here in New England with lots of downed lines due to the heavy wet snow which later froze. Our internet provider was having issues restoring connectivity to our servers. Paranumeral is now back on the web. Maybe time for an SMS interface as well?