Bulbapedia has an extensive article on it, but it boils down to, in Generation III and on, there is no difference in stats between normal Pokemon and shiny ones.
Generation II (Gold, Silver, and Crystal) is the exception because shininess is determined based on the stats of the Pokemon. Namely:
If a Pokémon's Speed, Defense, and Special IVs are 10, and its Attack IV is 2, 3, 6, 7, 10, 11, 14 or 15, it will be Shiny
But, from Generation III and onward, it is determined based on a secret ID and a trainer ID, so it has nothing at all to do with the stats and will be just like every other Pokemon.
Something fun to note is that if the Male/Female ratio is 7:1, in Generation II, you cannot have a female shiny Pokemon because of the way it is calculated.
Each unique Pokémon sprite has exactly one normal palette and one shiny palette. However, some Pokémon have more than one possible sprite, due to gender, variants, or alternate formes. Each of those can have a different shiny palette.
For example:
- Frillish♂ is blue, but Frillish♀ is pink. Shiny Frillish♂ is teal, while shiny Frillish♀ is salmon pink.
- Basculin can appear as red-striped or blue-striped. Shiny red-striped Basculin has an orange stripe, while shiny blue-striped Basculin has a light blue stripe.
- Shellos found in west Sinnoh are pink, but Shellos found in east Sinnoh are blue. Shiny Shellos are salmon pink in west Sinnoh, and cyan in east Sinnoh.
Generally speaking, if a Pokémon can be found in multiple different colours, its shinies will have different colours from each other.
Further, some shiny Pokémon's evolved forms have very different colour schemes, even if the original Pokémon all had the same colour.
- Shiny Charmander and Charmeleon are yellow, but shiny Charizard is black. (A shiny Charmander will always hatch yellow, and when it evolves to Charizard will always turn black.)
- Shiny Magikarp is gold, but shiny Gyarados is red.
Best Answer
Past Generation 4 (Diamond/Pearl/Platinum), whether Ditto is shiny or not, a Ditto will transform into the coloration of its opponent.
If the opponent is shiny, shiny Ditto will Transform into shiny. If the opponent is not shiny, shiny Ditto will Transform into normal coloration.