Sorry I'm writing this as an answer. It's more like a question. It's just that I'd have to post a series of "comments" due to text limits.
Ambient light can be a serious problem. I don't know what your ambient situation is, but it may include commercial LED lighting (phosphors and Stokes-shift and/or mixed wavelengths that trick the human eye), high-frequency compact fluorescent lighting (phosphors and Stokes-shift from mercury 254nm line), low-frequency fluorescent lighting (ballast, phosphors and Stokes-shift from mercury 254nm line), and incandescent (black-body radiation from hot source.)
You have to "think" like a sensor here. A sensor is sensitive to certain wavelengths and not to others. It can't tell if they come from "here" or "there" -- it's just one signal that it produces -- unless you limit its "sight" in some way (long tube, baffles, lensing, whatever.) It can't tell wavelenth X from wavelength X+Y. It can only sum its sensitivities and give you the total.
So how can you improve your signal relative to the background? One thing is to restrict your "vision" to the angles you consider important in sensing RED vs GREEN with the lights. Horizontal and vertical limits will help a lot in keeping out unwanted interferences and swamping out your sensors with unneeded light. So study up on ways to limit what you "see" as much as possible to "what you need to see."
Then you need to consider ways to limit the wavelengths. You need to discriminate here, anyway, so you have to do that somehow. This can be done by selecting sensors with different wavelength sensitivities. LEDs make pretty bad sensors, but a RED LED will have different sensitivies to wavelengths than will, say, a GREEN LED. You could explore that. Normally, with cost no object, you'd use good quality Hamamatsu detectors with thin film filters designed for your purpose.
There are other ways, too, to limit what you "see." Objects have spatial frequencies, as well. You could consider placing a baffle that blocks light at the Fourier plane in an optical system -- it's called "spatial filtering" -- and limit what you "see" to features with a certain spatial frequency. Look this up and see if you think there is anything useful there, as well.
If you haven't gotten the point yet, you need to do EVERYTHING you can think of to restrict what you "see" before it gets into the eletronics. Once it is in the circuitry, you are stuck with what you've got. It's LOTS better to keep out unwanted signals in the first place, than to be forced to work on methods to remove them once you have let them inside.
What ambient lighting environment do you have? What angles can you count on for your stop light positioning? (How early do you need to spot them and how late can you tolerate that? From what distance to what distance?) What do you know about the light emitters? What range of sensors are you permitted to use? Hamamatsu, for example, sells pre-filtered detector diodes. Even with amplifier systems in them, too, last I looked. Is that "discrete?" How much room can you afford for optics?
The lack of information here is driving me nuts. (You seem more focused on color detection and I think there are too many other important areas to consider before you get too deeply mired into that.)
Best Answer
This is a very very ... common application - if you search the web you will find a very large number of methods and circuits and practical guides.
This page - Line following robot sensor is one of the many you could find.
The advantage of this method over many others is that it uses an integrated :"transmitter receiver" IC (a CNY70) which means you do not have to worry about relative alignment of the two parts - you just positiuon the sensor near the line and detect the reflected (or not) signal. The CNY70 is an old IC but also very available.
If using it read the data sheet carefully - you'll find that the transmitter and receiver polarity are opposite - ask me how I know :-) (from long long ago).
https://www.google.co.nz/search?q=line+following+robot&espv=2&tbm=isch&tbo=u&source=univ&sa=X&ei=tvzeU-qfL87j8AX4-4KQCg&ved=0CB0QsAQ&biw=2133&bih=1194&dpr=0.9
The rest of the circuit is more complex than necessary - butr not too much so - you can take input to the Arduino from "SIG".
Lots of detail here.
Fig 1 shows what you want.
LM324 IC is cheap and available.
He uses 4 sensors - how many you use is up to you.
He also provides AVR code.
Award winner from VingPeaw Competition 2543 , the robot built with 2051, L293D, and four IR sensors. Simple circuit and platform, quick tracking and easy-understand program using C language.
Simple 2 sensor LFR looks good
And another
and more ...
Here are many many many examples - each is linked to a related page