The present invention relates generally to market liquidity and more particularly to systems and methods for evaluating liquidity of a market.
Market liquidity refers to the ability to buy or sell an asset in a financial market. Market liquidity is important to the proper functioning of financial markets due to its impact on the price of an asset. In a liquid financial market, the asset may be sold quickly with little impact on its price. However, in an illiquid financial market, the asset cannot be sold quickly without a reduction in price.
The liquidity of a financial market is difficult to measure. Conventionally, liquidity has been evaluated by monitoring certain measures of individual assets. For example, measures such as, e.g., the bid-ask price, the volume, and the depth of the order book and price impact can be monitored to evaluate the liquidity of a particular asset. However, it remains a challenge to encapsulate all of the liquidity information of individual assets into a single aggregate metric representing the liquidity of the financial market as a whole. Further, calculating such liquidity measures is a computationally intensive process, taking hours to complete. As such, real time monitoring of a financial market's liquidity is not possible using conventional methods.
In accordance with one embodiment, a discount curve factor engine is provided for calculating one or more liquidity metrics. The discount curve factor engine fits a spline to a set of securities (e.g., bonds). A model yield to maturity is calculated based on the spline for each security in the set of securities. A market yield to maturity is calculated based on market data for each security in the set of securities. A liquidity metric is calculated for the set of securities based on the calculated model yields to maturity and the calculated market yields to maturity. Advantageously, a liquidity metric for a market as a whole is calculated that can be tracked in real time.
In one embodiment, the spline is a piecewise cubic spline or a piecewise exponential spline. The splines are fit to the set of securities determined by filtering a larger universe of securities based on exclusion rules. The splines may be fit at predetermined, periodic intervals of time.
In one embodiment, the model yield to maturity for a security is calculated by determining a model price for the security and converting the model price to the model yield to maturity. The model price may be determined by applying the discount functions extracted from the fitted spline to cash flow information of the security. Similarly, the market yield to maturity for a security is calculated by converting a composite price of the security to a yield to maturity.
In one embodiment, the liquidity metric comprises one or more of: a fitted spread for the set of securities representing a difference between the market yield to maturity and the model yield to maturity; and a value of the minimized room mean square error between the market yield to maturity and the model yield to maturity.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.
Discounted curve factor (DCF) engine 106 may interact with computing devices 102 via network 104 to evaluate the liquidity of a financial market. In one embodiment, end users of computing devices 102 may communicate via network 104 for interacting with DCF engine 106 to evaluate the liquidity of the financial market. For example, end users may interact with DCF engine 106 via an interface of a web browser executing on computing device 102, an application executing on computing device 102, an app executing on computing device 102, or any other suitable interface for interacting with analyzer engine 106.
Traditionally, systems for calculating liquidity metrics evaluate liquidity on an individual security basis. Calculations to determine these traditional metrics are computationally intensive such that real time monitoring using these traditional metrics is not possible. Traditional systems for calculating liquidity metrics are thus unable to provide an aggregate liquidity metric for evaluating liquidity of a market as a whole performed in real time (or near real time).
Advantageously, embodiments of the present invention described herein provide for DCF engine 106, which utilizes a novel computational process for the real time evaluation of liquidity of a market. The computational process performed by DCF engine 106 reduces the computational expense for evaluating liquidity of a market, thus allowing the evaluation of liquidity of a market to be performed in real time (or near real time). DCF engine 106 in accordance with embodiments of the invention thus provides for improvements in computer functionality by facilitating the evaluation of liquidity of a market in real time, which was not possible with conventional systems.
DCF engine 202 comprises a spline calculation module 206 and a model calculation module 208. Spline calculation module 206 calculates splines for a determined set of securities. A spline is a numeric function that is piecewise-defined by polynomial functions that are joined at user-selected knot points for approximating or interpolating other functions. A spline may be represented as a curve with the Y axis representing maturity of the security and the X axis representing discount factors. Spline calculation module 206 calculates splines by fitting market data of securities (e.g., bonds) in the universe of securities to splines. Model calculation module 208 evaluates liquidity of a market by calculating one or more liquidity metrics using the splines. Details of spline calculation module 206 and model calculation module 208 will be discussed below with respect to
In one embodiment, if at the time that timer 302 triggers the calculation of a spline, there is no price associated with more than a predetermined amount (e.g., 20%) of the in-sample universe, a spline is not created. Curve loader 306 will attempt to retrieve reference data for generating a spline at the next interval triggered by timer 302.
In one embodiment, the set of exclusion rules may filter out securities that trade with a large liquidity premium or a large concession. Factors that drive liquidity differential can vary across markets. For example, in the U.S. Treasury market, it has been found that on-the-run (OTR) securities are more liquid than off-the-run (OFR) securities and therefore command a liquidity premium reflected by a lower yield for the OTR compared to the OFRs. In contrast, in the German government bond market, it has been found that deliverability into note and bond futures contracts is the primary driver of liquidity as opposed to benchmark status.
In one embodiment, the set of exclusion rules filter out one or more of the following securities to generate the in-sample universe: bills; callable bonds (for historical fits) and floaters; treasury inflation-protected securities (TIPS); separate trading of registered interest and principal securities (STRIPS); bonds with remaining maturities less than half a year; OTR and first OFR securities; original issue 30-year bonds with remaining maturity less than 10 years; original issue 10-year notes with remaining maturity less than 5 years; original issue 7-year notes with remaining maturity less than 5 years; and original issue 5-year notes with remaining maturity less than 2 years. Other exclusion rules may also be applicable.
Curve loader 306 loads the in-sample universe of securities and returns reference data of the in-sample universe to curve updater 304. The reference data may include, e.g., settlements, coupon frequency, compounding frequency, currency and calendar conventions, etc. In one embodiment, curve loader 306 retrieves the reference data from an external repository or database (not shown). Curve stripper 308 fits one or more splines to the reference data provided by curve updater 304. In one embodiment, curve stripper 308 fits both a piecewise exponential spline and a piecewise cubic spline on the reference data. In one embodiment, only the piecewise cubic spline is used for publishing a liquidity index or root mean square error due to its superior fitting capability.
Splines are preferred over parametric models such as Nelson Seigel (NS) or Nelson Seigel Svensson (NSS) since these parametric models suffer from insufficient localization in that small changes in the front end of the curve could drive spurious changes to the long end of the curve. Additionally, while these parametric models produce smooth curves, the possible shapes that the fitted parametric models can assume are limited. As such, parametric models are not sufficiently flexible for the purpose of bond-specific relative value applications.
Curve stripper 308 interpolates discount factors from the fitted splines. The fitted splines define a relationship between a functional form for the underlying forward curve and a discount factor for any time horizon. For example, a step-forward functional form for the continuous forward curve may be employed for a piecewise exponential spline while a quadratic functional form for the continuous forward curve may be employed for a piecewise cubic spline. The interpolated discount factors may be extracted from the fitted splines. The splines and extracted discount factors are stored by curve holder 310 for use by model calculation module 208.
Model calculation module 208 includes receiver 402, which receives composite price 404 for securities (e.g., in the in-sample universe) from, e.g., an external database (not shown). Composite price 404 is a composite of various market quotes for a particular security for sovereigns meeting inclusion criteria. The inclusion criteria is determined at startup using reference data, which may be retrieved from a repository (not shown) by spline list service 406. In one embodiment, any inclusion criteria may be applied as is known in the art. Cache 408 receives composite price 404 and gathers bid and ask messages together for the securities.
In order to achieve the desired update frequency, thread pool 410 employs a parallel processing framework for performing calculations. The calculations are performed for any number of securities in parallel. For example, thread pool 410 may perform calculations for all securities in the in-sample universe, all securities outside the in-sample universe, all securities in the universe, etc. Thread pool 410 includes threads 412-A, 412-B, . . . , 412-N, where N is any positive integer (collectively referred to as threads 412). In one embodiment, N is the number of securities for which calculations are to be performed by thread pool 410 such that each thread 412 performs calculations for a particular security. Each thread 412 includes a yield calculator 414 and a model yield calculator 416 for performing calculations.
Yield calculator 414 interacts with conversion module 420 to convert composite price 404 of a security to a yield to maturity value. In one embodiment, composite price 404 of the security is converted to a yield to maturity value using known techniques.
Model yield calculator 416 receives the most recently generated spline and extracted discount factors from curve holders 310 of spline calculation module 206 of
The results of the calculations for each security determined by threads 412 are received by activation module 422. Activation module 422 determines whether the calculations performed by threads 412 are to be published to metric calculator 426 and data distribution system 428. In one embodiment, multiple instances of DCF engine 202 exist. A centralized monitoring system (not shown) registers the instances, which are then assigned priorities by an automatic timer starting job mechanism (not shown). The centralized monitoring system designates the instance with the highest priority as the primary instance. When the primary instance ceases responding to uptime notifications (or heartbeats), e.g., after a predetermined amount of time, the next highest priority instance is designated as the primary instance. Upon receiving a message from the centralized monitoring system (via message bus 424) indicating that the particular instance of DCF engine 202 is the primary instance, activation module 422 passes the results of the calculations for each security from threads 412 to metric calculator 426. The message from message bus 424 may be sent, e.g., via a multicast protocol from the centralized monitoring system. If activation module 422 does not receive a message from message bus 424, activation module 422 identifies the particular instance of DCF engine 202 as a silent but ready backup instance (i.e., not the primary instance) and does publish the results of the calculations to metric calculator 426 and data distribution system 428.
Metric calculator 426 calculates one or more metrics of liquidity. In one embodiment, metric calculator 426 calculates one or more of the following metrics: an aggregate liquidity metric; fair value model (i.e., spline) yields for all securities in a universe (not just those fitted to the spline); and fitted spreads of all securities in a universe. Metric calculator 426 may also calculate other metrics in accordance with the present principles.
Metric calculator 426 receives results of the calculations determined by threads 412 (via activation module 422) to calculate metrics. In one embodiment, metric calculator 426 reduces errors between theoretical (i.e., model) yields and market yields of securities by minimizing the root mean square error (RMSE). The RMSE is defined in Equation (1) below.
where YTM(market) is the yield to maturity for a security derived from its market price, YTM(model) is the yield to maturity for the security derived from its model price determined from the fitted spline, and n is the number of securities used for fitting the spline. The YTM(market) and YTM(model) are calculated for a security by yield calculation module 414 and model yield calculation module 416, respectively. The difference between YTM(market) and YTM(model) is summed for each security in the in-sample universe.
In one embodiment, metric calculator 426 returns the minimized RMSE as the aggregate liquidity metric.
In another embodiment, metric calculator 426 returns the spline associated with the minimized RMSE. The spline represents all securities in the universe in the currency of the spline. The currency of the spline refers to the currency of the underlying securities in the fitting universe
The RMSE is a measure of the average yield error across the fitting universe (e.g., the in-sample universe). The errors between a security's theoretical model yields and the security's market yields are reduced by minimizing the RMSE. Once the spline is fitted to the in-sample universe of securities by minimizing the RMSE, fitted spreads of all securities in the universe (i.e., including securities that were previously filtered out are) are calculated. The fitted spread of a security represents the difference between the market yield of the security and its corresponding model spline yield. In Equation (1), the quantity defined as the YTM(market) less the YTM(model) is referred to as the fitted spread of the security. The fitted spread is determined for all securities in the universe and aggregated to provide for a measure of the liquidity. The aggregation of the fitted spread is mathematically equivalent to the summary in Equation (1). In one embodiment, metric calculator 426 returns the fitted spreads as a measure of liquidity of the universe.
Positive values for the fitted spreads represent bonds that are trading relatively “cheap” to the fair value fitted curve and typically required a liquidity concession for investors to buy them. Well-seasoned U.S. Treasuries which have rolled down the curve and have to compete with the more recently issued benchmark OTRs often trade at a liquidity concession.
Negative values for the fitted spreads represent bonds that are trading relatively “rich” to the fitted curve and typically represent bonds that trade at a liquidity premium because they are highly demanded collateral. The OTR and the first OFR that the U.S. Treasury issues usually trade rich as they are used by the dealer community for hedging purposes. Similarly, the cheapest-to-deliver bond into the front Treasury futures contract often trade rich to the curve.
In some embodiments, an alternative formulation may be employed that minimizes the errors between the bonds theoretical and market price, rather than yields. However, this approach is not as favored because the lower price risk of shorter duration bonds implicitly assigns lower weight for equal yield errors relative to longer duration bonds, resulting in larger yield fitting errors at the front end. Directly minimizing errors in yields as in Equation (1) ensures that the errors are weighted uniformly across the term structure.
In another embodiment, an RMSE is also calculated across the entire universe of securities (e.g., U.S. Treasury notes with a remaining maturity of one year or greater) based on the intra-day values of the RMSE. Intra-day values of this RMSE are ticked through the liquidity index ticker every time a new tick comes in for any of the securities in the universe. This RMSE is a measure of prevailing intra-day aggregate liquidity in the universe (e.g., U.S. Treasury market).
Metric calculator 426 sends the generated metrics of liquidity for publishing to data distribution system 428. Data distribution system 428 may publish the metrics to, e.g., databases, data models, transport networks, permissioning systems, client/server systems, or any other destination. In some embodiments, the metrics are published to ticker plants.
The component processes that make up the liquidity index include: 1. Creation of the in-sample universe; 2. Least square spline optimization triggered by timer 302; 3. Dynamic rules for determining the in-sample universe; 4. Calculation of the liquidity index (using the full sample RMSE) based on the fitted spline on a tick by tick basis using composite prices; and 5. Publishing the liquidity index to a ticker on a tic-by-tic basis. The synergy of these component processes has led to unexpected results: the tic-by-tic capability to measure and monitor aggregate market liquidity.
The performances of fitted splines calculated using the methods described herein were evaluated by comparing changes in the model yields with changes in the market yields. The changes in the model yields, estimated using the fitted spline, were found to track changes in market yields. The coefficient of determination or R-square (a measure of how well the model explains the variability of outcomes) was computed between market yield changes and model yield changes over 5 years for seven representative bonds across the yield curve. The results for daily, weekly, and monthly yield changes are displayed below in Table 1 and indicate a high R-square between actual and fitted yield changes. Similar results were obtained for other bonds in the universe.
Changes between fitted spread and yields in Table 2 below display low R-squares, confirming that fitted spreads generally tend not to be market directional.
Chart 600 shows that, generally, the R-squares are close to 0.0 in most cases underscoring that the fitted spreads represent idiosyncratic risk of each bond rather than any factor risk common to all bonds. The scatter plots confirm the weak to non-existent linear relationship between changes in fitted spreads. When the R-square is larger than zero, it is clear from the scatter plots that these modestly elevated levels are due to the presence of outliers. This is to be expected; large changes in fitted spreads are usually the result of a macroeconomic shock and fitted spreads of seasoned bonds are likely to track each other more closely as their respective liquidity premia are driven by a common risk factor under these special circumstances. Similar results were obtained across most of the remaining bonds in the universe.
As described above, spline calculation module 206 of
The functional form of the piecewise cubic spline is the piecewise quadratic continuously compounded forward rate. The first derivative of the forward rate is continuous at knot points and zero at the beginning and at the last maturity time. The discount factor of the piecewise cubic spline curve is defined in Equation (2).
D(t)=exp(−L(t)) Equation (2)
The log discount factor L(t) is defined in Equation (3).
where Tn is the nth knot point and n is the number of coefficients; the summation is performed for all n=1, . . . , N−1 such that Tn<t, which leads to a curve L(t) being piecewise cubic. At each knot point t=Tn a new additional cubic polynomial starts to the right from the point t=Tn in a manner which assures that first and second derivatives of L(t) are continuous. The coefficient λn (where n=0, . . . , N−1) are independent parameters. The last coefficient, λN, is not an independent parameter, but is defined as
The parameter P is defined as
This choice of P assures that for t>Tn the cubic term in the log discount factor L(t) (and the quadratic term in the forward rate) is zero. The choice of λN similarly assures that for t>Tn the quadratic term in the log discount factor L(t) (and the linear term in the forward rate) is zero. The piecewise cubic spline curve is smooth (i.e., the forward rate has a continuous first derivative) and satisfies all the boundary conditions (e.g., continuous first derivative of the forward rate at knot points or zero derivatives at the ends of the curve by construction, and it has N degrees of freedom). Changes in parameter λn, where n=0, . . . , N−1, lead to changes in λN and P and thus affects the value of the function everywhere.
The log discount factor L(t) for the piecewise exponential spline is defined to be linear between knot points. Alternatively, the continuously compounded forward rate is piecewise constant between knot points. The log discount factor L(t) is defined in Equation (4).
The piecewise exponential spline has a continuous discount function, but the first derivative is discontinuous. The utility of this model is that it is highly localized to the degree that changing the value of any one of the parameters has localized impact to adjacent knot points during the curve fitting/optimization process.
DCF engine 202 of
At step 802, a spline is fit to a set of securities. The spline may include, e.g., a piecewise cubic spline or a piecewise exponential spline. In one embodiment, the set of securities is determined by filtering a universe of securities (e.g., all securities associated with a market) based on exclusion rules. The exclusion rules may filter out securities that trade with a large liquidity premium or a large concession. The spline may be fit to the set of securities at predetermined, periodic intervals of time (e.g., every 500 milliseconds). The fitted spline may be stripped to extract its discount factors.
At step 804, a model yield to maturity is calculated based on the spline for each security in the set of securities. The model yield to maturity is calculated by first calculating the model price of each security based on its cash flow. The extracted discount factors are applied to the cash flow to generate the model price. The model price is then converted to a model yield to maturity, e.g., using known techniques.
At step 806, a market yield to maturity is calculated based on market data for each security in the set of securities. The market yield to maturity may be calculated by converting the known composite price of each security to the yield to maturity, e.g., using known techniques.
In one embodiment, the model yield to maturity and market yield to maturity are calculated for each security in the set of securities. Calculations for each security may be performed in parallel.
At step 808, a liquidity metric is calculated for the set of securities based on the model yield to maturity and the market yield to maturity calculated for each security in the set of securities. In one embodiment, the liquidity metric comprises a fitted spread for the set of securities representing a difference between the market yield to maturity and the model yield to maturity. In another embodiment, the liquidity metric comprises a value of the minimized room mean square error between the market yield to maturity and the model yield to maturity. Other metrics are also contemplated.
Systems, apparatuses, and methods described herein may be implemented using digital circuitry, or using one or more computers using well-known computer processors, memory units, storage devices, computer software, and other components. Typically, a computer includes a processor for executing instructions and one or more memories for storing instructions and data. A computer may also include, or be coupled to, one or more mass storage devices, such as one or more magnetic disks, internal hard disks and removable disks, magneto-optical disks, optical disks, etc.
Systems, apparatus, and methods described herein may be implemented using computers operating in a client-server relationship. Typically, in such a system, the client computers are located remotely from the server computer and interact via a network. The client-server relationship may be defined and controlled by computer programs running on the respective client and server computers.
Systems, apparatus, and methods described herein may be implemented within a network-based cloud computing system. In such a network-based cloud computing system, a server or another processor that is connected to a network communicates with one or more client computers via a network. A client computer may communicate with the server via a network browser application residing and operating on the client computer, for example. A client computer may store data on the server and access the data via the network. A client computer may transmit requests for data, or requests for online services, to the server via the network. The server may perform requested services and provide data to the client computer(s). The server may also transmit data adapted to cause a client computer to perform a specified function, e.g., to perform a calculation, to display specified data on a screen, etc. For example, the server may transmit a request adapted to cause a client computer to perform one or more of the method steps described herein, including one or more of the steps of
Systems, apparatus, and methods described herein may be implemented using a computer program product tangibly embodied in an information carrier, e.g., in a non-transitory machine-readable storage device, for execution by a programmable processor; and the method steps described herein, including one or more of the steps of
A high-level block diagram 900 of an example computer that may be used to implement systems, apparatus, and methods described herein is depicted in
Processor 904 may include both general and special purpose microprocessors, and may be the sole processor or one of multiple processors of computer 902. Processor 904 may include one or more central processing units (CPUs), for example. Processor 904, data storage device 912, and/or memory 910 may include, be supplemented by, or incorporated in, one or more application-specific integrated circuits (ASICs) and/or one or more field programmable gate arrays (FPGAs).
Data storage device 912 and memory 910 each include a tangible non-transitory computer readable storage medium. Data storage device 912, and memory 910, may each include high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate synchronous dynamic random access memory (DDR RAM), or other random access solid state memory devices, and may include non-volatile memory, such as one or more magnetic disk storage devices such as internal hard disks and removable disks, magneto-optical disk storage devices, optical disk storage devices, flash memory devices, semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), digital versatile disc read-only memory (DVD-ROM) disks, or other non-volatile solid state storage devices.
Input/output devices 908 may include peripherals, such as a printer, scanner, display screen, etc. For example, input/output devices 908 may include a display device such as a cathode ray tube (CRT) or liquid crystal display (LCD) monitor for displaying information to the user, a keyboard, and a pointing device such as a mouse or a trackball by which the user can provide input to computer 902.
Any or all of the systems and apparatus discussed herein, including computing devices 102 and discount curve factor engine 106 of
One skilled in the art will recognize that an implementation of an actual computer or computer system may have other structures and may contain other components as well, and that
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.
This application claims the benefit of Provisional Patent Application No. 62/254,020, filed Nov. 11, 2015, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62254020 | Nov 2015 | US |