Phase 1 Data Acquisition Mechanisms - skunath/ROQTI GitHub Wiki
Phase 1 Customer Concerns
One concern that VW has is that they need to acquire information about their client companies as well as similar companies in the market. An initial variable they like to watch on all their customers stock market performance. Their customer companies are traded on a number of different stock exchanges across the globe and as such they need to be able to take data from the different exchanges and ingest all of it into a single data repository.
For example, they might need to look at a US stock traded on NYSE and compare that to stocks available on the Nikkei in Japan. So one concern they have is representing different companies on different exchanges in different currencies.
Additionally, they will want to know the time of the information available on different stocks. Here the idea is that they will want to know the global closing time of the Nikkei so as to be able to compare it to prices on NYSE.
They will also want to ensure that no stock symbols overlap between different exchanges and that company names are recorded both in their native characters as well as their English equivalents.
Phase 1 deliverables
For VW the initial deliverable will be
- A set of scripts that read prepared files that list open/closing prices of different stocks. (initial reference data can be found at: https://github.com/skunath/python_trading/tree/master/reference_data )
- The initial version should simply read a single text file and provide some method to query it
- More advanced versions should be able to scan a directory and ingest any file in that directory
- A set of objects that can be used to represent different stocks and stocks on different exchanges
- Initially, focus on thinking about what kind of stock objects you would want and then only think in particular about stocks on NYSE, NASDAQ, and the Nikkei (Two USD, 1 Yen... here just treat them as floating point numbers).
- Also, think about ways of accessing information about the stock. For example, could you create a method that would let you get information about the stock on a particular day.
- Similarly, if you somehow know the list of all stocks associated with an exchange could you see the average closing price of stocks on that exchange?