Stir together the olive oil, balsamic vinegar, shallots, garlic and oregano in a medium bowl. Pour the marinade into a 1-gallon resealable plastic storage bag, add the asparagus and seal the bag closed. Place the bag in a bowl or on a plate (just in case it leaks) and marinate in the refrigerator for 8 to 24 hours, flipping a couple of times.
Preheat an outdoor grill to medium heat. While the grill heats up, remove the asparagus from the marinade, allowing any excess marinade to drip off. Season liberally on all sides with salt and pepper.
Place the asparagus on the hot grill and cook, flipping as needed, until crisp-tender and charred in spots, about 8 minutes. Transfer to a platter, garnish with the chopped parsley and serve immediately.