Скачать презентацию Rice Stock Market Simulator COMP 415 Final Presentation Скачать презентацию Rice Stock Market Simulator COMP 415 Final Presentation

55ede87cd00f82a31f11a178c0f35b73.ppt

  • Количество слайдов: 49

Rice Stock Market Simulator COMP 415 Final Presentation RICE Rice Stock Market Simulator COMP 415 Final Presentation RICE

What is “Real World” Software Engineering? • • Real projects require real structure and What is “Real World” Software Engineering? • • Real projects require real structure and strategy Hierarchical team structure Division of labor Planning, specifications, and documentation

How does consulting work? • • • Receive project requirements Develop specifications Verify specifications How does consulting work? • • • Receive project requirements Develop specifications Verify specifications with customer Develop prototypes Provide demonstrations Regular customer interaction is necessary

Technologies Involved • • Microsoft Visual Studio 2005 Team Suite Edition – C#. NET Technologies Involved • • Microsoft Visual Studio 2005 Team Suite Edition – C#. NET 2. 0 – ASP. NET 2. 0 Microsoft Windows Server 2003 Microsoft SQL Server 2005 Microsoft Team Foundation Server • • • Microsoft Sharepoint FIX 4. 2 – Quick. FIX open source implementation Log 4 Net

Industry Customer HBK Investments Customer Representative: Matt Jeanes, Rice ‘ 06 Industry Customer HBK Investments Customer Representative: Matt Jeanes, Rice ‘ 06

Who is HBK? HBK is an investment management firm: • Employing approximately 325 individuals Who is HBK? HBK is an investment management firm: • Employing approximately 325 individuals around the world • Based in Dallas, TX with branches in New York, London, Tokyo and Hong Kong Established October, 1991 • $13 B in capital under management • Ranked in the top tier of large, successful hedge funds • Generated a compounded annual return of 14. 68% sinception to June 2006

What is a Hedge Fund? • Similar to mutual funds… - Run by an What is a Hedge Fund? • Similar to mutual funds… - Run by an investment management firm (“fund manager”) - Investors “pool” their money together into one “fund” - The fund manager invests the money based on one or more strategies • …with some key differences - Can invest in broader range of strategies and financial instruments (e. g. , short selling, derivatives) - Limited in the number and types of investors that can invest • HBK pursues a multi-strategy trading approach

What comes to mind when you think about working for a financial firm? • What comes to mind when you think about working for a financial firm? • This…?

What comes to mind when you think about working for a financial firm? • What comes to mind when you think about working for a financial firm? • Or this…?

22% of HBK’s personnel work in technology! 22% of HBK’s personnel work in technology!

Why does a hedge fund need all these technical folks? Software Development • • Why does a hedge fund need all these technical folks? Software Development • • • Decision support tools for trading, risk management, portfolio analysis, accounting, etc. Computationally intensive Very low error and downtime tolerance Information Technology • • • Design, build, deploy, and manage global network, server, and workstation infrastructure Work with users to improve productivity Automate systems management tasks Datafeeds & Databases • • • Multi-TB databases Millions of updates every day from hundreds of sources around the world Tools for cleaning, monitoring, management, and reconciliation

Quick Facts… • We have more servers than we do staff! • Our total Quick Facts… • We have more servers than we do staff! • Our total data capacity is approx 40 terabytes with usage growing at around 10 gigabytes per day. • Our databases maintain around 156 million historical prices from over 26, 000 issuers. • Our systems programmatically price over 170, 000 options each day. • Real time prices require DS 3 (45 Mbps)

Our Technology “Toolkit” • • • Most of our systems and tools are Intranet-aware Our Technology “Toolkit” • • • Most of our systems and tools are Intranet-aware - ASP. NET 2. 0 , IIS Applications - Visual Studio 2005, C++, C#, . Net Framework Infrastructure - Service-oriented architecture, Web Services, XML / XSLT Database - SQL Server 2000 (replicated and clustered), DTS Operating Systems - Windows XP, Windows Server 2003 3 rd party tools and technologies

Technology Initiatives • • Two tiers -> n-tiers Direct market access Better user experience Technology Initiatives • • Two tiers -> n-tiers Direct market access Better user experience – C# GUIs for trading Expanding data coverage and capability Straight through processing Cash management system Personalization technology Infrastructure improvements - Gigabit networking, WAN optimization, Voice-over-IP - Blade servers and Storage Area Networks (SANs)

How has the project evolved? • Hedge Funds operate on the world’s stock exchange How has the project evolved? • Hedge Funds operate on the world’s stock exchange systems • Testing trading strategies could be costly on the real market • HBK looked to Rice’s COMP 415 class for an alternative

