setCosts

Настройка пропорциональных транзакционных издержек

Описание

пример

obj = setCosts(obj,BuyCost) настраивает пропорциональные транзакционные затраты для Portfolio, PortfolioCVaR, или PortfolioMAD объекты. Для получения дополнительной информации о соответствующих рабочих процессах при использовании этих различных объектов смотрите Рабочий процесс объекта портфеля, Рабочий процесс объекта PortfolioCVaR и Рабочий процесс объекта PortfolioMAD.

пример

obj = setCosts(obj,BuyCost,SellCost,InitPort,NumAssets) настраивает пропорциональные транзакционные затраты для объектов портфеля с дополнительными опциями, заданными для SellCost, InitPort, и NumAssets.

Заданные пропорциональные транзакционные затраты и начальный портфель в переменных BuyCost, SellCost, и InitPort, транзакционные издержки для любого портфеля Port снизить ожидаемый возврат портфеля на:

BuyCost' * max{0, Port - InitPort} + SellCost' * max{0, InitPort - Port}

Примеры

свернуть все

Задан объект Portfolio 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 = Portfolio('InitPort', x0);
p = setCosts(p, bc, sc);
        
disp(p.NumAssets);
     5
disp(p.BuyCost);
    0.0013
    0.0013
    0.0013
    0.0013
    0.0013
disp(p.SellCost);
    0.0013
    0.0070
    0.0013
    0.0013
    0.0024
disp(p.InitPort);
    0.4000
    0.2000
    0.2000
    0.1000
    0.1000

Задан объект портфеля CVaR 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);
     5
disp(p.BuyCost);
    0.0013
    0.0013
    0.0013
    0.0013
    0.0013
disp(p.SellCost);
    0.0013
    0.0070
    0.0013
    0.0013
    0.0024
disp(p.InitPort);
    0.4000
    0.2000
    0.2000
    0.1000
    0.1000

Заданный объект 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);
     5
disp(p.BuyCost);
    0.0013
    0.0013
    0.0013
    0.0013
    0.0013
disp(p.SellCost);
    0.0013
    0.0070
    0.0013
    0.0013
    0.0024
disp(p.InitPort);
    0.4000
    0.2000
    0.2000
    0.1000
    0.1000

Входные параметры

свернуть все

Объект для портфеля, заданный с помощью Portfolio, PortfolioCVaR, или PortfolioMAD объект. Для получения дополнительной информации о создании объекта портфеля см.

Типы данных: object

Пропорциональная стоимость транзакции для покупки каждого актива, заданная в виде вектора для Portfolio, PortfolioCVaR, или PortfolioMAD входной объект (obj).

Примечание

  • Если BuyCost, SellCost, или InitPort заданы как скаляры и NumAssets существует или может быть вменено, тогда эти значения подвергаются скалярному расширению. Значение по умолчанию для NumAssets является 1.

  • Транзакционные затраты в BuyCost и SellCost положительно оцениваются, если они вводят издержки для торговли. В некоторых случаях они могут быть оценены отрицательно, что подразумевает торговые кредиты.

Типы данных: double

Пропорциональная стоимость транзакции для продажи каждого актива, заданная в качестве вектора для Portfolio, PortfolioCVaR, или PortfolioMAD входной объект (obj).

Примечание

  • Если BuyCost, SellCost, или InitPort заданы как скаляры и NumAssets существует или может быть вменено, тогда эти значения подвергаются скалярному расширению. Значение по умолчанию для NumAssets является 1.

  • Транзакционные затраты в BuyCost и SellCost положительно оцениваются, если они вводят издержки для торговли. В некоторых случаях они могут быть оценены отрицательно, что подразумевает торговые кредиты.

Типы данных: double

Начальные или текущие веса портфеля, заданные как вектор для Portfolio, PortfolioCVaR, или PortfolioMAD входной объект (obj).

Примечание

Если нет InitPort задано, что значение принято 0.

  • Если BuyCost, SellCost, или InitPort заданы как скаляры и NumAssets существует или может быть вменено, тогда эти значения подвергаются скалярному расширению. Значение по умолчанию для NumAssets является 1.

  • Транзакционные затраты в BuyCost и SellCost положительно оцениваются, если они вводят издержки для торговли. В некоторых случаях они могут быть оценены отрицательно, что подразумевает торговые кредиты.

Типы данных: double

Количество активов в портфеле, заданное в виде скаляра для Portfolio, PortfolioCVaR, или PortfolioMAD входной объект (obj).

Примечание

NumAssets не может использоваться для изменения размерности объекта портфеля.

  • Если BuyCost, SellCost, или InitPort заданы как скаляры и NumAssets существует или может быть вменено, тогда эти значения подвергаются скалярному расширению. Значение по умолчанию для NumAssets является 1.

  • Транзакционные затраты в BuyCost и SellCost положительно оцениваются, если они вводят издержки для торговли. В некоторых случаях они могут быть оценены отрицательно, что подразумевает торговые кредиты.

Типы данных: double

Выходные аргументы

свернуть все

Обновленный объект портфеля, возвращенный как Portfolio, PortfolioCVaR, или PortfolioMAD объект. Для получения дополнительной информации о создании объекта портфеля см.

Совет

  • Вы также можете использовать запись через точку для настройки пропорциональных транзакционных издержек.

    obj = obj.setCosts(BuyCost, SellCost, InitPort, NumAssets);
    

  • Если BuyCost или SellCost являются ли входные параметры пустыми с []соответствующие атрибуты в объекте портфеля очищаются и устанавливаются на []. Если InitPort установлено в пустое положение с [], он будет только очищен и установлен на [] если BuyCost, SellCost, и Turnover также пусты. В противном случае это ошибка.

Введенный в R2011a