U.S. stocks rose higher on word of a preliminary agreement governing Britain’s exit from the European Union and positive earnings from Morgan Stanley, Philip Morris and Netflix.

The Dow Jones Industrial Average closed up nearly 24 points to 27,025 while the Nasdaq Composite added 32 points to 8,156 and the S&P 500 inched up 8 points to 2,997.

Volume on the New York Stock Exchange totaled 2.4 billion shares with 1,961 issues advancing and 976 declining. New highs were set by 150 issues while 32 set new lows.

Leading the most actives were Bank of America (BAC), Teva Pharmaceutical Industries (TEVA) and Cronos Group (CRON).

Netflix ( NFLX ) ended the day 7% higher following third-quarter results beat estimates. Netflix reported $665 million in net earnings, or $1.47, a share on revenue of $5.2 billion compared to $403 million, or 89 cents a share, on revenue of nearly $4 billion in the year ago quarter.

Morgan Stanley ( MS) added 1.54% after reporting a 3% increase in third-quarter earnings. The bank reported net earnings of $2.17 billion or $1.27 a share, compared to $2.11 billion or $1.17 a share in the year ago quarter. Revenue also was higher in the quarter, rising to $10 billion from $9.8 billion a year ago.

Philip Morris ( PM) gained 1.02% after reporting net income of nearly $1.9 billion or $1.22 per share, compared with $2.2 billion or $1.44 per share, in the third quarter of 2018. Net revenue rose 1.8%.

British Prime Minister Boris Johnson and European Commission President Jean-Claude Juncker announced a preliminary Brexit deal despite questions about whether the Democratic Unionist party will support it.

“We’ve got a great new deal that takes back control – now Parliament should get Brexit done on Saturday so we can move on to other priorities,” Johnson tweeted.

Parliament is scheduled to vote on the deal Saturday. Members of the European Council issued a communique after their summit indicating the Oct. 31 deadline for Brexit could yet be extended depending on what happens Saturday.

“Our intention is to work towards ratification. We support a deal and this was a clear decision of the 27 member states. And we prepared for this ratification, politically logistically, technically,” council President Donald Tusk said. “Now the ball is in the court of the U.K. I have no idea what will be the result of the debate in the House of Commons on Saturday. … If there is a request for an extension, I will consult member states to see how they react.”

Talks to hammer out a deal went into the wee hours Thursday. Earlier deals worked out by Johnson’s predecessor, Theresa May, were rejected by Parliament. The fate of the latest pact also was uncertain with the DUP’s refusal to support it. Labour leader Jeremy Corbyn also rejected the deal, saying it was “even worse” than the agreements May produced.

Elsewhere, China balked at further negotiations to end the U.S.-China trade war until Washington lifts the threat of additional tariffs, jeopardizing a signing ceremony between President Trump and Chinese President Xi Jinping at the Asia-Pacific Economic Cooperation summit next month. Though Washington had tabled tariffs on $250 billion in Chinese goods that had been scheduled to kick in Tuesday, scheduled Dec. 15 tariff increases on $150 billion of Chinese good were still a possibility.

Gao Feng, a spokesman for the Chinese Ministry of Commerce, said if the ultimate goal in negotiations is to end the trade war, “cancel all additional tariffs. This is good for China, good for the U.S. and good for the world.”

On global markets, stocks were mostly higher.

Hong Kong’s Hang Seng closed 0.69% higher while the Nikkei 225 was off 0.09% and China’s Shanghai Composite dipped 0.05%. Australia’s S&P/ASX lost 0.77%.

London’s FTSE 100 closed up 0.91% while the German DAX added 0.37% and the French CAC 40 increased 0.06%. The Stoxx Europe 600 was up 0.22%.

On currency markets, the British pound was up 0.42 cent to $1.287 while the euro added a half cent to $1.1124. The U.S. dollar index was off 0.39%.

Oil futures were mixed. Crude oil added 68 cents lower at $54.04 while Brent crude lost 0.2 cent to $59.90. Gold futures added $1.30 to $1,495 an ounce while silver added 13.8 cents to $17.56 an ounce.

The 10-year Treasury note lost 1/32 while the yield rose to 1.759%. The 30-year note lost 4/32 while the yield rose to 2.24%.