Post Job Free
Sign in

Java and Python

Location:
Jersey City, NJ
Posted:
August 19, 2023

Contact this candidate

Resume:

Raymond Li

**********@*******.*** 484-***-****

Looking for senior development role in financial industry or technology firms

SUMMARY:

20+ years hands on experience in server-side Java and Python development working on multiple real-time trading and risk management system in financial industry.

Good knowledge of financial pricing model and risk calculation for financial products including bond, credit product, interest rate swap, equity option pricing model, Basel and FRTB framework, VaR, sensitivity analytics, P&L explain, full valuation.

Good mathematical and statistical knowledge. Basic Machine Learning knowledge and principles.

SKILLS:

Language: Java, Python, C/C++, Perl, JavaScript, shell script, XML, HTML, SQL

Framework: AWS. Spring Framework, Spring Boot, REST API, Hadoop/MapR, Gemfire, Coherence

Kafka, DataSynapse, JAXB, JDBC, iBatis, JUnit, JMX, Servlets/JSP, AngularJS, Dremio, Parquet

JQuery, Active Pivot, Tomcat and Jetty Servers, Reactive framework Akka, Dremio, Parquet and Avro

Messaging: JMS, Solace, Tibco

Python Framework: Pandas, Numpy, Prefect, Tornado, Spark, Anaconda, Apache Airflow, Dask

Database: Oracle, Sybase, SQL Server, Hadoop/HBase/MapR, NoSql

Tools: AWS, Git, GitLab, SVN, TortoiseGit, Eclipse, PyCharm, Intellij, Postman, Insomnia, Jenkins,

Bamboo, Confluence, TeamCity

OS: Windows, Linux

Bank of America

Lead Developer/Senior Consultant 07/2022 – Present

Credit Risk Technology

Working on credit risk analytics for FX portfolio

Monte Carlo simulation and aggregation development for JADE system

Primarily using Python, proprietary QzDev and Quartz platform

Migration of certain JADE code to use new Quartz Sparck API

Evaluation of migration of JADE system to cloud based microservices using kubernetes and docker

Nomura, New York, NY 10/2017 – 07/2022

Lead Developer / Senior Consultant

Market and Credit Risk Engine Development

Lead contributor in multiple Market Risk Engine project including Maestro, Proteus, Lynx, VaR Engine, Full Valation.

Lead developer of Maestro workflow and orchestration service using Java, Springboot, Gemfire cache, JMS, Tibco and Solace messaging, and Hadoop/Mapr persistence.

Worked on Basel and FRTB framework involving SBA and DRC models. Worked together with risk management, risk quant team to understand the business requirements and work towards robust and scalable application design.

Implemented java based in-memory OLAP Multi-Dimension Cube aggregation service based on ActivePivot solutions and Spring Framework, RestAPI, Hadoop/MapR, Dremio, Oracle

Worked on VaR and P&L explain calculation engine using Spring Boot framework.

Worked on Risk Calculation Persistence Engine called MARS using AKKA framework.

Implemented python components in Lynx engine which is ETL pre-processing engine for risk sensitivities from multiple feeds using Pandas, numpy, Dask, JMS and Solace

Worked on Full Valuation/Grid Service using python and Prefect/Dask framework

Migrated applications to AWS environment

Credit Suisse, New York, NY 3/2015 – 10/2017

Senior Developer / Consultant

RDX Risk Engine Development

RDX Risk Platform is a set of tools and applications to create real time, event-driven, powerful and consistent risk systems across all business areas. RDX platform is built on highly scalable Oracle Coherence cluster, uses Hadoop/HBase as persistent store and is able to process big data volume on real-time basis. An RDX process/service is capable of subscribing to sets of streaming data inputs, slicing and aggregating data using RDA language, and performing risk calculation on real time basis.

Implement/expand RDF: Risk Data Fabric which is a Coherence cache implementation for storing risk data. Risk data is defined in a RDL format.

RDA: Risk Data Algebra which is a streaming risk data processing engine using RDA language.

Expand RDX: RDX is a process execution and scheduling framework to manage all RDX services and process on web browser GUI or through REST API.

Implement/expand RBPL risk calculation engine. RBPL (RiskBasedPnL) sources in market data and trade data from multiple golden sources, digests, slices and aggregates on trade level and book level and generates PnL numbers.

