StockFetcher Forums · Filter Exchange · Keeping Score<< 1 2 >>Post Follow-up
nikoschopen
2,824 posts
msg #46140
Ignore nikoschopen
8/1/2006 12:05:54 PM

I'm looking into building a ranking system that will assign values to each stock based on its recent price performance and other technical measures. For example, if price is above EMA(20), a value of 1 is assigned. If ure favorite indicator meets the given condition (eg. RSI(2) is below 1) another point is tacked on top of the score. It need not be this simple, of course.

I feel that this would be better managed as a collaborative project than on my own. If anyone is interested in pitching in their wares, feel free to contribute.


TheRumpledOne
6,362 posts
msg #46149
Ignore TheRumpledOne
8/1/2006 11:25:32 PM

Is this for stock selection or for trade triggers?




nikoschopen
2,824 posts
msg #46152
Ignore nikoschopen
8/2/2006 2:55:43 AM

I should think it can be applied to both (and some more depending on ure criteria).


shelupinin
120 posts
msg #46180
Ignore shelupinin
8/4/2006 7:46:14 AM

nikoschopen, any progress with scoring system?
What you coded so far?
share, please, other SF members may add their lines of code and improve system
Alex


nikoschopen
2,824 posts
msg #46187
Ignore nikoschopen
8/4/2006 3:07:19 PM

I'm currently being held hostage for another project so I will update you on the progress as time permits (most like over the weekend). I apologize for any needless suspense. I should also note that I'm somewhat in a bind over what to include in the filter since the possibility is limitless. For example, you can assign a value for the price/MA crossover but what if the moving average is in a nosedive? Should you not consider these other variables and the like? If you have any suggestions which may be helpful in designing this filter, ure welcome to jump right in.


nikoschopen
2,824 posts
msg #46222
Ignore nikoschopen
8/6/2006 4:55:18 AM

I've been preoccupied with redundant tasks lately and I obviously haven't devoted much time to get this thing off the ground. But the following filter, albeit a simple one, should be enough to get it rolling for those who have shown some interest. Of course, ure welcome to revise and improve it as you see fit.

Fetcher[
set{SDdiff, standard deviation(10) - standard deviation(10) 1 day ago}
set{STDev1, count(standard deviation(10) is above the average standard deviation(10,7),1) * 1}
set{STDev2, count(sign(SDdiff) equals -1,1) * -0.5}
set{STDev3, count(standard deviation(10) is below the average standard deviation(10,7),1) * -1}
set{STDev4, count(sign(SDdiff) equals 1,1) * 0.5}
set{upSD, STDev1 + STDev2}
set{dnSD, STDev3 + STDev4}
set{STDev, upSD + dnSD}
add column STDev
]


This filter will spit out values ranging from +1.5 to -1.5. If the standard deviation(10) is above the previous day's standard deviation(10) then a value of 1 is returned. If, on the other hand, the standard deviation(10) is below the previous day's standard deviation(10) then a value of -1 is returned. In addition, if the standard deviation(10) had a bigger move than it did the day before, another 0.5 is tacked on top of the existing score. If the move was less than the day before, the existing score gets reduced by 0.5.

Hence, suppose that the standard deviation(10) is above its 7-period moving average. This would evaluate as true under the first condition and a value of 1 will be assigned. But further suppose that it only moved 0.25, a much smaller move than 0.75 the day before. In this case, -0.5 will get tacked on top of 1.0. Therefore, the overall score would be 0.5.

Since the overall score fluctuates in a half-point increment, you would know that 1.5 indicates an "up, up" scenario (; 0.5 indicates "up, down" scenario; -0.5 indicates "down, up" scenario; -1.5 indicates "down, down" scenario.


TheRumpledOne
6,362 posts
msg #46227
Ignore TheRumpledOne
modified
8/6/2006 12:56:32 PM

Fetcher[/* TRO EVALUATOR */

set{CC,count(close is above close 1 day ago,1)}

set{HH,count(High is above High 1 day ago,1)}
set{LL,count(Low is above Low 1 day ago,1)}
set{VV,count(volume is above volume 1 day ago,1)}

set{a1, CC + HH }
set{a2, a1 + LL }
set{Result, a2 + VV}

add column Result

add column CC
add column HH
add column LL
add column VV

Result above 3

close above 20
volume above 10000000
]



This is a simple version.

It is displaying the results for stocks where the close, high, low and volume are all up from the previous day.

Of course, you can change it to count whatever you want it to.

HTH.

MAY ALL YOUR FILLS BE COMPLETE.




TheRumpledOne
6,362 posts
msg #46228
Ignore TheRumpledOne
8/6/2006 1:13:11 PM

Here's another version just to show how to make changes:

Fetcher[
/* TRO EVALUATOR */

set{Test1,count(rsi(2) is above rsi(2) 1 day ago,2) }
set{Test2,count(momentum(12) is above momentum(12) 1 day ago,2) }
set{Test3,count(ema(5) is above ema(5) 1 day ago,2) }


set{a1 , Test1 + Test2 }
set{Result , a1 + Test3 }

add column Result

add column Test1
add column Test2
add column Test3

result above 5

close above 20
volume above 1000000
]



It shows stocks where all 3 indicators have been rising the past 2 days.

HTH.


TheRumpledOne
6,362 posts
msg #46229
Ignore TheRumpledOne
8/6/2006 1:14:26 PM

Here's a simple display version that you can apply to a watchlist and sort on the columns:

Fetcher[
/* TRO EVALUATOR DISPLAY */

set{Test1,count(rsi(2) is above rsi(2) 1 day ago,2) }
set{Test2,count(momentum(12) is above momentum(12) 1 day ago,2) }
set{Test3,count(ema(5) is above ema(5) 1 day ago,2) }


set{a1 , Test1 + Test2 }
set{Result , a1 + Test3 }

add column Result

add column Test1
add column Test2
add column Test3

]




nikoschopen
2,824 posts
msg #46230
Ignore nikoschopen
8/6/2006 2:52:38 PM

What I initially had in mind was a universal scoring system that will spit out a number based on where the stock is in context of the overall market. This is harder to formulate than I anticipated. I've provided a simple illustration and TRO gave his own version as well. However, instead of crunching out separate numbers based on individual conditions (eg. price crossed above EMA(9), RSI(2) below 1, etc.), I would like to see the one final score based on the "whole picture". Such a microcosm may encompass both the macro picture, such as where the stock is presently situated in its past 6-month range as well as how it compares to its peers or industry, if not the major indexes, and the micro perspective like the close is above the moving average while the oscillator jumps out of the oversold area. As such, there needs to be a way to formulate and compile these disparate data of information.

PS. I would like to embark on the familiar refrain of expressing my token of appreciation to TRO for his illuminations.




StockFetcher Forums · Filter Exchange · Keeping Score<< 1 2 >>Post Follow-up

*** Disclaimer *** StockFetcher.com does not endorse or suggest any of the securities which are returned in any of the searches or filters. They are provided purely for informational and research purposes. StockFetcher.com does not recommend particular securities. StockFetcher.com, Vestyl Software, L.L.C. and involved content providers shall not be liable for any errors or delays in the content, or for any actions taken based on the content.


Copyright 2016 - Vestyl Software L.L.C.Terms of Service | License | Questions or comments? Contact Us
EOD Data sources: DDFPlus & CSI Data Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus