1 / 18

PSL: An Interpretative Programming Language for Financial Portfolio Simulation and Manipulation

PSL: An Interpretative Programming Language for Financial Portfolio Simulation and Manipulation. Alexander Besidski Xin Li Jian Huang Wei-Chen Lee. PSL: Motivation. Bridge the Gap between. Expanding Financial Market (Despite the crash of .COM’s in NASDAQ index in 2001 … )

tynice
Download Presentation

PSL: An Interpretative Programming Language for Financial Portfolio Simulation and Manipulation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PSL: An Interpretative Programming Language for Financial Portfolio Simulation and Manipulation Alexander Besidski Xin Li Jian Huang Wei-Chen Lee

  2. PSL: Motivation Bridge the Gap between • Expanding Financial Market (Despite the crash of .COM’s in NASDAQ index in 2001 … ) • Exploding amount of daily generated financial data from trading front desks and the imperative call for automatic trading systems • Modularization and regulation of the financial securities: stock, bond, mortgages, mutual fund, hedge fund… And • Complexity in existing business software solutions and limited flexibility they provide to external users • Growing size of inexperienced investors and business software users who yet need to manipulate and analyze financial securities • Growing size of newly trained financial engineers and MBA’s who knows nothing or even feel horrified about programming in C++ and Java yet need to perform “quant” jobs in investment banking

  3. PSL: Overview • A Finance Oriented Programming Language • Common features as most other popular programming languages (types, functions, calculation, control flows, I/O, … ) • Built-in Support for Manipulation of Financial Securities (stock & bond) and Portfolios • Simulation and Analytical Tools for Financial Instruments • Visualization and Computation based on Financial Data

  4. PSL: Language Features • Java-like syntax • Less complicated grammar rules • Strongly typed • OOP Interface • Script-like programming style • Intrinsically Expandable

  5. PSL: Tutorial • To declare a stock stock google = new (Price=150.0); • To specify its attributions google.Name=”GOOGLE” google.Return = 5; google.Volatility = 30; • Print our its price google.Price.print();

  6. PSL: Tutorial • To declare a Bond, it’s easy. bond Treasury10Y = new( Coupon=3.0, Maturity=10, InterestRate=5.0 ); Treasury10Y.Name = “Treasury10Y”;

  7. PSL: Tutorial • To Declare a portfolio portfolio pf = new(Capital=3000.0); • Set the assets pf.addStock(google, 20); pf.addBond(Treasury10Y, 5); pf.addStock(IBM, 8); pf.addStock(google, 16); pf.addCapital(1000.0);

  8. PSL: Tutorial • Show the final total asset value pf.printContent(); • Then Simulate the portfolio’s performance and show them in a chart ("Simulate the portfolio:").print(); pf.simulate(50);

  9. PSL: Tutorial

  10. PSL: Geometric Brownian Motion • Geometric Brownian Motion is a model to simulate the behavior of prices of stocks or other commodities. • The transition from the price at one time to the next is

  11. PSL: Requirements • Create an Interpreter • Develop in Java • Use ANTLR • Team work

  12. PSL: Development Environment • Eclipse chosen as main Dev platform • Built in CVS capabilities • Easy integration with ANTLR • Automatic builds • Rapid development and debugging

  13. PSL: Language Components • Frontend - Lexical scanner, Parser, Tree Walker - Interpreter - Symbol table - Wrapper class for primitive & complex types • Backend • Graphics,Simulation, I/O,Statistics • Testing • Documentation

  14. PSL: Roles • Xin – Dev • Jian – Dev • Peter – QA, Doc • Alex – Captain, Dev

  15. PSL: Assignments

  16. PSL: Language Structure Dissection • By Value & by Reference semantics • Control Flow • Java-style Scoping Rules • Functions • Arrays • Properties and methods for complex types

  17. PSL: Lessons Learned • Financial jargon info. • Tools: ANTLR, ECLIPSE+CVS • Language without ambiguous • Regression test module

  18. PSL: Conclusion • White paper- production advocating • LRM- blueprint • PSL- excellent construction for extended development

More Related