How to save portfolio objects to an array?

1 次查看(过去 30 天)
p = Portfolio;
c = Portfolio;
d = [p c]
d =
1×2 Portfolio array with properties: BuyCost SellCost RiskFreeRate AssetMean AssetCovar TrackingError TrackingPort Turnover BuyTurnover SellTurnover Name NumAssets AssetList InitPort AInequality bInequality AEquality bEquality LowerBound UpperBound LowerBudget UpperBudget GroupMatrix LowerGroup UpperGroup GroupA GroupB LowerRatio UpperRatio MinNumAssets MaxNumAssets BoundType
How do i store objects in an array and then extract any specific object from that array? I want to do this.
d.p.BuyCost
Thanks.
  1 个评论
dpb
dpb 2022-10-8
Indexing; don't compound-nest similar structs; that will become totally unworkable.
d(2).BuyCost
You can create an associated name array to use as id if want a way to find specific element of the array or add that ID as a field.

请先登录,再进行评论。

采纳的回答

Sailesh Kalyanapu
Sailesh Kalyanapu 2022-10-10
As per my understanding, you are looking to store objects of type ‘Portfolio’ in a way to later access them using dot indexing.
You can do so by saving the objects in a struct.
>> d = struct
>> obj1 = Portfolio;
>> obj2 = Portfolio;
>> d.p = obj1;
>> d.c = obj2;
% To access required PropertyName
>> d.p.PropertyName (or) d.c.PropertName
For more information related to ‘struct’, please refer to the following MATLAB documentation:
In case you want to store the objects in an array, you could then use numeric(array) indexing to first select the object of choice and then use dot indexing to access the required Property.
>> p = Portfolio;
>> c = Portfolio;
>> d = [p c];
% To access required PropertyName of ith object in array.
>> d(i).PropertyName

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Portfolio Optimization and Asset Allocation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by