Merrill Lynch was fined $2.8 million and paid $32 million in restitution after the Financial Industry Regulatory Authority found that the firm overcharged tens of thousands of customers between 2003 and 2011.
The improper fees mainly stemmed from computer coding errors, which led certain transactions to be billed at rates meant for other types of securities and trades, according to the action document from FINRA, a private company that policies brokerages and exchanges.
"Investors must be able to trust that the fees charged by their securities firm are, in fact, correct. When this is not the case, investor confidence is threatened," FINRA enforcement chief Brad Bennett said in a statement.
Merrill Lynch does not admit or deny the claims, but has accepted the penalties.
The firm also took a $1 million penalty from FINRA in January over its handling of employee disputes over bonuses.