Работа с операционными издержками

Различием между сетевыми и грубыми возвратами портфеля являются операционные издержки. Сетевой портфель возвращается, прокси имеет отличные пропорциональные затраты для покупки и продать активы, которые сохраняются в свойствах объектов PortfolioCVaR BuyCost и SellCost. Операционные издержки находятся в модулях совокупного дохода и, как таковы, пропорциональны цене актива так, чтобы они вошли, модель для сетевого портфеля возвращает в ответ форму. Например, предположите, что у вас есть запас, в настоящее время оценил 40$, и ваши обычные операционные издержки составляют 5 центов за долю. Затем операционные издержки для запаса являются 0.05/40 = 0.00125 (как задано в Сетевом Портфеле, Возвращается). Затраты вводятся как положительные значения, и кредиты вводятся как отрицательные величины.

Установка операционных издержек Используя функцию PortfolioCVaR

Чтобы настроить операционные издержки, необходимо задать начальный или текущий портфель в свойстве InitPort. Если начальный портфель не установлен, когда вы настраиваете свойства операционных издержек, InitPort является 0. Свойства для операционных издержек могут быть установлены с помощью объекта PortfolioCVaR. Например, примите, что покупка и операционные издержки продаж находятся в переменных bc и sc, и начальный портфель находится в переменной x0, затем операционные издержки установлены:

bc = [ 0.00125; 0.00125; 0.00125; 0.00125; 0.00125 ];
sc = [ 0.00125; 0.007; 0.00125; 0.00125; 0.0024 ];
x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ];
p = PortfolioCVaR('BuyCost', bc, 'SellCost', sc, 'InitPort', x0);
disp(p.NumAssets);
disp(p.BuyCost);
disp(p.SellCost);
disp(p.InitPort);
     5

    0.0013
    0.0013
    0.0013
    0.0013
    0.0013

    0.0013
    0.0070
    0.0013
    0.0013
    0.0024

    0.4000
    0.2000
    0.2000
    0.1000
    0.1000

Установка операционных издержек Используя функцию setCosts

Можно также установить свойства для операционных издержек с помощью setCosts. Примите, что у вас есть те же затраты и начальный портфель как в предыдущем примере. Учитывая объект PortfolioCVaR p с начальным портфелем уже набор, используйте setCosts, чтобы настроить операционные издержки:

bc = [ 0.00125; 0.00125; 0.00125; 0.00125; 0.00125 ];
sc = [ 0.00125; 0.007; 0.00125; 0.00125; 0.0024 ];
x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ];

p = PortfolioCVaR('InitPort', x0);
p = setCosts(p, bc, sc);
        
disp(p.NumAssets);
disp(p.BuyCost);
disp(p.SellCost);
disp(p.InitPort);    
    5

    0.0013
    0.0013
    0.0013
    0.0013
    0.0013

    0.0013
    0.0070
    0.0013
    0.0013
    0.0024

    0.4000
    0.2000
    0.2000
    0.1000
    0.1000

Можно также настроить значение InitPort начального портфеля как дополнительный аргумент к setCosts так, чтобы следующее было эквивалентным способом настроить операционные издержки:

bc = [ 0.00125; 0.00125; 0.00125; 0.00125; 0.00125 ];
sc = [ 0.00125; 0.007; 0.00125; 0.00125; 0.0024 ];
x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ];

p = PortfolioCVaR;
p = setCosts(p, bc, sc, x0);
        
disp(p.NumAssets);
disp(p.BuyCost);
disp(p.SellCost);
disp(p.InitPort);
    5

    0.0013
    0.0013
    0.0013
    0.0013
    0.0013

    0.0013
    0.0070
    0.0013
    0.0013
    0.0024

    0.4000
    0.2000
    0.2000
    0.1000
    0.1000

Установка операционных издержек со скалярным расширением

И объект PortfolioCVaR и функция setCosts реализуют скалярное расширение на аргументах для операционных издержек и начального портфеля. Если свойство NumAssets уже установлено в объекте PortfolioCVaR, скалярные аргументы для этих свойств расширены, чтобы иметь то же значение через все размерности. Кроме того, setCosts позволяет вам задать NumAssets в качестве дополнительного итогового аргумента. Например, примите, что у вас есть начальный портфель x0, и вы хотите установить общие операционные издержки на всех активах в вашей вселенной. Можно установить эти затраты любым из этих эквивалентных способов:

x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ];
p = PortfolioCVaR('InitPort', x0, 'BuyCost', 0.002, 'SellCost', 0.002);

или

x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ];
p = PortfolioCVaR('InitPort', x0);
p = setCosts(p, 0.002, 0.002);

или

x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ];
p = PortfolioCVaR;
p = setCosts(p, 0.002, 0.002, x0);

Чтобы очистить затраты от вашего объекта PortfolioCVaR, используйте или объект PortfolioCVaR или setCosts с пустыми входными параметрами для свойств, которые будут очищены. Например, можно очистить затраты на продажи от объекта PortfolioCVaR p в предыдущем примере:

p = PortfolioCVaR(p, 'SellCost', []);

Смотрите также

| | | | | |

Связанные примеры

Больше о

Внешние веб-сайты

Для просмотра документации необходимо авторизоваться на сайте