Creating features from currency-exposed metrics

Dear quants!

What is your preferred way to deal with currency related metrics, like market capitalization (size factor) when creating features?
The problem is that you end up with stocks from multiple exchanges / currencies mixed in the era, so for instance mixing USD and JPY stocks will mess with ranking / bucketing for these features carrying the currency exposure.

What is your preferred way to deal with this?

I can see two options:

  • (pre)ranking per currency / exchange
  • normalizing (calculate everything in USD using forex rates)

What do you think?

Using forex rate as a factor and transforming everything into log_returns seems the best way to go in the context of ML.