Introduction to Stock Exchanges • Exchanges themselves have very simple behavior – Two actions Introduction to Stock Exchanges • Exchanges themselves have very simple behavior – Two actions • Buy (Bids) • Sell (Offers) – Parameters • Symbol • Volume • Price – Transactions occur when all three parameters of a bid and offer match

Introduction to the Rice Stock Market Simulator • Programmatically mimic market function as closely Introduction to the Rice Stock Market Simulator • Programmatically mimic market function as closely as possible • Ability to “replay” historical market data • Store bid, order, and transaction data in a database • User interface for interacting with the market

HBK’s New Specifications • Fill Participant – Controlled by an ASP. NET GUI • HBK’s New Specifications • Fill Participant – Controlled by an ASP. NET GUI • Extend the functionality of the Human Participant – Implement dynamic button configuration • FIX Protocol Communication

Fill Client • What is a fill client? • What were the requirements? – Fill Client • What is a fill client? • What were the requirements? – Configurable fill parameters • Size of a Fill (Full, Random, Integer) • Time between Fills (Random, in ms) – Load parameters from configuration file – Change parameters on the fly from a GUI – Save the modified parameters to a file

Fill Client Behavior • If an order enters the fill client system, it will Fill Client Behavior • If an order enters the fill client system, it will be filled – Other clients may be acting on these orders – Generate partial fills after the desired delay for the desired amount – When to place the next partial fill? • Identical orders? – Market makes no distinction between orders for the same stock symbol at the same price – But all identical orders must be filled eventually – So the fill client needs to make sure it doesn’t lose any of them

Fill Client Algorithm • Each new order generates one “unit” of demand from the Fill Client Algorithm • Each new order generates one “unit” of demand from the fill client for the given stock at the given price – Two bids for the same stock at the same price -> twice as many partial fills • Each partial fill has a “target order” – The market does not guarantee that the partial fill will transact with its target order – Fill client should add a “target order” back to the order queue when the associated partial fill is removed

Financial Information e. Xchange Gateway • We want to realistically simulate a stock exchange Financial Information e. Xchange Gateway • We want to realistically simulate a stock exchange • FIX: an industry standard communications protocol • FIX Gateway for any system to connect to RSMS

Quick. FIX Engine • Open source implementation of the FIX protocol • Several valuable Quick. FIX Engine • Open source implementation of the FIX protocol • Several valuable features: – Object oriented design – Logging – Error Checking – Message Checking

How are Orders managed for a client? • Listing of orders associated with each How are Orders managed for a client? • Listing of orders associated with each client • Quote Server interaction – Transaction listener

Processing Node Structure • Easy interface for increased functionality • Market Validation Rules – Processing Node Structure • Easy interface for increased functionality • Market Validation Rules – Enhanced simulation of Market behavior – Retrieved from Market – Rules • Tick Size • Lot Size • Valid Stock Node 1 Node 2 Node 3

Live Demonstration Live Demonstration

ASP. NET Client • Fill Configuration – Fill Size – Time between Fills • ASP. NET Client • Fill Configuration – Fill Size – Time between Fills • Statistics – Active users – Stocks • User Management – Add, modify, delete users – Only people classified as “managers” can do this

Human Participant • GUI Redesign – Order form moved from popup to static on Human Participant • GUI Redesign – Order form moved from popup to static on left side of the GUI – Post bid/Post offer/Create Button forms combined into one

Human Participant • Dynamic Buttons – Create new buttons given parameters • Stock Symbol Human Participant • Dynamic Buttons – Create new buttons given parameters • Stock Symbol • Volume of Stock • Stock Price – All or some of the fields may be filled out • Blank fields filled in when button is clicked – Buttons may be modified or deleted

Human Participant Demonstration Human Participant Demonstration

Performance • Throughput of Bids/Orders • Capacity for Simultaneous Connections Performance • Throughput of Bids/Orders • Capacity for Simultaneous Connections

Fill Client Performance Fill Client Performance

Fill Client Performance Fill Client Performance

Fill Client Performance Fill Client Performance

Benefits of the RSMS System • Allows trading strategies to be tested on historical Benefits of the RSMS System • Allows trading strategies to be tested on historical data – Simulated Market Time allows long histories to be run at a higher velocity • Fill strategies can be developed using a feedback loop generated by interactions with real data running in sync • Allows developers to test trading software under simulated market conditions

Special Thanks to HBK Investments Questions? Special Thanks to HBK Investments Questions?