Разница между чистой и валовой доходностью портфеля - это операционные издержки. Представитель чистой доходности портфеля имеет различные пропорциональные затраты на покупку и продажу активов, которые поддерживаются в PortfolioMAD свойства объекта BuyCost и SellCost. Операционные затраты выражены в единицах общей прибыли и, как таковые, пропорциональны цене актива, так что они вводят модель чистой прибыли портфеля в форме прибыли. Например, предположим, что у вас есть акции, цена которых в настоящее время составляет 40 долларов США, а обычные операционные издержки составляют 5 центов на акцию. Затем стоимость операции для запаса составляет 0,05/40 = 0,00125 (как определено в Чистой доходности портфеля). Затраты вводятся как положительные значения, а кредиты - как отрицательные значения.
PortfolioMAD Функция Чтобы настроить транзакционные затраты, необходимо указать начальный или текущий портфель в InitPort собственность. Если исходный портфель не задан при настройке свойств затрат по проводке, InitPort является 0. Свойства для переменных затрат можно задать с помощью PortfolioMAD объект. Например, предположим, что затраты на операции покупки и продажи находятся в переменных. 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 = PortfolioMAD('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. Предположим, что имеются те же затраты и начальный портфель, что и в предыдущем примере. Дано PortfolioMAD объект 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 = PortfolioMAD('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 = PortfolioMAD;
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Оба PortfolioMAD объект и setCosts функция реализует скалярное расширение аргументов для транзакционных затрат и начального портфеля. Если NumAssets свойство уже установлено в PortfolioMAD объект, скалярные аргументы для этих свойств расширены, чтобы иметь одинаковое значение для всех измерений. Кроме того, setCosts позволяет указать NumAssets в качестве необязательного окончательного аргумента. Например, предположим, что у вас есть начальный портфель x0 и вы хотите установить общие операционные издержки для всех активов в вашей вселенной. Эти затраты можно установить любым из следующих эквивалентных способов:
x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ]; p = PortfolioMAD('InitPort', x0, 'BuyCost', 0.002, 'SellCost', 0.002);
или
x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ];
p = PortfolioMAD('InitPort', x0);
p = setCosts(p, 0.002, 0.002);
или
x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ]; p = PortfolioMAD; p = setCosts(p, 0.002, 0.002, x0);
Чтобы списать затраты с вашего PortfolioMAD объект, используйте либоPortfolioMAD объект или setCosts с пустыми вводами для очищаемых свойств. Например, можно очистить затраты на продажу из PortfolioMAD объект p в предыдущем примере:
p = PortfolioMAD(p, 'SellCost', []);PortfolioMAD | setCosts | setScenarios | simulateNormalScenariosByData | simulateNormalScenariosByMoments