Implement RBPL Browser which is a web tool to query and display risk data and calculation results on a web browser using tomcat and jetty server through REST API.

Communicate with quant team on risk calculation methodology and risk sensitivity numbers.

Required skills include Core Java, shell, Hadoop/HBase, Coherence, Maven, Ant, Python, Web Service, REST API, Tibco, Jetty, Tomcat, TeamCity, Confluence, AngularJS, JQuery, HTML, JavaScript. Json, RMI, Kafka.

Bank of America, New York, NY 4/2012 -3/2015

Senior Developer / Consultant

Credit Risk Analytics

Expand the existing credit risk analytics infrastructure to support Basel and strategic Credit Risk requirements. Support for existing Credit IMM calculations, including Monte Carlo based credit exposure, credit reserves, and economic capital; Communication with quantitative analysts regarding the model specifications and performance; Support the existing analytics applications; Support the Fed CCAR and stress testing requirements.

Migrate the existing applications to Python and the new Quartz platform.

Implement the CEM based sensitivity calculations for Interest Rate, FX, Credit, and Commodity products using the company’s front office sensitivity feed which contains trade level delta, gamma, and PV. The calculations are being used in Fed stress testing.

Required skills include core Java, Python, Quartz platform, QzDev, Sybase, Oracle, stored proc, shell script, Spring Framework, Hadoop, MapR, Coherence Cache, SVN, Eclipse, DataSynapse Grid

Barclays Capital, New York, NY 7/2011 -4/2012

Senior Developer / Consultant

Foresight Comparison Tool

Foresight Comps Tool is an equity research analytics and reporting tool that is used to compare multiple companies’ fundamental research metrics. The tool has a webservice backend and an Excel plug-in based winforms frontend. The backend is built on spring framework, tomcat and Jboss application server. Frontend is a C# winform application that is built as an Excel plugin. Client makes webservice request to the webservice backend. Tools used in the development: Spring Framework, Hibernate, Roo, Webservice, Tomcat, JBoss, Maven, JAXB, CVS, Eclipse, SOAPUI, Visual Studio, C# .NET, SQL Server

Bank of America, New York, NY 8/2008 -7/2011

Senior Developer / Consultant

Pioneer/Race Pricing Platform for electronic pricing and market making

The Pioneer group is responsible for delivering SOA based reliable, extensible, high-performance and cross-product real-time electronic trading platform that addresses Execution, Straight-Through Processing, Intelligent Pricing, Auto Quoting, Risk Management and Internal Markets.

The Pioneer Race Team provides a messaging based real-time analytical calculation framework and develops varieties of real-time pricing and risk models to meet business requirements in electronic market making and strategy trading.

Developed and enhanced Real-time Analytical Calculation Engine (RACE) framework and related services and models for US Treasury bond, Agency bond pricing and market making. Race framework is implemented as a Directional Acyclic Graph (DAG) based dependency engine using Pub/Sub messaging for real time market data updates.

Developed and enhanced real time Risk and P&L reporting system for interest rates products.

Communicate with traders directly to clarify requirements or address issues.

Development environment: SOA framework, JDK1.5/1.6, Empire Messaging API, Pub/Sub messaging, Multi-threading, Spring, Hibernate, Oracle, Eclipse, Maven, Swing, Bloomberg, TradeWeb.

Merrill Lynch, New York, NY 2/2007 – 8/2008

Senior Developer / Consultant

Developed P&L AutoMarking system. The marking system changed the way internal trading desks mark their books at the end of the day. Traders can also evaluate their books and see their P&L number at any time intraday. The system also automates the end of month finance book marking process and greatly reduced the amount of manual work.

Server side component is build on a set of Java open source frameworks and tools including Jade application server, Spring, Hibernate, iBATIS, JBoss Cache, JAXWS web service, log4j, Junit, Eclipse, Maven, Continuum, Subversion, Proximity. Server side implements a workflow processing framework to retrieve incoming messages from Tibco queue, process messages through a pre-defined set of processors, and then send response back to Tibco topic for client to retrieve. Server uses Oracle 10G database.

Server retrieves position, trade, and market data information from Merrill’s RAM system. Server also interfaces with remote system through web service to get regional prices and market data.

Client side is a .NET GUI built on a Merrill Lynch framework.

