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

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

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

| | | | | |

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

Больше о

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