## Optimize Long Portfolio

This example shows how to determine the optimal portfolio weights for a specified dollar value using transaction cost analysis from the Kissell Research Group. The sample portfolio contains only long shares of stock. You can incorporate risk, return, and market-impact cost during implementation of the investment decision.

This example requires an Optimization Toolbox™ license. For background information, see Optimization Theory Overview (Optimization Toolbox).

The KRGPortfolioOptimizationExample function, which you can access by entering edit KRGPortfolioOptimizationExample.m, addresses three different optimization scenarios:

1. Maximize the trade off between net portfolio return and portfolio risk. The trade off maximization is expressed as

$\underset{x}{\mathrm{arg}\mathrm{max}}\left[R\text{'}x-MI\text{'}|x|-\lambda x\text{'}Cx\right],$

where:

• R is the estimated return for each stock in the portfolio.

• x denotes the weights for each stock in the portfolio.

• MI is the market-impact cost for the specified dollar value and share quantities.

• $\lambda$ is the specified risk aversion parameter.

• C is the covariance matrix of the stock data.

2. Minimize the portfolio risk subject to a minimum return target using

$\underset{x}{\mathrm{arg}\mathrm{min}}\left[x\text{'}Cx\right].$

3. Maximize net portfolio return subject to a maximum risk exposure target using

$\underset{x}{\mathrm{arg}\mathrm{max}}\left[R\text{'}x-MI\text{'}|x|\right].$

Lower and upper bounds constrain x in each scenario. Each optimization finds a local optimum. For ways to search for the global optimum, see Local vs. Global Optima (Optimization Toolbox).

### Retrieve Market-Impact Parameters and Load Data

Retrieve the market-impact data from the Kissell Research Group 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.

mget(f,'MI_Encrypted_Parameters.csv');
close(f)

miData = readtable('MI_Encrypted_Parameters.csv','delimiter', ...

Create a Kissell Research Group transaction cost analysis object k. Specify initial settings for the date, market-impact code, and number of trading days.

k = krg(miData,datetime('today'),1,250);

Load the example data TradeDataPortOpt and the covariance data CovarianceData from the file KRGExampleData.mat, which is included with the Datafeed Toolbox™. Limit the data set to the first 50 rows.

n = 50;
CovarianceData = CovarianceData(1:n,1:n);

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

### Maximize Net Portfolio Return

Run the optimization scenario using the example and covariance data. To run the first optimization, specify 1 in the last input argument.

[Weight,Shares,Value,MI] = KRGPortfolioOptimizationExample(TradeDataPortOpt, ...
CovarianceData,1);

KRGPortfolioOptimizationExample returns the optimized values for each stock in the portfolio:

• Portfolio weight

• Number of shares

• Portfolio dollar value

• Market-impact cost

To run the other two scenarios, specify 2 or 3 in the last input argument of KRGPortfolioOptimizationExample.

Display the portfolio weight for the first three stocks in the portfolio in decimal format.

format

Weight(1:3)
ans =

0.0100
0.3198
0.1610

Display the number of shares using two decimal places for the first three stocks in the portfolio.

format bank

Shares(1:3)
ans =

24420.02
3249893.71
402364.47

Display the portfolio dollar value for the first three stocks in the portfolio.

Value(1:3)
ans =

1000000.00
31977654.17
16097274.50

Display the market-impact cost for the first three stocks in the portfolio in decimal format.

format

MI(1:3)
ans =

1.0e-03 *

0.1250
0.7879
0.3729

## References

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

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

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

[4] Chung, Grace and Robert Kissell. “An Application of Transaction Costs in the Portfolio Optimization Process.” Journal of Trading. Vol. 11, Number 2, Spring 2016, pp. 11–20.