Python3 language has been used to exploit its Data Science libraries like pandas and scipy.
Pandas library has been used as it offers multiple methods out of the box for csv data read and analysis.
Scipy library has been used for linear interpolation in Challenge #2.
Given more time, I'll try to modularize the code further and add Unit tests.
Pandas and scipy libraries must be installed beforehand-
pip3 install pandas
pip3 install scipy
To execute the program, from the BondYield directory, run-
cd spread
python3 challenge1.py ./challenge1.csv
python3 challenge2.py ./challenge2.csv
To use a different csv file, just specify the file path in the command-line argument.