Abby's Journal for 2001 Senior Seminar

If you don't find something you are looking for or you have something that should be posted send me email.


9/1-9/9

Initial thoughts and discussions about the central theme of the project. I decided to build a modeling tool for economic analysis. The economic question centers around the investment behaviour and life cycle of individual firms. The software will probably consist of a database, an analyzer and a graphing tool. A set of scripts will be created to integrate the components and automate repetitive procedures, such as inputting data.


9/10-9/16

Continue the economic research to pin down the specific questions that will provide insights to the central problem and can be mathematically abstracted and translated to computer language. Start researching in the following areas:

  1. Where can I get the relevant data in a suitable form
  2. Is there other comparable projects in the sense of being a joint effort between comupter science and other disciplines, that will shed some light on specific details I need to pay attention to, especially on the technical side

First study questions set


9/17-9/24

Did some research in the economics of the evolution of commercial entities. Very little literature on the subject. Life Cycle might not be a good candidate for making a case for the analytical tool I'm building from the perspective of computer science.

So the focus of the project is developing an analyzer that draws connection between data and theoretic models. The analyzer will have a warehouse for raw data and some manifestation of the models in question. Ideally, the project will show that a whole class of hypotheses that can be tested against data can make use of the software.

ACM Computing Survey (Vol. 30, no. 1) has an article that looks at different classes of financial problems. Hopefully, one of them can serve as a test case.

Places to look for bibliography:

  1. Database - Date book, Database Design, Postgres documentation
  2. Test Case - ACM, literature mentioned in ACM
  3. Data Handling - References to online databases (i.g. EDGAR)
  4. Model Case - Previous lessons or experience in doing the same type of project
  5. ECON Reference - A more suitable model?
Initial bibliography

9/25-9/30

Read the survey on computational models for financial problems and found the online algorithm for the one-way trading problem rather interesting. Decided to run with this model.

Did some rough reading on the model and thought about coding something that would verify or compare various models aimed at solving the same problem. After talking to Jim, implementing the model sounded more interesting. So after a whole month of beating around the bush, a rough framework of the project finally loomed above the horizon. I am going to implement an online-algorithm for the One-Way Trading Problem.

Did more research on related literature. Here is a second cut of the bibliography.

Here is some written-up notes on the project and a VERY tentative plan.


10/1-10/7

Worked out a much more detailed outline of the paper and a more substantial plan. See the outline of the paper.

Read the first chapter of the El-Yaniv book and learnt about the three essential concepts of the project - online algorithm, competitive analysis of the online algorithm and the one-way trading problem


10/8-10/15

Reread the literature survey from the ACM Computing Survey journal and tried to get a better grip on the four models I'm planning on implement.

Did research on the issue of data availablity. Found the homepage of a graduate course on Scalable Internet Problems from UCSB, which had a lab assignment that required the students to write a web robot to get historical stock quotes from Yahoo!Finance. This means building a database and populating it with real data is doable. Perl even has a module that handles historical financial data. I should be able to modify it to work with Yahoo.

Wrote the proposal.


10/16-10/21

Built the database with Postgres. The database consists of two tables - the COMPANIES table and the QUOTES table. Wrote the Perl script to grab the data from Yahoo!Finance and populate the tables. The stock quotes are mainly of the companies in the computer/hardware industry and have a timespan of 1995 to 10/20/01, when available.

Did the practice questions for GRE.


10/22-10/28

Read the chapter on One-Way Trading in the El-Yaniv book. Gained a more complete understanding of the four models. Pulled the theoretical stuff together from the reading for the proposal presentation. Started the coding process. Working on the API and specific inputs that will be needed for the models.

Read the original paper by Balini on risk-management, the last of the four models. Looked very complicated. Not sure how to implement it.

Envision the end result of the project being a comparison of the models. See how sensitive they are to the data and how well they perform in relation to the optimal result and among themselves.


11/5-11/11

Start the actual coding. The first component of the program is setting up an environment for testing, including an initial portfolio and a series of prices over a certain time span. Thought about what input the program needs from the user and what data structure I should use for the initial portfolio and the price series. Settled on an array of hashes for the portfolio and a two-dimentional array for the price series.

What comparisons might be interesting?

  1. compare random picking?
  2. compare results on different companies, n/M combinations?
  3. what statistical analysis might be interesting?

11/12-11/16

Substantial progress on coding. Having problem fetching multiple rows with the Perl DBI module for Postgres. Also, considering the feasibility of having large arrays in a real life scenario, I decided to drop the two-dimentional array. Instead, I constructed the loops to walk down the time line and do one query for each day, which turned out to be quite complicated.

Decided to give users three ways of entering inputs - randomly generated porfolio and timspan, input file or key in inputs manually.

A few problems needed to be solved while setting up the trading environment

  1. non-trading days
  2. beginning date prior to IPO
  3. beginning date is later than the ending date

Start implementing the models. Trouble with the randomized RPP model.