Оценочное среднее значение и ковариация актива возвращаются из данных
estimateAssetMoments был частично удален и больше не будет принимать объект fints для аргумента AssetReturns. Используйте timetable вместо этого для финансовых временных рядов.
Используйте fts2timetable, чтобы преобразовать объект fints в объект timetable.
obj = estimateAssetMoments(obj,AssetReturns)obj = estimateAssetMoments(___,Name,Value) оценочное среднее значение и ковариация актива возвращаются из данных для объекта obj = estimateAssetMoments(obj,AssetReturns)Portfolio. Для получения дополнительной информации на рабочем процессе, смотрите Рабочий процесс Объекта Портфеля.
оценочное среднее значение и ковариация актива возвращаются из данных для объекта Portfolio с дополнительными опциями для одного или нескольких аргументов пары obj = estimateAssetMoments(___,Name,Value)Name,Value.
Чтобы проиллюстрировать использование функции estimateAssetMoments, сгенерируйте случайные выборки 120 наблюдений за активом, возвращается для четырех активов из среднего значения, и ковариация актива возвращается в переменных m и C с функцией portsim. Поведение по умолчанию portsim создает моделируемые данные с предполагаемым средним значением и ковариацией, идентичной входным моментам m и C. В дополнение к ряду возврата, созданному функцией portsim в переменной X, ценовой ряд создается в переменной Y:
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;
X = portsim(m', C, 120);
Y = ret2tick(X);Учитывая актив возвращается и цены в переменных X и Y сверху, следующие примеры демонстрируют эквивалентные способы оценить моменты актива для объекта Portfolio. Объект Portfolio создается в p с моментами актива, возвращает набор непосредственно в объекте Portfolio, и второй объект Portfolio создается в q, чтобы получить среднее значение, и ковариация актива возвращается из актива, возвращают данные в X с помощью функции estimateAssetMoments.
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;
X = portsim(m', C, 120);
p = Portfolio('mean',m,'covar',C);
q = Portfolio;
q = estimateAssetMoments(q, X);
[passetmean, passetcovar] = getAssetMoments(p)passetmean = 4×1
0.0042
0.0083
0.0100
0.0150
passetcovar = 4×4
0.0005 0.0003 0.0002 0
0.0003 0.0024 0.0017 0.0010
0.0002 0.0017 0.0048 0.0028
0 0.0010 0.0028 0.0102
[qassetmean, qassetcovar] = getAssetMoments(q)
qassetmean = 4×1
0.0042
0.0083
0.0100
0.0150
qassetcovar = 4×4
0.0005 0.0003 0.0002 -0.0000
0.0003 0.0024 0.0017 0.0010
0.0002 0.0017 0.0048 0.0028
-0.0000 0.0010 0.0028 0.0102
Заметьте, как любой подход приводит к тем же моментам. Поведение по умолчанию функции estimateAssetMoments должно работать с активом, возвращается. Если, вместо этого, у вас есть цены активов, такой как в переменной Y, функция estimateAssetMoments принимает, что название параметра 'DataFormat' с соответствующим набором значений к 'prices' указывает, что вход к методу в форме цен активов и не возвращается (значением параметров по умолчанию для 'DataFormat' является 'returns'). Следующий пример сравнивает прямое присвоение моментов в объекте Portfolio p с предполагаемыми моментами от данных цен активов в Y в объекте Portfolio q:
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;
X = portsim(m', C, 120);
Y = ret2tick(X);
p = Portfolio('mean',m,'covar',C);
q = Portfolio;
q = estimateAssetMoments(q, Y, 'dataformat', 'prices');
[passetmean, passetcovar] = getAssetMoments(p)passetmean = 4×1
0.0042
0.0083
0.0100
0.0150
passetcovar = 4×4
0.0005 0.0003 0.0002 0
0.0003 0.0024 0.0017 0.0010
0.0002 0.0017 0.0048 0.0028
0 0.0010 0.0028 0.0102
[qassetmean, qassetcovar] = getAssetMoments(q)
qassetmean = 4×1
0.0042
0.0083
0.0100
0.0150
qassetcovar = 4×4
0.0005 0.0003 0.0002 -0.0000
0.0003 0.0024 0.0017 0.0010
0.0002 0.0017 0.0048 0.0028
-0.0000 0.0010 0.0028 0.0102
Чтобы проиллюстрировать использование функции estimateAssetMoments с данными AssetReturns, продолженными в объекте timetable, используйте CAPMuniverse.mat, который содержит объект timetable (AssetTimeTable) для данных о возвратах.
load CAPMuniverse
AssetsTimeTable.Properties;
head(AssetsTimeTable,5)ans=5×15 timetable
Time AAPL AMZN CSCO DELL EBAY GOOG HPQ IBM INTC MSFT ORCL YHOO MARKET CASH
____________________ _________ _________ _________ _________ _________ ____ _________ _________ _________ _________ _________ _________ _________ __________
03-Jan-2000 00:00:00 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 00:00:00 -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 00:00:00 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 00:00:00 -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 00:00:00 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
Заметьте, что GOOG имеет недостающие данные (NaN), потому что это не было перечислено до августа 2004. Функция estimateAssetMoments имеет аргумент пары "имя-значение" 'MissingData', который указывает с булевым значением, использовать ли недостающую поддержку данных программного обеспечения Financial Toolbox™. Значение по умолчанию для 'MissingData' является ложным, который удаляет все выборки со значениями NaN. Если, однако, 'MissingData' установлен в истину, estimateAssetMoments использует алгоритм ECM, чтобы оценить моменты актива.
r = Portfolio; r = estimateAssetMoments(r,AssetsTimeTable,'dataformat','returns','missingdata',true);
Кроме того, функция estimateAssetMoments также извлекает имена актива или идентификаторы от объекта расписания, когда набор аргумента 'GetAssetList' значения имени к true (его значением по умолчанию является false). Если значением 'GetAssetList' является true, идентификаторы столбцов расписания используются, чтобы установить свойство AssetList объекта Portfolio. Чтобы показать это, формирование объекта Portfolio, r повторяется с набором флага 'GetAssetList' к true.
r = estimateAssetMoments(r,AssetsTimeTable,'GetAssetList',true);
disp(r.AssetList') 'AAPL'
'AMZN'
'CSCO'
'DELL'
'EBAY'
'GOOG'
'HPQ'
'IBM'
'INTC'
'MSFT'
'ORCL'
'YHOO'
'MARKET'
'CASH'
obj — Объект для портфеляОбъект для портфеля, заданное использование объекта Portfolio. Для получения дополнительной информации о создании объекта портфеля смотрите
Типы данных: object
AssetReturns — Матрица, таблица или расписание, которое содержит данные цен активов, которые могут быть преобразованы в актив, возвращаются Матрица, table или timetable, который содержит данные цен активов, которые могут быть преобразованы в актив, возвращаются, заданный NumSamples-by-NumAssets матрица.
Данные AssetReturns могут быть:
NumSamples-by-NumAssets матрица.
Таблица цен NumSamples или возвращается в данной периодичности для набора активов NumAssets
Объект Timetable с наблюдениями NumSamples и временными рядами NumAssets
Используйте дополнительный аргумент DataFormat, чтобы преобразовать входные данные AssetReturns, который является ценами активов в актив, возвращается. Будьте осторожны при использовании данных цен активов, потому что оптимизация портфеля обычно требует совокупных доходов и не, просто цена возвращается.
Типы данных: double | table | timetable
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
p = estimateAssetMoments(p,Y,'dataformat','prices')'DataFormat' — Отметьте, чтобы преобразовать входные данные как цены в возвраты 'Returns'
(значение по умолчанию) | вектор символов со значениями 'Returns' или 'Prices'Отметьте, чтобы преобразовать входные данные как цены в возвраты, заданные как пара, разделенная запятой, состоящая из 'DataFormat' и вектора символов со значениями:
Возвращается Данные в AssetReturns содержат совокупные доходы актива.
'Prices' — Данные в AssetReturns содержат цены совокупного дохода актива.
Типы данных: char
'MissingData' — Отметьте указание, использовать ли алгоритм ECM или исключить выборки со значениями NaNfalse
(значение по умолчанию) | логический со значением true или falseОтметьте указание, использовать ли алгоритм ECM или исключаете выборки со значениями NaN, заданными как пара, разделенная запятой, состоящая из 'MissingData' и логического со значением true или false.
Чтобы обработать временные ряды с недостающими данными (обозначенный со значениями NaN), флаг MissingData или использует алгоритм ECM, чтобы получить оценки наибольшего правдоподобия в присутствии значений NaN или исключает выборки со значениями NaN. Поскольку значением по умолчанию является false, необходимо задать MissingData как true, чтобы использовать алгоритм ECM.
Приемлемые значения для MissingData:
ложь Не используйте алгоритм ECM, чтобы обработать значения NaN (исключите значения NaN).
tRUE Используйте алгоритм ECM, чтобы обработать значения NaN.
Для получения дополнительной информации об алгоритме ECM смотрите ecmnmle и Многомерную Нормальную Регрессию.
Типы данных: логический
'GetAssetList' — Отметьте указание, которое актив называет, чтобы использовать для списка активовfalse
(значение по умолчанию) | логический со значением true или falseОтметьте указание, которое актив называет, чтобы использовать для списка активов, заданного как пара, разделенная запятой, состоящая из 'GetAssetList' и логического со значением true или false. Приемлемые значения для GetAssetList:
ложь Не извлекайте или создавайте имена актива.
tRUE Извлеките или создайте имена актива из объекта таблицы или расписания.
Если table или timetable передаются в эту функцию с помощью аргумента AssetReturns, и флагом GetAssetList является true, имена столбцов от объекта таблицы или расписания используются в качестве имен актива в obj.AssetList.
Если матрица передается, и флагом GetAssetList является true, имена актива по умолчанию создаются на основе свойства AbstractPortfolio defaultforAssetList, который является 'Asset'.
Если флагом GetAssetList является false, никакое действие не происходит, который является поведением по умолчанию.
Типы данных: логический
obj — Обновленный объект портфеляОбновленный объект портфеля, возвращенный как объект Portfolio. Для получения дополнительной информации о создании объекта портфеля смотрите
Можно также использовать запись через точку, чтобы оценить среднее значение, и ковариация актива возвращается из данных.
obj = obj.estimateAssetMoments(AssetReturns);
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.