Difference between revisions of "IS480 Team wiki: 2016T1 Charlies Angels FinalWiki"
Xwzheng.2014 (talk | contribs) |
Xwzheng.2014 (talk | contribs) |
||
Line 248: | Line 248: | ||
<div style="font-family: Seravek;"> | <div style="font-family: Seravek;"> | ||
More details of the entire Project Scope can be found at the following page on Charlies' Angels Wiki: [[IS480 Team wiki: 2016T1 Charlies-Angels-Scope|Charlies Angels Project Scope]] <br/> | More details of the entire Project Scope can be found at the following page on Charlies' Angels Wiki: [[IS480 Team wiki: 2016T1 Charlies-Angels-Scope|Charlies Angels Project Scope]] <br/> | ||
− | The table found below indicates the changes to the scope from Mid-Terms. | + | The table found <b>below</b> indicates the changes to the scope from Mid-Terms. |
</div> | </div> | ||
Revision as of 16:42, 14 November 2016
Main Wiki | Midterm Wiki | Final Wiki |
Contents
Project Progress Summary
*Note: Access to Poster and Pitch Video requires SMU-Gmail Login to View
Project Highlights
Project Challenges
Project Achievements
Project Management
Project Status
Project Schedule (Plan vs. Actual)
More details of the Project Schedule in its totality, please refer to: Charlies Angels Project Schedule
Planned Project Schedule
Actual Project Schedule
Project Metrics
For more information on how the team tabulates the score for each component, please refer to the following page on our Wiki: Charlies Angels Metrics
Team Charlies Angels is pleased to share that on the whole, there has not been major lapse(s) in our project metrics. And the team has managed to successfully steer in the right direction despite the high technical and business complexity the team faced in the course of this project.
Project Risks
Due to the nature of our application, Team Charlies Angels has been proactively monitoring our efforts to mitigate risk(s). We would like to highlight the top two risks that our project is facing since the mid-terms presentation, the details are found in table below:
Current Risks that may affect the team:
S/N | RISK TYPE | RISK DESCRIPTION | LIKELIHOOD | SEVERITY | CATEGORY | MITIGATION |
---|---|---|---|---|---|---|
9. | Technology Risk | The recent acquisition of Yahoo by Verizon poses an imminent threat to the existence of the Yahoo API where the team utilises to call for its financial information. | Probable | Critical | Unacceptable | The team has identified that Yahoo would close the service only in 2017. However, in the event that the service is closed during the phase of development, the purchase of a paid API is absolutely necessary. In the event of this purchase, the team would propose the drop of all functions happening thereafter, and focus on the fetch of data as it is essentially what makes the application. A list of websites have been provided to the client as alternate sources for varying financial data information:
|
10. | Technology Risk | As the application is utilising web crawling patterns, this aspect is subjected heavily on the patterns that are used on the host(s) which we crawl the data from. | Probable | Critical | Unacceptable | The team has come up with mitigation plans to have two possible steps to take. The first choice would be to proceed to find an alternative website that displays the essential information that we require and proceed to crawl from there. Should the former step fail, we would proceed to consult our client, and proceed to make a purchase for paid API for financial data. In the event of this purchase, the team would propose the drop of all functions happening thereafter, and focus on the fetch of data as it is essentially what makes the application. |
Technical Complexity
Please find the following complexities that are faced by Team Charlies Angels. Segregated by Business Domain, Front-End and Backend complexities. Please note that complexities indicated with an Asterisk (*) are newly faced challenges from Mid-Terms presentation.
Business Domain Complexities
Technical Complexities | |||
---|---|---|---|
Rank | Technical Complexity Faced | Reason | How did the team overcome this complexity |
*1 | Determining Risk Measurements of Stocks | Lack of technical know-how, coupled with most of typical risk measurement(s) require inputs from Analysts such as Expected Returns, etc. However, we are required to calculate these with the absence of such fields | Discussed and validated with our sponsor on how to determine risk measurements for stocks |
*2 | Calculation of Sharpe Ratio | Online sources may have Sharpe Ratio calculations. However, it pertains to having an 'Expected Return' field but in our case, the sponsor requires us to calculate without it. | Discussed and validated with our sponsor on how to determine Sharpe Ratio formula to be without the 'Expected Return' field |
3 | CPF and Housing Loan Algorithm that determines how much the user has to invest/earn from their portfolio in order to retire comfortably | It is something that has never been done before. It is a completely new algorithm developed by the team. This is because the algorithm takes into account variables such as Inflation Rate, Bank's interest rates, the user's income which is subjected to CPF. In addition, there are a lot of regulations that CPF imposes | The team researched extensively, and sought help from people (i.e. Employees at the CPF board). Together, the team sat down to brainstorm and formulate the algorithm that takes into account all the variables that affect the outcome |
4 | All financial calculations related to a Portfolio. In particular - P/E Ratio, Price to Book, Price Earning Ratio, Year-to-Date for a portfolio | There is no current practice that calculates such elements pertaining to a portfolio. The current practice refers to only Stocks | Researched extensively online for information, discussed with family and friends who have investment background. Furthermore, we validated our formulas with our sponsor |
5 | Determining Risk Profiles of Users | Lack of technical know-how, coupled with existing risk assessment platforms that do not divulge on their allocation of assets in their recommendations. Additionally, there is a lack of a common practice | Discussed and validated with our sponsor on how to determine a risk profile |
*New technical complexities faced since Mid-Terms presentation
Front-End Technical Complexities
Technical Complexities | |||
---|---|---|---|
Rank | Technical Complexity Faced | Reason | How did the team overcome this complexity |
1 | Maintaining State a Single Page Application | Traditional web applications are stateless but now we have to manage the UI state | Architecting the data flow of a single page application to maintain state; making use of Redux which is a predictable state container for Javascript applications |
2 | Continuous Deployment | Because the team wanted to perform continuous integration; to perform frequent commits and integrate code as soon as possible | We went a step ahead of continuous integration, and managed to deploy stable code to production whenever it has been pushed on Git |
3 | Developing Time-Series Data Charts in a single page application | Due to the lack of support of the libraries which we require to develop such charts; inadequate guides available | Completed with extensive research and exploration of how to develop such charts. Constant interaction with the Grommet community at large. |
4 | New UI frameworks such as React, Redux, Grommet | First time being exposed to such frameworks | Since these are new frameworks, some parts of the framework are incomplete/broken. Hence, the team had to submit several bug requests to the developers |
Backend Technical Complexities
Technical Complexities | |||
---|---|---|---|
Rank | Technical Complexity Faced | Reason | How did the team overcome this complexity |
*1 | Addition of a new backend crawler [Secondary Failover Capabilities] | Due to the volatile nature of the websites we crawl from, there is a pertinent need for the team to ensure that financial data do not go down as this would render the website to be unusable. This is highly complex due to the large number of financial variables needed to crawl either on real-time demand or daily changed variables | Work closely with Business Analyst to ensure that the websites crawled have tags that are identified by IDs instead of an absolute element such as td in a table. This is to ensure that there is a minimum layer of certainty for the data being crawled. |
2 | Database Structure | Due to the large volume of data that is involved in such a project, we set to achieve a low execution time for complex queries, as this is common in a financial data related application | Frequent discussions and reviews of the schema design to seek an optimised schema for robustness and scalability |
3 | Crawling of Data at a specified interval | Lack of financial data APIs such as Bloomberg/Reuters | By analysing and performing pattern recognition by developing a Scheduler application that utilises a Cron job to obtain such data at a specified interval. |
4 | Generation of PDF & Excel reports | Lack of technical know-how in generating PDFs and Excels, coupled with the lack of proper documentation provided by the utilised libraries | Extensive research and constant tweaking of codes to reach the outcome |
*New technical complexities faced since Mid-Terms presentation
Changes in Scope
More details of the entire Project Scope can be found at the following page on Charlies' Angels Wiki: Charlies Angels Project Scope
The table found below indicates the changes to the scope from Mid-Terms.
Original Project Scope
Project Scope as at Mid-Terms
Latest Project Scope
Scope Change After Mid-Terms | |||||||
---|---|---|---|---|---|---|---|
Date | Change Description | ||||||
07 Nov 2016 | Added a Landing Page functionality |
Scope Change Between Acceptance & Mid-Terms | |||||||
---|---|---|---|---|---|---|---|
Date | Change Description | ||||||
01 JUL 2016 | Added 3 functionalities: a) StockBookDashboard b) iStockTrade c) iStockWatchList | ||||||
11 AUG 2016 | Enhanced Robot Advisor feature to include more SG-Centric Development (CPF & Housing Loan Calculations) | ||||||
22 AUG 2016 | Add more information for the Dashboard & Robot Advisor features | ||||||
12 SEP 2016 | Swapped StockBookCorpAction with StockBook CDP Import upon negotiation with the Sponsor |