Оценка среднего значения и ковариации доходности активов на основе данных
Использование fints объект для AssetReturns аргумент estimateAssetMoments не рекомендуется. Использовать timetable вместо этого для финансовых временных рядов. Дополнительные сведения см. в разделе Преобразование объектов финансового временного ряда в расписания.
оценивает среднее значение и ковариацию доходности активов из данных для 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. Объект портфолио создается в 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×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 года. estimateAssetMoments функция имеет аргумент пары имя-значение 'MissingData' указывает с логическим значением, следует ли использовать отсутствующие возможности данных программного обеспечения Financial Toolbox™. Значение по умолчанию для 'MissingData' false, который удаляет все образцы с NaN значения. Если, однако, 'MissingData' имеет значение true, estimateAssetMoments использует алгоритм ECM для оценки моментов актива.
r = Portfolio; r = estimateAssetMoments(r,AssetsTimeTable,'dataformat','returns','missingdata',true);
Кроме того, estimateAssetMoments функция также извлекает имена или идентификаторы активов из объекта расписания, когда аргумент name-value '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около-NumAssets матрица.
AssetReturns данные могут быть:
NumSamplesоколо-NumAssets матрица.
Таблица NumSamples цены или доходы при данной периодичности для сбора NumAssets активы
Объект расписания с 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.