here.

advertisement
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
Download