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

Различием между сетевыми и грубыми возвратами портфеля являются операционные издержки. Сетевой портфель возвращается, прокси имеет отличные пропорциональные затраты для покупки и продать активы, которые обеспечены в 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', []);

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

| | | | | |

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

Больше о

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