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