These are possible components for Commodity Price Engine that could be built on top of AWS or Windows Azure and be based on available open-source products and some modules developed in-house.
Showing posts with label Risk. Show all posts
Showing posts with label Risk. Show all posts
Saturday, 5 September 2015
Thursday, 2 July 2015
Functional Requirements for Commodity Price Engine
Introduction
Commodity Price Engine is a derivatives sales tool and potentially a trading application designed specifically for the commodities market covering energy, base metals and agricultural products. It provides server based pricing and sensitivities for structures consisting of forwards and options that incorporate volatility skew and is designed to be delivered via the web and as native mobile applica- tions. The implemented functionalities in the prototype are detailed below, along with market data requirements and planned extensions.Supported Underlying Assets
Commodity Price Engine supports any asset with forward curves and implied volatility surfaces. This includes exchange traded products with sufficient liquidity and products for which the user is able to supply the forward curves and volatility surfaces. A planned extension for Commodity Price Engine would build required curves and surfaces to accommodate structures on illiquid underlying assets.Supported Derivatives and Valuation
Pricing and sensitivities are available for forwards, bullet and Asian options, and structures consisting of any combination of forwards and options. The valuation model takes into account volatility skew and has been benchmarked against commercial software used in investment banks. Price and sensitivities can be converted to any currency and standard metric units.4. Sales and Trading Features
Commodity Price Engine would allow addition of sales and trading margins, shifting of forward curves and volatility surfaces for what-if analysis, solving for break even strikes for structures, generation of term sheets, and graphing of forward curves and payoff diagrams. It also would accommodate back-dated pricing for available historical data.5. Planned Extensions and Enhancements
Additional features that are planned for Commodity Price Engine include:- Construction of illiquid forward curves and implied volatility surfaces.
- Calculation of credit value adjustment (CVA).
- Computation of value-at-risk (VaR).
6. Market Data Requirements
Commodity Price Engine assumes availability of the following market data:- Yield curves for required currencies (it would be possible to bootstrap yield curves from cash, futures, OIS, swap, and single currency basis swap quotes).
- Forward curve and implied volatility surface (it is possible to build volatility surfaces from market quoted option prices) for required underlying assets.
- FX forward curve and volatility surface for required currency pairs.
- Implied survival probabilities for relevant entities if CVA calculation is required (it would be possible to compute the survival probabilities from yield curves and credit default swap (CDS) spread quotes).
- Historical data for above if VaR calculation is required.
Market data can be obtained from commercial data vendors such as Bloomberg or Reuters (commodities data from such market data sources as ze.com will need to be supplemented by interest rate, FX, and credit data).
7. Technology Architecture
Commodity Price Engine architecture consists of server and client side components. The server side manages market data and could be loosely coupled with a grid of quantitative pricing libraries. The client side is the Graphical User Interface (GUI) that communicates with the server via secure protocol and could be accessed from desktops or a variety of mobile devices. Pricing libraries could be placed on the client side if required.8. Conclusion
Commodity Price Engine would be a sales and trading application designed for participants in the commodities market who traditionally relied on investment banks for pricing support due to limited access to suitable tools. It would have the capacity to become a full-scale trading platform if supplemented with modules for connecting to trade booking and counterparty portfolio management systems.
Labels:
Analytics,
architecture,
Cloud,
Commodities,
CVA,
Derivatives,
design,
Desktop,
Forwards,
Futures,
FX,
Market Data,
Mobile,
Options,
Price Engine,
Quant,
Risk,
Valuation,
VaR,
Volatility
Location:
London, UK
Friday, 1 May 2015
A Potential Need for Commodity Price Engine
Introduction
Commodities market has experienced significant turbulence in recent times, possible returns and diversification benefits offered by commodities have attracted some investor interest. Derivatives have an important role to play in encouraging a further activity on this market, and this requires wide availability of pricing tools to improve price transparency and investor confidence. However, in contrast to other markets, there is an absence of such pricing tools for commodity derivatives due to their inherent complexities and this is the impetus behind the idea of development of a Commodity Price Engine described in this post.
Situation
Recent fluctuations in demand for raw materials is expected to continue for some time. High volatility in commodities market has led to certain growth in the derivatives market as commodity producers and consumers sought ways to hedge against adverse price movements.
When used for hedging purposes, futures contracts remove the risk of unexpected losses by providing price certainty, but for the same reason they also preclude the possibility of profiting from favourable price movements. As participants become more sophisticated, they naturally turn to options and other derivatives that allow them to obtain more flexible hedges and speculative positions.
At present, participants in the commodity derivatives market comprises primarily of large producers and consumers of raw materials, who have little choice but to use derivatives, usually over-the-counter (OTC), to hedge their positions, and large financial institutions that have the capacity to acquire necessary pricing tools to service this demand. But as regulators push more of these “standard” OTC derivatives onto exchanges to ensure greater transparency and competition, the derivatives market will attract broader class of investors attempting to take advantage of the benefits offered by commodities.
Complication
Although some commodity derivatives are already listed on exchanges and many others are traded over-the-counter, investors interested in entering this market are confronted with issues such as limited liquidity, poor quality of market data, and the absence of accurate pricing tools. These contribute towards the lack of transparency in the way commodity derivatives are valued, which adds to the perception of risks associated with these derivatives.
Liquidity and the quality of market data can only improve with greater activity in these derivatives, and for this to occur there must be more transparency and confidence in the way prices are determined.
Unfortunately, commodity derivatives have inherent complexities that require more advanced pricing tools than those used for derivatives in other markets. Although such tools do exist, their availability is limited to large financial institutions, and are included only in high-end commercial financial software. In order for the derivatives market to flourish, investors need a better understanding of the salient features of commodity derivatives and, more importantly, require access to quantitative tools for independent valuation of these derivatives with higher degree of confidence.
Solution
Commodity Price Engine could implement advanced pricing models for commodity derivatives and deliver these through platforms including the web, smartphones, and tablets. Salient properties of commodity derivatives and observed volatility skews in the market would be fully incorporated into the models to provide accurate valuation and flexible delivery platforms would ensure that these tools are available anywhere with access to the internet.
For reliability and scalability Commodity Price Engine could be deployed on a cloud computing infrastructure and be accompanied by a distributed data server that cleans and smoothes market data. The former ensures that intensive pricing calculations are available even on devices with limited computing power, while the latter eliminates, for most users, the non-trivial task of obtaining reliable market data.
In order to handle large number of concurrent user sessions, Commodity Price Engine could be enhanced with grid computing capabilities to ensure valuation requests receive faster responses even for complex derivatives and large portfolios. These features would enable small to medium sized market participants to independently value and monitor their derivative portfolios with confidence.
Conclusion
Higher returns and diversification benefits of commodities provide attractive trading opportunities and market participants seeking more tailored solutions for their requirements are naturally led to derivatives. With regulators pushing to move standard OTC derivatives onto exchanges, the demand for derivatives have a good chance to increase. A necessary catalyst to transform this increasing interest into growth in market activity is accessible quantitative tools that help bring transparency to this market, and this is precisely the role that Commodity Price Engine may play.
Labels:
Cloud,
Commodities,
Compute Grid,
Data,
Data Grid,
Derivatives,
Distributed,
Hedging,
iPhone,
Library,
Market Data,
Mobile,
NPV,
Price Engine,
Quant,
Risk,
Valuation,
Volatility
Location:
London, UK
Tuesday, 29 January 2013
Open Source Financial Trading Software
Some time in early 2012 an open source project Lodestone Foundation was backed by Deutsche Bank. In September, 2012 FT let it know to ones who missed the news earlier.
The initiative is quite interesting and it split finance professionals in two camps - ones who believe that this is the way to go and their counterparts who think it would never happen.
I've looked for any existing and more or less active projects in this space. This is what I found out so far:
The OpenGamma Platform provides both buy-side and sell-side firms a rich set of features, including trade data management, live risk alerts, and sophisticated, dynamic Excel integration.
QuantLib project is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life.
Possibly this is the most popular project at the moment, there are signs that it's quietly used by many quant developers in their day-to-day work.
Open Heartbeat is a lightweight data distribution system designed primarily for collecting and distributing rapidly changing price quotes for stocks, securities or other distributable data sets.
The core component is a reusable library which manages all communication, synchronization caching etc., which can be linked into applications that create or, more commonly, consume data.
Primarily aimed at the financial sector, as a way to distribute rapidly changing stock quotes etc., this system can be used for any application that needs to distribute volatile data sets reliably and efficiently.
This suite includes a sample feed handler for Yahoo financial data. Use of the data provided by this service is subject to the terms and conditions of the Yahoo real time stock quote service.
The library offers very efficient operation (~10,000 updates per second), redundant paths and automatic error recovery and reporting.
EclipseTrader is an Eclipse Rich Client Platform (RCP) application focused on the building of an online stock trading system, featuring shares pricing watch, intraday and history charts with technical analysis indicators, level II/market depth view, news watching, and integrated trading.
The standard Eclipse RCP plug-ins architecture allows third-party vendors to extend the functionality of the program to include custom indicators, views or access to subscription-based data feeds and order entry.
The Financial Information eXchange (FIX) protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd (FPL).
QuickFIX/J is a fully featured messaging engine for the FIX protocol. It is a 100% Java open source implementation of the popular C++ QuickFIX engine.
Premium Markets is an automated financial technical analysis system.
It implements a graphical environment for monitoring financial technical analysis major indicators and for portfolio management.
In its advanced packaging (not provided under open-source license) it also includes :
ojAlgo is Open Source Java code that has to do with mathematics, linear algebra and optimization Its feature set make it particularly suitable for use within the financial domain.
EWaveTrade is a tool to aid in the process of analyzing market price data using the Elliot Wave Theory, particularly applying the concepts and principles developed by Glenn Neely. The book "Mastering Elliott Wave" by Glen Neely is recommended for both potential developers and users of this software.
QChartist is a free charting software designed to do technical analysis from any data. The program is written in Basic language.
Pure Java lib that provides:
ActiveQuant is an entire framework to backtest and run automated trading systems. This project is an open source project, but is not a free software, it is provided free of charge to academics and hobbyists.
Akutan is an open source finance project working in the asset allocation, portfolio analysis arena of financial informatics. For the most part it stays away from instrument valuation and market models given that there are several other projects dedicated to that space, e.g. quantlib.
Net Positions allows to receive current and historical data about net positions(*) and opened on the futures market (info is taken from 'Commitments of Traders' weekly report).
The initiative is quite interesting and it split finance professionals in two camps - ones who believe that this is the way to go and their counterparts who think it would never happen.
I've looked for any existing and more or less active projects in this space. This is what I found out so far:
1. OpenGamma (Java, R, .Net and REST APIs, Tools for MS Excel)
The OpenGamma Platform provides both buy-side and sell-side firms a rich set of features, including trade data management, live risk alerts, and sophisticated, dynamic Excel integration.
2. QuantLib (C++)
QuantLib project is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life.
Possibly this is the most popular project at the moment, there are signs that it's quietly used by many quant developers in their day-to-day work.
3. Open Heartbeat (probably C/C++)
Open Heartbeat is a lightweight data distribution system designed primarily for collecting and distributing rapidly changing price quotes for stocks, securities or other distributable data sets.
The core component is a reusable library which manages all communication, synchronization caching etc., which can be linked into applications that create or, more commonly, consume data.
Primarily aimed at the financial sector, as a way to distribute rapidly changing stock quotes etc., this system can be used for any application that needs to distribute volatile data sets reliably and efficiently.
This suite includes a sample feed handler for Yahoo financial data. Use of the data provided by this service is subject to the terms and conditions of the Yahoo real time stock quote service.
The library offers very efficient operation (~10,000 updates per second), redundant paths and automatic error recovery and reporting.
4. Eclipse Trader (Java)
EclipseTrader is an Eclipse Rich Client Platform (RCP) application focused on the building of an online stock trading system, featuring shares pricing watch, intraday and history charts with technical analysis indicators, level II/market depth view, news watching, and integrated trading.
The standard Eclipse RCP plug-ins architecture allows third-party vendors to extend the functionality of the program to include custom indicators, views or access to subscription-based data feeds and order entry.
5. QuickFX/J (Java)
The Financial Information eXchange (FIX) protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd (FPL).
QuickFIX/J is a fully featured messaging engine for the FIX protocol. It is a 100% Java open source implementation of the popular C++ QuickFIX engine.
6. Premium Markets (Java)
Premium Markets is an automated financial technical analysis system.
It implements a graphical environment for monitoring financial technical analysis major indicators and for portfolio management.
In its advanced packaging (not provided under open-source license) it also includes :
- Screening of financial web sites to pickup the best market shares,
- Forecast of share prices trend changes on the basis of financial technical analysis, (with a rate of around 70% of forecasts being successful observed while back testing over DJI, FTSE, DAX and SBF),
- Back testing and Email sending on buy and sell alerts triggered while scanning markets and user defined portfolios.
7. ojAlgo (Java)
ojAlgo is Open Source Java code that has to do with mathematics, linear algebra and optimization Its feature set make it particularly suitable for use within the financial domain.
8. EWaveTrade (C++, MFC, Visual C++ Compiler)
EWaveTrade is a tool to aid in the process of analyzing market price data using the Elliot Wave Theory, particularly applying the concepts and principles developed by Glenn Neely. The book "Mastering Elliott Wave" by Glen Neely is recommended for both potential developers and users of this software.
9. QChartist (Qt, Basic)
QChartist is a free charting software designed to do technical analysis from any data. The program is written in Basic language.
10. jFin (Java)
Pure Java lib that provides:
- Date adjustment
- Schedule generation
- Day count fraction calculation
11. ActiveQuant (Java, ActiveMQ, HSQL)
ActiveQuant is an entire framework to backtest and run automated trading systems. This project is an open source project, but is not a free software, it is provided free of charge to academics and hobbyists.
12. Akutan (Java)
Akutan is an open source finance project working in the asset allocation, portfolio analysis arena of financial informatics. For the most part it stays away from instrument valuation and market models given that there are several other projects dedicated to that space, e.g. quantlib.
13. Net Positions
Net Positions allows to receive current and historical data about net positions(*) and opened on the futures market (info is taken from 'Commitments of Traders' weekly report).
(*) net position is the difference between total open long and open shot positions.
CreditAnalytics is a full-featured financial fixed income credit analytics, trading, and risk library, developed with a special focus towards the needs of the credit products community. In particular, CreditAnalytics provides analytics to value liquid products (CDS, CDX, CDO, and bonds of all types and variants) and standard index/custom products (single credit forwards and options, and portfolio credit forwards, options, tranches, and other structures).
FpML® (Financial products Markup Language) is the open source XML standard for electronic dealing and processing of OTC derivatives. It establishes the industry protocol for sharing information on, and dealing in, financial derivatives and structured products.
The standard is developed under the auspices of ISDA, using the ISDA derivatives documentation as the basis. As a true open standard, the standards work is available to all at no cost and open to contribution from all. There is no membership requirement.
The standard evolution and development is overseen and managed by the FpML Standards committee, following W3C rules of operations guidelines.
The objective of this project is to create a library of code for pricing financial derivatives products using CUDA to achieve GPU programming.
14. Credit Analytics
CreditAnalytics is a full-featured financial fixed income credit analytics, trading, and risk library, developed with a special focus towards the needs of the credit products community. In particular, CreditAnalytics provides analytics to value liquid products (CDS, CDX, CDO, and bonds of all types and variants) and standard index/custom products (single credit forwards and options, and portfolio credit forwards, options, tranches, and other structures).
15. FpML
FpML® (Financial products Markup Language) is the open source XML standard for electronic dealing and processing of OTC derivatives. It establishes the industry protocol for sharing information on, and dealing in, financial derivatives and structured products.
The standard is developed under the auspices of ISDA, using the ISDA derivatives documentation as the basis. As a true open standard, the standards work is available to all at no cost and open to contribution from all. There is no membership requirement.
The standard evolution and development is overseen and managed by the FpML Standards committee, following W3C rules of operations guidelines.
16. Kooderive
The objective of this project is to create a library of code for pricing financial derivatives products using CUDA to achieve GPU programming.
Subscribe to:
Posts (Atom)
Online Encyclopedia of Statistical Science (Free)
Please, click on the chart below to go to the source:
-
Thanks to an excellent Java Concept of the Day , this is a brief description of main interfaces and classes of Java Collection Framework. H...
-
Some time in early 2012 an open source project Lodestone Foundation was backed by Deutsche Bank. In September, 2012 FT let it know to ones...
-
1. Notation: $ m $ - number of training examples. $ n = \vert x^{(i)} \vert $ - number of features. $ x^{(i)} $ - column vector of all...
