Colour Sensor from discrete components?
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.)