Computational Investing, Part I

Find out how modern electronic markets work, why stock prices change in the ways they do, and how computation can help our understanding of them.  Build algorithms and visualizations to inform investing practice.

About The Course

Why do the prices of some companies’ stocks seem to move up and down together while others move separately? What does portfolio “diversification” really mean and how important is it? What should the price of a stock be? How can we discover and exploit the relationships between equity prices automatically? We’ll examine these questions, and others, from a computational point of view. You will learn many of the principles and algorithms hedge funds and investment professionals use to maximize return and reduce risk in equity portfolios.

We start with a tour of the mathematics and statistics that underlie equity price changes, and the relationships between different groups of equities. We’ll review the most important economic theories of investing and how to create programs that take advantage of them. We’ll look at the data needed to do this, and how to manipulate it effectively. Take a look at the course syllabus here.

Important note: This is a project oriented course involving Python programming.

Be sure this course is right for you!
This course is intended for folks who have a strong programming background, but who are new to finance and investing.  Check out the two links below to see if the course is a good match.
  • Take a look at the course syllabus here.
  • Take a look at what other students thought of the course here.
Course options
You can enroll in the course in several ways:

  • Regular enrollment. In this track you are expected to watch the videos and complete the assignments.
  • Preview: You can watch the videos without enrolling. The videos will be available as they are published. Follow this link to preview the lectures: 
  • Signature track: This is a brand new option offered by Coursera. More information below.
Outcomes for regular and signature tracks
At the end of the course you will have created a working market simulator that you can use to test your own investing strategies.  You will understand the basic principles of Modern Portfolio Theory and Active Portfolio Management.

On average you can expect to spend up to 8 to 12 hours per week on programming.

Frequently Asked Questions

Will I get a certificate after completing this class?
If you complete the project track, you will receive a Statement of Accomplishment.  If you do not complete the projects you will not receive a Statement of Accomplishment.  You can also optionally enroll in the Signature Track.

What is Signature Track?
Signature Track is a new option that will give students in select classes the opportunity to earn a Verified Certificate for completing their Coursera course. Signature Track securely links your coursework to your identity, allowing you to confidently show the world what you’ve achieved on Course.  Joining a course’s Signature Track is optional. You can still fully participate in the course if you decide not to join, and you will still receive the standard Statement of Accomplishment if you successfully complete the free course, though this Statement will not be able to attest to your real identity. Learn more.

What resources will I need for this class?
You will need a PC or Mac with an internet connection.  To complete the projects you will need to install Python and several other Python libraries on your machine. We would be providing detailed instructions on the installation process.

What is the coolest thing I'll learn if I take this class?
You will build a working stock market simulator that you can use to test investing strategies.

Recommended Background

Who this course is for
The course is intended for people with software programming experience and introductory level knowledge of investment practice. The primary prerequisite is an excitement about the stock market.

Who this course is not for
If you already use advanced software tools such as Mean Variance Optimizers in your regular investing practice, you will probably find that you are "overqualified" for this course.

Find out what others think
Check out the two links below to see if the course is a good match.
  • Take a look at the course syllabus here.
  • Take a look at what other students thought of the course here.
Prerequisites for regular enrollment
If you would like to receive a certificate of completion, you will have to turn in  several programming projects using the Python programming language. You should have Python experience, and Python software installation experience (i.e., PyPI, apt-get, easy install, homebrew). You should have a genuine interest in the stock market and an understanding of basic statistical principles such as probability distributions.

Prerequisites for preview/video only track
You are invited to watch the lectures in "preview mode." In this mode you do not have to complete the homework assignments and quizzes. You will not receive a certificate in this track. The course is designed so that the videos are useful  even if you do not do the projects. You will get the most out of the course if you have a genuine interest in the stock market and an understanding of basic statistical principles such as probability distributions. The instructor assumes students have introductory level programming skills and a basic knowledge of statistics. Algorithmic and statistical aspects of the course will be illustrated using Excel spreadsheets and Python programs, so familiarity with these tools is helpful.