Wealth Management Tool Murray Crease Scott Logic Introduction >Scott Logic – Background to Project >Wealth Management Tool Overview >CRM >Portfolio Management >Yahoo Finance >Financial Concepts >Development Scott Logic – What We Do >Bespoke Software Development • Largely in the financial sector >Trading Screens • Allow users to buy/sell >Market Data • Inform users >Research Screens • Allow users to share research (documents, models, etc.) >Trade Processing • >… Process trades, manage positions, inform brokers, etc. What Does This Mean? >Interactive UIs • Drill down, zoom, filter, sort, etc. >Large quantities of data • Performance important: caching, responsiveness, etc. >Robustness • Fail gracefully, alerting, logging, etc. >Typically full slice of a system • DB -> Services -> UI Example Architecture Cached Data Server (IIS) Live Data Oracle Views Close Data Client (WPF) RPC (IIS) Live Market Data Analytics Example UI – Market Data Example UI – Trading Screen Example UI – Trade Research Example UI – Analysis Screen Example UI – Innovative Stuff The Wealth Management Tool >Background >User Stories >CRM >Portfolio >Yahoo Finance >Finance Concepts Background >Financial Advisers (FA) • • Manage interactions with clients (CRM) Manage client portfolios >Desktop Application • Tablet, Smartphone optional >UI should be dynamic and attractive • • Easy to use Suitable for client viewing User Story – Client Meeting >As a FA I want to find client information by searching on name >As a FA I want to be able to browse my clients >As a FA I want to view the history of previous meetings with a client >As a FA I want to view the portfolio history of my client >As a FA I want to buy or sell shares identified by myself or the client >As a FA I want to record notes of meeting outcomes User Stories – Market Research >As a FA I want to view the current values for a stock >As a FA I want to view the historical performance of a stock >As a FA I want to browse stocks in a specific market >As a FA I want to view biggest risers/fallers in a market User Stories – Calendaring >As a FA I want to be able to view my schedule for a given day >As a FA I want to be able to navigate to a client from a calendar appointment Customer Relationship Management >Client Details • Name, address, phone, NI number, … >Add client >Remove client • No longer associated with FA but retained by system >Super User • • • Transfer client between FA View all clients Create FA Portfolio Management >The core of the system • Where value added to FA >Data at the heart of it • • Lots of it … need to manage it Need to think about how to present it >Financial concepts • • Straightforward on the face of it Quickly can become complex What is a Portfolio >A collection of assets (instruments) across different asset types • • • Cash – GBP, USD, EUR Shares – aka Equities – ownership of companies Derivatives – value derived from attributes such as interest rates >Overall value • • • Based on value of assets at current time Need to consider currency Split of value over components >Historical value • Based on value of assets held at time over fixed period >Buy/Sell assets • • Shares – at current price Cash – at current exchange rate > Need to be able to deposit/withdraw base currency Financial Concepts – Asset Value >Assets have a value • • 1 USD = 0.6186 GBP 1 Vodaphone share = 203p >Value depends on whether buying or selling • • • • Price to buy higher than price to sell Bid – price to sell (max price buyer’s prepared to pay) Ask – price to buy (min price seller’s prepared to accept) Spread = Bid – Ask (= market maker’s profit) >Values fluctuate constantly – intraday Financial Concepts – Close Data >Historical data – daily • • Open, High, Low, Close Volume >Stock Splits – increase liquidity • Adjusted Close >Problem • • • Feel free to ignore but … Do need to make a decision on how to handle Brownie points for solving >Whatever the solution use close data for pricing Financial Concepts - Dividends >Dividend – cash given to holders of shares (£/share) • • Distribution of profits Can affect share price (ignore!) >Can consider using dividends • • Show history Add payments to portfolios Financial Concepts – Markets >Different regions have different stock markets • E.g. London, NY, Tokyo, … >Stock Markets have different indices • • Collections of shares E.g. FTSE 100, FTSE 500, Dow Jones, … >Indices have components • Individual companies … i.e. shares Financial Concepts - OHLC Financial Concepts - Candlestick Financial Concepts - Sparkline Financial Concepts – Changes Yahoo Finance >Freely available stock data • Community table (i.e. not 100% robust) >Limit to query responses • • • Table dependent Companies – 5000 max Historical data – 364 max >Limit to number of queries • • 2000 queries per hour per IP address Real problem … need to think about solution Yahoo Finance – Web Page >https://finance.yahoo.com/ Yahoo Finance - YQL Yahoo Finance – Useful Tables >Yahoo.finance.historicaldata • Daily OHLC prices, adjusted price and volume >Yahoo.finance.quotes • Company information >Yahoo.finance.dividendhistory • Dividend history! >Yahoo.finance.stocks • Company information Yahoo Finance - YQL >Yahoo Query Language • Very similar to SQL select <attributes (or * for all)> from <tablename> where <conditions> >E.g. for Apple: select Open from yahoo.finance.historicaldata where symbol = "AAPL" and startDate = "2014-05-30" and endDate = "2014-06-15" Yahoo Finance – Things to Think About >Limits >Data Structure • • Not necessarily in suitable format Queries limited based on keys >E.g. Get every company in London • Information in DB but can’t query on exchange >E.g. Get every company in FTSE 100 • Information not on DB Yahoo Finance – YQL Gotchas >Response limits • • May return nothing if too many May return max number but not indication of error >Error responses inconsistent (e.g. invalid symbol) • • 0 values returned Explicit error message >Parameter names are case sensitive Development Process >Scrumbut • • Course requirements Daily Standups >Things to keep • • • Self organising Continual process improvement Backlogs Development Technologies >Your choice but … • • • Desktop but potentially mobile Easy deployment Learn new things vs. Get things done >Source control >Testing >Code Reviews >Continuous Integration >Just a thought http://www.highcharts.com/products/highstock Managing the Process >Need to manage backlogs etc. • LOTS of tools >Just a suggestion: Trello • • • Lightweight & Free Online Freeform task management > Needs to be organised into appropriate format > Doesn’t enforce process Scott Logic Mentors – Edinburgh only >Experienced developers • Working a day job >Help with process/high level design • Less so with bugs and compile errors >Help with financial concepts • • To an extent Also presentation >Product owner • Send questions to Project Director >Limited contact • • A call per fortnight Emails (may get no response!) Scott Logic >We will start looking for graduate applications soon >Also looking for interns • Need to have completed penultimate year when doing internship >Blogs • • • Examples of financial charting What hip hop teaches us about UX … http://www.scottlogic.com