Saturday, August 22, 2020

Convertible Bond Issuance Has Increased

Convertible bond issuance has increased during the Covid 19 pandemic.

From a funding perspective, convertible bonds have many attractive features for corporates, which have become more important during the pandemic.

...In volatile markets, the value of the embedded option in a convertible bond increases. The asset class also becomes more attractive to investors owing to its convexity. Convertible bonds give investors equity-like returns on the upside while maintaining bond-like protections on the downside. Read more

What is a convertible bond?

... a convertible bond or convertible note or convertible debt (or a convertible debenture if it has a maturity of greater than 10 years) is a type of bond that the holder can convert into a specified number of shares of common stock in the issuing company or cash of equal value. It is a hybrid security with debt- and equity-like features. It originated in the mid-19th century, and was used by early speculators such as Jacob Little and Daniel Drew to counter market cornering. Read more

Despite their attractive features, when investing in convertible bonds, investors should pay particular attention to the credit risks of the issuers and the sector in general.

A bigger concern, and one that will hold the market back, is credit quality. The convertible bond market is now even more highly exposed to the technology sector, where companies often lack positive free cash flow. Any bursting of the bubble in tech stocks will be disastrous for the performance of convertible bonds.

Accurate pricing and risk management of convertible bonds are vital for the success of investing in convertible bonds.

Post Source Here: Convertible Bond Issuance Has Increased

Thursday, August 20, 2020

How to Forecast Implied Volatility

How do you determine the volatility of an unlisted entity, and more generally, how do you forecast volatility? These are non-trivial questions. There is an interesting discussion on Stackexchange:

Here is a question I had for a long time but I never asked. Let's take an easy example, AirBnb will likely have an IPO soon, the stock will be quoted on the market. Let's say I would like to price an option on this stock, how would I proceed?

For sure I could sell some with a premium equal to the spot, and wait for the secondary market to adjust, and then extract the IV to do a better pricing, but I would still need to find people to buy at that price.

So in practice how does it work, there is no underlying historical data, nor implied volatility available. Read more

The following could be a solution

With completely no historical stock price, the best I can think of is to find several companies in the same business (e.g. BOOKING for AIRBNB) and look at the range of their vols. Then estimate which percentile it will be in this range according to the size of the company. This is very very raw estimate. Once the stock starts trading then you can adjust.

More discussion on volatility trading can be found in Colin Bennett’s book Trading Volatility: Trading Volatility, Correlation, Term Structure and Skew

Post Source Here: How to Forecast Implied Volatility

Tuesday, August 18, 2020

Valuation of Warrants-Derivative Pricing in Python

A warrant is a financial derivative instrument that is similar to a regular stock option except that when it is exercised, the company will issue more stocks and sell them to the warrant holder.

Warrants and options are similar in that the two contractual financial instruments allow the holder special rights to buy securities. Both are discretionary and have expiration dates. The word warrant simply means to "endow with the right", which is only slightly different from the meaning of option.

Warrants are frequently attached to bonds or preferred stock as a sweetener, allowing the issuer to pay lower interest rates or dividends. They can be used to enhance the yield of the bond and make them more attractive to potential buyers. Warrants can also be used in private equity deals. Frequently, these warrants are detachable and can be sold independently of the bond or stock.

...Warrants issued by the company itself are dilutive. When the warrant issued by the company is exercised, the company issues new shares of stock, so the number of outstanding shares increases. When a call option is exercised, the owner of the call option receives an existing share from an assigned call writer (except in the case of employee stock options, where new shares are created and issued by the company upon exercise). Unlike common stock shares outstanding, warrants do not have voting rights. Read more

The valuation of warrants is similar to the valuation of stock options except that the effect of dilution should be considered. In this post, we first look at the valuation of warrants without the dilution effect. After that, we will discuss the valuation model that takes dilution into account.

The valuation model will be based on Cox, Ross, and Rubinstein (CRR) binomial tree [1]. In 1979, Cox, Ross and Rubinstein proposed a numerical method for pricing American style options using a binomial tree. This is a tree that represents possible paths that might be followed by the underlying asset’s price over the life of the warrant. The model works by dividing the time to expiration into several time intervals. Over each time interval, the model assumes that the price of the underlying asset moves up or down to certain values. The magnitude of these moves is determined by the volatility of the underlying asset and the length of the time step. The time slices and the simulated prices of the underlying asset at these times form the nodes of the binomial tree.

After a binomial tree is built, the valuation of the warrant proceeds as follows,

  1. Calculate the warrant value at each end node of the tree.
  2. Move on to the previous time step and calculate the warrant value at each node on this time slice using the warrant values at the precedent nodes.
  3. After the warrant value is calculated at a node, check whether early exercise is allowed and optimal. The warrant price at this node is then the greater of this value and the payoff of the early exercise.
  4. Continue in this manner until the warrant is valued at all nodes of the tree.
  5. The value at the root node of the tree is the price of the warrant at the valuation date.

