Web Based Portfolio Management Platform for financial services provider
The client is an international US-based financial services provider. The company offers a wide range of financial solutions, designed to assist affluent clients to create and preserve their wealth throughout their lifetime.
Need
The client required a website which will allow people who trade in options to manage their options portfolio and track their profit and loss on a day-to-day basis.
The following features are introduces in the client’s interview process:
- Manage the user’s portfolio.
- Keep Track of the profit or loss automatically.
- Tracker the Stock Exchange data
- Calculate Delta, Gamma, Theta and Vega of all the strike prices.
- Web app track of all the Stop Loss & Targets for all positions.
- Use scenario calculator to find theoretical price of options at different prices and IVs.
- Use strategies like Long Call, Long Put we Collar Trades, Covered Calls, Iron Condors, Call Calendars, Put calendars
- Compare HVs of all the stocks with current IVs and spot opportunities to go Vega long.
- Visualize the strategies come alive with charting tools.
- Client can use their existing broker for executing the trades.
Challenges
The following challenges were introduced in the project commencement:
- Obtain stock exchange data and download the files and parse it for all the underlings.
- Update all Market to market prices and P&Ls, Greeks in the tables for all the users.
- Replace the old data with the new data. Only one set of data for all the underlying will be there. This function will calculate all Greeks and store it in the strategy and position tables for all strikes.
- Update HV Table (Historical Volatility) using standard deviation formula for all the underlying.
- Check for email triggers for all users (stop loss, targets, market summary, subscription expiry events) and send the required emails.
Solution
Keeping in mind the enormous structure of the website and the challenges involved a four-tier development approach was adopted consisting of:
- The Database layer containing MSSQL Server Database, Tables, Stored Procedures and so on.
- The Data Access layer containing the libraries responsible for accessing data from the database.
- The Business Logic layer consisting of all the business logic procedures for modules like user profiles, groups, registration info etc.
- The User Interface layer which forms the Graphical User Interface of the website.
The application provided the client with a system capable of handling all the data and with ease of access for everyone. The detailed requirement gathering was done on-site and helped setting up a well-designed system with all modules integrated into it along with the control over user access. Trading data was easily transported from machine to the database and in return shown to the user on web interface as Report. The control of the site was given to the administrator who can set-up user, user roles and assign page-level access to each user.
Technologies
OS: Windows OS
Server Management: Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups, Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance
Development Tools & Environments: .Net Framework 4.5, ASP.Net, MVC 4, C#
Databases: MS-SQL Database Server 2008 with IIS 7, Report Service (SSRS), DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups
Solution Architecture
We used 4-tier architecture which consists of Presentation layer (PL), Business Access layer (BAL), Data Access layer (DAL), Database layer (DL).
- DL: Database layer contains MSSQL Server Database, Tables, and Stored Procedures and so on.
- BAL: Business Access layer contains business logics and validations related to the data.
- DAL: Data Access layer contains methods which help the Business layer to connect the data and perform the required action such as returning data or manipulating data (insert, delete, update).
- PL: Presentation layer contains .asp or html where data is presented to the user as well as the inputs is taken from the user.
Benefits
- The application provided the client with a system capable of handling all the data and with ease of access for everyone.
- Trading data was easily transported from machine to the database and in return shown to the user on web interface as Report.
- The control of the site was given to the administrator who can set-up user, user roles and assign page-level access to each user.