Documentation

# iStar

Estimate instantaneous trading cost for order

## Syntax

``itc = iStar(k,trade)``

## Description

example

````itc = iStar(k,trade)` returns the instantaneous trading cost of an order using the Kissell Research Group (KRG) transaction cost analysis object `k` and trade data `trade`. To estimate the instantaneous trading cost, `iStar` uses the I-Star trading cost model.```

## Examples

collapse all

Retrieve the market impact data from the KRG FTP site. Connect to the FTP site using the `ftp` function with a user name and password. Navigate to the `MI_Parameters` folder and retrieve the market impact data in the `MI_Encrypted_Parameters.csv` file. `miData` contains the encrypted market impact date, code, and parameters.

```f = ftp('ftp.kissellresearch.com','username','pwd'); mget(f,'MI_Encrypted_Parameters.csv'); miData = readtable('MI_Encrypted_Parameters.csv','delimiter', ... ',','ReadRowNames',false,'ReadVariableNames',true);```

Create a Kissell Research Group transaction cost analysis object `k`.

`k = krg(miData);`

Load the example data from the file `KRGExampleData.mat`, which is included with the Trading Toolbox™.

`load KRGExampleData`

The variable `TradeData` appears in the MATLAB® workspace.

`TradeData` contains these variables:

• Stock symbol

• Side

• Number of shares

• Size

• Stock price

• Average daily volume

• Volatility

• Percentage of volume

For a description of the example data, see Kissell Research Group Data Sets.

Estimate instantaneous trading cost `itc` for each stock using the Kissell Research Group transaction cost analysis object `k`. Display the first three instantaneous trading costs.

```itc = iStar(k,TradeData); itc(1:3)```
```ans = 33.48 317.58 62.94```

Instantaneous trading costs display in basis points.

## Input Arguments

collapse all

Transaction cost analysis, specified as a KRG object created using `krg`.

Trade data that describes the stocks in the transaction, specified as a table or structure. `trade` must contain these variable or field names.

Variable or Field NameDescription

`Symbol`

Stock symbol

`Side`

`Shares`

Number of shares in the transaction

`Size`

Shares in the transaction, which is a percentage of average daily trading volume

`Price`

Stock price

`ADV`

Average daily volume

`Volatility`

Volatility

`POV`

Percentage of volume

The trading cost varies with the trade strategy. `iStar` determines the trade strategy using these variables in this order:

1. Percentage of volume

To change the trade strategy from percentage of volume to trade time, remove the variable `POV` in the table and add the variable `TradeTime` with trade time data. To use the trade schedule strategy, remove the variable `TradeTime` and add the `TradeSchedule` and `VolumeProfile` variables.

If you specify size in the trade data, `iStar` uses the `Size` variable. Otherwise, `iStar` uses the variables `ADV` and `Shares` to determine the size.

For example, to create trade data as a table, enter:

```trade = table({'XYZ'},{'Buy'},9300,0.06,29.68,860000,0.27,0.17,... 'VariableNames',{'Symbol' 'Side' 'Shares' 'Size' 'Price' ... 'ADV' 'Volatility' 'POV'})```

To create trade data as a structure, enter:

```trade.Symbol = {'XYZ'}; trade.Side = {'Buy'}; trade.Shares = 9300; trade.Size = 0.06; trade.Price = 29.68; trade.ADV = 860000; trade.Volatility = 0.27; trade.POV = 0.17; ```

These examples do not represent real market data.

Data Types: `struct` | `table`

## Output Arguments

collapse all

Instantaneous trading cost, returned as a vector. The vector values correspond to the instantaneous trading cost in basis points for each stock in `trade`.

collapse all

The I-Star trading cost model (I-Star) estimates the instantaneous cost of an order. If a market participant immediately releases the entire order to the market for execution, they incur this cost. This cost also refers to the market participant cost accounting for 100% of the market volume over the execution period.

The I-Star model is

`${\text{I}}^{\text{*}}={a}_{1}\cdot {\left(\frac{Shares}{ADV}\right)}^{{a}_{2}}\cdot {\sigma }^{{a}_{3}}.$`

Shares are the number of shares to trade. ADV is the average daily volume of the stock. $\sigma$ is the price volatility. ${a}_{1}$, ${a}_{2}$, and ${a}_{3}$ are the model parameters.

Model ParameterDescription

${a}_{1}$

Price sensitivity to order flow

${a}_{2}$

Order size shape

${a}_{3}$

Volatility shape

The general I-Star model that includes stock-specific factors is

`${I}^{*}={a}_{1}\cdot {\left(\frac{Shares}{ADV}\right)}^{{a}_{2}}\cdot {\sigma }^{{a}_{3}}\cdot Pric{e}^{{a}_{5}}\cdot {X}_{k}^{{a}_{k}}.$`

Price is the stock price. ${a}_{5}$ is the price shape model parameter. ${X}_{k}$ is the stock-specific factor such as market capitalization, beta, P/E ratio, and Debt/Equity ratio. This formulation can include multiple stock-specific factors. ${a}_{k}$ is the corresponding shape parameter for the stock-specific factor ${X}_{k}$.

## Tips

• For details about the formula and calculations, contact the Kissell Research Group.

## References

[1] Kissell, Robert. “A Practical Framework for Transaction Cost Analysis.” Journal of Trading. Vol. 3, Number 2, Summer 2008, pp. 29–37.

[2] Kissell, Robert. “Algorithmic Trading Strategies.” Ph.D. Thesis. Fordham University, May 2006.

[3] Kissell, Robert. “Creating Dynamic Pre-Trade Models: Beyond the Black Box.” Journal of Trading. Vol. 6, Number 4, Fall 2011, pp. 8–15.

[4] Kissell, Robert. “TCA in the Investment Process: An Overview.” Journal of Index Investing. Vol. 2, Number 1, Summer 2011, pp. 60–64.

[5] Kissell, Robert. The Science of Algorithmic Trading and Portfolio Management. Cambridge, MA: Elsevier/Academic Press, 2013.

[6] Kissell, Robert, and Morton Glantz. Optimal Trading Strategies. New York, NY: AMACOM, Inc., 2003.