ENH: Negative Reference Percent Changes
- [x] closes #xxxx
- [ ] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [ ] whatsnew entry

I recently came across a problem at work that looks like it should be solved in `pct_change`. To make the problem apperent, here is a quote from the [relative change and difference Wikipedia page](https://en.wikipedia.org/wiki/Relative_change_and_difference#Definitions):
> If we are calibrating a thermometer which reads −6 °C when it should read −10 °C, this formula for relative change (which would be called relative error in this application) gives ((−6) − (−10)) / (−10) = 4 / −10 = −0.4, yet the reading is too high To fix this problem we alter the definition of relative change so that it works correctly for all nonzero values of x<sub>reference</sub>:
![alt text](https://wikimedia.org/api/rest_v1/media/math/render/svg/5c819461a566c88ed96dc839638581a875c7fe31)

The example I list in the updated docstrings is also a good example:
> -10 -> 10

Clearly it seems weird to say that the pct change is -200% for this. Dividing by the abs of the reference value fixes this to +200%.
Hello @HomelessSandwich! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:





There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2021-10-19 20:04:11 UTC -1 on expanding the API for this @jreback 
> a keyword to control this doesn't make sense

What would be a more appropriate system to control this? 

> a) this would need tests

Could you direct me to the location of tests I would need to include? I am a bit lost with the process of all this.

> b) does changing the divisor just work?

Yes, the issue is (take the example of -10 -> 10) the divisor's sign affects the sign of percentage change. Taking the absolute fixes that.

Obviously you could just do it yourself like this:
`.apply(lambda x: (x - x.shift()) / abs(x.shift()))`

But I think it boils down to expanding the API, or just keeping it simple and letting people do it themselves.
 You can achieve this with `s.diff()/s.shift().abs()`

I agree with the sentiment of just letting users do this

Thanks for the PR, but in the future please discuss new features first by opening an issue Agreed @MarcoGorelli, thanks for the info!