Установите сценарии возвратов активов по прямой матрице
Использование fints объект для AssetScenarios аргумент setScenarios не рекомендуется. Использовать timetable вместо этого для финансовых временных рядов. Для получения дополнительной информации смотрите Преобразование финтов финансовых временных рядов в Timetables.
устанавливает сценарии возвратов активов по прямой матрице для obj = setScenarios(obj,AssetScenarios)PortfolioCVaR или PortfolioMAD объекты. Дополнительные сведения о рабочих процессах см. в разделах Рабочий процесс объекта PortfolioCVaR и Рабочий процесс объекта PortfolioMAD.
установите сценарии возвратов активов прямой матрицей для obj = setScenarios(obj,AssetScenarios,Name,Value)PortfolioCVaR или PortfolioMAD объекты с использованием дополнительных опций, заданных одним или несколькими Name,Value аргументы в виде пар.
Задан объект PortfolioCVaR p, используйте setScenarios функция для настройки сценариев возврата активов.
m = [ 0.05; 0.1; 0.12; 0.18 ];
C = [ 0.0064 0.00408 0.00192 0;
0.00408 0.0289 0.0204 0.0119;
0.00192 0.0204 0.0576 0.0336;
0 0.0119 0.0336 0.1225 ];
m = m/12;
C = C/12;
AssetScenarios = mvnrnd(m, C, 20000);
p = PortfolioCVaR;
p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
p = setProbabilityLevel(p, 0.95);
disp(p) PortfolioCVaR with properties:
BuyCost: []
SellCost: []
RiskFreeRate: []
ProbabilityLevel: 0.9500
Turnover: []
BuyTurnover: []
SellTurnover: []
NumScenarios: 20000
Name: []
NumAssets: 4
AssetList: []
InitPort: []
AInequality: []
bInequality: []
AEquality: []
bEquality: []
LowerBound: [4x1 double]
UpperBound: []
LowerBudget: 1
UpperBudget: 1
GroupMatrix: []
LowerGroup: []
UpperGroup: []
GroupA: []
GroupB: []
LowerRatio: []
UpperRatio: []
MinNumAssets: []
MaxNumAssets: []
BoundType: [4x1 categorical]
Заданный объект PortfolioMAD p, используйте setScenarios функция для настройки сценариев возврата активов.
m = [ 0.05; 0.1; 0.12; 0.18 ];
C = [ 0.0064 0.00408 0.00192 0;
0.00408 0.0289 0.0204 0.0119;
0.00192 0.0204 0.0576 0.0336;
0 0.0119 0.0336 0.1225 ];
m = m/12;
C = C/12;
AssetScenarios = mvnrnd(m, C, 20000);
p = PortfolioMAD;
p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
disp(p) PortfolioMAD with properties:
BuyCost: []
SellCost: []
RiskFreeRate: []
Turnover: []
BuyTurnover: []
SellTurnover: []
NumScenarios: 20000
Name: []
NumAssets: 4
AssetList: []
InitPort: []
AInequality: []
bInequality: []
AEquality: []
bEquality: []
LowerBound: [4x1 double]
UpperBound: []
LowerBudget: 1
UpperBudget: 1
GroupMatrix: []
LowerGroup: []
UpperGroup: []
GroupA: []
GroupB: []
LowerRatio: []
UpperRatio: []
MinNumAssets: []
MaxNumAssets: []
BoundType: [4x1 categorical]
Чтобы проиллюстрировать использование setScenarios функция со AssetScenarios данные продолжены в timetable объект, используйте CAPMuniverse.mat который содержит timetable объект (AssetTimeTable) для возвращаемых данных.
load CAPMuniverse;
AssetsTimeTable.Properties;
head(AssetsTimeTable,5)ans=5×14 timetable
Time AAPL AMZN CSCO DELL EBAY GOOG HPQ IBM INTC MSFT ORCL YHOO MARKET CASH
___________ _________ _________ _________ _________ _________ ____ _________ _________ _________ _________ _________ _________ _________ __________
03-Jan-2000 0.088805 0.1742 0.008775 -0.002353 0.12829 NaN 0.03244 0.075368 0.05698 -0.001627 0.054078 0.097784 -0.012143 0.00020522
04-Jan-2000 -0.084331 -0.08324 -0.05608 -0.08353 -0.093805 NaN -0.075613 -0.033966 -0.046667 -0.033802 -0.0883 -0.067368 -0.03166 0.00020339
05-Jan-2000 0.014634 -0.14877 -0.003039 0.070984 0.066875 NaN -0.006356 0.03516 0.008199 0.010567 -0.052837 -0.073363 0.011443 0.00020376
06-Jan-2000 -0.086538 -0.060072 -0.016619 -0.038847 -0.012302 NaN -0.063688 -0.017241 -0.05824 -0.033477 -0.058824 -0.10307 0.011743 0.00020266
07-Jan-2000 0.047368 0.061013 0.0587 -0.037708 -0.000964 NaN 0.028416 -0.004386 0.04127 0.013091 0.076771 0.10609 0.02393 0.00020157
setScenarios принимает имя аргумента пары "имя-значение" 'DataFormat' с соответствующим набором значений 'prices' указать, что вход в функцию находится в форме цен на основные средства, а не возвратов (значение по умолчанию для 'DataFormat' аргумент 'returns').
r = PortfolioCVaR; r = setScenarios(r,AssetsTimeTable,'dataformat','returns');
В сложение, setScenarios функция также извлекает имена активов или идентификаторы из объекта timetable, когда аргумент имя-значение 'GetAssetList' установлено на true (его значение по умолчанию является false). Если на 'GetAssetList' значение trueидентификаторы столбцов расписания используются для установки AssetList свойство объекта PortfolioCVaR. Чтобы показать это, формирование объекта PortfolioCVaR r повторяется с помощью 'GetAssetList' флаг установлен на true.
r = setScenarios(r,AssetsTimeTable,'GetAssetList',true);
disp(r.AssetList') {'AAPL' }
{'AMZN' }
{'CSCO' }
{'DELL' }
{'EBAY' }
{'GOOG' }
{'HPQ' }
{'IBM' }
{'INTC' }
{'MSFT' }
{'ORCL' }
{'YHOO' }
{'MARKET'}
{'CASH' }
obj - Объект для портфеляОбъект для портфеля, заданный с помощью PortfolioCVaR или PortfolioMAD объект.
Для получения дополнительной информации о создании PortfolioCVaR или PortfolioMAD объект, см.
Типы данных: object
AssetScenarios - Сценарии для возвратов активов или цен Сценарии для возвратов активов или цен, заданные в виде матрицы, table, или timetable который содержит данные об активах, которые могут быть преобразованы в возвраты активов ([NumSamples-by- NumAssets] матрица).
AssetReturns данные могут быть:
NumSamples-by- NumAssets матрица.
Таблица NumSamples цены или возвраты в установленный периодичность для базового однопериодического инвестиционного горизонта для набора NumAssets активы
Объект Timetable с NumSamples наблюдения и NumAssets временные ряды
Если входные данные являются ценами, они могут быть преобразованы в возвраты с DataFormat аргумент пары "имя-значение", где формат по умолчанию принимается 'Returns'. Будьте осторожны, используя данные о ценах, потому что оптимизация портфеля обычно требует общих возвратов, а не просто возвратов цен.
Эта функция настраивает указатель на функцию для косвенного доступа к входу AssetScenarios без необходимости делать копию данных.
Типы данных: double | table | timetable
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
p = setScenarios(p, AssetScenarios,'DataFormat','Returns','GetAssetList',false);'DataFormat' - Флаг для преобразования входных данных в качестве цен в возвраты 'Returns'
(по умолчанию) | символьный вектор со значениями 'Returns' или 'Prices'Флаг для преобразования входных данных в качестве цен в возвраты, заданный как разделенная разделенными запятой парами, состоящая из 'DataFormat' и вектор символов со значениями:
'Returns' - Данные в AssetReturns содержит общие возвраты активов.
'Prices' - Данные в AssetReturns содержит общие цены возврата активов.
Типы данных: char
'GetAssetList' - Флаг, указывающий, какие имена основных средств следует использовать для списка основных средствfalse
(по умолчанию) | логическим со значением true или falseФлаг, указывающий, какие имена активов использовать для списка активов, заданный как разделенная разделенными запятой парами, состоящая из 'GetAssetList' и логический со значением true или false. Допустимые значения для GetAssetList являются:
false - Не извлекать и не создавать имена основных средств.
true - Извлечение или создание имен активов из таблицы или расписания.
Если table или timetable передается в эту функцию как AssetScenarios и GetAssetList флаг true, имена столбцов из table или timetable используются в качестве имен активов в obj.AssetList.
Если матрица передана, и GetAssetList флаг true, имена активов по умолчанию создаются на основе AbstractPortfolio свойства defaultforAssetList, который в настоящее время 'Asset'.
Если на GetAssetList флаг false, никаких действий не происходит, что является поведением по умолчанию.
Типы данных: logical
obj - Обновленный объект портфеляОбновленный объект портфеля, возвращенный как PortfolioCVaR или PortfolioMAD объект. Для получения дополнительной информации о создании объекта портфеля см.
Для настройки сценариев возврата активов можно также использовать запись через точку.
obj = obj.setScenarios(AssetScenarios);
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.