Sorry, but that question is way too general. There is an enormous leap in skill level required to get from choosing individual data structures to system design to being able to actually implement a large financial planning software project. Please as a more focused question. As it stands, the only suitable answer would be to begin by breaking the problem down and design a solution methodically, hopefully using years of experience on smaller tasks to guide you. Which is really the meta answer to just about anything in the realm of software engineering. — Wyck 57 secs ago