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