Real have yet to unveil the 18-year-old officially but Marca reported that striker has joined the Spanish giants from Cerro Porteno in a six million euros (£5.09 million) transfer deal to become the first Paraguayan to play for the European champions.
Marca said Diaz had a medical shortly after arriving in Madrid on Thursday and has signed a six-year contract.
"I arrive at the most powerful club in the world to help and show my talent and that of Paraguay," Diaz told Marca at Madrid's Adolfo Suarez-Barajas airport. "I will give everything possible to do well.
"I still do not know who I will be doing the pre-season with, I guess I will be told in the next few days."
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
Since making his debut in Paraguay's top flight in 2014 with Cerro at the age of 15, Diaz has scored 15 goals in 62 games. He played in his first Copa Libertadores match two years later.
He has played for Paraguay's under-20s since he turned 16 and featured for the Under-23s at this year's Toulon Tournament.
"I thank Real Madrid for putting their trust in me and for giving me the opportunity to show my game in Europe. I will give my all for a club where I always wanted to play..." Diaz had previously written on his Instagram account.
(Reporting by Adriana Garcia; Editing by Ken Ferris)