We now discuss the dilution effect. If the issuance of warrants was announced publicly, then under the Efficient Market Hypothesis, it is reasonable to assume that the stock price after the announcement already reflects the dilution. In this case, the dilution effect can be ignored in the valuation model.  If, on the other hand, the issuance of warrants was not announced publicly, which is often the case of private companies, then dilution should be taken into account explicitly.

The dilution effect can be accounted for by recalculating the share price at each node (i, j) of the tree as follows,

valuation of warrants with dilution

where and represent the indices of time and stock positions in the tree, respectively,

           N is the number of warrants and,

          K is the strike price.

We implemented the above valuation method in Python.  The input parameters are as follows,

Stock price: 50

Strike: 50

Maturity: 5 years

Risk-free rate: 2%

Volatility: 40%

Number of outstanding shares: 1,000,000

Number of warrants: 50,000

The picture below shows the warrant prices with and without the dilution effect.

valuation of warrants

Follow the link below to download the Python program.

References

[1] Cox, J. C.; Ross, S. A.; Rubinstein, M. (1979). Option pricing: A simplified approach. Journal of Financial Economics. 7 (3): 229.

Post Source Here: Valuation of Warrants-Derivative Pricing in Python

Monday, August 17, 2020

Impact of a Low Correlation Trading Strategy

When constructing a portfolio, adding a low correlation, low Sharpe ratio strategy can have the same impact as adding a high Sharp ratio strategy. The low correlation strategy is a great diversifier.

The core argument presented in this paper –that SR is a misleading index of whom a fund should hire or fire– seems at odds with standard business practices. The SR Indifference Curve shows that even PMs with a negative individual SR should be hired if they contribute enough diversification. Why is that not the case? Because of a netting problem: A typical business agreement is that PMs are entitled to a percentage of their individual performance, not a percentage of the fund’s performance. Legal clauses may release the fund from having to pay a profitable PM if the overall fund has lost money, however that PM is unlikely to remain at the firm after a number of such events. This is a very unsatisfactory situation, for a number of reasons: First, funds are giving up the extra-performance predicted by the SR Indifference Curve. Second, funds are compelled to hire ‘star-PMs’, who may require a high portion of the performance fee. Third, funds are always under threat of losing to competitors their ‘star-PMs’, who may leave the firm with their trade secrets for a slightly better deal. In some firms, PMs’ turnover is extremely high, with an average tenure of only one or two years. Read more

Article Source Here: Impact of a Low Correlation Trading Strategy

Saturday, August 15, 2020

Accounting in Quantitative Finance

Is knowledge of accounting important in the field of quantitative finance?  A poster believes that it is important:

