Stupid. That’s pretty much the only way to describe today’s insanely volatile price action.

The morning wasn’t very volatile; in fact, it was one-way traffic. GBP,AUD, CAD and the like all recovered recent losses and set off massive short-squeezes after overcoming important areas of resistance. All look to have bottomed on the short-term charts. Same for EUR/USD, though it was a tad more muted than the others.

USD/JPY took off like a shot this morning as US equities began a strong rally. It reached 96.30 ahead of the Fed.

Ah, the Fed. Even though they acted largely as expected, the forex market got very sketchy. The risk trade saw rapid profit-taking on the assumption that US long-yields will rise but it soon took back those loses, led by equities. Traders largely saw the Fed statement as a vote of confidence in the economy’s ability to thrive with dwindling amounts of support from the Fed.

USD/JPY, like all the majors, saw major volatility in the minutes after the Fed. It jumped to 96.75 on hopes for higher yields but fell to 95.75 when it became clear those yield rises would not come today. USD/JPY ended up at 96.10, right where it was ahead of the data.

The central banks had a field day today. China bought EUR/USD below 1.41, the Middle East bought GBP/USD near its London lows, offloading it into strength at 1.6555/60. China bought AUD near 0.8180 and sold it this afternoon at 0.8368. Not a bad days work.

What have we learned? We’re in a really choppy summer range and algos are at the helm. When they are short, they buy until they are square. No matter the consequences. When long, just the opposite. If you get caught in the middle, you just provide liquidity for them. I don’t expect it to get any easier until well after Labor Day.

New York ranges

EUR/USD: 1.4122/1.4146

USD/JPY: 95.70/96.80

GBP/USD: 1.6425/1.6560

AUD/USD: 0.8217/0.8373

USD/CAD: 1.1050/1.0850