39
Wealth Management Tool Murray Crease Scott Logic

Wealth Management Tool Murray Crease Scott Logic

Embed Size (px)

Citation preview

Wealth Management Tool

Murray CreaseScott 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

Client (WPF)

Views

RPC(IIS)

Live Market Data

Analytics

Close Data

Cached Data Server (IIS)

Live Data Oracle

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 – 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 thoughthttp://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