﻿

Accelerating the pace of engineering and science

• 評価版
• 製品アップデート

# pcalims

Linear inequalities for individual asset allocation

## Syntax

```[A,b] = pcalims(AssetMin, AssetMax, NumAssets)
```

## Arguments

 AssetMin Scalar or NASSETS vector of minimum allocations in each asset. NaN indicates no constraint. AssetMax Scalar or NASSETS vector of maximum allocations in each asset. NaN indicates no constraint. NumAssets (Optional) Number of assets. Default = length of AssetMin or AssetMax.

## Description

[A,b] = pcalims(AssetMin, AssetMax, NumAssets) specifies the lower and upper bounds of portfolio allocations in each of NumAssets available asset investments.

A is a matrix and b is a vector such that A*PortWts' <= b, where PortWts is a 1-by-NASSETS vector of asset allocations.

If pcalims is called with fewer than two output arguments, the function returns A concatenated with b [A,b].

## Examples

Set the minimum weight in every asset to 0 (no short-selling), and set the maximum weight of IBM® stock to 0.5 and CSCO to 0.8, while letting the maximum weight in INTC float.

Asset

IBM

INTC

CSCO

Min. Wt.

0

0

0

Max. Wt.

0.5

0.8

```AssetMin = 0
AssetMax = [0.5 NaN 0.8]
[A,b] = pcalims(AssetMin, AssetMax)```
```A =
1     0     0
0     0     1
-1     0     0
0    -1     0
0     0    -1

b =

0.5000
0.8000
0
0
0
```

Portfolio weights of 50% in IBM and 50% in INTC satisfy the constraints.

Set the minimum weight in every asset to 0 and the maximum weight to 1.

Asset

IBM

INTC

CSCO

Min. Wt.

0

0

0

Max. Wt.

1

1

1

```AssetMin = 0
AssetMax = 1
NumAssets = 3

[A,b] = pcalims(AssetMin, AssetMax, NumAssets)```
```A =

1     0     0
0     1     0
0     0     1
-1     0     0
0    -1     0
0     0    -1

b =
1
1
1
0
0
0
```

Portfolio weights of 50% in IBM and 50% in INTC satisfy the constraints.