1

Dois detalhes que costumam aparecer quando isso sai do exemplo e vai pra nota de corretagem de verdade.

O primeiro é day trade. Compra e venda do mesmo ativo no mesmo dia são apuradas separado das operações comuns, então a parte casada no dia não deveria entrar no PM da carteira. Se o log mistura tudo, o PM sai errado justo nos dias em que a pessoa operou dos dois lados.

O outro é usar number pra dinheiro. No exemplo as contas fecham, mas com emolumento em centavos quebrados e muita operação o float começa a acumular erro. Guardar em centavos inteiros (ou usar algo tipo decimal.js) e arredondar só na exibição evita aquela diferença de 1 centavo que ninguém consegue explicar depois.

Carregando publicação patrocinada...