After reading a few posts about “chaining” on The Silph Road, i.e., exclusively catching the same species of Pokemon over and over in order to increase the chances of encountering a shiny, I decided to test and see if this technique would work in Pokemon Go.

I previously had one shiny Magikarp and subsequently caught four more using chaining. Specifically, I only caught Magikarp and ignored all other Pokemon during this experiment.

 

Shiny No. 1

CP 77 caught after 16 consecutive Magikarp

Shiny No. 2

CP 121 caught after 9 consecutive Magikarp

Shiny No. 3

CP 16 caught after 51* consecutive Magikarp (*Nb: one Magikarp fled after the tenth caught one in this sequence.)

Shiny No. 4

CP 98 caught after 35 consecutive Magikarp

Details

As for technique, I only caught Magikarp, but once I caught a shiny, I would then catch a different kind of Pokemon to reset the chain. (To be honest, I am not sure this step was necessary but it seemed like a good idea to me.)
Of course, there is an important and obvious caveat: This was my own personal experience which may have been a statistical fluke rather than evidence that chaining exists within Pokemon Go. Other players in water biomes would need to repeat my experiment to see if this technique can be replicated.
My current working theory is that chaining is coded in a similar way to the ten-streak bonus for Pokestops. If ten different Pokestops stops are spun within 30 minutes and there is no time gap greater than 10 minutes between any two spins, then the player will receive a larger reward from the tenth Pokestop.
Perhaps chaining has similar time limits. A player must catch “X” number of the same Pokemon in row within “Y” amount of time to trigger chaining. This does not guarantee a shiny Pokemon but increases the RNG odds for encountering one until the chain is broken (due to a Pokemon fleeing or catching the wrong kind of Pokemon or permitting too much time to elapse between catches.)
Furthermore, there are a lot of interesting implications if chaining for shiny Pokemon is possible in Pokemon Go. For example, nests will become even more valuable in the future with the release of all shiny variants. A potential downside would be botters creating bots that only catch specific Pokemon in order to increase the likelihood of a shiny.
As for my original shiny Magikarp, I evolved it into a shiny Gyarados with Dragon Tail and Outrage.