Оценка среднего и ковариационная возвратов активов из данных
Использование fints
объект для AssetReturns
аргумент estimateAssetMoments
не рекомендуется. Использовать timetable
вместо этого для финансовых временных рядов. Для получения дополнительной информации смотрите Преобразование финтов финансовых временных рядов в Timetables.
оценивает среднее значение и ковариацию возвратов активов из данных для obj
= estimateAssetMoments(obj
,AssetReturns
)Portfolio
объект. Дополнительные сведения о рабочем процессе см. в разделе Рабочий процесс объекта портфеля.
оценивает среднее и ковариационные возвраты активов из данных для объекта Portfolio с дополнительными опциями для одного или нескольких obj
= estimateAssetMoments(___,Name,Value
)Name,Value
аргументы в виде пар.
Чтобы проиллюстрировать использование estimateAssetMoments
function, сгенерировать случайные выборки 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
выше следующие примеры демонстрируют эквивалентные способы оценки моментов актива для объекта Портфолио. Объект Портфолио создается в 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'
). В следующем примере сравнивается прямое присвоение моментов в объекте Портфолио p
с расчетными моментами из данных о цене активов в Y
в объекте Портфолио 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×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
Заметьте, что GOOG
имеет отсутствующие данные (NaN
), потому что он не был указан до августа 2004 года. The estimateAssetMoments
функция имеет аргумент пары "имя-значение" 'MissingData'
это указывает с помощью логического значения, использовать ли отсутствующие возможности данных программного обеспечения Financial Toolbox™. Значение по умолчанию для 'MissingData'
false, который удаляет все выборки с NaN
значения. Если, однако 'MissingData'
задано значение true, estimateAssetMoments
использует алгоритм ECM, чтобы оценить моменты актива.
r = Portfolio; r = estimateAssetMoments(r,AssetsTimeTable,'dataformat','returns','missingdata',true);
В сложение, estimateAssetMoments
функция также извлекает имена активов или идентификаторы из объекта timetable, когда аргумент имя-значение '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
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
p = estimateAssetMoments(p,Y,'dataformat','prices')
'DataFormat'
- Флаг для преобразования входных данных в качестве цен в возвраты 'Returns'
(по умолчанию) | символьный вектор со значениями 'Returns'
или 'Prices'
Флаг для преобразования входных данных в качестве цен в возвраты, заданный как разделенная разделенными запятой парами, состоящая из 'DataFormat'
и вектор символов со значениями:
'Returns'
- Данные в 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
являются:
false
- Не используйте алгоритм ECM для обработки NaN
значения (исключить NaN
значения).
true
- Использовать алгоритм ECM для обработки NaN
значения.
Для получения дополнительной информации об алгоритме ECM см. ecmnmle
и многомерная нормальная регрессия.
Типы данных: logical
'GetAssetList'
- Флаг, указывающий, какие имена основных средств следует использовать для списка основных средствfalse
(по умолчанию) | логическим со значением true
или false
Флаг, указывающий, какие имена активов использовать для списка активов, заданный как разделенная разделенными запятой парами, состоящая из 'GetAssetList'
и логический со значением true
или false
. Допустимые значения для GetAssetList
являются:
false
- Не извлекать и не создавать имена основных средств.
true
- Извлечение или создание имен активов из таблицы или объекта расписания.
Если table
или timetable
передается в эту функцию с помощью AssetReturns
аргумент и GetAssetList
флаг true
имена столбцов из таблицы или объекта расписания используются в качестве имен активов в obj.AssetList
.
Если матрица передана, и GetAssetList
флаг true
, имена активов по умолчанию создаются на основе AbstractPortfolio
свойства defaultforAssetList
, что 'Asset'
.
Если на GetAssetList
флаг false
, никаких действий не происходит, что является поведением по умолчанию.
Типы данных: logical
obj
- Обновленный объект портфеляОбновленный объект портфеля, возвращенный как Portfolio
объект. Для получения дополнительной информации о создании объекта портфеля см.
Можно также использовать запись через точку для оценки среднего значения и ковариации возвратов активов из данных.
obj = obj.estimateAssetMoments(AssetReturns);
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.