Accounting is a vital skill if you end up in a managerial position, and unless your career goal is to always be a cog in someone else's clockwork, then you will eventually find yourself in a managerial/senior partnership position even through quant research. I still play a critical role in my firm's quant strategies team, but here's a few things I've had to do that relate to accounting that you'd find common on the buy-side:

    Fighting those inconsistencies in our PBs/clearing firms' trade execution reports.

    Negotiating fund administrators' fee structures and services and interfacing their platform(s) with our internal tools.

    Voting on the decision whether to take incentive fees or allocations.

    Voting on the decision on 475(f) election (at a multi-asset class hedge fund, where the proportion of short-term gain isn't immediately clear and knowledge of individual strategies' PnL was important in making this decision).

    Defending a cap table and business valuation (merger of two prop firms).

    Voting on a decision whether to restructure our fund management company as an LP (this was intricately tied to our partners' bonuses, because of changes to NII and SE tax policy arising from the Affordable Care Act).

Now, purely on the quant research and strategy development end, accounting is an extremely useful skill for obtaining and scrubbing your primary data source for trading decisions:

    Price-moving information, e.g. book value, debt/equity ratio, operating income to interest expenses, could be contained in unstructured accounting statements.

    Trading opportunities could arise from discrepancies due to reporting practices, e.g. mark-to-market, mark-to-close etc.

    Trading opportunities could arise from accounting inconsistencies, e.g. miscategorization.

    Market price of assets may be overestimated/underestimated significantly if they are based on expected future cash flows.

    Valuation based on discounted cash flow.

Read more

 

While other reader believes that it’s not important.

A quant may find accounting useful occasionally but it is really tangential knowledge. I would not consider typical financial or managerial accounting as pre requisites for a Quant Fin program.

That said, certain quants in fixed income or credit do end up dealing with intricacy of cash flows. Accounting background will help in those scenarios.

 

So what do you think? Let us know

Article Source Here: Accounting in Quantitative Finance

Wednesday, August 5, 2020

Performance Share Units-Derivative Valuation in Python

In a previous post, we wrote about Employee Stock Options, a form of financial compensation that a company uses to reward its employees. In this post, we are going to discuss another form of compensation, Performance Share Units.

Performance share units (PSUs) are hypothetical share units that are granted to you based mainly on corporate and/or individual performance. Structurally, they are very similar to restricted stock units except these are more focused on your performance. These notional units fluctuate in value based on the underlying company stock but do not represent actual share ownership until you convert them to shares. They are designed to mirror share ownership and you will generally be granted additional units having the same value as dividends being paid on the regular shares.

Companies typically use PSUs as a form of mid-term compensation as the units usually vest after three years. It converts an amount that would normally be paid as a bonus or other cash remuneration to share ownership. It is meant to encourage employees to meet certain performance targets and maximize share value over the medium-term. If the performance target is not met, the shares the employees could have received are forfeited to the company [1].

The valuation of PSUs is based on the same principles similar to the valuation of stock options.  However, more often than not, the payoff of a PSU is more complex and is usually tied to a relative performance measure. Therefore, Monte Carlo simulation is a preferred choice for pricing PSUs.

To price a PSU, we first simulate the price paths using the following Stochastic Differential Equation:

Performance Share Units

where

  • St is the stock price at time t,
  • σ denotes the stock volatility,
  • µ is the drift which equals the risk-free rate, and
  • dWt represents the standard normal random variable.

The simulation is carried out until the PSU’s maturity. We then implement the payoff function and calculate the mean value of the payoff. Finally, we discount the mean value to the present and obtain the PSU value.

The Monte Carlo program used for pricing stock options can be modified without difficulty to implement the particular payoff of a PSU. If a relative performance with respect to an index or other stocks is required, then we need to perform Monte Carlo simulations involving multiple assets [2].

Follow the link below to download the Python program for performing Monte Carlo simulations.

 

References

[1] The Navigator, RBC Wealth Management,  June 2018

[2] Glasserman, Paul; Monte Carlo Methods in Financial Engineering, Springer; 2003

 

Post Source Here: Performance Share Units-Derivative Valuation in Python

Thursday, July 30, 2020

Employee Stock Options-Derivative Pricing in Python

Employee Stock Option (ESO) is a form of compensation that a company uses to reward, motivate, and retain its employees.

An employee stock option (ESO) is a label that refers to compensation contracts between an employer and an employee that carries some characteristics of financial options.

Employee stock options are commonly viewed as a complex call option on the common stock of a company, granted by the company to an employee as part of the employee's remuneration package. Regulators and economists have since specified that ESOs are compensation contracts.

These nonstandard contracts exist between employee and employer, whereby the employer has the liability of delivering a certain number of shares of the employer stock, when and if the employee stock options are exercised by the employee. The contract length varies, and often carries terms that may change depending on the employer and the current employment status of the employee. Read more

An ESO is a financial option, but it differs from a regular stock option in the following,

  • There is usually a vesting period during which the option cannot be exercised
  • When the employees leave their jobs (voluntary or involuntary) during the vesting period they forfeit the unvested options.
  • When employees leave (voluntarily or involuntarily) after the vesting period they forfeit options that are out of the money and they have to exercise vested options that are in the money immediately.
  • Employees are not permitted to sell their employee stock options. They must exercise the options and sell the underlying shares in order to realize a cash benefit or diversify their portfolios. This tends to lead to employee stock options being exercised earlier than similar regular options.
  • There is some dilution arising from the issue of employee stock options because if they are exercised, then new common shares are issued.

Because of these characteristics, the valuation of ESOs is different from regular stock options. In this post, we are going to implement the approach proposed by Hull and White [1]. Specifically, we are going to implement the vesting and forfeiture rate features.  Other features can also be implemented without difficulty.

The input parameters are as follows,

Stock price: 50

Strike: 50

Maturity: 5 years

Risk-free rate: 2%

Volatility: 40%

Vesting period: 2 years

Forfeiture rate: 2%

We implemented the Hull and White approach in Python, and we obtained a price of 17.9

Employee Stock Option

Follow the link below to download the Python program.

References

[1] J. Hull and A. White, How to Value Employee Stock Options, Financial Analysts Journal, Vol. 60, No. 1 (Jan. - Feb., 2004), pp. 114-119

Post Source Here: Employee Stock Options-Derivative Pricing in Python

Friday, July 24, 2020

Valuing American Options Using Monte Carlo Simulation –Derivative Pricing in Python

In a previous post, we presented the binomial tree method for pricing American options. Recall that an American option is an option that can be exercised any time before maturity.

A drawback of the binomial tree method is that the implementation of a more complex option payoff is difficult, especially when the payoff is path-dependent. For example, for an American double-average option with periodic sampling time points, the strike price is not known at the start of the option.  It can only be determined in the future and is therefore path-dependent.  Another example is an American forward start option. These options cannot be valued using the binomial tree approach.

In this post, we are going to present a method for valuing American options using Monte Carlo simulation. This method will allow us to implement more complex option payoffs with greater flexibility, even if the payoffs are path-dependent. Specifically, we use the Least-Squares Method of Longstaff and Schwartz [1] in order to take into account the early exercise feature.  The stock price is assumed to follow the Geometrical Brownian Motion and the dividend is simulated continuously.

Using this approach, it would be optimal to exercise the option if the immediate payment is larger than the expected future cash flows, otherwise it should be kept.  Specifically, for each generated path, we regress the future payoffs on the basis functions of S and S2[2]. The regression equation provides us with estimation for the expected value of future payoffs as a function of S and S2. This expected value is the value of holding on to the option, i.e. the continuation value. Using the regression equation, we can decide if it is preferable to exercise the option immediately or to wait one more period. This procedure is repeated backward from the maturity date to the time zero. Finally, the price of the option is calculated as the average value of all the discounted payoffs.

We implemented the Least-Squares Method of Longstaff and Schwartz in Python and priced the option presented in the previous post.  The main input parameters are as follows,

Derivative Pricing in Python

The picture below shows the results obtained by using the Python program.

Valuing American Options Using Monte Carlo Simulation

Follow the link below to download the Python program.

 

References

[1] F. Longstaff and E. Schwartz, Valuing American options by simulation: A simple least-squares approach, Review of Financial Studies, Spring 2001, pp. 113–147.

[2] S denotes the stock price. Other basis functions can also be used.

Article Source Here: Valuing American Options Using Monte Carlo Simulation –Derivative Pricing in Python

Tuesday, June 30, 2020

Garman-Klass-Yang-Zhang Historical Volatility Calculation – Volatility Analysis in Python

In the previous post, we introduced the Garman-Klass volatility estimator that takes into account the high, low, open, and closing prices of a stock. In this installment, we present an extension of the Garman-Klass volatility estimator that also takes into consideration overnight jumps.

Garman-Klass-Yang-Zhang (GKYZ) volatility estimator consists of using the returns of open, high, low, and closing prices in its calculation. It also uses the previous day's closing price.  It is calculated as follows,

Volatility trading strategy Garman-Klass-Yang-Zhang estimator

where hi denotes the daily high price, li is the daily low price, ci is the daily closing price and oi is the daily opening price of the stock at day i.

We implemented the above equation in Python. We downloaded SPY data from Yahoo finance and calculated the GKYZ historical volatility using the Python program. The picture below shows the GKYZ historical volatility of SPY from March 2015 to March 2020.

Garman-Klass-Yang-Zhang Historical Volatility Trading Strategy

We note that the GKYZ volatility estimator takes into account overnight jumps but not the trend, i.e. it assumes that the underlying asset follows a GBM process with zero drift. Therefore the GKYZ volatility estimator tends to overestimate the volatility when the drift is different from zero. However, for a GBM process, this estimator is eight times more efficient than the close-to-close volatility estimator.

Follow the link below to download the Python program.

Post Source Here: Garman-Klass-Yang-Zhang Historical Volatility Calculation – Volatility Analysis in Python

Tuesday, June 23, 2020

Garman-Klass Volatility Calculation – Volatility Analysis in Python

In the previous post, we introduced the Parkinson volatility estimator that takes into account the high and low prices of a stock. In this follow-up post, we present the Garman-Klass volatility estimator that uses not only the high and low but also the opening and closing prices.

Garman-Klass (GK) volatility estimator consists of using the returns of the open, high, low, and closing prices in its calculation. It is calculated as follow,

Volatility Analysis in Python Garman-Klass

where hi denotes the daily high price, li is the daily low price, ci is the daily closing price and oi is the daily opening price.

We implemented the above equation in Python. We downloaded SPY data from Yahoo finance and calculated GK historical volatility using the Python program. The picture below shows the GK historical volatility of SPY from March 2015 to March 2020.

Garman-Klass Volatility in Python

The GK volatility estimator has the following characteristics [1]

Advantages

  • It is up to eight times more efficient than the close-to-close estimator
  • It makes the best use of the commonly available price information

Disadvantages

  • It is even more biased than the Parkinson estimator

 

Follow the link below to download the Python program.

 

References

[1] E. Sinclair, Volatility Trading, John Wiley & Sons, 2008

Originally Published Here: Garman-Klass Volatility Calculation – Volatility Analysis in Python