FIN310 · Maggie Foley · Individual project

Choose a fund.
Make a case for your family.

Research one mutual fund for one family member and one financial goal. Use Python to explore the next 1, 2 and 3 years, then explain whether the fund fits the person.

100 points5 report pages1 fund and family goal10 years of public history
Start with the short video

Your project, step by step.

Watch the assignment overview, then use this page as your working checklist. The same requirements and grading criteria appear in the downloadable handout.

Created by Maggie Foley. The project notebook uses 1-, 2- and 3-year horizons. You do not need a separate Python file.

The central question

Does this fund fit this person’s goal?

Choose a parent, grandparent, sibling or another family member. A fictional profile is acceptable. State their approximate age, financial goal, deadline, amount available to invest, need for accessible money, and willingness and ability to accept losses.

Choose one mutual fund and its exact share class. Research its objective, holdings or asset mix, expenses, purchase requirements and major risks. Briefly compare one credible alternative; a second Python run is optional.

Examples include retirement saving, retirement spending or a house down payment. A three-year estimate does not replace a long-term retirement plan. Your final conclusion may recommend the fund, recommend it conditionally, or explain why it is unsuitable.

Your grade is based on evidence and reasoning. A high estimated return does not earn a high grade. A supported recommendation against the fund can earn full credit.

Use a real or fictional family profile. Do not include real account numbers or private financial statements. Follow the deadline and additional instructions posted by your instructor.

Three required submissions

Turn in a complete research package.

01

Five-page report

PDF or Word. Use 12-point type, double spacing and 1-inch margins.

The title page, references and chart appendices are outside the five-page count.

02

Runnable notebook

Submit your .ipynb notebook with code and saved output.

Use the provided project notebook or your own complete equivalent. A separate .py file is optional.

03

Results ZIP

Include the results table, charts, historical data evidence and run settings.

The supplied notebook creates the ZIP. Screenshots alone do not replace runnable code.

Write in your own words

Organize your five-page report.

Page 1

Person and purpose. Introduce the family member, goal, deadline and constraints. Explain why you investigated the fund and preview your conclusion.

Page 2

Fund research. Identify the fund/share class, objective, holdings, costs, purchase requirements and risks. Compare one alternative for the same goal.

Page 3

Data and method. Describe sources, exact historical dates, adjusted-price treatment, Python settings, the bootstrap method and data verification.

Page 4

Results. Present the 1-, 2- and 3-year table. Interpret cumulative versus annualized returns, downside scenarios and simulated loss shares. Refer to your two charts in the appendix.

Page 5

Recommendation. Weigh the family goal, alternative, fees, downside, liquidity and model limits. Give a clear conclusion and state what you would verify before a real investment.

Put full-size readable charts in an appendix. Cite factual claims in the report, with complete references at the end.

The analysis

One symbol. Three project horizons.

  1. Open the project notebook.

    Download it above. Open Google Colab → File → Upload notebook. Select FIN310_Mutual_Fund_Term_Project.ipynb.

  2. Enter the exact fund symbol.

    Use a share class with 10 full years of usable public history. Check that the symbol matches the fund you researched.

  3. Select Runtime → Run all.

    Wait for setup and the data download. The calculation excludes the current partial month and uses 120 monthly returns.

  4. Read, save and explain the output.

    Save the notebook with output and download the results ZIP. Check that the symbol and dates agree across all files.

Required table for years 1, 2 and 3

  • Cumulative P10, median and P90 return estimates.
  • Annualized median return.
  • Simulated loss share.
  • Median ending value of the common starting 10,000 in the fund’s quote currency.

Two required charts

  • Historical growth of 10,000 over the observed decade.
  • Next-three-year simulated growth with the median and P10–P90 range.

The supplied two-panel figure meets the chart requirement. Label the fund, dates, axes and currency.

Explain the method and its limits

The supplied model resamples six-month historical blocks with replacement to create 20,000 paths, with a recorded seed. Use the same starting investment of 10,000, with no additional deposits or withdrawals. Explain compounding and why the past decade may not represent the future.

P10–P90 is a model scenario range, not guaranteed limits or a validated confidence interval. Simulated loss shares are not known real-world probabilities. Discuss the five one-year holdout checks; they do not establish forecasting skill or validate the 2- or 3-year estimates.

Adjusted prices are a vendor proxy for reinvested total return and depend on correct distribution adjustments. Verify against issuer information. Fund operating expenses are generally already reflected in NAV-based returns; do not deduct them twice. Personal taxes, inflation, loads, adviser costs and cash flows are not separately modeled.

What if my fund has too little history or flat prices?

Do not invent data, fill missing months with guesses, or silently use another symbol. Select an eligible fund and explain the change. Constant-NAV money-market funds may require yield-based analysis; this historical bootstrap does not forecast future rates. You may analyze an eligible fund and still conclude that another type of holding would better serve the family’s goal.

What sources and AI disclosure do I need?

Use at least three identifiable public sources: the issuer’s prospectus, its current fund information or shareholder report, and the historical-data source. Issuer documents can come from the same organization. Record page/document titles, URLs and access dates. Compare the annualized historical return against issuer information for matching dates when available and explain differences or verification limits.

You may use provided code or AI help. State what you used, what you changed and what you verified. Include a material prompt in a short appendix if used. You must explain your own fund choice, inputs, outputs and method; AI is not a substitute for the underlying sources.

Exactly 100 points

How your work will be graded.

Each component receives credit for accurate, complete evidence and explanation. Partial credit is available for substantively correct but incomplete work. Missing or unsupported work earns no credit for that component.

FIN310 Mutual Fund Term Project grading rubric
CategoryPointsFull-credit evidence
Family member and goal10Profile and financial circumstances (4); clear goal and deadline (3); risk tolerance, ability to bear losses and liquidity needs (3).
Fund research and alternative15Exact fund/share class identification (3); objective and holdings or asset mix (4); fees and purchase requirements (4); relevant comparison with one alternative (4). A second Python run is optional.
Data quality and verification15Complete 10-year monthly sample (5); adjusted-return treatment and expense handling (4); source links and exact dates/currency (3); saved evidence and issuer comparison or a documented explanation of its limits (3).
Python and reproducibility15Submitted notebook runs and reproduces the reported outputs (8); symbol, horizon, settings and seed are identifiable (4); student explains the main calculation steps in their own words (3). Screenshots alone do not replace runnable code.
Results and interpretation20Correct, clearly labeled 1/2/3-year table and distinction between cumulative and annualized returns (8); both labeled charts and explanation (6); sound interpretation of downside, model loss shares and the holdout check (6).
Recommendation and limitations15Recommendation tied to the family goal, losses and liquidity (6); comparison with the alternative (3); limitations of history, distributions, future conditions and omitted costs/cash flows (4); clear final conclusion and verification needs (2).
Report and submission quality10Organized five-page report and complete files (4); traceable citations and references (3); transparent attribution of provided code/AI and clear original explanation (3).
Total100Research quality, reproducible analysis and a supported decision.
Before submission

Check your complete package.

0 of 10 checked

This checklist runs in your browser. It does not submit work or calculate a grade. Submit the required files through the course’s normal assignment channel.

Related help

Review the follow-along lessons.