Communication between server and client is through Tibco EMS service.

The system uses test-driven programming model.

Enhanced Firmwide/HTML daily batch application. Firmwide is a daily batch that runs 900+ books to calculate a set of pre-defined scenarios at position and book level. The result is then sent to downstream system for further processing.

Goldman Sachs, New York, NY 8/2005 – 1/2007

Consultant

Developed Short Horizon Risk Management System using VaR model. The system interfaces with upstream system to load trades, performs simulation, submits pricing requests to GS grid computing machines, aggregates pricing results and generates risk numbers. Interactive component allows users to select portfolio, or specific set of trade filter through web interface, then calculate 99.865% daily VaR in realtime. Batch component calculates VaR numbers for 70+ Hedge Fund portfolios overnight on daily basis. Pricing system simulates set of risk factors, retrieves trades from database, prices trades in GS Compute Farm machines through DataSynapse broker, generates aggregation results at portfolio level and displays VaR reports through web interface.

Core Java, multi-threading, Apache Tomcat, Eclipse, RMI, Ant, Junit, Perl, shell script, Struts, SecDB, CVS, AutoSys, Cruise Control, DataSynapse, GS RiskCache framework and test driven development for implementation.

All trade related information (trade details, portfolio profile, margin terms, product information, price files) is loaded in memory allowing users to calculate VaR/PE instantly.

Portfolios include products such as Fixed Income, Equity, Swap, Swaption, Repo, Future, and CD

Developed and enhanced DCP Interactive tool applications, including ScenarioBuilder, StressTesting, MarketViewer, PE Calculator using RiskCache framework, Java, Eclipse, Ant, Struts and Junit. Interactive tools allow users to select portfolio and calculate PE/Stress immediately.

Developed and supported GS VaR Margin System using Value at Risk model. System computes daily VaR for 200 Hedge Fund portfolios, covers Swaps, FX and Repo products and utilizes Java, Unix, Perl, shell scripts, Sybase, AutoSys and GS SecDB technology.

Developed set of batch programs to process futures trade positions daily. System reads data feeds, pre-processes and loads into database. System is based on UNIX, C++, STL, shell scripts, Perl, Autosys and Sybase.

The Vanguard Group, Valley Forge, PA 8/1999 – 7/2005

Technical Lead (one year)

Senior Developer (three years)

Web Systems Engineer (two years)

Project: Senior Developer for Vanguard Retail Order Management (ROM) System, (two years)

24/7 trading system taking Equity, Options and Mutual Fund orders, then validating and routing to Pershing, or Goldman Sachs for execution. A UNIX (Solaris)/C/C++ based trading system using TCP/IP socket and multi-processes programming, Oracle 8i/9i database, FIX protocol, IBM MQ Series, Pro*C, XML, VB front-end, HTTP and RogueWave API.

Collected requirements, analyzed, designed and implemented: new functions, enhancements, bug fixes.

Implemented new trading rules making source code changes and database schema/table changes. Fixed existing source code problems.

Designed and implemented multiple server Hot Fail-Over solution using TCP/IP, Java multiple thread programming, C/C++ and shell script. Made enhancements to web API interface.

The Vanguard Group (continued)

Project: Senior Developer/Tech Lead for Vanguard financial website www.vanguard.com, (four years)

Designed and implemented multiple front-end and mid-tier J2EE applications using Java, servlets, JSP, EJB, HTML, XML, JDBC, Common Components, Tag Library, DB2, Sybase, C/C++ and CGI.

Led architecture, design and implementation of Secured Single Logon application allowing 1M clients, in different segments to log onto website through single URL. Web server plug-in intercepts incoming login requests, authenticates and authorizes clients, then redirects to different sub-websites. Supported performance testing. Led multiple releases.

Designed and implemented Online Registration and User Profile application allowing new clients to register through website gaining immediate access validating user’s identity and account number, and performing sequence of registration steps.

Designed and implemented My Account and Portfolios applications. Application displays client’s total account value and portfolio allocation.

EDUCATION

Temple University, Philadelphia, PA,

MS, Computer Science, GPA 4.0

North Dakota State University

MS in Applied Math, GPA 4.0, one year program no degree

Beijing Polytechnic University, China,

BS, Computer Science, GPA 3.8



Contact this candidate