DMARC records can be implemented separately on subdomains, however this can get a little complicated.
For an email sent by a subdomain, that subdomain’s DMARC record applies. But a subdomain DMARC record doesn’t apply to it’s further subdomains (subdomains of the subdomain).
Consider the following example ‘from addresses’ along with the DMARC query performed by the recipients.
The second scenario is where the subdomain, abc.example.com, is being used to send emails. The recipient will first query the DMARC record, if any, at the subdomain level. If no DMARC record is found, then it will query the TLD (example.com) and verify that DMARC record.
The third scenario can be a little tricky. The email is being sent from a subdomain of the subdomain, def.abc.example.com, where the recipient MailServer would first query the DMARC record on the subdomain level def.abc.example.com. If no DMARC is found, the second DMARC query will be on the TLD, example.com, instead of the subdomain abc.example.com.
In short, DMARC can be configured separately on a subdomain. However, it will not apply to a subdomain of the subdomain.