As an engineer paid in a foreign currency, what is the best strategy to maximize your income? Is it better to exchange when you receive your money on a monthly basis? Or is it better to exchange a little bit every week or every day?
TLDR; The daily exchange provides the best results over time on the assumption that the exchange fees are proportional to the exchanged amount.
First, let's grab the USD/BRL prices from Yahoo Finance. I'll use pandas_datareader and yfinance.
Let S be your annual salary, n be the number of exchanges and (x1, x2, ... xn) the USD/BRL exchange rate at the n periods. is the exchanged amount at each period. The total exchanged amount is:
Let m be another number of exchanges and (y1, y2, ... ym) the USD/BRL exchange rate at the m periods. The frequency yielding the optimal exchanged amount is the one with the highest average:
To determine the best frequency for currency exchange, we'll compare averages from three datasets: daily rates, weekly rates, and monthly rates.
Over time, the daily exchange will give you the best result, but it doesn't mean that it is always the case. The weekly exchange yields better results if we only take data starting from 2022.
But if we start from 2020, then the daily exchange is best again.
Our calculations assume exchange fees are proportional to the exchanged amount A. However, if there's a set fee F for each exchange, the ideal strategy will be influenced by both F and A. Intuitively, a R$1 fee is trivial if you earn R$1M/month.
Using S and (x1, x2, ... xn) the exchanged amount becomes .
Once again, let's see which exchange frequency yields the most total amount:
To benefit from daily exchanges in 2022, your yearly salary should be around 32,000 times the flat fee. For weekly exchanges, it should be around 4,500 times the fee.