exponenta event banner

Работа с односторонними ограничениями оборота с использованием объекта портфеля

Односторонние ограничения оборота являются необязательными ограничениями (см. Односторонние ограничения оборота), которые устанавливают верхние границы для чистых покупок или чистых продаж. Односторонние ограничения оборота могут быть установлены с помощью Portfolio объект или setOneWayTurnover функция. Односторонние ограничения оборота зависят от первоначального или текущего портфеля, который считается нулевым, если не установлен, когда установлены ограничения оборота. Односторонние ограничения оборота имеют свойства BuyTurnover, для верхней границы чистых покупок, SellTurnover, для верхней границы чистых продаж, и InitPort, для портфеля, по которому рассчитывается оборот.

Установка ограничений одностороннего оборота с помощью Portfolio Функция

Свойства для ограничений одностороннего оборота устанавливаются с помощью Portfolio объект. Предположим, что у вас есть начальный портфель с 10 активами в переменной x0 и вы хотите убедиться, что оборот по покупкам составляет не более 30%, а оборот по продажам - не более 20% от первоначального портфеля. Для установки этих ограничений оборота:

x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; 
p = Portfolio('BuyTurnover', 0.3, 'SellTurnover', 0.2, 'InitPort', x0);
disp(p.NumAssets)
disp(p.BuyTurnover)
disp(p.SellTurnover)
disp(p.InitPort)
    10

    0.3000

    0.2000

    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000

Если NumAssets или InitPort свойства не задаются до или при установке ограничения оборота применяются различные правила для назначения этим свойствам значений по умолчанию (см. раздел Настройка начального или текущего портфеля).

Установка ограничений оборота с помощью setOneWayTurnover Функция

Можно также установить свойства для оборота портфеля с помощью setOneWayTurnover указать верхние границы оборота при закупках (BuyTurnover) и продажи (SellTurnover) и первоначальный портфель. Предположим, что у вас есть начальный портфель из 10 активов в переменной x0 и хотят обеспечить, чтобы оборот по покупкам составлял не более 30% и оборот по продажам составлял не более 20% от первоначального портфеля. Дано Portfolio объект p, использовать setOneWayTurnover для установки ограничений оборота с заданными ранее исходными портфелями и без них:

x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ];
p = Portfolio('InitPort', x0);
p = setOneWayTurnover(p, 0.3, 0.2);

disp(p.NumAssets)
disp(p.BuyTurnover)
disp(p.SellTurnover)
disp(p.InitPort) 
    10

    0.3000

    0.2000

    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000
или
x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ];
p = Portfolio;
p = setOneWayTurnover(p, 0.3, 0.2, x0);
disp(p.NumAssets)
disp(p.BuyTurnover)
disp(p.SellTurnover)
disp(p.InitPort)
    10

    0.3000

    0.2000

    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000

setOneWayTurnover реализует скалярное расширение аргумента для начального портфеля. Если NumAssets свойство уже установлено в Portfolio объект, скалярный аргумент для InitPort расширяется, чтобы иметь одинаковое значение для всех размеров. Кроме того, setOneWayTurnover позволяет указать NumAssets в качестве необязательного аргумента. Чтобы удалить односторонний оборот из вашего Portfolio объект, используйте Portfolio объект или setOneWayTurnover с пустыми вводами для очищаемых свойств.

См. также

| | | | | | | | | | |

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

Подробнее

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