Оценочное среднее значение и ковариация актива возвращаются из данных
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 или исключить выборки со значениями NaN
false
(значение по умолчанию) | логический со значением 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.