Given its lattice structure, I originally thought of trying a recursive implementation, but because it’s recombining, the interior nodes would be calculated twice.
Looks like a case of Finite Language Syndrome. 'Lattice' has a pretty specific technical meaning in math, which isn't what's referred to here. If something on hackage mentions lattice, it's invariably the math meaning.
This 'lattice' of high finance is a tree data structure, in fact, a special tree you'll probably recognize as Pascal's Triangle.
You might want to look up efficient FP representations of the latter.